@dxos/protocols 0.1.35 → 0.1.36-next.ef27157

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 (221) 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 +39 -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.map +1 -1
  10. package/dist/cjs/src/proto/gen/dxos/devtools/host.d.ts +31 -31
  11. package/dist/cjs/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  12. package/dist/cjs/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -1
  13. package/dist/cjs/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  14. package/dist/cjs/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  15. package/dist/cjs/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  16. package/dist/cjs/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  17. package/dist/cjs/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -1
  18. package/dist/cjs/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -1
  19. package/dist/cjs/src/proto/gen/dxos/echo/model/text.js.map +1 -1
  20. package/dist/cjs/src/proto/gen/dxos/echo/object.d.ts.map +1 -1
  21. package/dist/cjs/src/proto/gen/dxos/echo/object.js.map +1 -1
  22. package/dist/cjs/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  23. package/dist/cjs/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  24. package/dist/cjs/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  25. package/dist/cjs/src/proto/gen/dxos/gravity.d.ts.map +1 -1
  26. package/dist/cjs/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -1
  27. package/dist/cjs/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -1
  28. package/dist/cjs/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -1
  29. package/dist/cjs/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -1
  30. package/dist/cjs/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  31. package/dist/cjs/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  32. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts +54 -63
  33. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  34. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js +1 -10
  35. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  36. package/dist/cjs/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -1
  37. package/dist/cjs/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  38. package/dist/cjs/src/proto/gen/dxos/halo/keys.js.map +1 -1
  39. package/dist/cjs/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  40. package/dist/cjs/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  41. package/dist/cjs/src/proto/gen/dxos/iframe.js.map +1 -1
  42. package/dist/cjs/src/proto/gen/dxos/keys.d.ts.map +1 -1
  43. package/dist/cjs/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -1
  44. package/dist/cjs/src/proto/gen/dxos/mesh/bridge.js.map +1 -1
  45. package/dist/cjs/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -1
  46. package/dist/cjs/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -1
  47. package/dist/cjs/src/proto/gen/dxos/mesh/muxer.d.ts.map +1 -1
  48. package/dist/cjs/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -1
  49. package/dist/cjs/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -1
  50. package/dist/cjs/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -1
  51. package/dist/cjs/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  52. package/dist/cjs/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  53. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/auth.d.ts.map +1 -1
  54. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/control.d.ts.map +1 -1
  55. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/gossip.d.ts.map +1 -1
  56. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/notarization.d.ts.map +1 -1
  57. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/objectsync.d.ts.map +1 -1
  58. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/replicator.d.ts.map +1 -1
  59. package/dist/cjs/src/proto/gen/dxos/registry.d.ts.map +1 -1
  60. package/dist/cjs/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  61. package/dist/cjs/src/proto/gen/dxos/rpc.js.map +1 -1
  62. package/dist/cjs/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  63. package/dist/cjs/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  64. package/dist/cjs/src/proto/gen/dxos/service/supervisor.js.map +1 -1
  65. package/dist/cjs/src/proto/gen/dxos/type.d.ts.map +1 -1
  66. package/dist/cjs/src/proto/gen/example/testing/data.d.ts.map +1 -1
  67. package/dist/cjs/src/proto/gen/example/testing/rpc.d.ts.map +1 -1
  68. package/dist/cjs/src/proto/gen/google/protobuf.d.ts +250 -6
  69. package/dist/cjs/src/proto/gen/google/protobuf.d.ts.map +1 -1
  70. package/dist/cjs/src/proto/gen/google/protobuf.js +55 -1
  71. package/dist/cjs/src/proto/gen/google/protobuf.js.map +1 -1
  72. package/dist/cjs/src/proto/gen/index.d.ts +40 -31
  73. package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
  74. package/dist/cjs/src/proto/gen/index.js +1 -1
  75. package/dist/cjs/src/proto/gen/index.js.map +1 -1
  76. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  77. package/dist/esm/src/proto/gen/dxos/bot.d.ts.map +1 -1
  78. package/dist/esm/src/proto/gen/dxos/bot.js.map +1 -1
  79. package/dist/esm/src/proto/gen/dxos/client/services.d.ts +91 -68
  80. package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  81. package/dist/esm/src/proto/gen/dxos/client/services.js +26 -20
  82. package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
  83. package/dist/esm/src/proto/gen/dxos/config.d.ts +39 -126
  84. package/dist/esm/src/proto/gen/dxos/config.d.ts.map +1 -1
  85. package/dist/esm/src/proto/gen/dxos/config.js.map +1 -1
  86. package/dist/esm/src/proto/gen/dxos/devtools/host.d.ts +31 -31
  87. package/dist/esm/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  88. package/dist/esm/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -1
  89. package/dist/esm/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  90. package/dist/esm/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  91. package/dist/esm/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  92. package/dist/esm/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  93. package/dist/esm/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -1
  94. package/dist/esm/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -1
  95. package/dist/esm/src/proto/gen/dxos/echo/model/text.js.map +1 -1
  96. package/dist/esm/src/proto/gen/dxos/echo/object.d.ts.map +1 -1
  97. package/dist/esm/src/proto/gen/dxos/echo/object.js.map +1 -1
  98. package/dist/esm/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  99. package/dist/esm/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  100. package/dist/esm/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  101. package/dist/esm/src/proto/gen/dxos/gravity.d.ts.map +1 -1
  102. package/dist/esm/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -1
  103. package/dist/esm/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -1
  104. package/dist/esm/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -1
  105. package/dist/esm/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -1
  106. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  107. package/dist/esm/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  108. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts +54 -63
  109. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  110. package/dist/esm/src/proto/gen/dxos/halo/invitations.js +0 -9
  111. package/dist/esm/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  112. package/dist/esm/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -1
  113. package/dist/esm/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  114. package/dist/esm/src/proto/gen/dxos/halo/keys.js.map +1 -1
  115. package/dist/esm/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  116. package/dist/esm/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  117. package/dist/esm/src/proto/gen/dxos/iframe.js.map +1 -1
  118. package/dist/esm/src/proto/gen/dxos/keys.d.ts.map +1 -1
  119. package/dist/esm/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -1
  120. package/dist/esm/src/proto/gen/dxos/mesh/bridge.js.map +1 -1
  121. package/dist/esm/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -1
  122. package/dist/esm/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -1
  123. package/dist/esm/src/proto/gen/dxos/mesh/muxer.d.ts.map +1 -1
  124. package/dist/esm/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -1
  125. package/dist/esm/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -1
  126. package/dist/esm/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -1
  127. package/dist/esm/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  128. package/dist/esm/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  129. package/dist/esm/src/proto/gen/dxos/mesh/teleport/auth.d.ts.map +1 -1
  130. package/dist/esm/src/proto/gen/dxos/mesh/teleport/control.d.ts.map +1 -1
  131. package/dist/esm/src/proto/gen/dxos/mesh/teleport/gossip.d.ts.map +1 -1
  132. package/dist/esm/src/proto/gen/dxos/mesh/teleport/notarization.d.ts.map +1 -1
  133. package/dist/esm/src/proto/gen/dxos/mesh/teleport/objectsync.d.ts.map +1 -1
  134. package/dist/esm/src/proto/gen/dxos/mesh/teleport/replicator.d.ts.map +1 -1
  135. package/dist/esm/src/proto/gen/dxos/registry.d.ts.map +1 -1
  136. package/dist/esm/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  137. package/dist/esm/src/proto/gen/dxos/rpc.js.map +1 -1
  138. package/dist/esm/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  139. package/dist/esm/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  140. package/dist/esm/src/proto/gen/dxos/service/supervisor.js.map +1 -1
  141. package/dist/esm/src/proto/gen/dxos/type.d.ts.map +1 -1
  142. package/dist/esm/src/proto/gen/example/testing/data.d.ts.map +1 -1
  143. package/dist/esm/src/proto/gen/example/testing/rpc.d.ts.map +1 -1
  144. package/dist/esm/src/proto/gen/google/protobuf.d.ts +250 -6
  145. package/dist/esm/src/proto/gen/google/protobuf.d.ts.map +1 -1
  146. package/dist/esm/src/proto/gen/google/protobuf.js +54 -0
  147. package/dist/esm/src/proto/gen/google/protobuf.js.map +1 -1
  148. package/dist/esm/src/proto/gen/index.d.ts +40 -31
  149. package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
  150. package/dist/esm/src/proto/gen/index.js +1 -1
  151. package/dist/esm/src/proto/gen/index.js.map +1 -1
  152. package/package.json +5 -5
  153. package/src/proto/dxos/client/services.proto +69 -54
  154. package/src/proto/dxos/config.proto +44 -29
  155. package/src/proto/dxos/halo/credentials.proto +2 -0
  156. package/src/proto/dxos/halo/invitations.proto +42 -54
  157. package/src/proto/dxos/keys.proto +2 -0
  158. package/src/proto/dxos/mesh/signal.proto +1 -1
  159. package/src/proto/dxos/rpc.proto +1 -1
  160. package/src/proto/dxos/service/publisher.proto +1 -1
  161. package/src/proto/dxos/service/supervisor.proto +1 -1
  162. package/src/proto/example/testing/rpc.proto +2 -0
  163. package/src/proto/gen/dxos/bot.ts +0 -1
  164. package/src/proto/gen/dxos/client/services.ts +90 -68
  165. package/src/proto/gen/dxos/config.ts +39 -127
  166. package/src/proto/gen/dxos/devtools/host.ts +31 -32
  167. package/src/proto/gen/dxos/devtools/swarm.ts +0 -1
  168. package/src/proto/gen/dxos/echo/feed.ts +0 -1
  169. package/src/proto/gen/dxos/echo/metadata.ts +0 -1
  170. package/src/proto/gen/dxos/echo/model/document.ts +0 -1
  171. package/src/proto/gen/dxos/echo/model/messenger.ts +0 -1
  172. package/src/proto/gen/dxos/echo/model/text.ts +0 -1
  173. package/src/proto/gen/dxos/echo/object.ts +0 -1
  174. package/src/proto/gen/dxos/echo/service.ts +0 -1
  175. package/src/proto/gen/dxos/echo/snapshot.ts +0 -1
  176. package/src/proto/gen/dxos/echo/timeframe.ts +0 -1
  177. package/src/proto/gen/dxos/gravity.ts +0 -1
  178. package/src/proto/gen/dxos/halo/credentials/auth.ts +0 -1
  179. package/src/proto/gen/dxos/halo/credentials/greet.ts +0 -1
  180. package/src/proto/gen/dxos/halo/credentials/identity.ts +0 -1
  181. package/src/proto/gen/dxos/halo/credentials.ts +0 -1
  182. package/src/proto/gen/dxos/halo/invitations.ts +53 -64
  183. package/src/proto/gen/dxos/halo/keyring.ts +0 -1
  184. package/src/proto/gen/dxos/halo/keys.ts +0 -1
  185. package/src/proto/gen/dxos/halo/signed.ts +0 -1
  186. package/src/proto/gen/dxos/iframe.ts +0 -1
  187. package/src/proto/gen/dxos/keys.ts +0 -1
  188. package/src/proto/gen/dxos/mesh/bridge.ts +0 -1
  189. package/src/proto/gen/dxos/mesh/broadcast.ts +0 -1
  190. package/src/proto/gen/dxos/mesh/messaging.ts +0 -1
  191. package/src/proto/gen/dxos/mesh/muxer.ts +0 -1
  192. package/src/proto/gen/dxos/mesh/presence.ts +0 -1
  193. package/src/proto/gen/dxos/mesh/protocol.ts +0 -1
  194. package/src/proto/gen/dxos/mesh/replicator.ts +0 -1
  195. package/src/proto/gen/dxos/mesh/signal.ts +0 -1
  196. package/src/proto/gen/dxos/mesh/swarm.ts +0 -1
  197. package/src/proto/gen/dxos/mesh/teleport/auth.ts +0 -1
  198. package/src/proto/gen/dxos/mesh/teleport/control.ts +0 -1
  199. package/src/proto/gen/dxos/mesh/teleport/gossip.ts +0 -1
  200. package/src/proto/gen/dxos/mesh/teleport/notarization.ts +0 -1
  201. package/src/proto/gen/dxos/mesh/teleport/objectsync.ts +0 -1
  202. package/src/proto/gen/dxos/mesh/teleport/replicator.ts +0 -1
  203. package/src/proto/gen/dxos/registry.ts +0 -1
  204. package/src/proto/gen/dxos/rpc.ts +0 -1
  205. package/src/proto/gen/dxos/service/publisher.ts +0 -1
  206. package/src/proto/gen/dxos/service/supervisor.ts +0 -1
  207. package/src/proto/gen/dxos/type.ts +0 -1
  208. package/src/proto/gen/example/testing/data.ts +0 -1
  209. package/src/proto/gen/example/testing/rpc.ts +0 -1
  210. package/src/proto/gen/google/protobuf.ts +250 -7
  211. package/src/proto/gen/index.ts +41 -32
  212. package/dist/cjs/src/proto/gen/dxos/service/scheduler.d.ts +0 -300
  213. package/dist/cjs/src/proto/gen/dxos/service/scheduler.d.ts.map +0 -1
  214. package/dist/cjs/src/proto/gen/dxos/service/scheduler.js +0 -16
  215. package/dist/cjs/src/proto/gen/dxos/service/scheduler.js.map +0 -1
  216. package/dist/esm/src/proto/gen/dxos/service/scheduler.d.ts +0 -300
  217. package/dist/esm/src/proto/gen/dxos/service/scheduler.d.ts.map +0 -1
  218. package/dist/esm/src/proto/gen/dxos/service/scheduler.js +0 -13
  219. package/dist/esm/src/proto/gen/dxos/service/scheduler.js.map +0 -1
  220. package/src/proto/dxos/service/scheduler.proto +0 -171
  221. 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
 
