@dxos/protocols 0.6.2 → 0.6.3-main.0308ae2

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 (76) hide show
  1. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +194 -184
  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 +70 -67
  4. package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
  5. package/dist/cjs/src/proto/gen/dxos/echo/metadata.d.ts +3 -3
  6. package/dist/cjs/src/proto/gen/dxos/echo/object.d.ts +2 -2
  7. package/dist/cjs/src/proto/gen/dxos/echo/service.d.ts +25 -0
  8. package/dist/cjs/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  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 +0 -10
  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 +5 -4
  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 +9 -4
  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 +6 -4
  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 +194 -184
  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 +69 -66
  29. package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
  30. package/dist/esm/src/proto/gen/dxos/echo/metadata.d.ts +3 -3
  31. package/dist/esm/src/proto/gen/dxos/echo/object.d.ts +2 -2
  32. package/dist/esm/src/proto/gen/dxos/echo/service.d.ts +25 -0
  33. package/dist/esm/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  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 +0 -10
  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 +5 -4
  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 +9 -4
  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 +6 -4
  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 +16 -7
  51. package/src/proto/dxos/agent/dashboard.proto +3 -2
  52. package/src/proto/dxos/bot.proto +2 -1
  53. package/src/proto/dxos/client/invitation.proto +171 -0
  54. package/src/proto/dxos/client/logging.proto +3 -0
  55. package/src/proto/dxos/client/services.proto +12 -144
  56. package/src/proto/dxos/config.proto +10 -10
  57. package/src/proto/dxos/echo/metadata.proto +10 -14
  58. package/src/proto/dxos/echo/object.proto +4 -2
  59. package/src/proto/dxos/echo/service.proto +16 -0
  60. package/src/proto/dxos/field_options.proto +11 -0
  61. package/src/proto/dxos/halo/credentials.proto +2 -0
  62. package/src/proto/dxos/halo/invitations.proto +3 -3
  63. package/src/proto/dxos/halo/keys.proto +0 -12
  64. package/src/proto/dxos/halo/signed.proto +10 -6
  65. package/src/proto/dxos/mesh/presence.proto +3 -1
  66. package/src/proto/dxos/mesh/teleport/gossip.proto +3 -1
  67. package/src/proto/gen/dxos/client/services.ts +194 -184
  68. package/src/proto/gen/dxos/echo/metadata.ts +3 -3
  69. package/src/proto/gen/dxos/echo/object.ts +2 -2
  70. package/src/proto/gen/dxos/echo/service.ts +25 -0
  71. package/src/proto/gen/dxos/halo/invitations.ts +4 -4
  72. package/src/proto/gen/dxos/halo/keys.ts +0 -9
  73. package/src/proto/gen/dxos/halo/signed.ts +5 -3
  74. package/src/proto/gen/dxos/mesh/teleport/gossip.ts +1 -1
  75. package/src/proto/gen/google/protobuf.ts +9 -4
  76. package/src/proto/gen/index.ts +7 -5
@@ -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;AAujB7C,MAAM,CAAC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,416GAA416G,CAAC,CAAC,CAAC;AACr56G,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;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/protocols",
3
- "version": "0.6.2",
3
+ "version": "0.6.3-main.0308ae2",
4
4
  "description": "Protobuf definitions for DXOS protocols.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -18,6 +18,12 @@
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"
21
27
  }
22
28
  },
23
29
  "types": "dist/esm/src/index.d.ts",
@@ -34,19 +40,22 @@
34
40
  ],
35
41
  "dependencies": {
36
42
  "@effect/schema": "^0.67.16",
37
- "@dxos/codec-protobuf": "0.6.2",
38
- "@dxos/keys": "0.6.2",
39
- "@dxos/invariant": "0.6.2",
40
- "@dxos/timeframe": "0.6.2",
41
- "@dxos/util": "0.6.2"
43
+ "@dxos/codec-protobuf": "0.6.3-main.0308ae2",
44
+ "@dxos/invariant": "0.6.3-main.0308ae2",
45
+ "@dxos/timeframe": "0.6.3-main.0308ae2",
46
+ "@dxos/util": "0.6.3-main.0308ae2",
47
+ "@dxos/keys": "0.6.3-main.0308ae2"
42
48
  },
