@dxos/protocols 0.1.35 → 0.1.36

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 (223) hide show
  1. package/dist/cjs/src/proto/gen/dxos/bot.d.ts.map +1 -1
  2. package/dist/cjs/src/proto/gen/dxos/bot.js.map +1 -1
  3. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +91 -68
  4. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  5. package/dist/cjs/src/proto/gen/dxos/client/services.js +26 -20
  6. package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
  7. package/dist/cjs/src/proto/gen/dxos/config.d.ts +40 -126
  8. package/dist/cjs/src/proto/gen/dxos/config.d.ts.map +1 -1
  9. package/dist/cjs/src/proto/gen/dxos/config.js +1 -0
  10. package/dist/cjs/src/proto/gen/dxos/config.js.map +1 -1
  11. package/dist/cjs/src/proto/gen/dxos/devtools/host.d.ts +31 -31
  12. package/dist/cjs/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  13. package/dist/cjs/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -1
  14. package/dist/cjs/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  15. package/dist/cjs/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  16. package/dist/cjs/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  17. package/dist/cjs/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  18. package/dist/cjs/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -1
  19. package/dist/cjs/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -1
  20. package/dist/cjs/src/proto/gen/dxos/echo/model/text.js.map +1 -1
  21. package/dist/cjs/src/proto/gen/dxos/echo/object.d.ts.map +1 -1
  22. package/dist/cjs/src/proto/gen/dxos/echo/object.js.map +1 -1
  23. package/dist/cjs/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  24. package/dist/cjs/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  25. package/dist/cjs/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  26. package/dist/cjs/src/proto/gen/dxos/gravity.d.ts.map +1 -1
  27. package/dist/cjs/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -1
  28. package/dist/cjs/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -1
  29. package/dist/cjs/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -1
  30. package/dist/cjs/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -1
  31. package/dist/cjs/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  32. package/dist/cjs/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  33. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts +54 -63
  34. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  35. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js +1 -10
  36. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  37. package/dist/cjs/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -1
  38. package/dist/cjs/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  39. package/dist/cjs/src/proto/gen/dxos/halo/keys.js.map +1 -1
  40. package/dist/cjs/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  41. package/dist/cjs/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  42. package/dist/cjs/src/proto/gen/dxos/iframe.js.map +1 -1
  43. package/dist/cjs/src/proto/gen/dxos/keys.d.ts.map +1 -1
  44. package/dist/cjs/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -1
  45. package/dist/cjs/src/proto/gen/dxos/mesh/bridge.js.map +1 -1
  46. package/dist/cjs/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -1
  47. package/dist/cjs/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -1
  48. package/dist/cjs/src/proto/gen/dxos/mesh/muxer.d.ts.map +1 -1
  49. package/dist/cjs/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -1
  50. package/dist/cjs/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -1
  51. package/dist/cjs/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -1
  52. package/dist/cjs/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  53. package/dist/cjs/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  54. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/auth.d.ts.map +1 -1
  55. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/control.d.ts.map +1 -1
  56. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/gossip.d.ts.map +1 -1
  57. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/notarization.d.ts.map +1 -1
  58. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/objectsync.d.ts.map +1 -1
  59. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/replicator.d.ts.map +1 -1
  60. package/dist/cjs/src/proto/gen/dxos/registry.d.ts.map +1 -1
  61. package/dist/cjs/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  62. package/dist/cjs/src/proto/gen/dxos/rpc.js.map +1 -1
  63. package/dist/cjs/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  64. package/dist/cjs/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  65. package/dist/cjs/src/proto/gen/dxos/service/supervisor.js.map +1 -1
  66. package/dist/cjs/src/proto/gen/dxos/type.d.ts.map +1 -1
  67. package/dist/cjs/src/proto/gen/example/testing/data.d.ts.map +1 -1
  68. package/dist/cjs/src/proto/gen/example/testing/rpc.d.ts.map +1 -1
  69. package/dist/cjs/src/proto/gen/google/protobuf.d.ts +244 -0
  70. package/dist/cjs/src/proto/gen/google/protobuf.d.ts.map +1 -1
  71. package/dist/cjs/src/proto/gen/google/protobuf.js +55 -1
  72. package/dist/cjs/src/proto/gen/google/protobuf.js.map +1 -1
  73. package/dist/cjs/src/proto/gen/index.d.ts +40 -31
  74. package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
  75. package/dist/cjs/src/proto/gen/index.js +1 -1
  76. package/dist/cjs/src/proto/gen/index.js.map +1 -1
  77. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  78. package/dist/esm/src/proto/gen/dxos/bot.d.ts.map +1 -1
  79. package/dist/esm/src/proto/gen/dxos/bot.js.map +1 -1
  80. package/dist/esm/src/proto/gen/dxos/client/services.d.ts +91 -68
  81. package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  82. package/dist/esm/src/proto/gen/dxos/client/services.js +26 -20
  83. package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
  84. package/dist/esm/src/proto/gen/dxos/config.d.ts +40 -126
  85. package/dist/esm/src/proto/gen/dxos/config.d.ts.map +1 -1
  86. package/dist/esm/src/proto/gen/dxos/config.js +1 -0
  87. package/dist/esm/src/proto/gen/dxos/config.js.map +1 -1
  88. package/dist/esm/src/proto/gen/dxos/devtools/host.d.ts +31 -31
  89. package/dist/esm/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  90. package/dist/esm/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -1
  91. package/dist/esm/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  92. package/dist/esm/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  93. package/dist/esm/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  94. package/dist/esm/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  95. package/dist/esm/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -1
  96. package/dist/esm/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -1
  97. package/dist/esm/src/proto/gen/dxos/echo/model/text.js.map +1 -1
  98. package/dist/esm/src/proto/gen/dxos/echo/object.d.ts.map +1 -1
  99. package/dist/esm/src/proto/gen/dxos/echo/object.js.map +1 -1
  100. package/dist/esm/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  101. package/dist/esm/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  102. package/dist/esm/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  103. package/dist/esm/src/proto/gen/dxos/gravity.d.ts.map +1 -1
  104. package/dist/esm/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -1
  105. package/dist/esm/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -1
  106. package/dist/esm/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -1
  107. package/dist/esm/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -1
  108. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  109. package/dist/esm/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  110. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts +54 -63
  111. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  112. package/dist/esm/src/proto/gen/dxos/halo/invitations.js +0 -9
  113. package/dist/esm/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  114. package/dist/esm/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -1
  115. package/dist/esm/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  116. package/dist/esm/src/proto/gen/dxos/halo/keys.js.map +1 -1
  117. package/dist/esm/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  118. package/dist/esm/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  119. package/dist/esm/src/proto/gen/dxos/iframe.js.map +1 -1
  120. package/dist/esm/src/proto/gen/dxos/keys.d.ts.map +1 -1
  121. package/dist/esm/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -1
  122. package/dist/esm/src/proto/gen/dxos/mesh/bridge.js.map +1 -1
  123. package/dist/esm/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -1
  124. package/dist/esm/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -1
  125. package/dist/esm/src/proto/gen/dxos/mesh/muxer.d.ts.map +1 -1
  126. package/dist/esm/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -1
  127. package/dist/esm/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -1
  128. package/dist/esm/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -1
  129. package/dist/esm/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  130. package/dist/esm/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  131. package/dist/esm/src/proto/gen/dxos/mesh/teleport/auth.d.ts.map +1 -1
  132. package/dist/esm/src/proto/gen/dxos/mesh/teleport/control.d.ts.map +1 -1
  133. package/dist/esm/src/proto/gen/dxos/mesh/teleport/gossip.d.ts.map +1 -1
  134. package/dist/esm/src/proto/gen/dxos/mesh/teleport/notarization.d.ts.map +1 -1
  135. package/dist/esm/src/proto/gen/dxos/mesh/teleport/objectsync.d.ts.map +1 -1
  136. package/dist/esm/src/proto/gen/dxos/mesh/teleport/replicator.d.ts.map +1 -1
  137. package/dist/esm/src/proto/gen/dxos/registry.d.ts.map +1 -1
  138. package/dist/esm/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  139. package/dist/esm/src/proto/gen/dxos/rpc.js.map +1 -1
  140. package/dist/esm/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  141. package/dist/esm/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  142. package/dist/esm/src/proto/gen/dxos/service/supervisor.js.map +1 -1
  143. package/dist/esm/src/proto/gen/dxos/type.d.ts.map +1 -1
  144. package/dist/esm/src/proto/gen/example/testing/data.d.ts.map +1 -1
  145. package/dist/esm/src/proto/gen/example/testing/rpc.d.ts.map +1 -1
  146. package/dist/esm/src/proto/gen/google/protobuf.d.ts +244 -0
  147. package/dist/esm/src/proto/gen/google/protobuf.d.ts.map +1 -1
  148. package/dist/esm/src/proto/gen/google/protobuf.js +54 -0
  149. package/dist/esm/src/proto/gen/google/protobuf.js.map +1 -1
  150. package/dist/esm/src/proto/gen/index.d.ts +40 -31
  151. package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
  152. package/dist/esm/src/proto/gen/index.js +1 -1
  153. package/dist/esm/src/proto/gen/index.js.map +1 -1
  154. package/package.json +5 -5
  155. package/src/proto/dxos/client/services.proto +69 -54
  156. package/src/proto/dxos/config.proto +45 -29
  157. package/src/proto/dxos/halo/credentials.proto +2 -0
  158. package/src/proto/dxos/halo/invitations.proto +42 -54
  159. package/src/proto/dxos/keys.proto +2 -0
  160. package/src/proto/dxos/mesh/signal.proto +1 -1
  161. package/src/proto/dxos/rpc.proto +1 -1
  162. package/src/proto/dxos/service/publisher.proto +1 -1
  163. package/src/proto/dxos/service/supervisor.proto +1 -1
  164. package/src/proto/example/testing/rpc.proto +2 -0
  165. package/src/proto/gen/dxos/bot.ts +0 -1
  166. package/src/proto/gen/dxos/client/services.ts +90 -68
  167. package/src/proto/gen/dxos/config.ts +40 -127
  168. package/src/proto/gen/dxos/devtools/host.ts +31 -32
  169. package/src/proto/gen/dxos/devtools/swarm.ts +0 -1
  170. package/src/proto/gen/dxos/echo/feed.ts +0 -1
  171. package/src/proto/gen/dxos/echo/metadata.ts +0 -1
  172. package/src/proto/gen/dxos/echo/model/document.ts +0 -1
  173. package/src/proto/gen/dxos/echo/model/messenger.ts +0 -1
  174. package/src/proto/gen/dxos/echo/model/text.ts +0 -1
  175. package/src/proto/gen/dxos/echo/object.ts +0 -1
  176. package/src/proto/gen/dxos/echo/service.ts +0 -1
  177. package/src/proto/gen/dxos/echo/snapshot.ts +0 -1
  178. package/src/proto/gen/dxos/echo/timeframe.ts +0 -1
  179. package/src/proto/gen/dxos/gravity.ts +0 -1
  180. package/src/proto/gen/dxos/halo/credentials/auth.ts +0 -1
  181. package/src/proto/gen/dxos/halo/credentials/greet.ts +0 -1
  182. package/src/proto/gen/dxos/halo/credentials/identity.ts +0 -1
  183. package/src/proto/gen/dxos/halo/credentials.ts +0 -1
  184. package/src/proto/gen/dxos/halo/invitations.ts +53 -64
  185. package/src/proto/gen/dxos/halo/keyring.ts +0 -1
  186. package/src/proto/gen/dxos/halo/keys.ts +0 -1
  187. package/src/proto/gen/dxos/halo/signed.ts +0 -1
  188. package/src/proto/gen/dxos/iframe.ts +0 -1
  189. package/src/proto/gen/dxos/keys.ts +0 -1
  190. package/src/proto/gen/dxos/mesh/bridge.ts +0 -1
  191. package/src/proto/gen/dxos/mesh/broadcast.ts +0 -1
  192. package/src/proto/gen/dxos/mesh/messaging.ts +0 -1
  193. package/src/proto/gen/dxos/mesh/muxer.ts +0 -1
  194. package/src/proto/gen/dxos/mesh/presence.ts +0 -1
  195. package/src/proto/gen/dxos/mesh/protocol.ts +0 -1
  196. package/src/proto/gen/dxos/mesh/replicator.ts +0 -1
  197. package/src/proto/gen/dxos/mesh/signal.ts +0 -1
  198. package/src/proto/gen/dxos/mesh/swarm.ts +0 -1
  199. package/src/proto/gen/dxos/mesh/teleport/auth.ts +0 -1
  200. package/src/proto/gen/dxos/mesh/teleport/control.ts +0 -1
  201. package/src/proto/gen/dxos/mesh/teleport/gossip.ts +0 -1
  202. package/src/proto/gen/dxos/mesh/teleport/notarization.ts +0 -1
  203. package/src/proto/gen/dxos/mesh/teleport/objectsync.ts +0 -1
  204. package/src/proto/gen/dxos/mesh/teleport/replicator.ts +0 -1
  205. package/src/proto/gen/dxos/registry.ts +0 -1
  206. package/src/proto/gen/dxos/rpc.ts +0 -1
  207. package/src/proto/gen/dxos/service/publisher.ts +0 -1
  208. package/src/proto/gen/dxos/service/supervisor.ts +0 -1
  209. package/src/proto/gen/dxos/type.ts +0 -1
  210. package/src/proto/gen/example/testing/data.ts +0 -1
  211. package/src/proto/gen/example/testing/rpc.ts +0 -1
  212. package/src/proto/gen/google/protobuf.ts +244 -1
  213. package/src/proto/gen/index.ts +41 -32
  214. package/dist/cjs/src/proto/gen/dxos/service/scheduler.d.ts +0 -300
  215. package/dist/cjs/src/proto/gen/dxos/service/scheduler.d.ts.map +0 -1
  216. package/dist/cjs/src/proto/gen/dxos/service/scheduler.js +0 -16
  217. package/dist/cjs/src/proto/gen/dxos/service/scheduler.js.map +0 -1
  218. package/dist/esm/src/proto/gen/dxos/service/scheduler.d.ts +0 -300
  219. package/dist/esm/src/proto/gen/dxos/service/scheduler.d.ts.map +0 -1
  220. package/dist/esm/src/proto/gen/dxos/service/scheduler.js +0 -13
  221. package/dist/esm/src/proto/gen/dxos/service/scheduler.js.map +0 -1
  222. package/src/proto/dxos/service/scheduler.proto +0 -171
  223. package/src/proto/gen/dxos/service/scheduler.ts +0 -346