@@ -88,8 +95,8 @@ message Runtime {
88
95
  }
89
96
 
90
97
  message Log {
91
- optional string filter = 1 [(env) = "LOG_FILTER"];
92
- optional string prefix = 2 [(env) = "LOG_PREFIX"];
98
+ optional string filter = 1 [(env_var) = "LOG_FILTER"];
99
+ optional string prefix = 2 [(env_var) = "LOG_PREFIX"];
93
100
  }
94
101
 
95
102
  optional Log log = 1;
@@ -120,7 +127,7 @@ message Runtime {
120
127
  optional string org = 1;
121
128
  optional string theme = 2;
122
129
  optional string website = 3;
123
- optional string public_url = 4 [(env) = "PUBLIC_URL"];
130
+ optional string public_url = 4 [(env_var) = "PUBLIC_URL"];
124
131
 
125
132
  optional BuildInfo build = 100;
126
133
  optional google.protobuf.Struct env = 101;
@@ -167,23 +174,24 @@ message Runtime {
167
174
  //
168
175
  message Kube {
169
176
  message Autoupdate {
170
- optional bool enabled = 1;
177
+ bool enabled = 1;
171
178
  /// Seconds
172
- optional int64 interval = 2;
179
+ int32 interval = 2;
173
180
  }
174
181
 
175
182
  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.
183
+ bool enabled = 1;
184
+ string port = 2;
185
+ string email = 3;
186
+ string certfile = 4;
187
+ string keyfile = 5;
188
+ string dnsprovider = 6; // TODO(burdon): dns_provider.
182
189
  }
183
190
 
184
191
  message P2P {
185
- optional string private_key = 1;
186
- optional string port = 2;
192
+ // TODO(egorgripasov): private_key
193
+ string privatekey = 1;
194
+ string port = 2;
187
195
  repeated string bootstrap = 3;
188
196
  }
189
197
 
@@ -191,7 +199,7 @@ message Runtime {
191
199
  bool enabled = 1;
192
200
  string endpoint = 2;
193
201
  /// Seconds
194
- int64 interval = 3;
202
+ int32 interval = 3;
195
203
  }
196
204
 
197
205
  message Trace {
@@ -209,26 +217,33 @@ message Runtime {
209
217
  }
210
218
 
211
219
  message AppTunneling {
212
- optional bool enabled = 1;
213
- optional string command_template = 2;
214
- optional string output_re = 3;
215
- optional string port = 4;
220
+ bool enabled = 1;
221
+ string command_template = 2;
222
+ string output_re = 3;
223
+ string port = 4;
224
+ }
225
+
226
+ message Bots {
227
+ bool enabled = 1;
228
+ /// Refresh interval - Seconds
229
+ int32 interval = 2;
216
230
  }
217
231
 
218
232
  // 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): ?
233
+ string host = 1;
234
+ string port = 2;
235
+ Autoupdate autoupdate = 3;
236
+ Https https = 4;
237
+ P2P p2p = 5;
238
+ string confhost = 6; // TODO(burdon): ?
225
239
  repeated string env = 7;
226
240
  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;
241
+ Monitoring monitoring = 9;
242
+ Trace trace = 10;
243
+ Telemetry telemetry = 11;
244
+ Gravity gravity = 12;
245
+ AppTunneling app_tunneling = 13;
246
+ Bots bots = 14;
232
247
  }
233
248
 
234
249
  //
@@ -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";