@dxos/protocols 0.1.0

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 (399) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/dist/src/codec.test.d.ts +2 -0
  4. package/dist/src/codec.test.d.ts.map +1 -0
  5. package/dist/src/codec.test.js +21 -0
  6. package/dist/src/codec.test.js.map +1 -0
  7. package/dist/src/index.d.ts +4 -0
  8. package/dist/src/index.d.ts.map +1 -0
  9. package/dist/src/index.js +23 -0
  10. package/dist/src/index.js.map +1 -0
  11. package/dist/src/proto/gen/dxos/bot.d.ts +268 -0
  12. package/dist/src/proto/gen/dxos/bot.d.ts.map +1 -0
  13. package/dist/src/proto/gen/dxos/bot.js +19 -0
  14. package/dist/src/proto/gen/dxos/bot.js.map +1 -0
  15. package/dist/src/proto/gen/dxos/client.d.ts +388 -0
  16. package/dist/src/proto/gen/dxos/client.d.ts.map +1 -0
  17. package/dist/src/proto/gen/dxos/client.js +15 -0
  18. package/dist/src/proto/gen/dxos/client.js.map +1 -0
  19. package/dist/src/proto/gen/dxos/config.d.ts +849 -0
  20. package/dist/src/proto/gen/dxos/config.d.ts.map +1 -0
  21. package/dist/src/proto/gen/dxos/config.js +39 -0
  22. package/dist/src/proto/gen/dxos/config.js.map +1 -0
  23. package/dist/src/proto/gen/dxos/devtools/host.d.ts +387 -0
  24. package/dist/src/proto/gen/dxos/devtools/host.d.ts.map +1 -0
  25. package/dist/src/proto/gen/dxos/devtools/host.js +3 -0
  26. package/dist/src/proto/gen/dxos/devtools/host.js.map +1 -0
  27. package/dist/src/proto/gen/dxos/devtools/swarmLog.d.ts +50 -0
  28. package/dist/src/proto/gen/dxos/devtools/swarmLog.d.ts.map +1 -0
  29. package/dist/src/proto/gen/dxos/devtools/swarmLog.js +3 -0
  30. package/dist/src/proto/gen/dxos/devtools/swarmLog.js.map +1 -0
  31. package/dist/src/proto/gen/dxos/echo/feed.d.ts +112 -0
  32. package/dist/src/proto/gen/dxos/echo/feed.d.ts.map +1 -0
  33. package/dist/src/proto/gen/dxos/echo/feed.js +17 -0
  34. package/dist/src/proto/gen/dxos/echo/feed.js.map +1 -0
  35. package/dist/src/proto/gen/dxos/echo/metadata.d.ts +64 -0
  36. package/dist/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -0
  37. package/dist/src/proto/gen/dxos/echo/metadata.js +3 -0
  38. package/dist/src/proto/gen/dxos/echo/metadata.js.map +1 -0
  39. package/dist/src/proto/gen/dxos/echo/model/messenger.d.ts +10 -0
  40. package/dist/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -0
  41. package/dist/src/proto/gen/dxos/echo/model/messenger.js +3 -0
  42. package/dist/src/proto/gen/dxos/echo/model/messenger.js.map +1 -0
  43. package/dist/src/proto/gen/dxos/echo/model/object.d.ts +141 -0
  44. package/dist/src/proto/gen/dxos/echo/model/object.d.ts.map +1 -0
  45. package/dist/src/proto/gen/dxos/echo/model/object.js +40 -0
  46. package/dist/src/proto/gen/dxos/echo/model/object.js.map +1 -0
  47. package/dist/src/proto/gen/dxos/echo/model/text.d.ts +16 -0
  48. package/dist/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -0
  49. package/dist/src/proto/gen/dxos/echo/model/text.js +3 -0
  50. package/dist/src/proto/gen/dxos/echo/model/text.js.map +1 -0
  51. package/dist/src/proto/gen/dxos/echo/service.d.ts +83 -0
  52. package/dist/src/proto/gen/dxos/echo/service.d.ts.map +1 -0
  53. package/dist/src/proto/gen/dxos/echo/service.js +3 -0
  54. package/dist/src/proto/gen/dxos/echo/service.js.map +1 -0
  55. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts +133 -0
  56. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -0
  57. package/dist/src/proto/gen/dxos/echo/snapshot.js +3 -0
  58. package/dist/src/proto/gen/dxos/echo/snapshot.js.map +1 -0
  59. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts +20 -0
  60. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -0
  61. package/dist/src/proto/gen/dxos/echo/timeframe.js +3 -0
  62. package/dist/src/proto/gen/dxos/echo/timeframe.js.map +1 -0
  63. package/dist/src/proto/gen/dxos/halo/credentials/auth.d.ts +36 -0
  64. package/dist/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -0
  65. package/dist/src/proto/gen/dxos/halo/credentials/auth.js +3 -0
  66. package/dist/src/proto/gen/dxos/halo/credentials/auth.js.map +1 -0
  67. package/dist/src/proto/gen/dxos/halo/credentials/greet.d.ts +70 -0
  68. package/dist/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -0
  69. package/dist/src/proto/gen/dxos/halo/credentials/greet.js +19 -0
  70. package/dist/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -0
  71. package/dist/src/proto/gen/dxos/halo/credentials/identity.d.ts +18 -0
  72. package/dist/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -0
  73. package/dist/src/proto/gen/dxos/halo/credentials/identity.js +3 -0
  74. package/dist/src/proto/gen/dxos/halo/credentials/identity.js.map +1 -0
  75. package/dist/src/proto/gen/dxos/halo/credentials/party.d.ts +82 -0
  76. package/dist/src/proto/gen/dxos/halo/credentials/party.d.ts.map +1 -0
  77. package/dist/src/proto/gen/dxos/halo/credentials/party.js +19 -0
  78. package/dist/src/proto/gen/dxos/halo/credentials/party.js.map +1 -0
  79. package/dist/src/proto/gen/dxos/halo/credentials.d.ts +272 -0
  80. package/dist/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -0
  81. package/dist/src/proto/gen/dxos/halo/credentials.js +31 -0
  82. package/dist/src/proto/gen/dxos/halo/credentials.js.map +1 -0
  83. package/dist/src/proto/gen/dxos/halo/invitations.d.ts +117 -0
  84. package/dist/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -0
  85. package/dist/src/proto/gen/dxos/halo/invitations.js +16 -0
  86. package/dist/src/proto/gen/dxos/halo/invitations.js.map +1 -0
  87. package/dist/src/proto/gen/dxos/halo/keyring.d.ts +9 -0
  88. package/dist/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -0
  89. package/dist/src/proto/gen/dxos/halo/keyring.js +3 -0
  90. package/dist/src/proto/gen/dxos/halo/keyring.js.map +1 -0
  91. package/dist/src/proto/gen/dxos/halo/keys.d.ts +88 -0
  92. package/dist/src/proto/gen/dxos/halo/keys.d.ts.map +1 -0
  93. package/dist/src/proto/gen/dxos/halo/keys.js +17 -0
  94. package/dist/src/proto/gen/dxos/halo/keys.js.map +1 -0
  95. package/dist/src/proto/gen/dxos/halo/signed.d.ts +64 -0
  96. package/dist/src/proto/gen/dxos/halo/signed.d.ts.map +1 -0
  97. package/dist/src/proto/gen/dxos/halo/signed.js +3 -0
  98. package/dist/src/proto/gen/dxos/halo/signed.js.map +1 -0
  99. package/dist/src/proto/gen/dxos/iframe.d.ts +27 -0
  100. package/dist/src/proto/gen/dxos/iframe.d.ts.map +1 -0
  101. package/dist/src/proto/gen/dxos/iframe.js +3 -0
  102. package/dist/src/proto/gen/dxos/iframe.js.map +1 -0
  103. package/dist/src/proto/gen/dxos/keys.d.ts +15 -0
  104. package/dist/src/proto/gen/dxos/keys.d.ts.map +1 -0
  105. package/dist/src/proto/gen/dxos/keys.js +3 -0
  106. package/dist/src/proto/gen/dxos/keys.js.map +1 -0
  107. package/dist/src/proto/gen/dxos/mesh/bridge.d.ts +92 -0
  108. package/dist/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -0
  109. package/dist/src/proto/gen/dxos/mesh/bridge.js +15 -0
  110. package/dist/src/proto/gen/dxos/mesh/bridge.js.map +1 -0
  111. package/dist/src/proto/gen/dxos/mesh/broadcast.d.ts +15 -0
  112. package/dist/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -0
  113. package/dist/src/proto/gen/dxos/mesh/broadcast.js +3 -0
  114. package/dist/src/proto/gen/dxos/mesh/broadcast.js.map +1 -0
  115. package/dist/src/proto/gen/dxos/mesh/messaging.d.ts +26 -0
  116. package/dist/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -0
  117. package/dist/src/proto/gen/dxos/mesh/messaging.js +3 -0
  118. package/dist/src/proto/gen/dxos/mesh/messaging.js.map +1 -0
  119. package/dist/src/proto/gen/dxos/mesh/presence.d.ts +28 -0
  120. package/dist/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -0
  121. package/dist/src/proto/gen/dxos/mesh/presence.js +3 -0
  122. package/dist/src/proto/gen/dxos/mesh/presence.js.map +1 -0
  123. package/dist/src/proto/gen/dxos/mesh/protocol.d.ts +27 -0
  124. package/dist/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -0
  125. package/dist/src/proto/gen/dxos/mesh/protocol.js +3 -0
  126. package/dist/src/proto/gen/dxos/mesh/protocol.js.map +1 -0
  127. package/dist/src/proto/gen/dxos/mesh/replicator.d.ts +26 -0
  128. package/dist/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -0
  129. package/dist/src/proto/gen/dxos/mesh/replicator.js +3 -0
  130. package/dist/src/proto/gen/dxos/mesh/replicator.js.map +1 -0
  131. package/dist/src/proto/gen/dxos/mesh/signal.d.ts +99 -0
  132. package/dist/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -0
  133. package/dist/src/proto/gen/dxos/mesh/signal.js +3 -0
  134. package/dist/src/proto/gen/dxos/mesh/signal.js.map +1 -0
  135. package/dist/src/proto/gen/dxos/mesh/swarm.d.ts +60 -0
  136. package/dist/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -0
  137. package/dist/src/proto/gen/dxos/mesh/swarm.js +3 -0
  138. package/dist/src/proto/gen/dxos/mesh/swarm.js.map +1 -0
  139. package/dist/src/proto/gen/dxos/registry.d.ts +82 -0
  140. package/dist/src/proto/gen/dxos/registry.d.ts.map +1 -0
  141. package/dist/src/proto/gen/dxos/registry.js +3 -0
  142. package/dist/src/proto/gen/dxos/registry.js.map +1 -0
  143. package/dist/src/proto/gen/dxos/rpc.d.ts +94 -0
  144. package/dist/src/proto/gen/dxos/rpc.d.ts.map +1 -0
  145. package/dist/src/proto/gen/dxos/rpc.js +16 -0
  146. package/dist/src/proto/gen/dxos/rpc.js.map +1 -0
  147. package/dist/src/proto/gen/dxos/service/publisher.d.ts +39 -0
  148. package/dist/src/proto/gen/dxos/service/publisher.d.ts.map +1 -0
  149. package/dist/src/proto/gen/dxos/service/publisher.js +3 -0
  150. package/dist/src/proto/gen/dxos/service/publisher.js.map +1 -0
  151. package/dist/src/proto/gen/dxos/service/scheduler.d.ts +300 -0
  152. package/dist/src/proto/gen/dxos/service/scheduler.d.ts.map +1 -0
  153. package/dist/src/proto/gen/dxos/service/scheduler.js +16 -0
  154. package/dist/src/proto/gen/dxos/service/scheduler.js.map +1 -0
  155. package/dist/src/proto/gen/dxos/type.d.ts +167 -0
  156. package/dist/src/proto/gen/dxos/type.d.ts.map +1 -0
  157. package/dist/src/proto/gen/dxos/type.js +3 -0
  158. package/dist/src/proto/gen/dxos/type.js.map +1 -0
  159. package/dist/src/proto/gen/example/testing/data.d.ts +23 -0
  160. package/dist/src/proto/gen/example/testing/data.d.ts.map +1 -0
  161. package/dist/src/proto/gen/example/testing/data.js +3 -0
  162. package/dist/src/proto/gen/example/testing/data.js.map +1 -0
  163. package/dist/src/proto/gen/example/testing/rpc.d.ts +67 -0
  164. package/dist/src/proto/gen/example/testing/rpc.d.ts.map +1 -0
  165. package/dist/src/proto/gen/example/testing/rpc.js +3 -0
  166. package/dist/src/proto/gen/example/testing/rpc.js.map +1 -0
  167. package/dist/src/proto/gen/google/protobuf.d.ts +38 -0
  168. package/dist/src/proto/gen/google/protobuf.d.ts.map +1 -0
  169. package/dist/src/proto/gen/google/protobuf.js +3 -0
  170. package/dist/src/proto/gen/google/protobuf.js.map +1 -0
  171. package/dist/src/proto/gen/index.d.ts +385 -0
  172. package/dist/src/proto/gen/index.d.ts.map +1 -0
  173. package/dist/src/proto/gen/index.js +11 -0
  174. package/dist/src/proto/gen/index.js.map +1 -0
  175. package/dist/src/proto/index.d.ts +2 -0
  176. package/dist/src/proto/index.d.ts.map +1 -0
  177. package/dist/src/proto/index.js +10 -0
  178. package/dist/src/proto/index.js.map +1 -0
  179. package/dist/src/proto/substitutions.d.ts +60 -0
  180. package/dist/src/proto/substitutions.d.ts.map +1 -0
  181. package/dist/src/proto/substitutions.js +37 -0
  182. package/dist/src/proto/substitutions.js.map +1 -0
  183. package/dist/src/testing.d.ts +5 -0
  184. package/dist/src/testing.d.ts.map +1 -0
  185. package/dist/src/testing.js +22 -0
  186. package/dist/src/testing.js.map +1 -0
  187. package/dist/src/types.d.ts +33 -0
  188. package/dist/src/types.d.ts.map +1 -0
  189. package/dist/src/types.js +6 -0
  190. package/dist/src/types.js.map +1 -0
  191. package/package.json +40 -0
  192. package/proto/README.md +7 -0
  193. package/proto/dxos/bot.d.ts +2 -0
  194. package/proto/dxos/bot.d.ts.map +10 -0
  195. package/proto/dxos/bot.js +2 -0
  196. package/proto/dxos/client.d.ts +2 -0
  197. package/proto/dxos/client.d.ts.map +10 -0
  198. package/proto/dxos/client.js +2 -0
  199. package/proto/dxos/config.d.ts +2 -0
  200. package/proto/dxos/config.d.ts.map +10 -0
  201. package/proto/dxos/config.js +2 -0
  202. package/proto/dxos/devtools/host.d.ts +2 -0
  203. package/proto/dxos/devtools/host.d.ts.map +10 -0
  204. package/proto/dxos/devtools/host.js +2 -0
  205. package/proto/dxos/devtools/swarmLog.d.ts +2 -0
  206. package/proto/dxos/devtools/swarmLog.d.ts.map +10 -0
  207. package/proto/dxos/devtools/swarmLog.js +2 -0
  208. package/proto/dxos/echo/feed.d.ts +2 -0
  209. package/proto/dxos/echo/feed.d.ts.map +10 -0
  210. package/proto/dxos/echo/feed.js +2 -0
  211. package/proto/dxos/echo/metadata.d.ts +2 -0
  212. package/proto/dxos/echo/metadata.d.ts.map +10 -0
  213. package/proto/dxos/echo/metadata.js +2 -0
  214. package/proto/dxos/echo/model/messenger.d.ts +2 -0
  215. package/proto/dxos/echo/model/messenger.d.ts.map +10 -0
  216. package/proto/dxos/echo/model/messenger.js +2 -0
  217. package/proto/dxos/echo/model/object.d.ts +2 -0
  218. package/proto/dxos/echo/model/object.d.ts.map +10 -0
  219. package/proto/dxos/echo/model/object.js +2 -0
  220. package/proto/dxos/echo/model/text.d.ts +2 -0
  221. package/proto/dxos/echo/model/text.d.ts.map +10 -0
  222. package/proto/dxos/echo/model/text.js +2 -0
  223. package/proto/dxos/echo/service.d.ts +2 -0
  224. package/proto/dxos/echo/service.d.ts.map +10 -0
  225. package/proto/dxos/echo/service.js +2 -0
  226. package/proto/dxos/echo/snapshot.d.ts +2 -0
  227. package/proto/dxos/echo/snapshot.d.ts.map +10 -0
  228. package/proto/dxos/echo/snapshot.js +2 -0
  229. package/proto/dxos/echo/timeframe.d.ts +2 -0
  230. package/proto/dxos/echo/timeframe.d.ts.map +10 -0
  231. package/proto/dxos/echo/timeframe.js +2 -0
  232. package/proto/dxos/google.d.ts +2 -0
  233. package/proto/dxos/google.d.ts.map +10 -0
  234. package/proto/dxos/google.js +2 -0
  235. package/proto/dxos/halo/credentials/auth.d.ts +2 -0
  236. package/proto/dxos/halo/credentials/auth.d.ts.map +10 -0
  237. package/proto/dxos/halo/credentials/auth.js +2 -0
  238. package/proto/dxos/halo/credentials/greet.d.ts +2 -0
  239. package/proto/dxos/halo/credentials/greet.d.ts.map +10 -0
  240. package/proto/dxos/halo/credentials/greet.js +2 -0
  241. package/proto/dxos/halo/credentials/identity.d.ts +2 -0
  242. package/proto/dxos/halo/credentials/identity.d.ts.map +10 -0
  243. package/proto/dxos/halo/credentials/identity.js +2 -0
  244. package/proto/dxos/halo/credentials/party.d.ts +2 -0
  245. package/proto/dxos/halo/credentials/party.d.ts.map +10 -0
  246. package/proto/dxos/halo/credentials/party.js +2 -0
  247. package/proto/dxos/halo/credentials.d.ts +2 -0
  248. package/proto/dxos/halo/credentials.d.ts.map +10 -0
  249. package/proto/dxos/halo/credentials.js +2 -0
  250. package/proto/dxos/halo/invitations.d.ts +2 -0
  251. package/proto/dxos/halo/invitations.d.ts.map +10 -0
  252. package/proto/dxos/halo/invitations.js +2 -0
  253. package/proto/dxos/halo/keyring.d.ts +2 -0
  254. package/proto/dxos/halo/keyring.d.ts.map +10 -0
  255. package/proto/dxos/halo/keyring.js +2 -0
  256. package/proto/dxos/halo/keys.d.ts +2 -0
  257. package/proto/dxos/halo/keys.d.ts.map +10 -0
  258. package/proto/dxos/halo/keys.js +2 -0
  259. package/proto/dxos/halo/signed.d.ts +2 -0
  260. package/proto/dxos/halo/signed.d.ts.map +10 -0
  261. package/proto/dxos/halo/signed.js +2 -0
  262. package/proto/dxos/iframe.d.ts +2 -0
  263. package/proto/dxos/iframe.d.ts.map +10 -0
  264. package/proto/dxos/iframe.js +2 -0
  265. package/proto/dxos/keys.d.ts +2 -0
  266. package/proto/dxos/keys.d.ts.map +10 -0
  267. package/proto/dxos/keys.js +2 -0
  268. package/proto/dxos/mesh/bridge.d.ts +2 -0
  269. package/proto/dxos/mesh/bridge.d.ts.map +10 -0
  270. package/proto/dxos/mesh/bridge.js +2 -0
  271. package/proto/dxos/mesh/broadcast.d.ts +2 -0
  272. package/proto/dxos/mesh/broadcast.d.ts.map +10 -0
  273. package/proto/dxos/mesh/broadcast.js +2 -0
  274. package/proto/dxos/mesh/messaging.d.ts +2 -0
  275. package/proto/dxos/mesh/messaging.d.ts.map +10 -0
  276. package/proto/dxos/mesh/messaging.js +2 -0
  277. package/proto/dxos/mesh/presence.d.ts +2 -0
  278. package/proto/dxos/mesh/presence.d.ts.map +10 -0
  279. package/proto/dxos/mesh/presence.js +2 -0
  280. package/proto/dxos/mesh/protocol.d.ts +2 -0
  281. package/proto/dxos/mesh/protocol.d.ts.map +10 -0
  282. package/proto/dxos/mesh/protocol.js +2 -0
  283. package/proto/dxos/mesh/replicator.d.ts +2 -0
  284. package/proto/dxos/mesh/replicator.d.ts.map +10 -0
  285. package/proto/dxos/mesh/replicator.js +2 -0
  286. package/proto/dxos/mesh/signal.d.ts +2 -0
  287. package/proto/dxos/mesh/signal.d.ts.map +10 -0
  288. package/proto/dxos/mesh/signal.js +2 -0
  289. package/proto/dxos/mesh/swarm.d.ts +2 -0
  290. package/proto/dxos/mesh/swarm.d.ts.map +10 -0
  291. package/proto/dxos/mesh/swarm.js +2 -0
  292. package/proto/dxos/registry.d.ts +2 -0
  293. package/proto/dxos/registry.d.ts.map +10 -0
  294. package/proto/dxos/registry.js +2 -0
  295. package/proto/dxos/rpc.d.ts +2 -0
  296. package/proto/dxos/rpc.d.ts.map +10 -0
  297. package/proto/dxos/rpc.js +2 -0
  298. package/proto/dxos/service/publisher.d.ts +2 -0
  299. package/proto/dxos/service/publisher.d.ts.map +10 -0
  300. package/proto/dxos/service/publisher.js +2 -0
  301. package/proto/dxos/service/scheduler.d.ts +2 -0
  302. package/proto/dxos/service/scheduler.d.ts.map +10 -0
  303. package/proto/dxos/service/scheduler.js +2 -0
  304. package/proto/dxos/type.d.ts +2 -0
  305. package/proto/dxos/type.d.ts.map +10 -0
  306. package/proto/dxos/type.js +2 -0
  307. package/proto/example/testing/data.d.ts +2 -0
  308. package/proto/example/testing/data.d.ts.map +10 -0
  309. package/proto/example/testing/data.js +2 -0
  310. package/proto/example/testing/rpc.d.ts +2 -0
  311. package/proto/example/testing/rpc.d.ts.map +10 -0
  312. package/proto/example/testing/rpc.js +2 -0
  313. package/src/codec.test.ts +24 -0
  314. package/src/index.ts +7 -0
  315. package/src/proto/dxos/bot.proto +151 -0
  316. package/src/proto/dxos/client.proto +254 -0
  317. package/src/proto/dxos/config.proto +305 -0
  318. package/src/proto/dxos/devtools/host.proto +294 -0
  319. package/src/proto/dxos/devtools/swarmLog.proto +32 -0
  320. package/src/proto/dxos/echo/feed.proto +83 -0
  321. package/src/proto/dxos/echo/metadata.proto +51 -0
  322. package/src/proto/dxos/echo/model/messenger.proto +13 -0
  323. package/src/proto/dxos/echo/model/object.proto +123 -0
  324. package/src/proto/dxos/echo/model/text.proto +16 -0
  325. package/src/proto/dxos/echo/service.proto +63 -0
  326. package/src/proto/dxos/echo/snapshot.proto +98 -0
  327. package/src/proto/dxos/echo/timeframe.proto +21 -0
  328. package/src/proto/dxos/google.proto +7 -0
  329. package/src/proto/dxos/halo/credentials/auth.proto +31 -0
  330. package/src/proto/dxos/halo/credentials/greet.proto +125 -0
  331. package/src/proto/dxos/halo/credentials/identity.proto +21 -0
  332. package/src/proto/dxos/halo/credentials/party.proto +127 -0
  333. package/src/proto/dxos/halo/credentials.proto +232 -0
  334. package/src/proto/dxos/halo/invitations.proto +90 -0
  335. package/src/proto/dxos/halo/keyring.proto +13 -0
  336. package/src/proto/dxos/halo/keys.proto +83 -0
  337. package/src/proto/dxos/halo/signed.proto +51 -0
  338. package/src/proto/dxos/iframe.proto +24 -0
  339. package/src/proto/dxos/keys.proto +15 -0
  340. package/src/proto/dxos/mesh/bridge.proto +76 -0
  341. package/src/proto/dxos/mesh/broadcast.proto +21 -0
  342. package/src/proto/dxos/mesh/messaging.proto +24 -0
  343. package/src/proto/dxos/mesh/presence.proto +22 -0
  344. package/src/proto/dxos/mesh/protocol.proto +28 -0
  345. package/src/proto/dxos/mesh/replicator.proto +19 -0
  346. package/src/proto/dxos/mesh/signal.proto +79 -0
  347. package/src/proto/dxos/mesh/swarm.proto +41 -0
  348. package/src/proto/dxos/registry.proto +60 -0
  349. package/src/proto/dxos/rpc.proto +73 -0
  350. package/src/proto/dxos/service/publisher.proto +35 -0
  351. package/src/proto/dxos/service/scheduler.proto +171 -0
  352. package/src/proto/dxos/type.proto +166 -0
  353. package/src/proto/example/testing/data.proto +20 -0
  354. package/src/proto/example/testing/rpc.proto +47 -0
  355. package/src/proto/gen/dxos/bot.ts +303 -0
  356. package/src/proto/gen/dxos/client.ts +422 -0
  357. package/src/proto/gen/dxos/config.ts +888 -0
  358. package/src/proto/gen/dxos/devtools/host.ts +419 -0
  359. package/src/proto/gen/dxos/devtools/swarmLog.ts +89 -0
  360. package/src/proto/gen/dxos/echo/feed.ts +149 -0
  361. package/src/proto/gen/dxos/echo/metadata.ts +102 -0
  362. package/src/proto/gen/dxos/echo/model/messenger.ts +50 -0
  363. package/src/proto/gen/dxos/echo/model/object.ts +181 -0
  364. package/src/proto/gen/dxos/echo/model/text.ts +56 -0
  365. package/src/proto/gen/dxos/echo/service.ts +119 -0
  366. package/src/proto/gen/dxos/echo/snapshot.ts +171 -0
  367. package/src/proto/gen/dxos/echo/timeframe.ts +60 -0
  368. package/src/proto/gen/dxos/halo/credentials/auth.ts +75 -0
  369. package/src/proto/gen/dxos/halo/credentials/greet.ts +108 -0
  370. package/src/proto/gen/dxos/halo/credentials/identity.ts +57 -0
  371. package/src/proto/gen/dxos/halo/credentials/party.ts +119 -0
  372. package/src/proto/gen/dxos/halo/credentials.ts +311 -0
  373. package/src/proto/gen/dxos/halo/invitations.ts +156 -0
  374. package/src/proto/gen/dxos/halo/keyring.ts +49 -0
  375. package/src/proto/gen/dxos/halo/keys.ts +126 -0
  376. package/src/proto/gen/dxos/halo/signed.ts +102 -0
  377. package/src/proto/gen/dxos/iframe.ts +67 -0
  378. package/src/proto/gen/dxos/keys.ts +55 -0
  379. package/src/proto/gen/dxos/mesh/bridge.ts +129 -0
  380. package/src/proto/gen/dxos/mesh/broadcast.ts +55 -0
  381. package/src/proto/gen/dxos/mesh/messaging.ts +65 -0
  382. package/src/proto/gen/dxos/mesh/presence.ts +68 -0
  383. package/src/proto/gen/dxos/mesh/protocol.ts +66 -0
  384. package/src/proto/gen/dxos/mesh/replicator.ts +65 -0
  385. package/src/proto/gen/dxos/mesh/signal.ts +137 -0
  386. package/src/proto/gen/dxos/mesh/swarm.ts +99 -0
  387. package/src/proto/gen/dxos/registry.ts +121 -0
  388. package/src/proto/gen/dxos/rpc.ts +133 -0
  389. package/src/proto/gen/dxos/service/publisher.ts +78 -0
  390. package/src/proto/gen/dxos/service/scheduler.ts +337 -0
  391. package/src/proto/gen/dxos/type.ts +206 -0
  392. package/src/proto/gen/example/testing/data.ts +63 -0
  393. package/src/proto/gen/example/testing/rpc.ts +105 -0
  394. package/src/proto/gen/google/protobuf.ts +78 -0
  395. package/src/proto/gen/index.ts +385 -0
  396. package/src/proto/index.ts +5 -0
  397. package/src/proto/substitutions.ts +39 -0
  398. package/src/testing.ts +28 -0
  399. package/src/types.ts +51 -0
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.schema = exports.schemaJson = void 0;
7
+ const codec_protobuf_1 = require("@dxos/codec-protobuf");
8
+ const substitutions_1 = __importDefault(require("../substitutions"));
9
+ exports.schemaJson = JSON.parse("{\"nested\":{\"dxos\":{\"nested\":{\"bot\":{\"nested\":{\"Bot\":{\"oneofs\":{\"_status\":{\"oneof\":[\"status\"]},\"_desiredState\":{\"oneof\":[\"desiredState\"]},\"_attemptsToAchieveDesiredState\":{\"oneof\":[\"attemptsToAchieveDesiredState\"]},\"_packageSpecifier\":{\"oneof\":[\"packageSpecifier\"]},\"_lastStart\":{\"oneof\":[\"lastStart\"]},\"_partyKey\":{\"oneof\":[\"partyKey\"]},\"_runtime\":{\"oneof\":[\"runtime\"]},\"_report\":{\"oneof\":[\"report\"]}},\"fields\":{\"id\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"status\":{\"type\":\"Status\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"desiredState\":{\"type\":\"Status\",\"id\":55,\"options\":{\"proto3_optional\":true},\"comment\":\"The state that the bot aims to be in. Can be only either RUNNING or STOPPED.\"},\"attemptsToAchieveDesiredState\":{\"type\":\"int32\",\"id\":56,\"options\":{\"proto3_optional\":true},\"comment\":null},\"packageSpecifier\":{\"type\":\"BotPackageSpecifier\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"lastStart\":{\"type\":\"google.protobuf.Timestamp\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null},\"runtime\":{\"type\":\"Runtime\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":null},\"report\":{\"type\":\"BotReport\",\"id\":7,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"Runtime\":{\"oneofs\":{\"_exitCode\":{\"oneof\":[\"exitCode\"]},\"_exitSignal\":{\"oneof\":[\"exitSignal\"]},\"_error\":{\"oneof\":[\"error\"]}},\"fields\":{\"exitCode\":{\"type\":\"int32\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"exitSignal\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"error\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Status\":{\"values\":{\"STOPPED\":0,\"STARTING\":1,\"RUNNING\":2,\"STOPPING\":3,\"SPAWNING\":4},\"comment\":null,\"comments\":{\"STOPPED\":null,\"STARTING\":\"Starting bot process.\",\"RUNNING\":\"Bot is running.\",\"STOPPING\":\"Bot is stopping.\",\"SPAWNING\":\"Bot is being spawned. Bot factory is downloading the bot bundle and initializing resources.\"}}},\"comment\":null},\"BotFactoryService\":{\"methods\":{\"GetBots\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"GetBotsResponse\",\"comment\":null},\"SpawnBot\":{\"requestType\":\"SpawnBotRequest\",\"responseType\":\"Bot\",\"comment\":null},\"Start\":{\"requestType\":\"Bot\",\"responseType\":\"Bot\",\"comment\":null},\"Stop\":{\"requestType\":\"Bot\",\"responseType\":\"Bot\",\"comment\":null},\"Remove\":{\"requestType\":\"Bot\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null},\"GetLogs\":{\"requestType\":\"GetLogsRequest\",\"responseType\":\"GetLogsResponse\",\"responseStream\":true,\"comment\":null},\"SendCommand\":{\"requestType\":\"SendCommandRequest\",\"responseType\":\"SendCommandResponse\",\"comment\":null},\"RemoveAll\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null}},\"comment\":\"Service that is used by clients to communicate with bot factory.\"},\"BotPackageSpecifier\":{\"oneofs\":{\"kind\":{\"oneof\":[\"name\",\"ipfsCid\",\"localPath\"],\"comment\":null}},\"fields\":{\"name\":{\"type\":\"string\",\"id\":1,\"comment\":\"DXN of the bot in the DXNS registry.\"},\"ipfsCid\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"localPath\":{\"type\":\"string\",\"id\":3,\"comment\":null}},\"comment\":null},\"BotReport\":{\"oneofs\":{\"_partyDetails\":{\"oneof\":[\"partyDetails\"]}},\"fields\":{\"partyDetails\":{\"type\":\"dxos.client.PartyDetails\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":\"Details of the party the bot was spawned for.\"}},\"comment\":null},\"BotService\":{\"methods\":{\"Initialize\":{\"requestType\":\"InitializeRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"Initialize Client, create profile, and join a party.\"},\"Start\":{\"requestType\":\"StartRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"Start an initialized bot.\"},\"Command\":{\"requestType\":\"SendCommandRequest\",\"responseType\":\"SendCommandResponse\",\"comment\":\"Custom commands sent to the bot factory.\"},\"Stop\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"Stop the bot.\"},\"StartReporting\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"BotReport\",\"responseStream\":true,\"comment\":\"Send periodic reports of the bot's state.\"}},\"comment\":\"Service that is used by bots communicating with bot factory.\"},\"GetBotsResponse\":{\"fields\":{\"bots\":{\"rule\":\"repeated\",\"type\":\"Bot\",\"id\":1,\"comment\":null}},\"comment\":null},\"GetLogsRequest\":{\"fields\":{\"botId\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"GetLogsResponse\":{\"fields\":{\"chunk\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null},\"InitializeRequest\":{\"oneofs\":{\"_config\":{\"oneof\":[\"config\"]},\"_invitation\":{\"oneof\":[\"invitation\"]},\"_id\":{\"oneof\":[\"id\"]}},\"fields\":{\"config\":{\"type\":\"dxos.config.Config\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":\"Bot runtime configuration.\"},\"invitation\":{\"type\":\"dxos.halo.invitations.InvitationDescriptor\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":\"Invitation for the bot to join the target party.\"},\"id\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"ID of the bot.\"}},\"comment\":null},\"SendCommandRequest\":{\"oneofs\":{\"_botId\":{\"oneof\":[\"botId\"]},\"_command\":{\"oneof\":[\"command\"]}},\"fields\":{\"botId\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"command\":{\"type\":\"bytes\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"SendCommandResponse\":{\"oneofs\":{\"_response\":{\"oneof\":[\"response\"]}},\"fields\":{\"response\":{\"type\":\"bytes\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"SpawnBotRequest\":{\"oneofs\":{\"_package\":{\"oneof\":[\"package\"]},\"_invitation\":{\"oneof\":[\"invitation\"]},\"_partyKey\":{\"oneof\":[\"partyKey\"]}},\"fields\":{\"package\":{\"type\":\"BotPackageSpecifier\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"invitation\":{\"type\":\"dxos.halo.invitations.InvitationDescriptor\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":\"Invitation for the bot to join the target party.\"},\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"Key of the party bot is invited to.\"}},\"comment\":null},\"StartRequest\":{\"fields\":{\"config\":{\"type\":\"dxos.config.Config\",\"id\":1,\"comment\":\"Bot runtime configuration.\"}},\"comment\":null}}},\"client\":{\"nested\":{\"AddKeyRecordRequest\":{\"fields\":{\"keyRecord\":{\"type\":\"dxos.halo.keys.KeyRecord\",\"id\":1,\"comment\":null}},\"comment\":null},\"AuthenticateInvitationRequest\":{\"fields\":{\"processId\":{\"type\":\"string\",\"id\":1,\"comment\":\"Id from corresponding RedeemedInvitation.\"},\"secret\":{\"type\":\"bytes\",\"id\":2,\"comment\":null}},\"comment\":null},\"Contact\":{\"oneofs\":{\"_displayName\":{\"oneof\":[\"displayName\"]}},\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"displayName\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Contacts\":{\"fields\":{\"contacts\":{\"rule\":\"repeated\",\"type\":\"Contact\",\"id\":1,\"comment\":null}},\"comment\":null},\"CreateInvitationRequest\":{\"oneofs\":{\"_inviteeKey\":{\"oneof\":[\"inviteeKey\"]}},\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"inviteeKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":\"When specified the invitation will be of OFFLINE type, not requiring secret exchange.\"}},\"comment\":null},\"CreateProfileRequest\":{\"oneofs\":{\"_username\":{\"oneof\":[\"username\"]},\"_publicKey\":{\"oneof\":[\"publicKey\"]},\"_secretKey\":{\"oneof\":[\"secretKey\"]}},\"fields\":{\"username\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"publicKey\":{\"type\":\"bytes\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"secretKey\":{\"type\":\"bytes\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"CreateSnapshotRequest\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"GetPartyDetailsRequest\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"GetPreferenceRequest\":{\"fields\":{\"key\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"GetPreferenceResponse\":{\"fields\":{\"value\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"HaloService\":{\"methods\":{\"Sign\":{\"requestType\":\"SignRequest\",\"responseType\":\"SignResponse\",\"comment\":null},\"AddKeyRecord\":{\"requestType\":\"AddKeyRecordRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null},\"SubscribeContacts\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"Contacts\",\"responseStream\":true,\"comment\":null},\"SetGlobalPreference\":{\"requestType\":\"SetPreferenceRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null},\"GetGlobalPreference\":{\"requestType\":\"GetPreferenceRequest\",\"responseType\":\"GetPreferenceResponse\",\"comment\":null},\"SetDevicePreference\":{\"requestType\":\"SetPreferenceRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null},\"GetDevicePreference\":{\"requestType\":\"GetPreferenceRequest\",\"responseType\":\"GetPreferenceResponse\",\"comment\":null}},\"comment\":null},\"InvitationRequest\":{\"oneofs\":{\"_descriptor\":{\"oneof\":[\"descriptor\"]},\"_error\":{\"oneof\":[\"error\"]}},\"fields\":{\"descriptor\":{\"type\":\"dxos.halo.invitations.InvitationDescriptor\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"state\":{\"type\":\"InvitationState\",\"id\":2,\"comment\":null},\"error\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"Only if state == ERROR.\"}},\"comment\":\"Invitation process created by sender.\"},\"InvitationState\":{\"values\":{\"WAITING_FOR_CONNECTION\":0,\"CONNECTED\":1,\"SUCCESS\":2,\"ERROR\":3},\"comment\":null,\"comments\":{\"WAITING_FOR_CONNECTION\":null,\"CONNECTED\":null,\"SUCCESS\":null,\"ERROR\":null}},\"Party\":{\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"isOpen\":{\"type\":\"bool\",\"id\":2,\"comment\":null},\"isActive\":{\"type\":\"bool\",\"id\":3,\"comment\":null},\"members\":{\"rule\":\"repeated\",\"type\":\"Member\",\"id\":4,\"comment\":null}},\"nested\":{\"Member\":{\"oneofs\":{\"_displayName\":{\"oneof\":[\"displayName\"]}},\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"displayName\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null},\"PartyActivationOptions\":{\"fields\":{\"global\":{\"type\":\"bool\",\"id\":1,\"comment\":null},\"device\":{\"type\":\"bool\",\"id\":2,\"comment\":null}},\"comment\":null},\"PartyDetails\":{\"fields\":{\"processedTimeframe\":{\"type\":\"dxos.echo.timeframe.TimeframeVector\",\"id\":1,\"comment\":\"The timeframe of mutations processed by the client.\"}},\"comment\":null},\"PartyService\":{\"methods\":{\"SubscribeToParty\":{\"requestType\":\"SubscribePartyRequest\",\"responseType\":\"SubscribePartyResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeParties\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"SubscribePartiesResponse\",\"responseStream\":true,\"comment\":null},\"GetPartyDetails\":{\"requestType\":\"GetPartyDetailsRequest\",\"responseType\":\"PartyDetails\",\"comment\":null},\"CreateParty\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"Party\",\"comment\":null},\"CloneParty\":{\"requestType\":\"dxos.echo.snapshot.PartySnapshot\",\"responseType\":\"Party\",\"comment\":null},\"SetPartyState\":{\"requestType\":\"SetPartyStateRequest\",\"responseType\":\"Party\",\"comment\":\"Open and close or activate and deactivate a party.\"},\"CreateInvitation\":{\"requestType\":\"CreateInvitationRequest\",\"responseType\":\"InvitationRequest\",\"responseStream\":true,\"comment\":null},\"AcceptInvitation\":{\"requestType\":\"dxos.halo.invitations.InvitationDescriptor\",\"responseType\":\"RedeemedInvitation\",\"responseStream\":true,\"comment\":null},\"AuthenticateInvitation\":{\"requestType\":\"AuthenticateInvitationRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null},\"SubscribeMembers\":{\"requestType\":\"SubscribeMembersRequest\",\"responseType\":\"SubscribeMembersResponse\",\"responseStream\":true,\"comment\":null},\"CreateSnapshot\":{\"requestType\":\"CreateSnapshotRequest\",\"responseType\":\"echo.snapshot.PartySnapshot\",\"comment\":null}},\"comment\":null},\"Profile\":{\"oneofs\":{\"_username\":{\"oneof\":[\"username\"]}},\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"username\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"ProfileService\":{\"methods\":{\"CreateProfile\":{\"requestType\":\"CreateProfileRequest\",\"responseType\":\"Profile\",\"comment\":null},\"RecoverProfile\":{\"requestType\":\"RecoverProfileRequest\",\"responseType\":\"Profile\",\"comment\":null},\"SubscribeProfile\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"SubscribeProfileResponse\",\"responseStream\":true,\"comment\":null},\"CreateInvitation\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"InvitationRequest\",\"responseStream\":true,\"comment\":null},\"AcceptInvitation\":{\"requestType\":\"dxos.halo.invitations.InvitationDescriptor\",\"responseType\":\"RedeemedInvitation\",\"responseStream\":true,\"comment\":null},\"AuthenticateInvitation\":{\"requestType\":\"AuthenticateInvitationRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null}},\"comment\":null},\"RecoverProfileRequest\":{\"fields\":{\"seedPhrase\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"RedeemedInvitation\":{\"oneofs\":{\"_error\":{\"oneof\":[\"error\"]},\"_partyKey\":{\"oneof\":[\"partyKey\"]}},\"fields\":{\"id\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"state\":{\"type\":\"InvitationState\",\"id\":2,\"comment\":null},\"error\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"Only if state == ERROR.\"},\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"Only on party invitations that are finished.\"}},\"comment\":\"Invitation that is being redeemed.\"},\"SetPartyStateRequest\":{\"oneofs\":{\"_open\":{\"oneof\":[\"open\"]},\"_activeGlobal\":{\"oneof\":[\"activeGlobal\"]},\"_activeDevice\":{\"oneof\":[\"activeDevice\"]}},\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"open\":{\"type\":\"bool\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"activeGlobal\":{\"type\":\"bool\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"activeDevice\":{\"type\":\"bool\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"SetPreferenceRequest\":{\"fields\":{\"key\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"value\":{\"type\":\"string\",\"id\":2,\"comment\":null}},\"comment\":null},\"SignRequest\":{\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":\"- The public key of the key that is supposed to be used for signing.\"},\"payload\":{\"type\":\"bytes\",\"id\":2,\"comment\":null}},\"comment\":null},\"SignResponse\":{\"fields\":{\"signed\":{\"type\":\"bytes\",\"id\":2,\"comment\":null}},\"comment\":null},\"SubscribeMembersRequest\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribeMembersResponse\":{\"fields\":{\"members\":{\"rule\":\"repeated\",\"type\":\"PartyMember\",\"id\":1,\"comment\":null}},\"nested\":{\"PartyMember\":{\"oneofs\":{\"_displayName\":{\"oneof\":[\"displayName\"]}},\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"displayName\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null},\"SubscribePartiesResponse\":{\"fields\":{\"parties\":{\"rule\":\"repeated\",\"type\":\"Party\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribePartyRequest\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribePartyResponse\":{\"oneofs\":{\"_party\":{\"oneof\":[\"party\"]}},\"fields\":{\"party\":{\"type\":\"Party\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"SubscribeProfileResponse\":{\"oneofs\":{\"_profile\":{\"oneof\":[\"profile\"]}},\"fields\":{\"profile\":{\"type\":\"Profile\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"SystemService\":{\"methods\":{\"GetConfig\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"dxos.config.Config\",\"comment\":null},\"Reset\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null}},\"comment\":null}}},\"config\":{\"nested\":{\"Config\":{\"oneofs\":{\"_version\":{\"oneof\":[\"version\"]},\"_package\":{\"oneof\":[\"package\"]},\"_runtime\":{\"oneof\":[\"runtime\"]}},\"fields\":{\"version\":{\"type\":\"int32\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"package\":{\"type\":\"Package\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"runtime\":{\"type\":\"Runtime\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Module\":{\"oneofs\":{\"_name\":{\"oneof\":[\"name\"]},\"_type\":{\"oneof\":[\"type\"]},\"_displayName\":{\"oneof\":[\"displayName\"]},\"_description\":{\"oneof\":[\"description\"]},\"_bundle\":{\"oneof\":[\"bundle\"]},\"_build\":{\"oneof\":[\"build\"]},\"_record\":{\"oneof\":[\"record\"]}},\"fields\":{\"name\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"type\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"displayName\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"description\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"tags\":{\"rule\":\"repeated\",\"type\":\"string\",\"id\":5,\"comment\":null},\"bundle\":{\"type\":\"bytes\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":null},\"build\":{\"type\":\"Build\",\"id\":100,\"options\":{\"proto3_optional\":true},\"comment\":null},\"repos\":{\"rule\":\"repeated\",\"type\":\"Repo\",\"id\":101,\"comment\":null},\"record\":{\"type\":\"google.protobuf.Any\",\"id\":200,\"options\":{\"proto3_optional\":true},\"comment\":\"The data will be validated based on the type when being published.\"}},\"nested\":{\"Build\":{\"oneofs\":{\"_command\":{\"oneof\":[\"command\"]},\"_outdir\":{\"oneof\":[\"outdir\"]},\"_version\":{\"oneof\":[\"version\"]},\"_tag\":{\"oneof\":[\"tag\"]}},\"fields\":{\"command\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"outdir\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"version\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"tag\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null},\"Package\":{\"oneofs\":{\"_license\":{\"oneof\":[\"license\"]}},\"fields\":{\"license\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"repos\":{\"rule\":\"repeated\",\"type\":\"Repo\",\"id\":2,\"comment\":null},\"modules\":{\"rule\":\"repeated\",\"type\":\"Module\",\"id\":3,\"comment\":null}},\"comment\":null},\"Repo\":{\"oneofs\":{\"_name\":{\"oneof\":[\"name\"]},\"_url\":{\"oneof\":[\"url\"]},\"_version\":{\"oneof\":[\"version\"]}},\"fields\":{\"name\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"url\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"version\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Runtime\":{\"oneofs\":{\"_client\":{\"oneof\":[\"client\"]},\"_app\":{\"oneof\":[\"app\"]},\"_cli\":{\"oneof\":[\"cli\"]},\"_props\":{\"oneof\":[\"props\"]},\"_services\":{\"oneof\":[\"services\"]},\"_system\":{\"oneof\":[\"system\"]},\"_kube\":{\"oneof\":[\"kube\"]}},\"fields\":{\"client\":{\"type\":\"Client\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"app\":{\"type\":\"App\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"cli\":{\"type\":\"CLI\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"props\":{\"type\":\"Props\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"services\":{\"type\":\"Services\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null},\"system\":{\"type\":\"System\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":null},\"kube\":{\"type\":\"Kube\",\"id\":7,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"App\":{\"oneofs\":{\"_org\":{\"oneof\":[\"org\"]},\"_theme\":{\"oneof\":[\"theme\"]},\"_website\":{\"oneof\":[\"website\"]},\"_publicUrl\":{\"oneof\":[\"publicUrl\"]}},\"fields\":{\"org\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"theme\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"website\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"publicUrl\":{\"type\":\"string\",\"id\":4,\"options\":{\"(env)\":\"PUBLIC_URL\",\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"CLI\":{\"oneofs\":{\"_nodePath\":{\"oneof\":[\"nodePath\"]},\"_app\":{\"oneof\":[\"app\"]},\"_console\":{\"oneof\":[\"console\"]},\"_mdns\":{\"oneof\":[\"mdns\"]},\"_signal\":{\"oneof\":[\"signal\"]},\"_npmClient\":{\"oneof\":[\"npmClient\"]},\"_channel\":{\"oneof\":[\"channel\"]}},\"fields\":{\"nodePath\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"app\":{\"type\":\"AppServe\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"console\":{\"type\":\"Package\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"mdns\":{\"type\":\"Package\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"signal\":{\"type\":\"Package\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null},\"npmClient\":{\"type\":\"string\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":null},\"channel\":{\"type\":\"string\",\"id\":7,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"AppServe\":{\"oneofs\":{\"_serve\":{\"oneof\":[\"serve\"]}},\"fields\":{\"serve\":{\"type\":\"Serve\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"Serve\":{\"oneofs\":{\"_config\":{\"oneof\":[\"config\"]},\"_loginApp\":{\"oneof\":[\"loginApp\"]},\"_keyPhrase\":{\"oneof\":[\"keyPhrase\"]}},\"fields\":{\"config\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"loginApp\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"keyPhrase\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null},\"Package\":{\"oneofs\":{\"_package\":{\"oneof\":[\"package\"]},\"_channel\":{\"oneof\":[\"channel\"]},\"_bin\":{\"oneof\":[\"bin\"]},\"_config\":{\"oneof\":[\"config\"]}},\"fields\":{\"package\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"channel\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"bin\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"config\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null},\"Client\":{\"oneofs\":{\"_debug\":{\"oneof\":[\"debug\"]},\"_storage\":{\"oneof\":[\"storage\"]},\"_enableSnapshots\":{\"oneof\":[\"enableSnapshots\"]},\"_snapshotInterval\":{\"oneof\":[\"snapshotInterval\"]},\"_invitationExpiration\":{\"oneof\":[\"invitationExpiration\"]},\"_mode\":{\"oneof\":[\"mode\"]},\"_remoteSource\":{\"oneof\":[\"remoteSource\"]}},\"fields\":{\"debug\":{\"type\":\"string\",\"id\":1,\"options\":{\"(env)\":\"DEBUG\",\"proto3_optional\":true},\"comment\":null},\"storage\":{\"type\":\"Storage\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"enableSnapshots\":{\"type\":\"bool\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"snapshotInterval\":{\"type\":\"int32\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"Milliseconds\"},\"invitationExpiration\":{\"type\":\"int32\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":\"Milliseconds\"},\"mode\":{\"type\":\"Mode\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":null},\"remoteSource\":{\"type\":\"string\",\"id\":7,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"Mode\":{\"values\":{\"AUTOMATIC\":0,\"LOCAL\":1,\"REMOTE\":2},\"comment\":\"Whether the client services are local with ClientServiceHost or remote and need to be accessed via ClientServiceProxy. Defaults to AUTOMATIC.\",\"comments\":{\"AUTOMATIC\":\"Connects to the browser wallet if avialable, otherwise runs services in the local mode.\",\"LOCAL\":\"Run services in the local mode.\",\"REMOTE\":\"Connect to the browser wallet or to the remote services through the RPC port.\"}},\"Storage\":{\"oneofs\":{\"_persistent\":{\"oneof\":[\"persistent\"]},\"_keyStorage\":{\"oneof\":[\"keyStorage\"]},\"_storageType\":{\"oneof\":[\"storageType\"]},\"_path\":{\"oneof\":[\"path\"]}},\"fields\":{\"persistent\":{\"type\":\"bool\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"keyStorage\":{\"type\":\"StorageDriver\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"storageType\":{\"type\":\"StorageDriver\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"path\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"StorageDriver\":{\"values\":{\"RAM\":0,\"IDB\":1,\"CHROME\":2,\"FIREFOX\":3,\"NODE\":4,\"LEVELJS\":11,\"JSONDOWN\":12},\"comment\":null,\"comments\":{\"RAM\":null,\"IDB\":null,\"CHROME\":null,\"FIREFOX\":null,\"NODE\":null,\"LEVELJS\":null,\"JSONDOWN\":null}}},\"comment\":null}},\"comment\":null},\"Kube\":{\"oneofs\":{\"_host\":{\"oneof\":[\"host\"]},\"_port\":{\"oneof\":[\"port\"]},\"_autoupdate\":{\"oneof\":[\"autoupdate\"]},\"_https\":{\"oneof\":[\"https\"]},\"_p2p\":{\"oneof\":[\"p2p\"]},\"_confhost\":{\"oneof\":[\"confhost\"]},\"_monitoring\":{\"oneof\":[\"monitoring\"]},\"_trace\":{\"oneof\":[\"trace\"]},\"_telemetry\":{\"oneof\":[\"telemetry\"]}},\"fields\":{\"host\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"port\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"autoupdate\":{\"type\":\"Autoupdate\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"https\":{\"type\":\"Https\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"p2p\":{\"type\":\"P2P\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null},\"confhost\":{\"type\":\"string\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":null},\"env\":{\"rule\":\"repeated\",\"type\":\"string\",\"id\":7,\"comment\":null},\"alias\":{\"rule\":\"repeated\",\"type\":\"string\",\"id\":8,\"comment\":null},\"monitoring\":{\"type\":\"Monitoring\",\"id\":9,\"options\":{\"proto3_optional\":true},\"comment\":null},\"trace\":{\"type\":\"Trace\",\"id\":10,\"options\":{\"proto3_optional\":true},\"comment\":null},\"telemetry\":{\"type\":\"Telemetry\",\"id\":11,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"Autoupdate\":{\"oneofs\":{\"_enabled\":{\"oneof\":[\"enabled\"]},\"_interval\":{\"oneof\":[\"interval\"]}},\"fields\":{\"enabled\":{\"type\":\"bool\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"interval\":{\"type\":\"int64\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":\"Seconds\"}},\"comment\":null},\"Https\":{\"oneofs\":{\"_enabled\":{\"oneof\":[\"enabled\"]},\"_port\":{\"oneof\":[\"port\"]},\"_email\":{\"oneof\":[\"email\"]},\"_certfile\":{\"oneof\":[\"certfile\"]},\"_keyfile\":{\"oneof\":[\"keyfile\"]},\"_dnsprovider\":{\"oneof\":[\"dnsprovider\"]}},\"fields\":{\"enabled\":{\"type\":\"bool\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"port\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"email\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"certfile\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"keyfile\":{\"type\":\"string\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null},\"dnsprovider\":{\"type\":\"string\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Monitoring\":{\"fields\":{\"enabled\":{\"type\":\"bool\",\"id\":1,\"comment\":null},\"endpoint\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"interval\":{\"type\":\"int64\",\"id\":3,\"comment\":\"Seconds\"}},\"comment\":null},\"P2P\":{\"oneofs\":{\"_privateKey\":{\"oneof\":[\"privateKey\"]},\"_port\":{\"oneof\":[\"port\"]}},\"fields\":{\"privateKey\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"port\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"bootstrap\":{\"rule\":\"repeated\",\"type\":\"string\",\"id\":3,\"comment\":null}},\"comment\":null},\"Telemetry\":{\"fields\":{\"disabled\":{\"type\":\"bool\",\"id\":1,\"comment\":null}},\"comment\":null},\"Trace\":{\"fields\":{\"disabled\":{\"type\":\"bool\",\"id\":1,\"comment\":null}},\"comment\":null}},\"comment\":null},\"Props\":{\"oneofs\":{\"_title\":{\"oneof\":[\"title\"]}},\"fields\":{\"title\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Services\":{\"oneofs\":{\"_kube\":{\"oneof\":[\"kube\"]},\"_app\":{\"oneof\":[\"app\"]},\"_dxns\":{\"oneof\":[\"dxns\"]},\"_ipfs\":{\"oneof\":[\"ipfs\"]},\"_signal\":{\"oneof\":[\"signal\"]},\"_machine\":{\"oneof\":[\"machine\"]},\"_bot\":{\"oneof\":[\"bot\"]},\"_publisher\":{\"oneof\":[\"publisher\"]}},\"fields\":{\"kube\":{\"type\":\"Kube\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"app\":{\"type\":\"AppServer\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"dxns\":{\"type\":\"Dxns\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"ipfs\":{\"type\":\"Ipfs\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"signal\":{\"type\":\"Signal\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null},\"ice\":{\"rule\":\"repeated\",\"type\":\"Ice\",\"id\":6,\"comment\":null},\"machine\":{\"type\":\"Machine\",\"id\":7,\"options\":{\"proto3_optional\":true},\"comment\":null},\"bot\":{\"type\":\"BotFactory\",\"id\":8,\"options\":{\"proto3_optional\":true},\"comment\":null},\"publisher\":{\"type\":\"Publisher\",\"id\":9,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"AppServer\":{\"oneofs\":{\"_prefix\":{\"oneof\":[\"prefix\"]},\"_server\":{\"oneof\":[\"server\"]}},\"fields\":{\"prefix\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"server\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"BotFactory\":{\"oneofs\":{\"_topic\":{\"oneof\":[\"topic\"]},\"_persistent\":{\"oneof\":[\"persistent\"]},\"_retryAttempts\":{\"oneof\":[\"retryAttempts\"]},\"_retryInterval\":{\"oneof\":[\"retryInterval\"]}},\"fields\":{\"topic\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"persistent\":{\"type\":\"bool\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"retryAttempts\":{\"type\":\"int32\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"retryInterval\":{\"type\":\"int32\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Dxns\":{\"oneofs\":{\"_server\":{\"oneof\":[\"server\"]},\"_accountUri\":{\"oneof\":[\"accountUri\"]},\"_address\":{\"oneof\":[\"address\"]},\"_account\":{\"oneof\":[\"account\"]},\"_faucet\":{\"oneof\":[\"faucet\"]}},\"fields\":{\"server\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":\"DXNS endpoint.\"},\"accountUri\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":\"Substrate account URI. This is a secret.\\nKUBEs do not serve this with the config but we store it in profile.yml.\\n\\nTODO(dmaretskyi): Deprecate this and move it to keyring.\"},\"address\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"Public Polkadot Address.\"},\"account\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"Public address of a DXNS Account.\"},\"faucet\":{\"type\":\"string\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Ice\":{\"oneofs\":{\"_urls\":{\"oneof\":[\"urls\"]},\"_username\":{\"oneof\":[\"username\"]},\"_credential\":{\"oneof\":[\"credential\"]}},\"fields\":{\"urls\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"username\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"credential\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Ipfs\":{\"oneofs\":{\"_server\":{\"oneof\":[\"server\"]},\"_gateway\":{\"oneof\":[\"gateway\"]}},\"fields\":{\"server\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"gateway\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Kube\":{\"oneofs\":{\"_endpoints\":{\"oneof\":[\"endpoints\"]},\"_publicUrl\":{\"oneof\":[\"publicUrl\"]}},\"fields\":{\"endpoints\":{\"type\":\"Endpoints\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"publicUrl\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"Endpoints\":{\"oneofs\":{\"_logs\":{\"oneof\":[\"logs\"]},\"_services\":{\"oneof\":[\"services\"]},\"_cert\":{\"oneof\":[\"cert\"]}},\"fields\":{\"logs\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"services\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"cert\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null},\"Machine\":{\"oneofs\":{\"_doAccessToken\":{\"oneof\":[\"doAccessToken\"]},\"_githubAccessToken\":{\"oneof\":[\"githubAccessToken\"]},\"_githubUsername\":{\"oneof\":[\"githubUsername\"]},\"_dnsDomain\":{\"oneof\":[\"dnsDomain\"]},\"_npmAccessToken\":{\"oneof\":[\"npmAccessToken\"]}},\"fields\":{\"doAccessToken\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"githubAccessToken\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"githubUsername\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"dnsDomain\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"npmAccessToken\":{\"type\":\"string\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Publisher\":{\"oneofs\":{\"_server\":{\"oneof\":[\"server\"]}},\"fields\":{\"server\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Signal\":{\"oneofs\":{\"_server\":{\"oneof\":[\"server\"]},\"_api\":{\"oneof\":[\"api\"]},\"_status\":{\"oneof\":[\"status\"]}},\"fields\":{\"server\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"api\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"status\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null},\"System\":{\"oneofs\":{\"_debug\":{\"oneof\":[\"debug\"]}},\"fields\":{\"debug\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null}}},\"devtools\":{\"nested\":{\"host\":{\"nested\":{\"ClearSnapshotsRequest\":{\"fields\":{},\"comment\":null},\"DevtoolsHost\":{\"methods\":{\"Events\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"Event\",\"responseStream\":true,\"comment\":null},\"GetConfig\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"GetConfigResponse\",\"comment\":null},\"ResetStorage\":{\"requestType\":\"ResetStorageRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null},\"EnableDebugLogging\":{\"requestType\":\"EnableDebugLoggingRequest\",\"responseType\":\"EnableDebugLoggingResponse\",\"comment\":null},\"DisableDebugLogging\":{\"requestType\":\"EnableDebugLoggingRequest\",\"responseType\":\"EnableDebugLoggingResponse\",\"comment\":null},\"SubscribeToKeyringKeys\":{\"requestType\":\"SubscribeToKeyringKeysRequest\",\"responseType\":\"SubscribeToKeyringKeysResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeToCredentialMessages\":{\"requestType\":\"SubscribeToCredentialMessagesRequest\",\"responseType\":\"SubscribeToCredentialMessagesResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeToParties\":{\"requestType\":\"SubscribeToPartiesRequest\",\"responseType\":\"SubscribeToPartiesResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeToItems\":{\"requestType\":\"SubscribeToItemsRequest\",\"responseType\":\"SubscribeToItemsResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeToFeeds\":{\"requestType\":\"SubscribeToFeedsRequest\",\"responseType\":\"SubscribeToFeedsResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeToFeedBlocks\":{\"requestType\":\"SubscribeToFeedBlocksRequest\",\"responseType\":\"SubscribeToFeedBlocksResponse\",\"responseStream\":true,\"comment\":null},\"GetPartySnapshot\":{\"requestType\":\"GetPartySnapshotRequest\",\"responseType\":\"GetPartySnapshotResponse\",\"comment\":null},\"SavePartySnapshot\":{\"requestType\":\"SavePartySnapshotRequest\",\"responseType\":\"SavePartySnapshotResponse\",\"comment\":null},\"ClearSnapshots\":{\"requestType\":\"ClearSnapshotsRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null},\"GetNetworkPeers\":{\"requestType\":\"GetNetworkPeersRequest\",\"responseType\":\"GetNetworkPeersResponse\",\"comment\":null},\"SubscribeToNetworkTopics\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"SubscribeToNetworkTopicsResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeToSignalStatus\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"SubscribeToSignalStatusResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeToSignalTrace\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"SubscribeToSignalTraceResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeToSwarmInfo\":{\"requestType\":\"SubscribeToSwarmInfoRequest\",\"responseType\":\"SubscribeToSwarmInfoResponse\",\"responseStream\":true,\"comment\":null}},\"comment\":null},\"DisableDebugLoggingRequest\":{\"oneofs\":{\"_namespaces\":{\"oneof\":[\"namespaces\"]}},\"fields\":{\"namespaces\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"DisableDebugLoggingResponse\":{\"oneofs\":{\"_enabledNamespaces\":{\"oneof\":[\"enabledNamespaces\"]}},\"fields\":{\"enabledNamespaces\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"EnableDebugLoggingRequest\":{\"oneofs\":{\"_namespaces\":{\"oneof\":[\"namespaces\"]}},\"fields\":{\"namespaces\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"EnableDebugLoggingResponse\":{\"oneofs\":{\"_enabledNamespaces\":{\"oneof\":[\"enabledNamespaces\"]}},\"fields\":{\"enabledNamespaces\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Event\":{\"oneofs\":{\"payload\":{\"oneof\":[\"ready\"],\"comment\":null}},\"fields\":{\"ready\":{\"type\":\"ReadyEvent\",\"id\":1,\"comment\":null}},\"comment\":null},\"GetConfigResponse\":{\"fields\":{\"config\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"GetNetworkPeersRequest\":{\"fields\":{\"topic\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null},\"GetNetworkPeersResponse\":{\"fields\":{\"peers\":{\"rule\":\"repeated\",\"type\":\"PeerInfo\",\"id\":1,\"comment\":null}},\"nested\":{\"PeerInfo\":{\"fields\":{\"id\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"state\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"connections\":{\"rule\":\"repeated\",\"type\":\"bytes\",\"id\":3,\"comment\":null}},\"comment\":null}},\"comment\":null},\"GetPartySnapshotRequest\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"GetPartySnapshotResponse\":{\"oneofs\":{\"_snapshot\":{\"oneof\":[\"snapshot\"]}},\"fields\":{\"snapshot\":{\"type\":\"dxos.echo.snapshot.PartySnapshot\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"ReadyEvent\":{\"fields\":{},\"comment\":null},\"ResetStorageRequest\":{\"fields\":{},\"comment\":null},\"SavePartySnapshotRequest\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"SavePartySnapshotResponse\":{\"oneofs\":{\"_snapshot\":{\"oneof\":[\"snapshot\"]}},\"fields\":{\"snapshot\":{\"type\":\"dxos.echo.snapshot.PartySnapshot\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"SetTracingOptionsRequest\":{\"fields\":{\"enable\":{\"type\":\"bool\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribeToCredentialMessagesRequest\":{\"oneofs\":{\"_partyKey\":{\"oneof\":[\"partyKey\"]}},\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"SubscribeToCredentialMessagesResponse\":{\"fields\":{\"messages\":{\"rule\":\"repeated\",\"type\":\"dxos.halo.signed.SignedMessage\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribeToFeedBlocksRequest\":{\"oneofs\":{\"_partyKey\":{\"oneof\":[\"partyKey\"]},\"_feedKey\":{\"oneof\":[\"feedKey\"]},\"_maxBlocks\":{\"oneof\":[\"maxBlocks\"]}},\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"maxBlocks\":{\"type\":\"int32\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"SubscribeToFeedBlocksResponse\":{\"fields\":{\"blocks\":{\"rule\":\"repeated\",\"type\":\"Block\",\"id\":1,\"comment\":null}},\"nested\":{\"Block\":{\"fields\":{\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"seq\":{\"type\":\"int32\",\"id\":2,\"comment\":null},\"data\":{\"type\":\"dxos.echo.feed.FeedMessage\",\"id\":3,\"comment\":null}},\"comment\":null}},\"comment\":null},\"SubscribeToFeedsRequest\":{\"fields\":{\"feedKeys\":{\"rule\":\"repeated\",\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribeToFeedsResponse\":{\"fields\":{\"feeds\":{\"rule\":\"repeated\",\"type\":\"Feed\",\"id\":1,\"comment\":null}},\"nested\":{\"Feed\":{\"fields\":{\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"length\":{\"type\":\"int32\",\"id\":2,\"comment\":null}},\"comment\":null}},\"comment\":null},\"SubscribeToItemsRequest\":{\"fields\":{},\"comment\":null},\"SubscribeToItemsResponse\":{\"fields\":{\"data\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribeToKeyringKeysRequest\":{\"fields\":{},\"comment\":null},\"SubscribeToKeyringKeysResponse\":{\"fields\":{\"keys\":{\"rule\":\"repeated\",\"type\":\"dxos.halo.keys.KeyRecord\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribeToNetworkTopicsResponse\":{\"fields\":{\"topics\":{\"rule\":\"repeated\",\"type\":\"Topic\",\"id\":1,\"comment\":null}},\"nested\":{\"Topic\":{\"oneofs\":{\"_label\":{\"oneof\":[\"label\"]}},\"fields\":{\"topic\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"label\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null},\"SubscribeToPartiesRequest\":{\"fields\":{\"partyKeys\":{\"rule\":\"repeated\",\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribeToPartiesResponse\":{\"fields\":{\"parties\":{\"rule\":\"repeated\",\"type\":\"PartyInfo\",\"id\":1,\"comment\":null}},\"nested\":{\"PartyInfo\":{\"fields\":{\"key\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"isOpen\":{\"type\":\"bool\",\"id\":2,\"comment\":null},\"timeframe\":{\"type\":\"dxos.echo.timeframe.TimeframeVector\",\"id\":3,\"comment\":null},\"genesisFeed\":{\"type\":\"dxos.keys.PublicKey\",\"id\":4,\"comment\":null},\"controlFeed\":{\"type\":\"dxos.keys.PublicKey\",\"id\":5,\"comment\":null},\"dataFeed\":{\"type\":\"dxos.keys.PublicKey\",\"id\":6,\"comment\":null}},\"comment\":null}},\"comment\":null},\"SubscribeToSignalStatusResponse\":{\"fields\":{\"servers\":{\"rule\":\"repeated\",\"type\":\"SignalServer\",\"id\":1,\"comment\":null}},\"nested\":{\"SignalServer\":{\"oneofs\":{\"_error\":{\"oneof\":[\"error\"]}},\"fields\":{\"host\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"state\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"error\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"reconnectIn\":{\"type\":\"int32\",\"id\":4,\"comment\":null},\"connectionStarted\":{\"type\":\"int32\",\"id\":5,\"comment\":null},\"lastStateChange\":{\"type\":\"int32\",\"id\":6,\"comment\":null}},\"comment\":null}},\"comment\":null},\"SubscribeToSignalTraceResponse\":{\"fields\":{\"events\":{\"rule\":\"repeated\",\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribeToSwarmInfoRequest\":{\"fields\":{},\"comment\":null},\"SubscribeToSwarmInfoResponse\":{\"fields\":{\"data\":{\"rule\":\"repeated\",\"type\":\"SwarmInfo\",\"id\":1,\"comment\":null}},\"comment\":null},\"TracingService\":{\"methods\":{\"SetTracingOptions\":{\"requestType\":\"SetTracingOptionsRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null},\"SubscribeToRpcTrace\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"dxos.rpc.RpcMessage\",\"responseStream\":true,\"comment\":null}},\"comment\":null}}},\"swarmLog\":{\"nested\":{\"ConnectionEvent\":{\"oneofs\":{\"_newState\":{\"oneof\":[\"newState\"]},\"_error\":{\"oneof\":[\"error\"]}},\"fields\":{\"type\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"newState\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"error\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"ConnectionInfo\":{\"oneofs\":{\"_transport\":{\"oneof\":[\"transport\"]}},\"fields\":{\"state\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"sessionId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"remotePeerId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null},\"transport\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"protocolExtensions\":{\"rule\":\"repeated\",\"type\":\"string\",\"id\":5,\"comment\":null},\"events\":{\"rule\":\"repeated\",\"type\":\"ConnectionEvent\",\"id\":6,\"comment\":null}},\"comment\":null},\"SwarmInfo\":{\"oneofs\":{\"_label\":{\"oneof\":[\"label\"]}},\"fields\":{\"id\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"topic\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"label\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"isActive\":{\"type\":\"bool\",\"id\":4,\"comment\":null},\"connections\":{\"rule\":\"repeated\",\"type\":\"ConnectionInfo\",\"id\":5,\"comment\":null}},\"comment\":null}}}}},\"echo\":{\"nested\":{\"feed\":{\"nested\":{\"CredentialsMessage\":{\"fields\":{\"credential\":{\"type\":\"dxos.halo.credentials.Credential\",\"id\":1,\"comment\":null}},\"comment\":\"A container for dxos.credentials.Message\"},\"EchoEnvelope\":{\"oneofs\":{\"_genesis\":{\"oneof\":[\"genesis\"]},\"_itemMutation\":{\"oneof\":[\"itemMutation\"]},\"_mutation\":{\"oneof\":[\"mutation\"]},\"_snapshot\":{\"oneof\":[\"snapshot\"]}},\"fields\":{\"itemId\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"genesis\":{\"type\":\"ItemGenesis\",\"id\":10,\"options\":{\"proto3_optional\":true},\"comment\":null},\"itemMutation\":{\"type\":\"ItemMutation\",\"id\":11,\"options\":{\"proto3_optional\":true},\"comment\":null},\"mutation\":{\"type\":\"bytes\",\"id\":12,\"options\":{\"proto3_optional\":true},\"comment\":null},\"snapshot\":{\"type\":\"snapshot.ModelSnapshot\",\"id\":13,\"options\":{\"proto3_optional\":true},\"comment\":\"Set the model to the provided snapshot.\"}},\"comment\":null},\"FeedMessage\":{\"fields\":{\"timeframe\":{\"type\":\"dxos.echo.timeframe.TimeframeVector\",\"id\":1,\"comment\":null},\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":2,\"comment\":null}},\"comment\":\"Outer message type decoded by Codec.\\nThis is what is written to the feeds.\"},\"ItemGenesis\":{\"oneofs\":{\"_itemType\":{\"oneof\":[\"itemType\"]},\"_modelVersion\":{\"oneof\":[\"modelVersion\"]},\"_link\":{\"oneof\":[\"link\"]}},\"fields\":{\"itemType\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"modelType\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"modelVersion\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"link\":{\"type\":\"LinkData\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"ItemMutation\":{\"oneofs\":{\"_parentId\":{\"oneof\":[\"parentId\"]},\"_action\":{\"oneof\":[\"action\"]}},\"fields\":{\"parentId\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"action\":{\"type\":\"Action\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"Action\":{\"values\":{\"NOOP\":0,\"DELETE\":1,\"RESTORE\":2},\"comment\":null,\"comments\":{\"NOOP\":null,\"DELETE\":null,\"RESTORE\":null}}},\"comment\":\"Item mutation.\"},\"LinkData\":{\"fields\":{\"source\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"target\":{\"type\":\"string\",\"id\":2,\"comment\":null}},\"comment\":null}}},\"metadata\":{\"nested\":{\"EchoMetadata\":{\"oneofs\":{\"_identity\":{\"oneof\":[\"identity\"]}},\"fields\":{\"version\":{\"type\":\"int32\",\"id\":1,\"comment\":\"Version number that is inceremnted every time there's a breaking change to the storage schema.\\nThis is used to detect if the storage schema has changed since the last time the client was run.\\nLoading data from a different version will might result in an error.\"},\"created\":{\"type\":\"google.protobuf.Timestamp\",\"id\":2,\"comment\":null},\"updated\":{\"type\":\"google.protobuf.Timestamp\",\"id\":3,\"comment\":null},\"identity\":{\"type\":\"dxos.halo.credentials.IdentityRecord\",\"id\":10,\"options\":{\"proto3_optional\":true},\"comment\":null},\"parties\":{\"rule\":\"repeated\",\"type\":\"PartyMetadata\",\"id\":11,\"comment\":\"List of the data parties.\"}},\"comment\":null},\"PartyMetadata\":{\"oneofs\":{\"_genesisFeedKey\":{\"oneof\":[\"genesisFeedKey\"]},\"_controlFeedKey\":{\"oneof\":[\"controlFeedKey\"]},\"_dataFeedKey\":{\"oneof\":[\"dataFeedKey\"]},\"_latestTimeframe\":{\"oneof\":[\"latestTimeframe\"]}},\"fields\":{\"key\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":\"Party key.\"},\"genesisFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":null},\"controlFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"Key of the wriatable control feed.\"},\"feedKeys\":{\"rule\":\"repeated\",\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":\"List of all feed associated with the party.\"},\"dataFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"Key of the wriatable data feed.\"},\"latestTimeframe\":{\"type\":\"timeframe.TimeframeVector\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}}},\"model\":{\"nested\":{\"messenger\":{\"nested\":{\"Message\":{\"fields\":{\"timestamp\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"text\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"sender\":{\"type\":\"string\",\"id\":3,\"comment\":null}},\"comment\":null}}},\"object\":{\"nested\":{\"Array\":{\"fields\":{\"values\":{\"rule\":\"repeated\",\"type\":\"Value\",\"id\":1,\"comment\":null}},\"comment\":\"Ordered collection of values.\"},\"KeyValue\":{\"fields\":{\"key\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"value\":{\"type\":\"Value\",\"id\":2,\"comment\":null}},\"comment\":\"Key x Value tuple.\"},\"KeyValueObject\":{\"fields\":{\"properties\":{\"rule\":\"repeated\",\"type\":\"KeyValue\",\"id\":1,\"comment\":null}},\"comment\":\"Object data definition.\"},\"ObjectMutation\":{\"oneofs\":{\"_value\":{\"oneof\":[\"value\"]}},\"fields\":{\"operation\":{\"type\":\"Operation\",\"id\":1,\"comment\":null},\"key\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"value\":{\"type\":\"Value\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"Operation\":{\"values\":{\"SET\":0,\"DELETE\":1,\"ARRAY_PUSH\":2,\"SET_ADD\":4,\"SET_DELETE\":5},\"comment\":null,\"comments\":{\"SET\":null,\"DELETE\":null,\"ARRAY_PUSH\":null,\"SET_ADD\":null,\"SET_DELETE\":null}}},\"comment\":\"Atomic mutation.\"},\"ObjectMutationSet\":{\"fields\":{\"mutations\":{\"rule\":\"repeated\",\"type\":\"ObjectMutation\",\"id\":1,\"comment\":null}},\"comment\":\"Set of mutations.\"},\"ObjectSnapshot\":{\"fields\":{\"root\":{\"type\":\"Value\",\"id\":1,\"comment\":null}},\"comment\":\"State snapshot.\"},\"Predicate\":{\"oneofs\":{\"_key\":{\"oneof\":[\"key\"]},\"_value\":{\"oneof\":[\"value\"]}},\"fields\":{\"op\":{\"type\":\"Operation\",\"id\":1,\"comment\":null},\"key\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"value\":{\"type\":\"Value\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"predicates\":{\"rule\":\"repeated\",\"type\":\"Predicate\",\"id\":4,\"comment\":null}},\"nested\":{\"Operation\":{\"values\":{\"OR\":0,\"AND\":1,\"NOT\":2,\"IN\":10,\"EQUALS\":11,\"GTE\":12,\"GT\":13,\"LTE\":14,\"LT\":15,\"PREFIX_MATCH\":20,\"TEXT_MATCH\":21},\"comment\":null,\"comments\":{\"OR\":null,\"AND\":null,\"NOT\":null,\"IN\":null,\"EQUALS\":null,\"GTE\":null,\"GT\":null,\"LTE\":null,\"LT\":null,\"PREFIX_MATCH\":null,\"TEXT_MATCH\":null}}},\"comment\":\"Query predicate.\"},\"Query\":{\"fields\":{\"root\":{\"type\":\"Predicate\",\"id\":1,\"comment\":null}},\"comment\":\"Query.\"},\"Value\":{\"oneofs\":{\"Type\":{\"oneof\":[\"null\",\"bool\",\"int\",\"float\",\"string\",\"timestamp\",\"datetime\",\"bytes\",\"object\",\"array\"],\"comment\":null}},\"fields\":{\"null\":{\"type\":\"bool\",\"id\":1,\"comment\":null},\"bool\":{\"type\":\"bool\",\"id\":2,\"comment\":null},\"int\":{\"type\":\"int64\",\"id\":3,\"comment\":null},\"float\":{\"type\":\"float\",\"id\":4,\"comment\":null},\"string\":{\"type\":\"string\",\"id\":5,\"comment\":null},\"timestamp\":{\"type\":\"string\",\"id\":10,\"comment\":null},\"datetime\":{\"type\":\"string\",\"id\":11,\"comment\":null},\"bytes\":{\"type\":\"bytes\",\"id\":12,\"comment\":null},\"object\":{\"type\":\"KeyValueObject\",\"id\":20,\"comment\":null},\"array\":{\"type\":\"Array\",\"id\":21,\"comment\":null}},\"comment\":\"Generic value.\"}}},\"text\":{\"nested\":{\"Mutation\":{\"fields\":{\"update\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"clientId\":{\"type\":\"int32\",\"id\":2,\"comment\":null}},\"comment\":null},\"Snapshot\":{\"fields\":{\"data\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null}}}}},\"service\":{\"nested\":{\"DataService\":{\"methods\":{\"SubscribeEntitySet\":{\"requestType\":\"SubscribeEntitySetRequest\",\"responseType\":\"SubscribeEntitySetResponse\",\"responseStream\":true,\"comment\":null},\"SubscribeEntityStream\":{\"requestType\":\"SubscribeEntityStreamRequest\",\"responseType\":\"SubscribeEntityStreamResponse\",\"responseStream\":true,\"comment\":null},\"Write\":{\"requestType\":\"WriteRequest\",\"responseType\":\"MutationReceipt\",\"comment\":null}},\"comment\":null},\"MutationReceipt\":{\"fields\":{\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"seq\":{\"type\":\"int32\",\"id\":2,\"comment\":null}},\"comment\":null},\"SubscribeEntitySetRequest\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"SubscribeEntitySetResponse\":{\"fields\":{\"added\":{\"rule\":\"repeated\",\"type\":\"feed.EchoEnvelope\",\"id\":1,\"comment\":null},\"deleted\":{\"rule\":\"repeated\",\"type\":\"feed.EchoEnvelope\",\"id\":2,\"comment\":null}},\"comment\":null},\"SubscribeEntityStreamRequest\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"itemId\":{\"type\":\"string\",\"id\":2,\"comment\":null}},\"comment\":null},\"SubscribeEntityStreamResponse\":{\"oneofs\":{\"kind\":{\"oneof\":[\"snapshot\",\"mutation\"],\"comment\":null}},\"fields\":{\"snapshot\":{\"type\":\"snapshot.ItemSnapshot\",\"id\":1,\"comment\":null},\"mutation\":{\"type\":\"Mutation\",\"id\":2,\"comment\":null}},\"nested\":{\"Mutation\":{\"fields\":{\"data\":{\"type\":\"feed.EchoEnvelope\",\"id\":1,\"comment\":null},\"meta\":{\"type\":\"Metadata\",\"id\":2,\"comment\":null}},\"nested\":{\"Metadata\":{\"fields\":{\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"memberKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"seq\":{\"type\":\"int32\",\"id\":3,\"comment\":null},\"timeframe\":{\"type\":\"timeframe.TimeframeVector\",\"id\":4,\"comment\":null}},\"comment\":null}},\"comment\":null}},\"comment\":null},\"WriteRequest\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"mutation\":{\"type\":\"feed.EchoEnvelope\",\"id\":2,\"comment\":null}},\"comment\":null}}},\"snapshot\":{\"nested\":{\"DatabaseSnapshot\":{\"fields\":{\"items\":{\"rule\":\"repeated\",\"type\":\"ItemSnapshot\",\"id\":1,\"comment\":null},\"links\":{\"rule\":\"repeated\",\"type\":\"LinkSnapshot\",\"id\":2,\"comment\":null}},\"comment\":null},\"HaloStateSnapshot\":{\"fields\":{\"messages\":{\"rule\":\"repeated\",\"type\":\"dxos.halo.signed.Message\",\"id\":1,\"comment\":null}},\"comment\":null},\"ItemSnapshot\":{\"oneofs\":{\"_itemId\":{\"oneof\":[\"itemId\"]},\"_itemType\":{\"oneof\":[\"itemType\"]},\"_modelVersion\":{\"oneof\":[\"modelVersion\"]},\"_parentId\":{\"oneof\":[\"parentId\"]},\"_model\":{\"oneof\":[\"model\"]}},\"fields\":{\"itemId\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"itemType\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"modelType\":{\"type\":\"string\",\"id\":3,\"comment\":null},\"modelVersion\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"parentId\":{\"type\":\"string\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null},\"model\":{\"type\":\"ModelSnapshot\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"LinkSnapshot\":{\"oneofs\":{\"_linkId\":{\"oneof\":[\"linkId\"]},\"_linkType\":{\"oneof\":[\"linkType\"]},\"_modelVersion\":{\"oneof\":[\"modelVersion\"]},\"_model\":{\"oneof\":[\"model\"]}},\"fields\":{\"linkId\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"linkType\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"modelType\":{\"type\":\"string\",\"id\":3,\"comment\":null},\"modelVersion\":{\"type\":\"string\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"source\":{\"type\":\"string\",\"id\":5,\"comment\":null},\"target\":{\"type\":\"string\",\"id\":6,\"comment\":null},\"model\":{\"type\":\"ModelSnapshot\",\"id\":7,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"ModelMutation\":{\"fields\":{\"mutation\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"meta\":{\"type\":\"ModelMutationMeta\",\"id\":2,\"comment\":null}},\"comment\":null},\"ModelMutationMeta\":{\"fields\":{\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"seq\":{\"type\":\"int32\",\"id\":2,\"comment\":null},\"memberKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null}},\"comment\":null},\"ModelSnapshot\":{\"oneofs\":{\"_snapshot\":{\"oneof\":[\"snapshot\"]}},\"fields\":{\"snapshot\":{\"type\":\"bytes\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":\"Encoded model snapshot (defined by the model's codec).\\nIf undefined the state machine will be initialized with it's default state.\"},\"mutations\":{\"rule\":\"repeated\",\"type\":\"ModelMutation\",\"id\":2,\"comment\":\"Mutations to be applied on top of the snapshot, or on top of initial state if the snapshot is undefined.\"}},\"comment\":null},\"PartySnapshot\":{\"oneofs\":{\"_timeframe\":{\"oneof\":[\"timeframe\"]},\"_timestamp\":{\"oneof\":[\"timestamp\"]}},\"fields\":{\"partyKey\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"timeframe\":{\"type\":\"timeframe.TimeframeVector\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"timestamp\":{\"type\":\"int32\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"halo\":{\"type\":\"HaloStateSnapshot\",\"id\":11,\"comment\":null},\"database\":{\"type\":\"DatabaseSnapshot\",\"id\":12,\"comment\":null}},\"comment\":null}}},\"timeframe\":{\"nested\":{\"TimeframeVector\":{\"fields\":{\"frames\":{\"rule\":\"repeated\",\"type\":\"Frame\",\"id\":1,\"comment\":null}},\"nested\":{\"Frame\":{\"fields\":{\"feedKey\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"seq\":{\"type\":\"int32\",\"id\":3,\"comment\":null}},\"comment\":null}},\"comment\":\"Vector timestamp used to order messages.\"}}}}},\"halo\":{\"nested\":{\"credentials\":{\"nested\":{\"AdmittedFeed\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"identityKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":\"Owning identity.\"},\"deviceKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null},\"designation\":{\"type\":\"Designation\",\"id\":4,\"comment\":\"Controls sets the feed designation. Feeds with different designations are consumed by separate pipelines.\"}},\"nested\":{\"Designation\":{\"values\":{\"GENERAL\":0,\"CONTROL\":1,\"DATA\":2},\"comment\":null,\"comments\":{\"GENERAL\":\"Classic general purpose feeds for both HALO and ECHO messages together. To be deprecated.\",\"CONTROL\":\"Contain system-level messages messages, such as credentials and epochs.\",\"DATA\":\"Database mutations.\"}}},\"comment\":null},\"auth\":{\"nested\":{\"Auth\":{\"oneofs\":{\"_feedKey\":{\"oneof\":[\"feedKey\"]},\"_feedAdmit\":{\"oneof\":[\"feedAdmit\"]}},\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":\"The publicKey of the target Party for these credentials.\"},\"deviceKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":\"The publicKey of the authenticating Device.\"},\"identityKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":\"The publicKey of the authenticating Identity.\"},\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"The publicKey of the authenticating Identity.\"},\"feedAdmit\":{\"type\":\"google.protobuf.Any\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":\"FeedAdmit message to the should be written to a control feed in case the `feed_key` is not admitted to the party.\"}},\"comment\":\"The payload for a SignedMessage sent during handshake for replication authentication.\"}}},\"Auth\":{\"fields\":{},\"comment\":\"Assertion for agents authenticating in the space swarm.\"},\"AuthorizedDevice\":{\"fields\":{\"identityKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"deviceKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null}},\"comment\":null},\"Chain\":{\"fields\":{\"credential\":{\"type\":\"Credential\",\"id\":1,\"comment\":\"Credential that authorizes the subject to issue new credentials (can be recursive).\"}},\"comment\":\"A chain of credentials that establishes the delegated authority to issue new credentials.\\nEach key in the chain has an assotiated credential that establishes the authrity of that specific key.\\n\\nExample:\\nAlice/Device-2 => Alice/Device-1 => Alice\\n\\nThis chain would include 2 credentials:\\n1. Giving Alice/Device-2 the authority to issue credentials on behalf of Alice, signed by Alice/Device-1.\\n2. Giving Alice/Device-1 the authority to issue credentials on behalf of Alice, signed by Alice.\"},\"Claim\":{\"fields\":{\"id\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"assertion\":{\"type\":\"google.protobuf.Any\",\"id\":2,\"comment\":null}},\"comment\":null},\"Credential\":{\"oneofs\":{\"_id\":{\"oneof\":[\"id\"]},\"_expirationDate\":{\"oneof\":[\"expirationDate\"]},\"_expirationRef\":{\"oneof\":[\"expirationRef\"]}},\"fields\":{\"id\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"issuer\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"issuanceDate\":{\"type\":\"google.protobuf.Timestamp\",\"id\":3,\"comment\":null},\"expirationDate\":{\"type\":\"google.protobuf.Timestamp\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"expirationRef\":{\"type\":\"bytes\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":null},\"subject\":{\"type\":\"Claim\",\"id\":10,\"comment\":null},\"proof\":{\"type\":\"Proof\",\"id\":11,\"comment\":null}},\"comment\":null},\"greet\":{\"nested\":{\"BeginResponse\":{\"fields\":{\"info\":{\"keyType\":\"string\",\"type\":\"google.protobuf.Any\",\"id\":1,\"comment\":null}},\"comment\":null},\"ClaimResponse\":{\"fields\":{\"id\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"rendezvousKey\":{\"type\":\"bytes\",\"id\":2,\"comment\":null}},\"comment\":null},\"Command\":{\"oneofs\":{\"_secret\":{\"oneof\":[\"secret\"]}},\"fields\":{\"command\":{\"type\":\"Type\",\"id\":1,\"comment\":null},\"secret\":{\"type\":\"bytes\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"params\":{\"rule\":\"repeated\",\"type\":\"google.protobuf.Any\",\"id\":10,\"comment\":null}},\"nested\":{\"Type\":{\"values\":{\"BEGIN\":0,\"HANDSHAKE\":1,\"NOTARIZE\":2,\"FINISH\":3,\"CLAIM\":10},\"comment\":null,\"comments\":{\"BEGIN\":null,\"HANDSHAKE\":null,\"NOTARIZE\":null,\"FINISH\":null,\"CLAIM\":null}}},\"comment\":\"A Greeter command.\"},\"HandshakeResponse\":{\"fields\":{\"nonce\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null}},\"comment\":null},\"KeyHint\":{\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"type\":{\"type\":\"keys.KeyType\",\"id\":2,\"comment\":null}},\"comment\":null},\"NotarizeResponse\":{\"fields\":{\"copies\":{\"rule\":\"repeated\",\"type\":\"google.protobuf.Any\",\"id\":1,\"comment\":null},\"genesisFeed\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null}},\"comment\":null}}},\"HaloSpace\":{\"fields\":{\"identityKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"haloKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":\"Space key.\"}},\"comment\":\"Associtaes a space that will implement Agent's HALO with an Identity.\"},\"identity\":{\"nested\":{\"DeviceInfo\":{\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"displayName\":{\"type\":\"string\",\"id\":2,\"comment\":null}},\"comment\":null},\"IdentityInfo\":{\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"displayName\":{\"type\":\"string\",\"id\":2,\"comment\":null}},\"comment\":null}}},\"IdentityProfile\":{\"fields\":{\"profile\":{\"type\":\"ProfileDocument\",\"id\":1,\"comment\":null}},\"nested\":{\"ProfileDocument\":{\"oneofs\":{\"_displayName\":{\"oneof\":[\"displayName\"]},\"_avatarCid\":{\"oneof\":[\"avatarCid\"]}},\"fields\":{\"displayName\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"avatarCid\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":\"Sets profile information.\"},\"IdentityRecord\":{\"oneofs\":{\"_profileSpace\":{\"oneof\":[\"profileSpace\"]},\"_profile\":{\"oneof\":[\"profile\"]}},\"fields\":{\"identityKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"deviceKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"haloSpace\":{\"type\":\"SpaceRecord\",\"id\":3,\"comment\":null},\"profileSpace\":{\"type\":\"SpaceRecord\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"Not yet implemented. Must be null.\"},\"profile\":{\"type\":\"IdentityProfile.ProfileDocument\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":\"Cached profile.\"}},\"comment\":\"Information needed to bootstrap an Identity.\"},\"IdentityRecovery\":{\"fields\":{\"identityKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"recoveryKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":\"Public key derrived from the recovery seedphrase.\"}},\"comment\":\"Grants recovery permissions to a recovery key.\"},\"KeyInfo\":{\"oneofs\":{\"_name\":{\"oneof\":[\"name\"]}},\"fields\":{\"name\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":\"Subject must be a key being referenced.\"},\"party\":{\"nested\":{\"Envelope\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"message\":{\"type\":\"dxos.halo.signed.Message\",\"id\":2,\"comment\":null}},\"comment\":null},\"FeedAdmit\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null}},\"comment\":null},\"FeedGenesis\":{\"fields\":{\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"ownerKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null}},\"comment\":null},\"KeyAdmit\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"admitKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"admitKeyType\":{\"type\":\"keys.KeyType\",\"id\":3,\"comment\":null}},\"comment\":null},\"PartyCredential\":{\"oneofs\":{\"contents\":{\"oneof\":[\"envelope\",\"partyGenesis\",\"keyAdmit\",\"feedAdmit\",\"feedGenesis\"],\"comment\":null}},\"fields\":{\"type\":{\"type\":\"Type\",\"id\":1,\"comment\":null},\"envelope\":{\"type\":\"Envelope\",\"id\":10,\"comment\":null},\"partyGenesis\":{\"type\":\"PartyGenesis\",\"id\":11,\"comment\":null},\"keyAdmit\":{\"type\":\"KeyAdmit\",\"id\":12,\"comment\":null},\"feedAdmit\":{\"type\":\"FeedAdmit\",\"id\":13,\"comment\":null},\"feedGenesis\":{\"type\":\"FeedGenesis\",\"id\":14,\"comment\":null}},\"nested\":{\"Type\":{\"values\":{\"ENVELOPE\":0,\"PARTY_GENESIS\":1,\"FEED_GENESIS\":2,\"KEY_ADMIT\":3,\"FEED_ADMIT\":4},\"comment\":null,\"comments\":{\"ENVELOPE\":null,\"PARTY_GENESIS\":null,\"FEED_GENESIS\":null,\"KEY_ADMIT\":null,\"FEED_ADMIT\":null}}},\"comment\":null},\"PartyGenesis\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"feedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"admitKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null},\"admitKeyType\":{\"type\":\"keys.KeyType\",\"id\":4,\"comment\":null}},\"comment\":null},\"PartyInvitation\":{\"fields\":{\"id\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"issuerKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null},\"inviteeKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":4,\"comment\":null}},\"comment\":null}}},\"PartyGenesis\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"PartyMember\":{\"fields\":{\"partyKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"role\":{\"type\":\"Role\",\"id\":2,\"comment\":null}},\"nested\":{\"Role\":{\"values\":{\"INVALID\":0,\"ADMIN\":1,\"MEMBER\":2,\"READER\":3},\"comment\":null,\"comments\":{\"INVALID\":null,\"ADMIN\":\"Manage members.\",\"MEMBER\":\"Read and write.\",\"READER\":\"Read-only.\"}}},\"comment\":null},\"Presentation\":{\"fields\":{\"credentials\":{\"rule\":\"repeated\",\"type\":\"Credential\",\"id\":1,\"comment\":null},\"proofs\":{\"rule\":\"repeated\",\"type\":\"Proof\",\"id\":2,\"comment\":null}},\"comment\":null},\"Proof\":{\"oneofs\":{\"_nonce\":{\"oneof\":[\"nonce\"]},\"_chain\":{\"oneof\":[\"chain\"]}},\"fields\":{\"type\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"creationDate\":{\"type\":\"google.protobuf.Timestamp\",\"id\":2,\"comment\":null},\"signer\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null},\"nonce\":{\"type\":\"bytes\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":null},\"value\":{\"type\":\"bytes\",\"id\":5,\"comment\":\"Signature (excluded from signed data).\"},\"chain\":{\"type\":\"Chain\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":\"Must be present if signer is not credential issuer.\\nEstablishes the authority of the signer. Proves that the signer can issue such credentials.\\nExcluded from signed data.\"}},\"comment\":null},\"SpaceRecord\":{\"fields\":{\"spaceKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"genesisFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":\"All feeds in the space must form a DAG (or a tree?). This is the root feed of that structure.\"},\"writeControlFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":\"Key of the writable feed for control messages. Keyring must have the asscoiated private key.\"},\"writeDataFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":4,\"comment\":\"Key of the writable feed for data messages. Keyring must have the asscoiated private key.\"}},\"comment\":\"Information needed to bootstrap a Space.\"}}},\"invitations\":{\"nested\":{\"HaloAdmissionCredentials\":{\"fields\":{\"deviceKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"controlFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"dataFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null}},\"comment\":null},\"HaloAdmissionOffer\":{\"fields\":{\"identityKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"haloSpaceKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"genesisFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null}},\"comment\":null},\"HaloGuestService\":{\"methods\":{\"PresentAdmissionOffer\":{\"requestType\":\"HaloAdmissionOffer\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"Process admission offer from host.\"}},\"comment\":null},\"HaloHostService\":{\"methods\":{\"PresentAdmissionCredentials\":{\"requestType\":\"HaloAdmissionCredentials\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"Process admission request from guest.\"}},\"comment\":null},\"InvitationDescriptor\":{\"oneofs\":{\"_identityKey\":{\"oneof\":[\"identityKey\"]},\"_secret\":{\"oneof\":[\"secret\"]}},\"fields\":{\"type\":{\"type\":\"Type\",\"id\":1,\"comment\":null},\"swarmKey\":{\"type\":\"bytes\",\"id\":2,\"comment\":\"Topic for network handshake.\"},\"invitation\":{\"type\":\"bytes\",\"id\":3,\"comment\":\"TODO(burdon): Remove?\"},\"identityKey\":{\"type\":\"bytes\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"Only present if type === OFFLINE.\"},\"secret\":{\"type\":\"bytes\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":\"Must be stripped out when passing to another peer.\"}},\"nested\":{\"Type\":{\"values\":{\"INTERACTIVE\":0,\"OFFLINE\":1},\"comment\":null,\"comments\":{\"INTERACTIVE\":\"Both peers online at the same time.\",\"OFFLINE\":\"Invited peer's public key is known and invitation can be accepted by any valid peer.\"}}},\"comment\":null},\"SpaceAdmissionCredentials\":{\"fields\":{\"identityKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"deviceKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":null},\"controlFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null},\"dataFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":4,\"comment\":null}},\"comment\":null},\"SpaceAdmissionOffer\":{\"fields\":{\"spaceKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"genesisFeedKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":null}},\"comment\":null},\"SpaceGuestService\":{\"methods\":{\"PresentAdmissionOffer\":{\"requestType\":\"SpaceAdmissionOffer\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"Process admission offer from host.\"}},\"comment\":null},\"SpaceHostService\":{\"methods\":{\"PresentAdmissionCredentials\":{\"requestType\":\"SpaceAdmissionCredentials\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"Process admission request from guest.\"}},\"comment\":null}}},\"keyring\":{\"nested\":{\"KeyRecord\":{\"fields\":{\"publicKey\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"privateKey\":{\"type\":\"bytes\",\"id\":2,\"comment\":null}},\"comment\":null}}},\"keys\":{\"nested\":{\"KeyChain\":{\"fields\":{\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"message\":{\"type\":\"dxos.halo.signed.SignedMessage\",\"id\":2,\"comment\":null},\"parents\":{\"rule\":\"repeated\",\"type\":\"KeyChain\",\"id\":3,\"comment\":null}},\"comment\":null},\"KeyRecord\":{\"oneofs\":{\"_secretKey\":{\"oneof\":[\"secretKey\"]},\"_hint\":{\"oneof\":[\"hint\"]},\"_own\":{\"oneof\":[\"own\"]},\"_trusted\":{\"oneof\":[\"trusted\"]},\"_added\":{\"oneof\":[\"added\"]},\"_created\":{\"oneof\":[\"created\"]}},\"fields\":{\"type\":{\"type\":\"KeyType\",\"id\":1,\"comment\":\"The `KeyType` type of the key. This is often unknown for keys from other sources.\"},\"publicKey\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"comment\":\"The public key as a Buffer (required).\"},\"secretKey\":{\"type\":\"dxos.keys.PrivateKey\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"The secret key as a Buffer (this will never be visible outside the Keyring).\"},\"hint\":{\"type\":\"bool\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"Is this key from a Greeting \\\"hint\\\"?\"},\"own\":{\"type\":\"bool\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":\"Determines if this is our key?\\nUsually true if `secret_key` is present; may be false for \\\"inception keys\\\" such as the Party key.\"},\"trusted\":{\"type\":\"bool\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":\"Is this key to be trusted?\"},\"added\":{\"type\":\"string\",\"id\":7,\"options\":{\"proto3_optional\":true},\"comment\":\"An RFC-3339 date/time string for when the key was added to the Keyring.\"},\"created\":{\"type\":\"string\",\"id\":8,\"options\":{\"proto3_optional\":true},\"comment\":\"An RFC-3339 date/time string for when the key was created.\"}},\"comment\":null},\"KeyRecordList\":{\"fields\":{\"keys\":{\"rule\":\"repeated\",\"type\":\"KeyRecord\",\"id\":1,\"comment\":null}},\"comment\":null},\"KeyType\":{\"values\":{\"UNKNOWN\":0,\"IDENTITY\":1,\"DEVICE\":2,\"PARTY\":3,\"FEED\":4,\"DXNS_ADDRESS\":5},\"comment\":null,\"comments\":{\"UNKNOWN\":null,\"IDENTITY\":null,\"DEVICE\":null,\"PARTY\":null,\"FEED\":null,\"DXNS_ADDRESS\":null}}}},\"signed\":{\"nested\":{\"Message\":{\"fields\":{\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":1,\"comment\":null}},\"comment\":null},\"SignedMessage\":{\"fields\":{\"signed\":{\"type\":\"Signed\",\"id\":1,\"comment\":\"The signed message contents.\"},\"signatures\":{\"rule\":\"repeated\",\"type\":\"Signature\",\"id\":2,\"comment\":\"An array of Signatures, one for each key that signed the message.\"}},\"nested\":{\"Signature\":{\"oneofs\":{\"_keyChain\":{\"oneof\":[\"keyChain\"]}},\"fields\":{\"key\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":\"The publicKey of the keypair that made this signature.\"},\"signature\":{\"type\":\"bytes\",\"id\":2,\"comment\":\"The bytes of the signature.\"},\"keyChain\":{\"type\":\"keys.KeyChain\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"The certification chain of SignedMessages for this key.\"}},\"comment\":null},\"Signed\":{\"fields\":{\"created\":{\"type\":\"string\",\"id\":1,\"comment\":\"RFC-3339 datetime string.\"},\"nonce\":{\"type\":\"bytes\",\"id\":2,\"comment\":null},\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":10,\"comment\":\"The payload to be signed.\"}},\"comment\":null}},\"comment\":\"A generic container message used whenever messages are signed (e.g. PartyCredential)\"}}}}},\"iframe\":{\"nested\":{\"IframeService\":{\"methods\":{\"Heartbeat\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null}},\"comment\":\"Worker-to-iframe RPCs.\"},\"StartRequest\":{\"fields\":{\"origin\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"WorkerService\":{\"methods\":{\"Start\":{\"requestType\":\"StartRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null},\"Stop\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null}},\"comment\":\"Iframe-to-worker RPCs.\"}}},\"keys\":{\"nested\":{\"PrivateKey\":{\"fields\":{\"data\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null},\"PublicKey\":{\"fields\":{\"data\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null}}},\"mesh\":{\"nested\":{\"bridge\":{\"nested\":{\"BridgeEvent\":{\"oneofs\":{\"type\":{\"oneof\":[\"connection\",\"signal\",\"data\"],\"comment\":null}},\"fields\":{\"connection\":{\"type\":\"ConnectionEvent\",\"id\":1,\"comment\":null},\"signal\":{\"type\":\"SignalEvent\",\"id\":2,\"comment\":null},\"data\":{\"type\":\"DataEvent\",\"id\":3,\"comment\":null}},\"nested\":{\"ConnectionEvent\":{\"oneofs\":{\"_error\":{\"oneof\":[\"error\"]}},\"fields\":{\"state\":{\"type\":\"ConnectionState\",\"id\":1,\"comment\":null},\"error\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"DataEvent\":{\"fields\":{\"payload\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null},\"SignalEvent\":{\"fields\":{\"payload\":{\"type\":\"dxos.mesh.swarm.Signal\",\"id\":1,\"comment\":null}},\"comment\":null}},\"comment\":null},\"BridgeService\":{\"methods\":{\"Open\":{\"requestType\":\"ConnectionRequest\",\"responseType\":\"BridgeEvent\",\"responseStream\":true,\"comment\":\"\"},\"SendSignal\":{\"requestType\":\"SignalRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"\"},\"SendData\":{\"requestType\":\"DataRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"\"},\"Close\":{\"requestType\":\"CloseRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"\"}},\"comment\":null},\"CloseRequest\":{\"fields\":{\"proxyId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null}},\"comment\":null},\"ConnectionRequest\":{\"fields\":{\"proxyId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"initiator\":{\"type\":\"bool\",\"id\":2,\"comment\":null}},\"comment\":null},\"ConnectionState\":{\"values\":{\"INVALID\":0,\"CONNECTING\":1,\"CONNECTED\":2,\"CLOSED\":3},\"comment\":null,\"comments\":{\"INVALID\":null,\"CONNECTING\":null,\"CONNECTED\":null,\"CLOSED\":null}},\"DataRequest\":{\"fields\":{\"proxyId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"payload\":{\"type\":\"bytes\",\"id\":2,\"comment\":null}},\"comment\":null},\"SignalRequest\":{\"fields\":{\"proxyId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":null},\"signal\":{\"type\":\"dxos.mesh.swarm.Signal\",\"id\":2,\"comment\":null}},\"comment\":null}}},\"broadcast\":{\"nested\":{\"Packet\":{\"oneofs\":{\"_from\":{\"oneof\":[\"from\"]}},\"fields\":{\"seq\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"origin\":{\"type\":\"bytes\",\"id\":2,\"comment\":null},\"from\":{\"type\":\"bytes\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"data\":{\"type\":\"bytes\",\"id\":4,\"comment\":null}},\"comment\":null}}},\"messaging\":{\"nested\":{\"Acknowledgement\":{\"fields\":{\"messageId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":\"MessageId of the Message that is being acknowledged.\"}},\"comment\":null},\"ReliablePayload\":{\"fields\":{\"messageId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":1,\"comment\":\"Unique message identifier. Used for Acknolegment.\"},\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":2,\"comment\":\"Payload for signal server netwrok.\"}},\"comment\":null}}},\"presence\":{\"nested\":{\"Alive\":{\"oneofs\":{\"_metadata\":{\"oneof\":[\"metadata\"]}},\"fields\":{\"peerId\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"connections\":{\"rule\":\"repeated\",\"type\":\"Connection\",\"id\":2,\"comment\":null},\"metadata\":{\"type\":\"bytes\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"Connection\":{\"oneofs\":{\"_initiator\":{\"oneof\":[\"initiator\"]}},\"fields\":{\"peerId\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"initiator\":{\"type\":\"bool\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}},\"comment\":null}}},\"protocol\":{\"nested\":{\"Buffer\":{\"fields\":{\"data\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null},\"Error\":{\"fields\":{\"code\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"message\":{\"type\":\"string\",\"id\":2,\"comment\":null}},\"comment\":null},\"Message\":{\"fields\":{\"nmId\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"nmResponse\":{\"type\":\"bool\",\"id\":2,\"comment\":null},\"nmEphemeral\":{\"type\":\"bool\",\"id\":3,\"comment\":null},\"nmData\":{\"type\":\"google.protobuf.Any\",\"id\":4,\"comment\":null}},\"comment\":null}}},\"replicator\":{\"nested\":{\"Container\":{\"fields\":{\"type\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"data\":{\"rule\":\"repeated\",\"type\":\"google.protobuf.Any\",\"id\":2,\"comment\":null}},\"comment\":null},\"Feed\":{\"oneofs\":{\"_key\":{\"oneof\":[\"key\"]},\"_discoveryKey\":{\"oneof\":[\"discoveryKey\"]}},\"fields\":{\"key\":{\"type\":\"bytes\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"discoveryKey\":{\"type\":\"bytes\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null}}},\"signal\":{\"options\":{\"go_package\":\"github.com/dxos/kube/go/signal/pb\"},\"nested\":{\"HostEvent\":{\"oneofs\":{\"event\":{\"oneof\":[\"peerAvailable\"],\"comment\":null}},\"fields\":{\"peerAvailable\":{\"type\":\"SwarmEvent.PeerAvailable\",\"id\":1,\"comment\":null}},\"comment\":\"Goes on a Pub/Sub host topic.\"},\"JoinRequest\":{\"fields\":{\"swarm\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"peer\":{\"type\":\"bytes\",\"id\":2,\"comment\":null}},\"comment\":null},\"Message\":{\"fields\":{\"author\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"recipient\":{\"type\":\"bytes\",\"id\":2,\"comment\":null},\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":3,\"comment\":null}},\"comment\":null},\"PeerEvent\":{\"oneofs\":{\"event\":{\"oneof\":[\"message\"],\"comment\":null}},\"fields\":{\"message\":{\"type\":\"Message\",\"id\":1,\"comment\":null}},\"comment\":\"Goes on Pub/Sub peer topic.\"},\"ReceptionRequest\":{\"fields\":{\"peer\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null},\"Signal\":{\"methods\":{\"Join\":{\"requestType\":\"JoinRequest\",\"responseType\":\"SwarmEvent\",\"responseStream\":true,\"comment\":null},\"ReceiveMessages\":{\"requestType\":\"ReceptionRequest\",\"responseType\":\"Message\",\"responseStream\":true,\"comment\":null},\"SendMessage\":{\"requestType\":\"Message\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null}},\"comment\":null},\"SwarmEvent\":{\"oneofs\":{\"event\":{\"oneof\":[\"peerAvailable\",\"peerLeft\"],\"comment\":null}},\"fields\":{\"peerAvailable\":{\"type\":\"PeerAvailable\",\"id\":1,\"comment\":\"The peer was announced as available on the swarm.\"},\"peerLeft\":{\"type\":\"PeerLeft\",\"id\":2,\"comment\":\"The peer left, or their announcement timed out.\"}},\"nested\":{\"PeerAvailable\":{\"oneofs\":{\"_until\":{\"oneof\":[\"until\"]},\"_announceBackToHost\":{\"oneof\":[\"announceBackToHost\"]}},\"fields\":{\"peer\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"since\":{\"type\":\"google.protobuf.Timestamp\",\"id\":2,\"comment\":null},\"until\":{\"type\":\"google.protobuf.Timestamp\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null},\"announceBackToHost\":{\"type\":\"bytes\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"Only relevant in Pub/Sub. Optional, the host topic to eagerly send PeerAvailable messages back to.\"}},\"comment\":null},\"PeerLeft\":{\"fields\":{\"peer\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null}},\"comment\":\"Goes on Pub/Sub swarm topic and as a Join stream in RPC.\"}}},\"swarm\":{\"nested\":{\"Answer\":{\"oneofs\":{\"_offerMessageId\":{\"oneof\":[\"offerMessageId\"]}},\"fields\":{\"accept\":{\"type\":\"bool\",\"id\":1,\"comment\":null},\"offerMessageId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":\"MessageId of the Offer being answered.\"}},\"comment\":null},\"MessageData\":{\"oneofs\":{\"payload\":{\"oneof\":[\"offer\",\"answer\",\"signal\"],\"comment\":null}},\"fields\":{\"offer\":{\"type\":\"Offer\",\"id\":1,\"comment\":null},\"answer\":{\"type\":\"Answer\",\"id\":2,\"comment\":null},\"signal\":{\"type\":\"Signal\",\"id\":3,\"comment\":null}},\"comment\":null},\"Offer\":{\"fields\":{},\"comment\":null},\"Signal\":{\"fields\":{\"json\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"SwarmMessage\":{\"fields\":{\"topic\":{\"type\":\"dxos.keys.PublicKey\",\"id\":3,\"comment\":\"Swarm identefier.\"},\"sessionId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":4,\"comment\":\"Unique connection identifier.\"},\"data\":{\"type\":\"MessageData\",\"id\":5,\"comment\":\"Message payload.\"},\"messageId\":{\"type\":\"dxos.keys.PublicKey\",\"id\":6,\"comment\":\"Unique message identifier. Used for Acknolegment and matching Anwers to Offers.\"}},\"comment\":null}}}}},\"registry\":{\"nested\":{\"Record\":{\"oneofs\":{\"_created\":{\"oneof\":[\"created\"]},\"_displayName\":{\"oneof\":[\"displayName\"]},\"_description\":{\"oneof\":[\"description\"]},\"kind\":{\"oneof\":[\"type\",\"payload\"],\"comment\":null}},\"fields\":{\"created\":{\"type\":\"google.protobuf.Timestamp\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":\"Record creation timetstamp.\"},\"displayName\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":\"Human-readable name of record.\"},\"description\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"Record description.\"},\"tags\":{\"rule\":\"repeated\",\"type\":\"string\",\"id\":4,\"comment\":\"Optional record tags.\"},\"type\":{\"type\":\"Type\",\"id\":100,\"comment\":\"Type record variant.\"},\"payload\":{\"type\":\"Extension\",\"id\":101,\"comment\":\"Data record variant.\"}},\"nested\":{\"Extension\":{\"fields\":{\"typeRecord\":{\"type\":\"bytes\",\"id\":1,\"comment\":\"CID of type record.\"},\"data\":{\"type\":\"bytes\",\"id\":2,\"comment\":\"Serialized payload data.\"}},\"comment\":\"Data with a reference to a type record that defines the encoding.\"},\"Type\":{\"oneofs\":{\"_protobufIpfsCid\":{\"oneof\":[\"protobufIpfsCid\"]}},\"fields\":{\"messageName\":{\"type\":\"string\",\"id\":1,\"comment\":\"FQ protobuf message name.\"},\"protobufDefs\":{\"type\":\"string\",\"id\":2,\"comment\":\"Set of protobuf messages encoded in JSON.\"},\"protobufIpfsCid\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":\"CID of protobuf source file.\"}},\"comment\":\"Types are system records that define protocol-buffer schema of other records.\"}},\"comment\":null}}},\"rpc\":{\"options\":{\"go_package\":\"github.com/dxos/kube/go/dxrpc/pb\"},\"nested\":{\"Error\":{\"oneofs\":{\"_name\":{\"oneof\":[\"name\"]},\"_message\":{\"oneof\":[\"message\"]},\"_stack\":{\"oneof\":[\"stack\"]}},\"fields\":{\"name\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"message\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"stack\":{\"type\":\"string\",\"id\":3,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"MessageTrace\":{\"fields\":{\"direction\":{\"type\":\"Direction\",\"id\":1,\"comment\":null},\"data\":{\"type\":\"bytes\",\"id\":2,\"comment\":null}},\"nested\":{\"Direction\":{\"values\":{\"INCOMING\":0,\"OUTGOING\":1},\"comment\":null,\"comments\":{\"INCOMING\":null,\"OUTGOING\":null}}},\"comment\":null},\"Request\":{\"fields\":{\"id\":{\"type\":\"int32\",\"id\":1,\"comment\":null},\"method\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":3,\"comment\":null},\"stream\":{\"type\":\"bool\",\"id\":4,\"comment\":null}},\"comment\":null},\"Response\":{\"oneofs\":{\"content\":{\"oneof\":[\"payload\",\"error\",\"close\",\"streamReady\"],\"comment\":null}},\"fields\":{\"id\":{\"type\":\"int32\",\"id\":1,\"comment\":null},\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":2,\"comment\":null},\"error\":{\"type\":\"Error\",\"id\":3,\"comment\":null},\"close\":{\"type\":\"bool\",\"id\":4,\"comment\":\"Sent when stream is closed without an error.\"},\"streamReady\":{\"type\":\"bool\",\"id\":5,\"comment\":\"Sent when the server has processed a request with a streaming response.\\nCan be skipped by the server.\\nIn this case the first payload should be treated as the server being ready.\"}},\"comment\":null},\"RpcMessage\":{\"oneofs\":{\"content\":{\"oneof\":[\"request\",\"response\",\"open\",\"openAck\",\"streamClose\"],\"comment\":null}},\"fields\":{\"request\":{\"type\":\"Request\",\"id\":1,\"comment\":null},\"response\":{\"type\":\"Response\",\"id\":2,\"comment\":null},\"open\":{\"type\":\"bool\",\"id\":3,\"comment\":\"Means that the node is trying to open the connection.\"},\"openAck\":{\"type\":\"bool\",\"id\":4,\"comment\":\"Means that the node has received the \\\"open\\\" message and is ready to perform requests.\"},\"streamClose\":{\"type\":\"StreamClose\",\"id\":5,\"comment\":null}},\"comment\":null},\"StreamClose\":{\"fields\":{\"id\":{\"type\":\"int32\",\"id\":1,\"comment\":null}},\"comment\":null}}},\"service\":{\"nested\":{\"publisher\":{\"options\":{\"go_package\":\"github.com/dxos/kube/publisher/pb\"},\"nested\":{\"ListResponse\":{\"fields\":{\"modules\":{\"rule\":\"repeated\",\"type\":\"dxos.config.Module\",\"id\":1,\"comment\":null}},\"comment\":null},\"Publisher\":{\"methods\":{\"Publish\":{\"requestType\":\"PublishRequest\",\"responseType\":\"PublishResponse\",\"comment\":null},\"List\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"ListResponse\",\"comment\":null},\"Reset\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"ResetResponse\",\"comment\":null}},\"comment\":null},\"PublishRequest\":{\"fields\":{\"package\":{\"type\":\"dxos.config.Package\",\"id\":1,\"comment\":null}},\"comment\":null},\"PublishResponse\":{\"fields\":{\"package\":{\"type\":\"dxos.config.Package\",\"id\":1,\"comment\":null}},\"comment\":null},\"ResetResponse\":{\"fields\":{\"count\":{\"type\":\"int32\",\"id\":1,\"comment\":null}},\"comment\":null}}},\"scheduler\":{\"options\":{\"go_package\":\"github.com/dxos/kube/scheduler/pb\"},\"nested\":{\"Bot\":{\"oneofs\":{\"_spec\":{\"oneof\":[\"spec\"]},\"_stats\":{\"oneof\":[\"stats\"]},\"_identityKey\":{\"oneof\":[\"identityKey\"]}},\"fields\":{\"id\":{\"type\":\"bytes\",\"id\":1,\"comment\":\"Scheduler\"},\"state\":{\"type\":\"State\",\"id\":2,\"comment\":\"Current state.\"},\"desiredState\":{\"type\":\"State\",\"id\":3,\"comment\":\"Desired state.\"},\"spec\":{\"type\":\"Spec\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"Omitted when returned from the Query RPC.\"},\"stats\":{\"type\":\"Stats\",\"id\":5,\"options\":{\"proto3_optional\":true},\"comment\":\"Omitted when returned from the Query RPC.\"},\"identityKey\":{\"type\":\"bytes\",\"id\":6,\"options\":{\"proto3_optional\":true},\"comment\":\"Identity key of the bot profile.\"}},\"nested\":{\"Spec\":{\"fields\":{\"executable\":{\"type\":\"string\",\"id\":1,\"comment\":\"URL to the bot executable. KUBEs support file:// and ipfs:// urls.\"},\"echo\":{\"type\":\"Echo\",\"id\":2,\"comment\":null}},\"nested\":{\"Echo\":{\"fields\":{\"partyKey\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"invitation\":{\"type\":\"google.protobuf.Any\",\"id\":2,\"comment\":null}},\"comment\":null}},\"comment\":null},\"Stats\":{\"oneofs\":{\"_pid\":{\"oneof\":[\"pid\"]},\"_executableDownloaded\":{\"oneof\":[\"executableDownloaded\"]},\"_created\":{\"oneof\":[\"created\"]},\"_started\":{\"oneof\":[\"started\"]},\"_stopped\":{\"oneof\":[\"stopped\"]},\"_lastPingTime\":{\"oneof\":[\"lastPingTime\"]},\"_exitCode\":{\"oneof\":[\"exitCode\"]},\"_errorMessage\":{\"oneof\":[\"errorMessage\"]}},\"fields\":{\"pid\":{\"type\":\"int64\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":null},\"executableDownloaded\":{\"type\":\"google.protobuf.Timestamp\",\"id\":10,\"options\":{\"proto3_optional\":true},\"comment\":null},\"created\":{\"type\":\"google.protobuf.Timestamp\",\"id\":11,\"options\":{\"proto3_optional\":true},\"comment\":null},\"started\":{\"type\":\"google.protobuf.Timestamp\",\"id\":12,\"options\":{\"proto3_optional\":true},\"comment\":null},\"stopped\":{\"type\":\"google.protobuf.Timestamp\",\"id\":13,\"options\":{\"proto3_optional\":true},\"comment\":null},\"lastPingTime\":{\"type\":\"google.protobuf.Timestamp\",\"id\":14,\"options\":{\"proto3_optional\":true},\"comment\":null},\"exitCode\":{\"type\":\"int32\",\"id\":30,\"options\":{\"proto3_optional\":true},\"comment\":null},\"errorMessage\":{\"type\":\"string\",\"id\":31,\"options\":{\"proto3_optional\":true},\"comment\":null},\"cpuUsage\":{\"type\":\"CPUUsage\",\"id\":40,\"comment\":null},\"memoryUsage\":{\"type\":\"MemoryUsage\",\"id\":41,\"comment\":null},\"diskUsage\":{\"type\":\"DiskUsage\",\"id\":42,\"comment\":null},\"networkUsage\":{\"type\":\"NetworkUsage\",\"id\":43,\"comment\":null},\"echo\":{\"type\":\"Echo\",\"id\":44,\"comment\":null}},\"nested\":{\"CPUUsage\":{\"fields\":{\"cores\":{\"type\":\"double\",\"id\":1,\"comment\":null}},\"comment\":null},\"DiskUsage\":{\"fields\":{\"bytes\":{\"type\":\"int64\",\"id\":1,\"comment\":null}},\"comment\":null},\"Echo\":{\"fields\":{},\"comment\":\"Echo stats.\"},\"MemoryUsage\":{\"fields\":{\"bytes\":{\"type\":\"int64\",\"id\":1,\"comment\":null}},\"comment\":null},\"NetworkUsage\":{\"fields\":{},\"comment\":null}},\"comment\":null}},\"comment\":null},\"BotConfig\":{\"fields\":{\"spec\":{\"type\":\"Bot.Spec.Echo\",\"id\":1,\"comment\":null},\"clientConfig\":{\"type\":\"dxos.config.Config\",\"id\":2,\"comment\":null}},\"comment\":null},\"BotController\":{\"methods\":{\"Query\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"QueryResponse\",\"comment\":\"Enumerate all services.\"},\"Describe\":{\"requestType\":\"ServiceRequest\",\"responseType\":\"Bot\",\"comment\":\"Query information about a specific service\"},\"Create\":{\"requestType\":\"CreateRequest\",\"responseType\":\"Progress\",\"responseStream\":true,\"comment\":\"Create a new service.\"},\"Remove\":{\"requestType\":\"ServiceRequest\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"Remove a service with its identity and persistent storage.\"},\"Start\":{\"requestType\":\"ServiceRequest\",\"responseType\":\"Progress\",\"responseStream\":true,\"comment\":\"Start the bot.\"},\"Stop\":{\"requestType\":\"ServiceRequest\",\"responseType\":\"Progress\",\"responseStream\":true,\"comment\":\"Start the bot.\"},\"Restart\":{\"requestType\":\"ServiceRequest\",\"responseType\":\"Progress\",\"responseStream\":true,\"comment\":\"Start the bot.\"},\"Call\":{\"requestType\":\"Request\",\"responseType\":\"Reply\",\"responseStream\":true,\"comment\":\"Issue an RPC request to the bot instance.\"}},\"comment\":\"Exposed by bot controller to clients. Allows creation and management of bots.\"},\"BotHost\":{\"methods\":{\"GetConfig\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"BotConfig\",\"comment\":null},\"SendReport\":{\"requestType\":\"Report\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null}},\"comment\":\"Internal service exposed by bot controller to the bot.\"},\"BotService\":{\"methods\":{\"Call\":{\"requestType\":\"Request\",\"responseType\":\"Reply\",\"responseStream\":true,\"comment\":\"Issue an RPC request to the bot instance.\"},\"Healthcheck\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"google.protobuf.Empty\",\"comment\":\"Called by the bot controller to verify that the bot is functional.\"}},\"comment\":\"Internal service exposed by bot to the bot controller.\"},\"CreateRequest\":{\"oneofs\":{\"_desiredState\":{\"oneof\":[\"desiredState\"]}},\"fields\":{\"spec\":{\"type\":\"Bot.Spec\",\"id\":1,\"comment\":null},\"desiredState\":{\"type\":\"State\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"comment\":null},\"Progress\":{\"fields\":{\"state\":{\"type\":\"Bot\",\"id\":1,\"comment\":null}},\"comment\":null},\"QueryResponse\":{\"fields\":{\"services\":{\"rule\":\"repeated\",\"type\":\"Bot\",\"id\":1,\"comment\":null}},\"comment\":null},\"Reply\":{\"fields\":{\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":1,\"comment\":null}},\"comment\":null},\"Report\":{\"oneofs\":{\"_identityKey\":{\"oneof\":[\"identityKey\"]}},\"fields\":{\"identityKey\":{\"type\":\"bytes\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":\"Identity key of the bot profile.\"}},\"comment\":null},\"Request\":{\"fields\":{\"serviceId\":{\"type\":\"bytes\",\"id\":1,\"comment\":null},\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":2,\"comment\":null}},\"comment\":null},\"ServiceRequest\":{\"fields\":{\"serviceId\":{\"type\":\"bytes\",\"id\":1,\"comment\":null}},\"comment\":null},\"State\":{\"values\":{\"INVALID\":0,\"STOPPED\":1,\"STARTING\":2,\"RUNNING\":3,\"FAILING\":4},\"comment\":null,\"comments\":{\"INVALID\":null,\"STOPPED\":null,\"STARTING\":null,\"RUNNING\":null,\"FAILING\":null}}}}}},\"type\":{\"nested\":{\"App\":{\"oneofs\":{\"_version\":{\"oneof\":[\"version\"]},\"_license\":{\"oneof\":[\"license\"]},\"_bundle\":{\"oneof\":[\"bundle\"]},\"kind\":{\"oneof\":[\"web\"],\"comment\":null},\"_extension\":{\"oneof\":[\"extension\"]}},\"fields\":{\"version\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":\"Optional **semver 2.0** compliant record version.\\nShould conform to the semver regex (see https://semver.org/).\"},\"license\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":null},\"repos\":{\"rule\":\"repeated\",\"type\":\"Repo\",\"id\":3,\"comment\":null},\"bundle\":{\"type\":\"bytes\",\"id\":4,\"options\":{\"proto3_optional\":true},\"comment\":\"App bundle content Id in the CID v0 format (https://docs.ipfs.io/concepts/content-addressing/#identifier-formats).\"},\"web\":{\"type\":\"Web\",\"id\":100,\"comment\":null},\"extension\":{\"type\":\"dxos.registry.Record.Extension\",\"id\":200,\"options\":{\"proto3_optional\":true},\"comment\":null}},\"nested\":{\"Web\":{\"oneofs\":{\"_indexFile\":{\"oneof\":[\"indexFile\"]},\"_entryPoint\":{\"oneof\":[\"entryPoint\"]}},\"fields\":{\"indexFile\":{\"type\":\"string\",\"id\":1,\"options\":{\"proto3_optional\":true},\"comment\":\"Relative path in resource to entrypoint, defaults to index.html.\"},\"entryPoint\":{\"type\":\"string\",\"id\":2,\"options\":{\"proto3_optional\":true},\"comment\":\"Relative path in resource to entrypoint, defaults to main.js.\"}},\"comment\":null}},\"comment\":null},\"AppServer\":{\"fields\":{\"url\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"extension\":{\"type\":\"dxos.registry.Record.Extension\",\"id\":100,\"comment\":null}},\"comment\":null},\"Bot\":{\"fields\":{\"version\":{\"type\":\"string\",\"id\":1,\"comment\":\"Optional **semver 2.0** compliant record version.\\nShould conform to the semver regex (see https://semver.org/).\"},\"license\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"repos\":{\"rule\":\"repeated\",\"type\":\"Repo\",\"id\":3,\"comment\":null},\"bundle\":{\"type\":\"bytes\",\"id\":4,\"comment\":\"Bot bundle content Id in the CID v0 format (https://docs.ipfs.io/concepts/content-addressing/#identifier-formats).\"},\"localPath\":{\"type\":\"string\",\"id\":5,\"comment\":\"This would be the path to the bot executable in bot-factory's file-system.\"},\"extension\":{\"type\":\"dxos.registry.Record.Extension\",\"id\":100,\"comment\":null}},\"comment\":null},\"BotFactory\":{\"fields\":{\"topic\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"extension\":{\"type\":\"dxos.registry.Record.Extension\",\"id\":100,\"comment\":null}},\"comment\":null},\"File\":{\"fields\":{\"contentType\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"fileName\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"bundle\":{\"type\":\"bytes\",\"id\":3,\"comment\":\"File content Id in the CID v0 format (https://docs.ipfs.io/concepts/content-addressing/#identifier-formats).\"},\"extension\":{\"type\":\"dxos.registry.Record.Extension\",\"id\":100,\"comment\":null}},\"comment\":null},\"IPFS\":{\"fields\":{\"protocol\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"addresses\":{\"rule\":\"repeated\",\"type\":\"string\",\"id\":2,\"comment\":null},\"extension\":{\"type\":\"dxos.registry.Record.Extension\",\"id\":100,\"comment\":null}},\"comment\":null},\"KUBE\":{\"fields\":{\"url\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"extension\":{\"type\":\"dxos.registry.Record.Extension\",\"id\":100,\"comment\":null}},\"comment\":null},\"Repo\":{\"fields\":{\"name\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"url\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"version\":{\"type\":\"string\",\"id\":3,\"comment\":null}},\"comment\":null},\"Service\":{\"fields\":{\"type\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"kube\":{\"type\":\"bytes\",\"id\":2,\"comment\":null},\"extension\":{\"type\":\"dxos.registry.Record.Extension\",\"id\":100,\"comment\":null}},\"comment\":null},\"Signal\":{\"fields\":{\"bootstrap\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"url\":{\"type\":\"string\",\"id\":2,\"comment\":null},\"extension\":{\"type\":\"dxos.registry.Record.Extension\",\"id\":100,\"comment\":null}},\"comment\":null},\"StateMachine\":{\"fields\":{\"mutationProtobufDefs\":{\"type\":\"string\",\"id\":1,\"comment\":\"Set of protobuf messages encoded in JSON.\"},\"snapshotProtobufDefs\":{\"type\":\"string\",\"id\":2,\"comment\":\"Set of protobuf messages encoded in JSON.\"},\"codeIpfsCid\":{\"type\":\"bytes\",\"id\":3,\"comment\":null}},\"comment\":null}}}}},\"example\":{\"nested\":{\"testing\":{\"nested\":{\"data\":{\"nested\":{\"TestItemMutation\":{\"fields\":{\"key\":{\"type\":\"string\",\"id\":1,\"comment\":null},\"value\":{\"type\":\"string\",\"id\":2,\"comment\":null}},\"comment\":null},\"TestItemSnapshot\":{\"fields\":{\"keys\":{\"rule\":\"repeated\",\"type\":\"TestItemMutation\",\"id\":1,\"comment\":null}},\"comment\":null},\"TestListMutation\":{\"fields\":{\"data\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null}}},\"rpc\":{\"nested\":{\"MessageWithAny\":{\"fields\":{\"payload\":{\"type\":\"google.protobuf.Any\",\"id\":1,\"comment\":null}},\"comment\":null},\"PingReponse\":{\"fields\":{\"nonce\":{\"type\":\"int32\",\"id\":1,\"comment\":null}},\"comment\":null},\"PingRequest\":{\"fields\":{\"nonce\":{\"type\":\"int32\",\"id\":1,\"comment\":null}},\"comment\":null},\"PingService\":{\"methods\":{\"Ping\":{\"requestType\":\"PingRequest\",\"responseType\":\"PingReponse\",\"comment\":null}},\"comment\":null},\"TestAnyService\":{\"methods\":{\"TestCall\":{\"requestType\":\"MessageWithAny\",\"responseType\":\"MessageWithAny\",\"comment\":null}},\"comment\":null},\"TestRpcRequest\":{\"fields\":{\"data\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"TestRpcResponse\":{\"fields\":{\"data\":{\"type\":\"string\",\"id\":1,\"comment\":null}},\"comment\":null},\"TestService\":{\"methods\":{\"TestCall\":{\"requestType\":\"TestRpcRequest\",\"responseType\":\"TestRpcResponse\",\"comment\":null},\"VoidCall\":{\"requestType\":\"google.protobuf.Empty\",\"responseType\":\"google.protobuf.Empty\",\"comment\":null}},\"comment\":null},\"TestStreamService\":{\"methods\":{\"TestCall\":{\"requestType\":\"TestRpcRequest\",\"responseType\":\"TestRpcResponse\",\"responseStream\":true,\"comment\":null}},\"comment\":null}}}}}}},\"google\":{\"nested\":{\"protobuf\":{\"nested\":{\"Any\":{\"fields\":{\"type_url\":{\"type\":\"string\",\"id\":1},\"value\":{\"type\":\"bytes\",\"id\":2}},\"comment\":null},\"BoolValue\":{\"fields\":{\"value\":{\"type\":\"bool\",\"id\":1}},\"comment\":null},\"BytesValue\":{\"fields\":{\"value\":{\"type\":\"bytes\",\"id\":1}},\"comment\":null},\"DoubleValue\":{\"fields\":{\"value\":{\"type\":\"double\",\"id\":1}},\"comment\":null},\"Empty\":{\"fields\":{},\"comment\":null},\"FloatValue\":{\"fields\":{\"value\":{\"type\":\"float\",\"id\":1}},\"comment\":null},\"Int32Value\":{\"fields\":{\"value\":{\"type\":\"int32\",\"id\":1}},\"comment\":null},\"Int64Value\":{\"fields\":{\"value\":{\"type\":\"int64\",\"id\":1}},\"comment\":null},\"StringValue\":{\"fields\":{\"value\":{\"type\":\"string\",\"id\":1}},\"comment\":null},\"Timestamp\":{\"fields\":{\"seconds\":{\"type\":\"int64\",\"id\":1},\"nanos\":{\"type\":\"int32\",\"id\":2}},\"comment\":null},\"UInt32Value\":{\"fields\":{\"value\":{\"type\":\"uint32\",\"id\":1}},\"comment\":null},\"UInt64Value\":{\"fields\":{\"value\":{\"type\":\"uint64\",\"id\":1}},\"comment\":null}}}}}}}");
10
+ exports.schema = codec_protobuf_1.Schema.fromJson(exports.schemaJson, substitutions_1.default);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/proto/gen/index.ts"],"names":[],"mappings":";;;;;;AAAA,yDAA8C;AAyC9C,qEAA6C;AAsVhC,QAAA,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,i67GAAi67G,CAAC,CAAC;AAC377G,QAAA,MAAM,GAAG,uBAAM,CAAC,QAAQ,CAAkB,kBAAU,EAAE,uBAAa,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { schema, schemaJson, TYPES } from './gen';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/proto/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.schemaJson = exports.schema = void 0;
7
+ var gen_1 = require("./gen");
8
+ Object.defineProperty(exports, "schema", { enumerable: true, get: function () { return gen_1.schema; } });
9
+ Object.defineProperty(exports, "schemaJson", { enumerable: true, get: function () { return gen_1.schemaJson; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/proto/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,6BAAkD;AAAzC,6FAAA,MAAM,OAAA;AAAE,iGAAA,UAAU,OAAA"}
@@ -0,0 +1,60 @@
1
+ import { PublicKey } from '@dxos/keys';
2
+ import { Timeframe } from '@dxos/timeframe';
3
+ export declare const substitutions: {
4
+ 'dxos.keys.PublicKey': {
5
+ encode: (value: PublicKey) => {
6
+ data: Uint8Array;
7
+ };
8
+ decode: (value: any) => PublicKey;
9
+ };
10
+ 'dxos.keys.PrivateKey': {
11
+ encode: (value: Buffer) => {
12
+ data: Uint8Array;
13
+ };
14
+ decode: (value: any) => Buffer;
15
+ };
16
+ 'dxos.echo.timeframe.TimeframeVector': {
17
+ encode: (timeframe: Timeframe) => {
18
+ frames: {
19
+ feedKey: Uint8Array;
20
+ seq: number;
21
+ }[];
22
+ };
23
+ decode: (vector: any) => Timeframe;
24
+ };
25
+ };
26
+ declare const _default: {
27
+ 'google.protobuf.Timestamp': {
28
+ encode: (value: Date) => any;
29
+ decode: (value: any) => Date;
30
+ };
31
+ 'dxos.keys.PublicKey': {
32
+ encode: (value: PublicKey) => {
33
+ data: Uint8Array;
34
+ };
35
+ decode: (value: any) => PublicKey;
36
+ };
37
+ 'dxos.keys.PrivateKey': {
38
+ encode: (value: Buffer) => {
39
+ data: Uint8Array;
40
+ };
41
+ decode: (value: any) => Buffer;
42
+ };
43
+ 'dxos.echo.timeframe.TimeframeVector': {
44
+ encode: (timeframe: Timeframe) => {
45
+ frames: {
46
+ feedKey: Uint8Array;
47
+ seq: number;
48
+ }[];
49
+ };
50
+ decode: (vector: any) => Timeframe;
51
+ };
52
+ 'google.protobuf.Any': {
53
+ encode: (value: {
54
+ '@type': string;
55
+ }, schema: import("@dxos/codec-protobuf").Schema<any, {}>, options: import("@dxos/codec-protobuf").EncodingOptions) => any;
56
+ decode: (value: any, schema: import("@dxos/codec-protobuf").Schema<any, {}>, options: import("@dxos/codec-protobuf").EncodingOptions) => any;
57
+ };
58
+ };
59
+ export default _default;
60
+ //# sourceMappingURL=substitutions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"substitutions.d.ts","sourceRoot":"","sources":["../../../src/proto/substitutions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,eAAO,MAAM,aAAa;;wBAEN,SAAS;;;wBACT,GAAG;;;wBAKH,MAAM;;;wBACN,GAAG;;;4BAIC,SAAS;;;;;;yBAIZ,GAAG;;CAOvB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,wBAIE"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.substitutions = void 0;
7
+ const codec_protobuf_1 = require("@dxos/codec-protobuf");
8
+ const keys_1 = require("@dxos/keys");
9
+ const timeframe_1 = require("@dxos/timeframe");
10
+ exports.substitutions = {
11
+ 'dxos.keys.PublicKey': {
12
+ encode: (value) => ({ data: value.asUint8Array() }),
13
+ decode: (value) => keys_1.PublicKey.from(new Uint8Array(value.data))
14
+ },
15
+ // TODO(dmaretskyi): Shouldn't be substituted to PublicKey.
16
+ 'dxos.keys.PrivateKey': {
17
+ encode: (value) => ({ data: new Uint8Array(value) }),
18
+ decode: (value) => keys_1.PublicKey.from(new Uint8Array(value.data)).asBuffer()
19
+ },
20
+ 'dxos.echo.timeframe.TimeframeVector': {
21
+ encode: (timeframe) => ({
22
+ frames: timeframe.frames().map(([feedKey, seq]) => ({ feedKey: feedKey.asUint8Array(), seq }))
23
+ }),
24
+ decode: (vector) => {
25
+ var _a;
26
+ return new timeframe_1.Timeframe(((_a = vector.frames) !== null && _a !== void 0 ? _a : [])
27
+ .filter((frame) => frame.feedKey != null && frame.seq != null)
28
+ .map((frame) => [keys_1.PublicKey.from(new Uint8Array(frame.feedKey)), frame.seq]));
29
+ }
30
+ }
31
+ };
32
+ exports.default = {
33
+ ...codec_protobuf_1.anySubstitutions,
34
+ ...exports.substitutions,
35
+ ...codec_protobuf_1.timestampSubstitutions
36
+ };
37
+ //# sourceMappingURL=substitutions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"substitutions.js","sourceRoot":"","sources":["../../../src/proto/substitutions.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,yDAAgF;AAChF,qCAAuC;AACvC,+CAA4C;AAE/B,QAAA,aAAa,GAAG;IAC3B,qBAAqB,EAAE;QACrB,MAAM,EAAE,CAAC,KAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC;QAC9D,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,gBAAS,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACnE;IAED,2DAA2D;IAC3D,sBAAsB,EAAE;QACtB,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,gBAAS,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC9E;IAED,qCAAqC,EAAE;QACrC,MAAM,EAAE,CAAC,SAAoB,EAAE,EAAE,CAAC,CAAC;YACjC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;SAC/F,CAAC;QAEF,MAAM,EAAE,CAAC,MAAW,EAAE,EAAE;;YACtB,OAAA,IAAI,qBAAS,CACX,CAAC,MAAA,MAAM,CAAC,MAAM,mCAAI,EAAE,CAAC;iBAClB,MAAM,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC;iBAClE,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,gBAAS,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CACnF,CAAA;SAAA;KACJ;CACF,CAAC;AAEF,kBAAe;IACb,GAAG,iCAAgB;IACnB,GAAG,qBAAa;IAChB,GAAG,uCAAsB;CAC1B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Timeframe } from '@dxos/timeframe';
2
+ import type { FeedMessage } from './proto/gen/dxos/echo/feed';
3
+ import { ItemID } from './types';
4
+ export declare const createTestItemMutation: (itemId: ItemID, key: string, value: string, timeframe?: Timeframe) => FeedMessage;
5
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAOjC,eAAO,MAAM,sBAAsB,WACzB,MAAM,OACT,MAAM,SACJ,MAAM,4BAEZ,WAOD,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2020 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createTestItemMutation = void 0;
7
+ const timeframe_1 = require("@dxos/timeframe");
8
+ const proto_1 = require("./proto");
9
+ //
10
+ // Testing.
11
+ //
12
+ // TODO(burdon): Move to testing package (with other fakers, etc.)
13
+ const createTestItemMutation = (itemId, key, value, timeframe = new timeframe_1.Timeframe()) => ({
14
+ timeframe,
15
+ payload: {
16
+ '@type': 'dxos.echo.feed.EchoEnvelope',
17
+ itemId,
18
+ mutation: proto_1.schema.getCodecForType('example.testing.data.TestItemMutation').encode({ key, value })
19
+ }
20
+ });
21
+ exports.createTestItemMutation = createTestItemMutation;
22
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,+CAA4C;AAE5C,mCAAiC;AAIjC,EAAE;AACF,WAAW;AACX,EAAE;AAEF,kEAAkE;AAC3D,MAAM,sBAAsB,GAAG,CACpC,MAAc,EACd,GAAW,EACX,KAAa,EACb,SAAS,GAAG,IAAI,qBAAS,EAAE,EACd,EAAE,CAAC,CAAC;IACjB,SAAS;IACT,OAAO,EAAE;QACP,OAAO,EAAE,6BAA6B;QACtC,MAAM;QACN,QAAQ,EAAE,cAAM,CAAC,eAAe,CAAC,uCAAuC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;KACjG;CACF,CAAC,CAAC;AAZU,QAAA,sBAAsB,0BAYhC"}