@@ -8,11 +8,9 @@ import "google/protobuf/empty.proto";
8
8
 
9
9
  import "dxos/config.proto";
10
10
  import "dxos/halo/credentials.proto";
11
- import "dxos/halo/invitations.proto";
12
11
  import "dxos/mesh/teleport/gossip.proto";
13
12
  import "dxos/keys.proto";
14
13
 
15
- // TODO(burdon): Restructure all services.
16
14
  // TODO(burdon): Reorganize packages (e.g., client.services, echo.database).
17
15
 
18
16
  package dxos.client.services;
@@ -162,11 +160,33 @@ message Space {
162
160
  optional dxos.keys.PublicKey control_feed_key = 1;
163
161
  optional dxos.keys.PublicKey data_feed_key = 2;
164
162
 
163
+ repeated dxos.keys.PublicKey control_feeds = 18;
164
+ repeated dxos.keys.PublicKey data_feeds = 19;
165
+
166
+ /// Mutations alredy processed.
165
167
  optional timeframe.TimeframeVector current_control_timeframe = 10;
168
+
169
+ /// Minimum timeframe to consider the state to be up-to-date.
166
170
  optional timeframe.TimeframeVector target_control_timeframe = 11;
171
+
172
+ /// All mutations stored in feeds.
173
+ optional timeframe.TimeframeVector total_control_timeframe = 14;
174
+
175
+ /// All mutations known to exist on the network.
176
+ optional timeframe.TimeframeVector known_control_timeframe = 15;
177
+
178
+ /// Mutations alredy processed.
167
179
  optional timeframe.TimeframeVector current_data_timeframe = 12;
180
+
181
+ /// Minimum timeframe to consider the state to be up-to-date.
168
182
  optional timeframe.TimeframeVector target_data_timeframe = 13;
169
183
 
184
+ /// All mutations stored in feeds.
185
+ optional timeframe.TimeframeVector total_data_timeframe = 16;
186
+
187
+ /// All mutations known to exist on the network.
188
+ optional timeframe.TimeframeVector known_data_timeframe = 17;
189
+
170
190
  // TODO(dmaretskyi): Snapshot & epoch info.
171
191
  }