43
49
  "devDependencies": {
50
+ "@bufbuild/buf": "^1.32.2",
51
+ "@bufbuild/protoc-gen-es": "^1.10.0",
44
52
  "glob": "~7.1.6"
45
53
  },
46
54
  "publishConfig": {
47
55
  "access": "public"
48
56
  },
49
57
  "scripts": {
50
- "tsc-cjs": "rm -rf dist/cjs; tsc --module commonjs --target es2018 --outdir ./dist/cjs"
58
+ "compile:buf": "buf generate",
59
+ "tsc:cjs": "rm -rf dist/cjs; tsc --module commonjs --target es2018 --outdir ./dist/cjs"
51
60
  }
52
61
  }
@@ -4,12 +4,13 @@
4
4
 
5
5
  syntax = "proto3";
6
6
 
7
- package dxos.agent.dashboard;
8
7
  import "google/protobuf/empty.proto";
9
8
  import "google/protobuf/struct.proto";
10
9
 
11
10
  import "dxos/config.proto";
12
11
 
12
+ package dxos.agent.dashboard;
13
+
13
14
  message AgentStatus {
14
15
  enum Status {
15
16
  ON = 0;
@@ -23,7 +24,7 @@ message AgentStatus {
23
24
  string free = 2;
24
25
  string ram_usage = 3;
25
26
  }
26
-
27
+
27
28
  Status status = 1;
28
29
  optional Memory memory = 2;
29
30
  repeated PluginState plugins = 3;
@@ -7,8 +7,9 @@ syntax = "proto3";
7
7
  import "google/protobuf/empty.proto";
8
8
  import "google/protobuf/timestamp.proto";
9
9
 
10
- import "dxos/client/services.proto";
10
+ import "dxos/client/invitation.proto";
11
11
  import "dxos/config.proto";
12
+ import "dxos/echo/timeframe.proto";
12
13
  import "dxos/keys.proto";
13
14
 
14
15
  package dxos.bot;
@@ -0,0 +1,171 @@
1
+ //
2
+ // Copyright 2021 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ import "google/protobuf/any.proto";
8
+ import "google/protobuf/empty.proto";
9
+ import "google/protobuf/struct.proto";
10
+ import "google/protobuf/timestamp.proto";
11
+
12
+ import "dxos/config.proto";
13
+ import "dxos/devtools/swarm.proto";
14
+ import "dxos/echo/timeframe.proto";
15
+ import "dxos/error.proto";
16
+ import "dxos/halo/credentials.proto";
17
+ import "dxos/keys.proto";
18
+ import "dxos/mesh/signal.proto";
19
+ import "dxos/mesh/presence.proto";
20
+ import "dxos/mesh/teleport/gossip.proto";
21
+ import "dxos/value.proto";
22
+
23
+ // TODO(burdon): Reorganize packages (e.g., client.services, echo.database).
24
+
25
+ package dxos.client.services;
26
+
27
+ message AdmissionKeypair {
28
+ dxos.keys.PublicKey public_key = 1;
29
+ optional dxos.keys.PrivateKey private_key = 2;
30
+ }
31
+
32
+ /// Runtime state of the space object.
33
+ enum SpaceState {
34
+ INVALID = 0;
35
+
36
+ ///
37
+ /// Persistent states.
38
+ ///
39
+
40
+ /// Space is inactive. No swarming or replication will be done.
41
+ SPACE_INACTIVE = 2;
42
+
43
+ /// Space is active. Swarming and replication will be done.
44
+ SPACE_ACTIVE = 6;
45
+
46
+ ///
47
+ /// Runtime states:
48
+ ///
49
+
50
+ /// Space is closed.
51
+ SPACE_CLOSED = 1;
52
+
53
+ /// Data pipeline is inactive.
54
+ SPACE_CONTROL_ONLY = 7;
55
+
56
+ /// Data pipeline is initializing.
57
+ SPACE_INITIALIZING = 4;
58
+
59
+ /// Data pipeline is ready.
60
+ SPACE_READY = 3;
61
+
62
+ /// Space errored.
63
+ SPACE_ERROR = 5;
64
+
65
+ /// Data migration is required.
66
+ SPACE_REQUIRES_MIGRATION = 8;
67
+ }
68
+
69
+ /**
70
+ * Represents the invitation state passed between client and service.
71
+ */
72
+ message Invitation {
73
+ enum Type {
74
+ /// Requires both to be online to complete key exchange.
75
+ INTERACTIVE = 0;
76
+
77
+ /// Invitation can be accepted by any valid peer.
78
+ DELEGATED = 1;
79
+
80
+ /**
81
+ * Multi-use interactive invitations.
82
+ * @deprecated use multiUse flag with type=interactive instead.
83
+ */
84
+ MULTIUSE = 2;
85
+ }
86
+
87
+ enum Kind {
88
+ DEVICE = 0;
89
+ SPACE = 1;
90
+ }
91
+
92
+ enum AuthMethod {
93
+ /// No authentication is required. Guest should not call `Authenticate`.
94
+ NONE = 0;
95
+
96
+ /// Guest should call `Authenticate` with the shared secret.
97
+ SHARED_SECRET = 1;
98
+
99
+ /// Guest should prove they possess a private key corresponding to the known public key recorded in an invitation.
100
+ KNOWN_PUBLIC_KEY = 2;
101
+ }
102
+
103
+ enum State {
104
+ INIT = 0;
105
+ CONNECTING = 1;
106
+ CONNECTED = 2;
107
+ READY_FOR_AUTHENTICATION = 3;
108
+ AUTHENTICATING = 4;
109
+ SUCCESS = 5;
110
+ CANCELLED = 6;
111
+ TIMEOUT = 7;
112
+ ERROR = 8;
113
+ EXPIRED = 9;
114
+ }
115
+
116
+ /// Local identifier (random).
117
+ string invitation_id = 1;
118
+
119
+ /// Determines the behavior of the invitation.
120
+ Type type = 2;
121
+
122
+ /// Kind of access the invitation will grant.
123
+ Kind kind = 3;
124
+
125
+ /// How the invitation is authenticated.
126
+ AuthMethod auth_method = 4;
127
+
128
+ /// Swarm rendezvous (random).
129
+ dxos.keys.PublicKey swarm_key = 5;
130
+
131
+ /// Local state.
132
+ State state = 6;
133
+
134
+ /// Timeout for guest to complete invitation once connected (ms).
135
+ optional int32 timeout = 7;
136
+
137
+ /// Guest's identity.
138
+ optional dxos.keys.PublicKey identity_key = 8;
139
+
140
+ /// Space to join (only present if kind is SPACE).
141
+ optional dxos.keys.PublicKey space_key = 9;
142
+
143
+ /// Authentication code created by host (only present if auth_method is SHARED_SECRET).
144
+ optional string auth_code = 10;
145
+
146
+ /// Path or identifier to navigate to after successful authentication.
147
+ optional string target = 11;
148
+
149
+ // TODO(nf): should these exist elsewhere since they only have meaning to the host?
150
+ /// Host should resume invitation on startup until timeout.
151
+ optional bool persistent = 12;
152
+
153
+ optional google.protobuf.Timestamp created = 13;
154
+
155
+ /// Number of seconds the host will honor the invitation. 0 means the invitation persists forever.
156
+ // TODO(nf): some feedback mechanism or GC for immortal invitations?
157
+ // TODO(nf): should the creator have a way to make an invitation last as long as the client? this was the previous behavior.
158
+ optional int32 lifetime = 14;
159
+
160
+ /// Whether an invitation can be used multiple times.
161
+ optional bool multi_use = 15;
162
+
163
+ /// Guest's keypair required for AuthMethod.KNOWN_PUBLIC_KEY.
164
+ optional AdmissionKeypair guest_keypair = 16;
165
+
166
+ /// Present on Type.DELEGATED invitations.
167
+ optional dxos.keys.PublicKey delegation_credential_id = 17;
168
+
169
+ /// Role of the admitted member, defaults to ADMIN.
170
+ optional dxos.halo.credentials.SpaceMember.Role role = 18;
171
+ }
@@ -57,6 +57,7 @@ message QueryMetricsResponse {
57
57
 
58
58
  // NOTE: Keep aligned with LogLevel in @dxos/log.
59
59
  enum LogLevel {
60
+ NONE = 0;
60
61
  TRACE = 5;
61
62
  DEBUG = 10;
62
63
  INFO = 11;
@@ -66,6 +67,8 @@ enum LogLevel {
66
67
 
67
68
  message QueryLogsRequest {
68
69
  enum MatchingOptions {
70
+ NONE = 0;
71
+
69
72
  /// Filters match all log levels above. Default behaviour for the logger.
70
73
  INCLUSIVE = 1;
71
74
 
@@ -9,17 +9,18 @@ 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";
12
13
  import "dxos/config.proto";
14
+ import "dxos/devtools/swarm.proto";
13
15
  import "dxos/echo/metadata.proto";
14
16
  import "dxos/echo/timeframe.proto";
15
17
  import "dxos/error.proto";
16
18
  import "dxos/halo/credentials.proto";
17
19
  import "dxos/keys.proto";
18
20
  import "dxos/mesh/signal.proto";
19
- import "dxos/mesh/teleport/gossip.proto";
20
21
  import "dxos/mesh/presence.proto";
22
+ import "dxos/mesh/teleport/gossip.proto";
21
23
  import "dxos/value.proto";
22
- import "dxos/devtools/swarm.proto";
23
24
 
24
25
  // TODO(burdon): Reorganize packages (e.g., client.services, echo.database).
25
26
 
@@ -33,6 +34,7 @@ package dxos.client.services;
33
34
  //
34
35
 
35
36
  enum SystemStatus {
37
+ // TODO(burdon): INACTIVE SHOULD BE ZERO!
36
38
  ACTIVE = 0;
37
39
  INACTIVE = 1;
38
40
  }
@@ -166,6 +168,7 @@ message Device {
166
168
  ONLINE = 1;
167
169
  REMOVED = 2;
168
170
  }
171
+
169
172
  dxos.keys.PublicKey device_key = 1;
170
173
  DeviceKind kind = 2;
171
174
  optional halo.credentials.DeviceProfileDocument profile = 3;
@@ -217,41 +220,6 @@ message SpaceMember {
217
220
  dxos.halo.credentials.SpaceMember.Role role = 4;
218
221
  }
219
222
 
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
-
255
223
  // TODO(burdon): Rename SpaceInfo?
256
224
  message Space {
257
225
  message Metrics {
@@ -374,7 +342,7 @@ message CreateEpochRequest {
374
342
  /// Replace the current automerge root with a new one specified by the user.
375
343
  REPLACE_AUTOMERGE_ROOT = 4;
376
344
 
377
- /// Upgrade references data strucutre
345
+ /// Upgrade references data structure
378
346
  MIGRATE_REFERENCES_TO_DXN = 5;
379
347
  }
380
348
 
@@ -389,6 +357,8 @@ message CreateEpochRequest {
389
357
  message CreateEpochResponse {
390
358
  /// Credential of the new epoch.
391
359
  optional dxos.halo.credentials.Credential epoch_credential = 1;
360
+ /// Control pipeline timeframe.
361
+ optional dxos.echo.timeframe.TimeframeVector control_timeframe = 2;
392
362
  }
393
363
 
394
364
  message UpdateMemberRoleRequest {
@@ -442,112 +412,10 @@ service SpacesService {
442
412
  // Invitations (Halo and Data Spaces).
443
413
  //
444
414
 
445
- /**
446
- * Represents the invitation state passed between client and service.
447
- */
448
- message Invitation {
449
- enum Type {
450
- /// Requires both to be online to complete key exchange.
451
- INTERACTIVE = 0;
452
- /// Invitation can be accepted by any valid peer.
453
- DELEGATED = 1;
454
- /**
455
- * Multi-use interactive invitations.
456
- * @deprecated use multiUse flag with type=interactive instead.
457
- */
458
- MULTIUSE = 2;
459
- }
460
-
461
- enum Kind {
462
- DEVICE = 0;
463
- SPACE = 1;
464
- }
465
-
466
- enum AuthMethod {
467
- /// No authentication is required. Guest should not call `Authenticate`.
468
- NONE = 0;
469
-
470
- /// Guest should call `Authenticate` with the shared secret.
471
- SHARED_SECRET = 1;
472
-
473
- /// Guest should prove they possess a private key corresponding to the known public key recorded in an invitation.
474
- KNOWN_PUBLIC_KEY = 2;
475
- }
476
-
477
- enum State {
478
- INIT = 0;
479
- CONNECTING = 1;
480
- CONNECTED = 2;
481
- READY_FOR_AUTHENTICATION = 3;
482
- AUTHENTICATING = 4;
483
- SUCCESS = 5;
484
- CANCELLED = 6;
485
- TIMEOUT = 7;
486
- ERROR = 8;
487
- EXPIRED = 9;
488
- }
489
-
490
- /// Local identifier (random).
491
- string invitation_id = 1;
492
-
493
- /// Determines the behavior of the invitation.
494
- Type type = 2;
495
-
496
- /// Kind of access the invitation will grant.
497
- Kind kind = 3;
498
-
499
- /// How the invitation is authenticated.
500
- AuthMethod auth_method = 4;
501
-
502
- /// Swarm rendezvous (random).
503
- dxos.keys.PublicKey swarm_key = 5;
504
-
505
- /// Local state.
506
- State state = 6;
507
-
508
- /// Timeout for guest to complete invitation once connected (ms).
509
- optional int32 timeout = 7;
510
-
511
- /// Guest's identity.
512
- optional dxos.keys.PublicKey identity_key = 8;
513
-
514
- /// Space to join (only present if kind is SPACE).
515
- optional dxos.keys.PublicKey space_key = 9;
516
-
517
- /// Authentication code created by host (only present if auth_method is SHARED_SECRET).
518
- optional string auth_code = 10;
519
-
520
- /// Path or identifier to navigate to after successful authentication.
521
- optional string target = 11;
522
-
523
- // TODO(nf): should these exist elsewhere since they only have meaning to the host?
524
- /// Host should resume invitation on startup until timeout.
525
- optional bool persistent = 12;
526
-
527
- optional google.protobuf.Timestamp created = 13;
528
-
529
- /// Number of seconds the host will honor the invitation. 0 means the invitation persists forever.
530
- // TODO(nf): some feedback mechanism or GC for immortal invitations?
531
- // TODO(nf): should the creator have a way to make an invitation last as long as the client? this was the previous behavior.
532
- optional int32 lifetime = 14;
533
-
534
- /// Whether an invitation can be used multiple times.
535
- optional bool multi_use = 15;
536
-
537
- /// Guest's keypair required for AuthMethod.KNOWN_PUBLIC_KEY.
538
- optional AdmissionKeypair guest_keypair = 16;
539
-
540
- /// Present on Type.DELEGATED invitations.
541
- optional dxos.keys.PublicKey delegation_credential_id = 17;
542
-
543
- /// Role of the admitted member, defaults to ADMIN.
544
- optional dxos.halo.credentials.SpaceMember.Role role = 18;
545
- }
546
-
547
- message AdmissionKeypair {
548
- dxos.keys.PublicKey public_key = 1;
549
- optional dxos.keys.PrivateKey private_key = 2;
550
- }
415
+ //message AdmissionKeypair {
416
+ // dxos.keys.PublicKey public_key = 1;
417
+ // optional dxos.keys.PrivateKey private_key = 2;
418
+ //}
551
419
 
552
420
  message AcceptInvitationRequest {
553
421
  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,9 +6,10 @@ syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/timestamp.proto";
8
8
 
9
- import "dxos/client/services.proto";
9
+ import "dxos/client/invitation.proto";
10
10
  import "dxos/echo/model/document.proto";
11
11
  import "dxos/echo/timeframe.proto";
12
+ import "dxos/halo/credentials.proto";
12
13
  import "dxos/keys.proto";
13
14
 
14
15
  package dxos.echo.metadata;
@@ -16,7 +17,7 @@ package dxos.echo.metadata;
16
17
  /// Main metadata record.
17
18
  message EchoMetadata {
18
19
  /**
19
- * Version number that is inceremnted every time there's a breaking change to the storage schema.
20
+ * Version number that is incremented every time there's a breaking change to the storage schema.
20
21
  * This is used to detect if the storage schema has changed since the last time the client was run.
21
22
  * Loading data from a different version will might result in an error.
22
23
  */
@@ -31,13 +32,12 @@ message EchoMetadata {
31
32
  /// List of the data spaces.
32
33
  repeated SpaceMetadata spaces = 11;
33
34
 
35
+ // TODO(burdon): Circular dep.
34
36
  repeated dxos.client.services.Invitation invitations = 12;
35
37
  }
36
38
 
37
39
  /// Per-space metadata. Frequent updates. Keep small.
38
- message SmallSpaceMetadata {
39
-
40
- }
40
+ message SmallSpaceMetadata {}
41
41
 
42
42
  /// Per-space metadata. Infrequent updates.
43
43
  message LargeSpaceMetadata {
@@ -54,22 +54,20 @@ message SpaceMetadata {
54
54
  /// Space key.
55
55
  dxos.keys.PublicKey key = 1;
56
56
 
57
-
58
57
  /// ACTIVE, INACTIVE, etc.
59
- optional SpaceState state = 10;
58
+ optional dxos.client.services.SpaceState state = 10;
60
59
 
61
60
  optional dxos.keys.PublicKey genesis_feed_key = 6;
62
61
 
63
- /// Key of the wriatable control feed.
62
+ /// Key of the writable control feed.
64
63
  optional dxos.keys.PublicKey control_feed_key = 4;
65
64
 
66
65
  /// List of all feed associated with the space.
67
66
  repeated dxos.keys.PublicKey feed_keys = 2;
68
67
 
69
- /// Key of the wriatable data feed.
68
+ /// Key of the writable data feed.
70
69
  optional dxos.keys.PublicKey data_feed_key = 3;
71
70
 
72
-
73
71
  // Latest control timeframe reached while processing space messages.
74
72
  optional timeframe.TimeframeVector control_timeframe = 8;
75
73
 
@@ -88,15 +86,13 @@ message ControlPipelineSnapshot {
88
86
  /// Timeframe of the last message included in the snapshot.
89
87
  timeframe.TimeframeVector timeframe = 1;
90
88
 
91
-
92
- repeated ControlMessage messages = 2;
89
+ repeated ControlMessage messages = 2;
93
90
  }
94
91
 
95
92
  /// Information needed to bootstrap an Identity.
96
93
  message IdentityRecord {
97
94
  dxos.keys.PublicKey identity_key = 1;
98
95
  dxos.keys.PublicKey device_key = 2;
99
-
100
96
  SpaceMetadata halo_space = 3;
101
97
 
102
98
  /// Public profile information.
@@ -104,5 +100,5 @@ message IdentityRecord {
104
100
  optional SpaceMetadata profile_space = 4;
105
101
 
106
102
  /// Cached profile.
107
- optional ProfileDocument profile = 5;
103
+ optional dxos.halo.credentials.ProfileDocument profile = 5;
108
104
  }
@@ -5,7 +5,9 @@
5
5
  syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/any.proto";
8
+ import "google/protobuf/descriptor.proto";
8
9
 
10
+ import "dxos/field_options.proto";
9
11
  import "dxos/keys.proto";
10
12
  import "dxos/halo/credentials.proto";
11
13
  import "dxos/echo/timeframe.proto";
@@ -29,7 +31,7 @@ message EchoObject {
29
31
  optional string parent_id = 2;
30
32
 
31
33
  /// Set the model to the provided snapshot.
32
- optional google.protobuf.Any model = 10 [preserve_any = true];
34
+ optional google.protobuf.Any model = 10 [(preserve_any) = true];
33
35
  }
34
36
 
35
37
  message Mutation {
@@ -47,7 +49,7 @@ message EchoObject {
47
49
  optional Action action = 11;
48
50
 
49
51
  // Encoded model mutation, format is defined by model's codec.
50
- optional google.protobuf.Any model = 12 [preserve_any = true];
52
+ optional google.protobuf.Any model = 12 [(preserve_any) = true];
51
53
  }
52
54
 
53
55
  string object_id = 1;
@@ -93,6 +93,19 @@ message ReIndexHeadsRequest {
93
93
  repeated string document_ids = 1;
94
94
  }
95
95
 
96
+ message GetSpaceSyncStateRequest {
97
+ string space_id = 1;
98
+ }
99
+
100
+ message SpaceSyncState {
101
+ message PeerState {
102
+ string peer_id = 1;
103
+ int32 documents_to_reconcile = 2;
104
+ }
105
+
106
+ repeated PeerState peers = 1;
107
+ }
108
+
96
109
  service DataService {
97
110
  /**
98
111
  * Subscribe to incremental updates of multiple automerge socuments.
@@ -123,4 +136,7 @@ service DataService {
123
136
 
124
137
  /// Wait for any pending index updates.
125
138
  rpc UpdateIndexes(google.protobuf.Empty) returns (google.protobuf.Empty);
139
+
140
+ // TODO(dmaretskyi): Stream subscription.
141
+ rpc GetSpaceSyncState(GetSpaceSyncStateRequest) returns (SpaceSyncState);
126
142
  }