172
192
 
@@ -212,7 +232,9 @@ service SpacesService {
212
232
  rpc UpdateSpace(UpdateSpaceRequest) returns (google.protobuf.Empty);
213
233
  rpc QuerySpaces(google.protobuf.Empty) returns (stream QuerySpacesResponse);
214
234
 
235
+ /// Broadcast an emphemeral message to the space swarm.
215
236
  rpc PostMessage(PostMessageRequest) returns (google.protobuf.Empty);
237
+ /// Subscribe to messages from the space swarm.
216
238
  rpc SubscribeMessages(SubscribeMessagesRequest) returns (stream dxos.mesh.teleport.gossip.GossipMessage);
217
239
 
218
240
  /// Write credentials to the space control feed.
@@ -230,86 +252,80 @@ service SpacesService {
230
252
  */
231
253
  message Invitation {
232
254
  enum Type {
233
- /// Requires both to be online with OTP to complete key exchange.
255
+ /// Requires both to be online to complete key exchange.
234
256
  INTERACTIVE = 0;
235
- /// Interactive without OTP.
236
- /// @deprecated Use authMethod.
237
- INTERACTIVE_TESTING = 1;
238
257
  /// Guest's identity key is known; invitation can be accepted by any valid peer.
239
- OFFLINE = 2;
240
- /// Multiple-use invitation with OTP.
241
- MULTIUSE_TESTING = 3;
258
+ OFFLINE = 1;
259
+ /// Multiple-use interactive invitation.
260
+ MULTIUSE = 2;
261
+ }
262
+
263
+ enum Kind {
264
+ DEVICE = 0;
265
+ SPACE = 1;
266
+ }
267
+
268
+ enum AuthMethod {
269
+ /// No authnetication is required. Guest should not call `Authenticate`.
270
+ NONE = 0;
271
+
272
+ /// Guest should call `Authenticate` with the shared secret.
273
+ SHARED_SECRET = 1;
242
274
  }
243
275
 
244
276
  enum State {
245
277
  INIT = 0;
246
278
  CONNECTING = 1;
247
279
  CONNECTED = 2;
248
- AUTHENTICATING = 3;
249
- SUCCESS = 4;
250
- CANCELLED = 5;
251
- TIMEOUT = 6;
252
- ERROR = 7;
253
- }
254
-
255
- enum Error {
256
- OK = 0;
257
- TIMEOUT = 1;
258
- INVALID_OTP = 2;
259
- INVALID_OPT_ATTEMPTS = 3;
260
- INVALID_CREDENTIALS = 4;
280
+ READY_FOR_AUTHENTICATION = 3;
281
+ AUTHENTICATING = 4;
282
+ SUCCESS = 5;
283
+ CANCELLED = 6;
284
+ TIMEOUT = 7;
285
+ ERROR = 8;
261
286
  }
262
287
 
263
- /// Local identifier.
264
- optional string invitation_id = 1;
265
-
266
- /// Determined when created.
267
- optional Type type = 2;
288
+ /// Local identifier (random).
289
+ string invitation_id = 1;
268
290
 
269
- optional dxos.halo.invitations.AuthMethod auth_method = 10; // TODO: Fix numbering.
291
+ /// Determines the behavior of the invitation.
292
+ Type type = 2;
270
293
 
271
- /// Local state.
272
- optional State state = 3;
294
+ /// Kind of access the invitation will grant.
295
+ Kind kind = 3;
273
296
 
274
- /// Error.
275
- optional Error error = 4;
297
+ /// How the invitation is authenticated.
298
+ AuthMethod auth_method = 4;
276
299
 
277
300
  /// Swarm rendezvous (random).
278
- optional dxos.keys.PublicKey swarm_key = 5;
301
+ dxos.keys.PublicKey swarm_key = 5;
279
302
 
280
- /// Guest's identity (only present if OFFLINE).
281
- optional dxos.keys.PublicKey identity_key = 6;
303
+ /// Local state.
304
+ State state = 6;
282
305
 
283
- /// Space to join.
284
- optional dxos.keys.PublicKey space_key = 7;
306
+ /// Timeout (ms).
307
+ optional int32 timeout = 7;
285
308
 
286
- /// Authentication code created by host.
287
- optional string authentication_code = 8;
309
+ /// Guest's identity.
310
+ optional dxos.keys.PublicKey identity_key = 8;
288
311
 
289
- /// Timeout (ms).
290
- optional int32 timeout = 9;
312
+ /// Space to join (only present if kind is SPACE).
313
+ optional dxos.keys.PublicKey space_key = 9;
314
+
315
+ /// Authentication code created by host (only present if auth_method is SHARED_SECRET).
316
+ optional string auth_code = 10;
291
317
  }
292
318
 
293
319
  message AuthenticationRequest {
294
320
  string invitation_id = 1;
295
- string authentication_code = 2;
321
+ string auth_code = 2;
296
322
  }
297
323
 
298
324
  message CancelInvitationRequest {
299
325
  string invitation_id = 1;
300
326
  }
301
327
 
302
- // Common TS interface.
303
- // TODO(burdon): Reconcile with halo/invitations.proto (e.g., common defs like error vs superset of services?)
304
-
305
- service DeviceInvitationsService {
306
- rpc CreateInvitation(Invitation) returns (stream Invitation);
307
- rpc Authenticate(AuthenticationRequest) returns (google.protobuf.Empty);
308
- rpc AcceptInvitation(Invitation) returns (stream Invitation);
309
- rpc CancelInvitation(CancelInvitationRequest) returns (google.protobuf.Empty);
310
- }
311
-
312
- service SpaceInvitationsService {
328
+ service InvitationsService {
313
329
  rpc CreateInvitation(Invitation) returns (stream Invitation);
314
330
  rpc Authenticate(AuthenticationRequest) returns (google.protobuf.Empty);
315
331
  rpc AcceptInvitation(Invitation) returns (stream Invitation);
@@ -325,7 +341,6 @@ enum ConnectionState {
325
341
  ONLINE = 1;
326
342
  }
327
343
 
328
- // TODO(mykola): Broden API.
329
344
  message NetworkStatus {
330
345
  ConnectionState state = 1;
331
346
  }
@@ -6,9 +6,16 @@ syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/any.proto";
8
8
  import "google/protobuf/struct.proto";
9
+ import "google/protobuf/descriptor.proto";
9
10
 
10
11
  package dxos.config;
11
12
 
13
+ option go_package = "github.com/dxos/kube/proto/def/dxos/config";
14
+
15
+ extend google.protobuf.FieldOptions {
16
+ optional string env_var = 1000;
17
+ }
18
+
12
19
  message Config {
13
20
  optional int32 version = 1;
14
21
 
@@ -75,6 +82,7 @@ message Runtime {
75
82
  CHROME = 2;
76
83
  FIREFOX = 3;
77
84
  NODE = 4;
85
+ WEBFS = 5;
78
86
 
79
87
  // Key storage only
80
88
  LEVELJS = 11;
@@ -88,8 +96,8 @@ message Runtime {
88
96
  }
89
97
 
90
98
  message Log {
91
- optional string filter = 1 [(env) = "LOG_FILTER"];
92
- optional string prefix = 2 [(env) = "LOG_PREFIX"];
99
+ optional string filter = 1 [(env_var) = "LOG_FILTER"];
100
+ optional string prefix = 2 [(env_var) = "LOG_PREFIX"];
93
101
  }
94
102
 
95
103
  optional Log log = 1;
@@ -120,7 +128,7 @@ message Runtime {
120
128
  optional string org = 1;
121
129
  optional string theme = 2;
122
130
  optional string website = 3;
123
- optional string public_url = 4 [(env) = "PUBLIC_URL"];
131
+ optional string public_url = 4 [(env_var) = "PUBLIC_URL"];
124
132
 
125
133
  optional BuildInfo build = 100;
126
134
  optional google.protobuf.Struct env = 101;
@@ -167,23 +175,24 @@ message Runtime {
167
175
  //
168
176
  message Kube {
169
177
  message Autoupdate {
170
- optional bool enabled = 1;
178
+ bool enabled = 1;
171
179
  /// Seconds
172
- optional int64 interval = 2;
180
+ int32 interval = 2;
173
181
  }
174
182
 
175
183
  message Https {
176
- optional bool enabled = 1;
177
- optional string port = 2;
178
- optional string email = 3;
179
- optional string certfile = 4;
180
- optional string keyfile = 5;
181
- optional string dnsprovider = 6; // TODO(burdon): dns_provider.
184
+ bool enabled = 1;
185
+ string port = 2;
186
+ string email = 3;
187
+ string certfile = 4;
188
+ string keyfile = 5;
189
+ string dnsprovider = 6; // TODO(burdon): dns_provider.
182
190
  }
183
191
 
184
192
  message P2P {
185
- optional string private_key = 1;
186
- optional string port = 2;
193
+ // TODO(egorgripasov): private_key
194
+ string privatekey = 1;
195
+ string port = 2;
187
196
  repeated string bootstrap = 3;
188
197
  }
189
198
 
@@ -191,7 +200,7 @@ message Runtime {
191
200
  bool enabled = 1;
192
201
  string endpoint = 2;
193
202
  /// Seconds
194
- int64 interval = 3;
203
+ int32 interval = 3;
195
204
  }
196
205
 
197
206
  message Trace {
@@ -209,26 +218,33 @@ message Runtime {
209
218
  }
210
219
 
211
220
  message AppTunneling {
212
- optional bool enabled = 1;
213
- optional string command_template = 2;
214
- optional string output_re = 3;
215
- optional string port = 4;
221
+ bool enabled = 1;
222
+ string command_template = 2;
223
+ string output_re = 3;
224
+ string port = 4;
225
+ }
226
+
227
+ message Bots {
228
+ bool enabled = 1;
229
+ /// Refresh interval - Seconds
230
+ int32 interval = 2;
216
231
  }
217
232
 
218
233
  // TODO(burdon): Needs documentation/
219
- optional string host = 1;
220
- optional string port = 2;
221
- optional Autoupdate autoupdate = 3;
222
- optional Https https = 4;
223
- optional P2P p2p = 5;
224
- optional string confhost = 6; // TODO(burdon): ?
234
+ string host = 1;
235
+ string port = 2;
236
+ Autoupdate autoupdate = 3;
237
+ Https https = 4;
238
+ P2P p2p = 5;
239
+ string confhost = 6; // TODO(burdon): ?
225
240
  repeated string env = 7;
226
241
  repeated string alias = 8;
227
- optional Monitoring monitoring = 9;
228
- optional Trace trace = 10;
229
- optional Telemetry telemetry = 11;
230
- optional Gravity gravity = 12;
231
- optional AppTunneling app_tunneling = 13;
242
+ Monitoring monitoring = 9;
243
+ Trace trace = 10;
244
+ Telemetry telemetry = 11;
245
+ Gravity gravity = 12;
246
+ AppTunneling app_tunneling = 13;
247
+ Bots bots = 14;
232
248
  }
233
249
 
234
250
  //
@@ -11,6 +11,8 @@ import "google/protobuf/timestamp.proto";
11
11
 
12
12
  import "dxos/keys.proto";
13
13
 
14
+ option go_package = "github.com/dxos/kube/proto/def/dxos/halo/credentials";
15
+
14
16
  //
15
17
  // TODO(burdon): Reference/extract these notes to the design doc commentary.
16
18
  // Peers maintain Feeds that are admitted to HALO and ECHO Spaces.
@@ -6,16 +6,27 @@ syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/empty.proto";
8
8
 
9
+ import "dxos/client/services.proto";
10
+ import "dxos/echo/timeframe.proto";
9
11
  import "dxos/halo/credentials.proto";
10
12
  import "dxos/keys.proto";
11
- import "dxos/echo/timeframe.proto";
12
13
 
13
14
  package dxos.halo.invitations;
14
15
 
15
- // TODO(burdon): Reconcile with client.services.Invitation. Merge files.
16
+ message IntroductionRequest {
17
+ /// Guest's profile.
18
+ optional halo.credentials.ProfileDocument profile = 1;
19
+ }
20
+
21
+ message IntroductionResponse {
22
+ dxos.client.services.Invitation.AuthMethod auth_method = 1;
23
+
24
+ /// Only present for testing invitation types.
25
+ optional dxos.keys.PublicKey space_key = 100;
26
+ }
16
27
 
17
28
  message AuthenticationRequest {
18
- string authentication_code = 1;
29
+ string auth_code = 1;
19
30
  }
20
31
 
21
32
  message AuthenticationResponse {
@@ -29,58 +40,12 @@ message AuthenticationResponse {
29
40
  optional Status status = 1;
30
41
  }
31
42
 
32
- enum AuthMethod {
33
- /// No authnetication is required. Guest should not call `Authenticate`.
34
- NONE = 0;
35
-
36
- /// Guest should call `Authenticate` with the shared secret.
37
- SHARED_SECRET = 1;
38
- }
39
-
40
- //
41
- // HALO device invitations.
42
- //
43
-
44
- message HaloAdmissionOffer {
45
- dxos.keys.PublicKey identity_key = 1;
46
- dxos.keys.PublicKey halo_space_key = 2;
47
- dxos.keys.PublicKey genesis_feed_key = 3;
48
- optional dxos.echo.timeframe.TimeframeVector control_timeframe = 4;
49
- }
50
-
51
- message HaloAdmissionCredentials {
43
+ message DeviceAdmissionRequest {
52
44
  dxos.keys.PublicKey device_key = 1;
53
45
  dxos.keys.PublicKey control_feed_key = 2;
54
46
  dxos.keys.PublicKey data_feed_key = 3;
55
47
  }
56
48
 
57
- service HaloHostService {
58
- /// Process admission offer from host.
59
- rpc RequestAdmission(google.protobuf.Empty) returns (HaloAdmissionOffer);
60
-
61
- /// Authenticate request.
62
- rpc Authenticate(AuthenticationRequest) returns (AuthenticationResponse);
63
-
64
- /// Process admission request from guest.
65
- rpc PresentAdmissionCredentials(HaloAdmissionCredentials) returns (google.protobuf.Empty);
66
- }
67
-
68
- //
69
- // Space agent invitations.
70
- //
71
-
72
- message Introduction {
73
- /// Guest's profile.
74
- optional halo.credentials.ProfileDocument profile = 1;
75
- }
76
-
77
- message IntroductionResponse {
78
- /// Only present for testing invitation types.
79
- optional dxos.keys.PublicKey space_key = 1;
80
-
81
- AuthMethod auth_method = 2;
82
- }
83
-
84
49
  message SpaceAdmissionRequest {
85
50
  dxos.keys.PublicKey identity_key = 1;
86
51
  dxos.keys.PublicKey device_key = 2;
@@ -88,6 +53,20 @@ message SpaceAdmissionRequest {
88
53
  dxos.keys.PublicKey data_feed_key = 4;
89
54
  }
90
55
 
56
+ message AdmissionRequest {
57
+ oneof kind {
58
+ DeviceAdmissionRequest device = 1;
59
+ SpaceAdmissionRequest space = 2;
60
+ }
61
+ }
62
+
63
+ message DeviceAdmissionCredentials {
64
+ dxos.keys.PublicKey identity_key = 1;
65
+ dxos.keys.PublicKey halo_space_key = 2;
66
+ dxos.keys.PublicKey genesis_feed_key = 3;
67
+ optional dxos.echo.timeframe.TimeframeVector control_timeframe = 4;
68
+ }
69
+
91
70
  message SpaceAdmissionCredentials {
92
71
  /// Credential of type `SpaceMember` that grants Guest's identity access to the space.
93
72
  dxos.halo.credentials.Credential credential = 1;
@@ -99,13 +78,22 @@ message SpaceAdmissionCredentials {
99
78
  optional dxos.echo.timeframe.TimeframeVector data_timeframe = 3;
100
79
  }
101
80
 
102
- service SpaceHostService {
103
- /// Introduce Guest to the host.
104
- rpc Introduce(Introduction) returns (IntroductionResponse);
81
+ message AdmissionResponse {
82
+ oneof kind {
83
+ DeviceAdmissionCredentials device = 1;
84
+ SpaceAdmissionCredentials space = 2;
85
+ }
86
+ }
87
+
88
+ /// Host service for two peers exchanging an invitation.
89
+ // TODO(wittjosiah): Handle invitations where guest is the initiatating peer.
90
+ service InvitationHostService {
91
+ /// Introduce guest to the host.
92
+ rpc Introduce(IntroductionRequest) returns (IntroductionResponse);
105
93
 
106
94
  /// Authenticate request.
107
95
  rpc Authenticate(AuthenticationRequest) returns (AuthenticationResponse);
108
96
 
109
97
  /// Process admission credentials.
110
- rpc RequestAdmission(SpaceAdmissionRequest) returns (SpaceAdmissionCredentials);
98
+ rpc Admit(AdmissionRequest) returns (AdmissionResponse);
111
99
  }
@@ -6,6 +6,8 @@ syntax = "proto3";
6
6
 
7
7
  package dxos.keys;
8
8
 
9
+ option go_package = "github.com/dxos/kube/proto/def/dxos/keys";
10
+
9
11
  message PublicKey {
10
12
  bytes data = 1;
11
13
  }
@@ -10,7 +10,7 @@ import "google/protobuf/timestamp.proto";
10
10
 
11
11
  package dxos.mesh.signal;
12
12
 
13
- option go_package = "github.com/dxos/kube/go/signal/pb";
13
+ option go_package = "github.com/dxos/kube/proto/def/dxos/mesh/signal";
14
14
 
15
15
  message JoinRequest {
16
16
  bytes swarm = 1;
@@ -9,7 +9,7 @@ import "google/protobuf/any.proto";
9
9
  // TODO(burdon): Move to `dxos.mesh.rpc` (reconcile with @dxos/kube repo).
10
10
  package dxos.rpc;
11
11
 
12
- option go_package = "github.com/dxos/kube/go/dxrpc/pb";
12
+ option go_package = "github.com/dxos/kube/proto/def/dxos/rpc";
13
13
 
14
14
  message RpcMessage {
15
15
  oneof content {
@@ -10,7 +10,7 @@ import "dxos/config.proto";
10
10
 
11
11
  package dxos.service.publisher;
12
12
 
13
- option go_package = "github.com/dxos/kube/publisher/pb";
13
+ option go_package = "github.com/dxos/kube/proto/def/dxos/service/publisher";
14
14
 
15
15
  message PublishRequest {
16
16
  dxos.config.Package package = 1;
@@ -11,7 +11,7 @@ import "dxos/keys.proto";
11
11
 
12
12
  package dxos.service.supervisor;
13
13
 
14
- option go_package = "github.com/dxos/kube/supervisor/core";
14
+ option go_package = "github.com/dxos/kube/proto/def/dxos/service/supervisor";
15
15
 
16
16
  //
17
17
  // Basic methods to operate with KUBE core, inc. authentication & configuration.
@@ -9,6 +9,8 @@ import "google/protobuf/empty.proto";
9
9
 
10
10
  package example.testing.rpc;
11
11
 
12
+ option go_package = "github.com/dxos/kube/proto/def/example/testing/rpc";
13
+
12
14
  message TestRpcRequest {
13
15
  string data = 1;
14
16
  }
@@ -42,7 +42,6 @@ import * as dxos_mesh_teleport_replicator from "./mesh/teleport/replicator";
42
42
  import * as dxos_registry from "./registry";
43
43
  import * as dxos_rpc from "./rpc";
44
44
  import * as dxos_service_publisher from "./service/publisher";
45
- import * as dxos_service_scheduler from "./service/scheduler";
46
45
  import * as dxos_service_supervisor from "./service/supervisor";
47
46
  import * as dxos_type from "./type";
48
47
  import * as example_testing_data from "../example/testing/data";