@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,294 @@
1
+ //
2
+ // Copyright 2021 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ import "dxos/devtools/swarmLog.proto";
8
+
9
+ import "dxos/echo/timeframe.proto";
10
+ import "google/protobuf/empty.proto";
11
+
12
+ import "dxos/echo/feed.proto";
13
+ import "dxos/echo/snapshot.proto";
14
+ import "dxos/halo/keys.proto";
15
+ import "dxos/halo/signed.proto";
16
+ import "dxos/keys.proto";
17
+ import "dxos/rpc.proto";
18
+
19
+ package dxos.devtools.host;
20
+
21
+ //
22
+ // DevtoolsHost
23
+ //
24
+
25
+ service DevtoolsHost {
26
+ //
27
+ // General
28
+ //
29
+
30
+ // Subscribe to server-to-client events.
31
+ rpc Events(google.protobuf.Empty) returns (stream Event);
32
+
33
+ // Get client config.
34
+ rpc GetConfig(google.protobuf.Empty) returns (GetConfigResponse);
35
+
36
+ rpc ResetStorage(ResetStorageRequest) returns (google.protobuf.Empty);
37
+
38
+ rpc EnableDebugLogging(EnableDebugLoggingRequest) returns (EnableDebugLoggingResponse);
39
+ rpc DisableDebugLogging(EnableDebugLoggingRequest) returns (EnableDebugLoggingResponse);
40
+
41
+ //
42
+ // HALO
43
+ //
44
+
45
+ rpc SubscribeToKeyringKeys(SubscribeToKeyringKeysRequest) returns (stream SubscribeToKeyringKeysResponse);
46
+
47
+ rpc SubscribeToCredentialMessages(SubscribeToCredentialMessagesRequest) returns (stream SubscribeToCredentialMessagesResponse);
48
+
49
+ //
50
+ // ECHO
51
+ //
52
+
53
+ rpc SubscribeToParties(SubscribeToPartiesRequest) returns (stream SubscribeToPartiesResponse);
54
+ rpc SubscribeToItems(SubscribeToItemsRequest) returns (stream SubscribeToItemsResponse);
55
+ rpc SubscribeToFeeds(SubscribeToFeedsRequest) returns (stream SubscribeToFeedsResponse);
56
+ rpc SubscribeToFeedBlocks(SubscribeToFeedBlocksRequest) returns (stream SubscribeToFeedBlocksResponse);
57
+
58
+ rpc GetPartySnapshot(GetPartySnapshotRequest) returns (GetPartySnapshotResponse);
59
+ rpc SavePartySnapshot(SavePartySnapshotRequest) returns (SavePartySnapshotResponse);
60
+ rpc ClearSnapshots(ClearSnapshotsRequest) returns (google.protobuf.Empty);
61
+
62
+ //
63
+ // MESH
64
+ //
65
+
66
+ rpc GetNetworkPeers(GetNetworkPeersRequest) returns (GetNetworkPeersResponse);
67
+ rpc SubscribeToNetworkTopics(google.protobuf.Empty) returns (stream SubscribeToNetworkTopicsResponse);
68
+ rpc SubscribeToSignalStatus(google.protobuf.Empty) returns (stream SubscribeToSignalStatusResponse);
69
+ rpc SubscribeToSignalTrace(google.protobuf.Empty) returns (stream SubscribeToSignalTraceResponse);
70
+ rpc SubscribeToSwarmInfo(SubscribeToSwarmInfoRequest) returns (stream SubscribeToSwarmInfoResponse);
71
+ }
72
+
73
+ message Event {
74
+ oneof payload {
75
+ ReadyEvent ready = 1;
76
+ }
77
+ }
78
+
79
+ message ReadyEvent {}
80
+
81
+ message GetConfigResponse {
82
+ // JSON-encoded configuration object.
83
+ string config = 1;
84
+ }
85
+
86
+ // EnableDebugLogging
87
+
88
+ message EnableDebugLoggingRequest {
89
+ optional string namespaces = 1;
90
+ }
91
+
92
+ message EnableDebugLoggingResponse {
93
+ optional string enabled_namespaces = 1;
94
+ }
95
+
96
+ // DisableDebugLogging
97
+
98
+ message DisableDebugLoggingRequest {
99
+ optional string namespaces = 1;
100
+ }
101
+
102
+ message DisableDebugLoggingResponse {
103
+ optional string enabled_namespaces = 1;
104
+ }
105
+
106
+ // SubscribeToKeyringKeys
107
+
108
+ message SubscribeToKeyringKeysRequest {}
109
+
110
+ message SubscribeToKeyringKeysResponse {
111
+ repeated dxos.halo.keys.KeyRecord keys = 1;
112
+ }
113
+
114
+ // SubscribeToCredential
115
+
116
+ message SubscribeToCredentialMessagesRequest {
117
+ optional dxos.keys.PublicKey party_key = 1;
118
+ }
119
+
120
+ message SubscribeToCredentialMessagesResponse {
121
+ repeated dxos.halo.signed.SignedMessage messages = 1;
122
+ }
123
+
124
+ // ResetStorage
125
+
126
+ message ResetStorageRequest {}
127
+
128
+ // GetNetworkPeers
129
+
130
+ message GetNetworkPeersRequest {
131
+ bytes topic = 1;
132
+ }
133
+
134
+ message GetNetworkPeersResponse {
135
+ message PeerInfo {
136
+ dxos.keys.PublicKey id = 1;
137
+
138
+ // PeerState enum.
139
+ string state = 2;
140
+
141
+ repeated bytes connections = 3;
142
+ }
143
+
144
+ repeated PeerInfo peers = 1;
145
+ }
146
+
147
+ // SubscribeToParties
148
+
149
+ message SubscribeToPartiesRequest {
150
+ repeated dxos.keys.PublicKey party_keys = 1;
151
+ }
152
+
153
+ message SubscribeToPartiesResponse {
154
+ message PartyInfo {
155
+ dxos.keys.PublicKey key = 1;
156
+ bool is_open = 2;
157
+ dxos.echo.timeframe.TimeframeVector timeframe = 3;
158
+ dxos.keys.PublicKey genesisFeed = 4;
159
+ dxos.keys.PublicKey controlFeed = 5;
160
+ dxos.keys.PublicKey dataFeed = 6;
161
+ }
162
+
163
+ repeated PartyInfo parties = 1;
164
+ }
165
+
166
+ // SubscribeToItems
167
+
168
+ message SubscribeToItemsRequest {}
169
+
170
+ message SubscribeToItemsResponse {
171
+ // JSON-encoded payload.
172
+ string data = 1;
173
+ }
174
+
175
+ // SubscribeToFeeds
176
+
177
+ message SubscribeToFeedsRequest {
178
+ repeated dxos.keys.PublicKey feed_keys = 1;
179
+ }
180
+
181
+ message SubscribeToFeedsResponse {
182
+ message Feed {
183
+ dxos.keys.PublicKey feed_key = 1;
184
+ int32 length = 2;
185
+ }
186
+
187
+ repeated Feed feeds = 1;
188
+ }
189
+
190
+ // SubscribeToFeedMessages
191
+
192
+ message SubscribeToFeedBlocksRequest {
193
+ optional dxos.keys.PublicKey party_key = 1;
194
+ optional dxos.keys.PublicKey feed_key = 2;
195
+ optional int32 max_blocks = 3;
196
+ }
197
+
198
+ message SubscribeToFeedBlocksResponse {
199
+ message Block {
200
+ dxos.keys.PublicKey feed_key = 1;
201
+ int32 seq = 2;
202
+ dxos.echo.feed.FeedMessage data = 3;
203
+ }
204
+
205
+ repeated Block blocks = 1;
206
+ }
207
+
208
+ // GetPartySnapshot
209
+
210
+ message GetPartySnapshotRequest {
211
+ dxos.keys.PublicKey party_key = 1;
212
+ }
213
+
214
+ message GetPartySnapshotResponse {
215
+ optional dxos.echo.snapshot.PartySnapshot snapshot = 1;
216
+ }
217
+
218
+ // SavePartySnapshot
219
+
220
+ message SavePartySnapshotRequest {
221
+ dxos.keys.PublicKey party_key = 1;
222
+ }
223
+
224
+ message SavePartySnapshotResponse {
225
+ optional dxos.echo.snapshot.PartySnapshot snapshot = 1;
226
+ }
227
+
228
+ // ClearSnapshots
229
+
230
+ message ClearSnapshotsRequest {}
231
+
232
+ // SubscribeToNetworkTopics
233
+
234
+ message SubscribeToNetworkTopicsResponse {
235
+ message Topic {
236
+ dxos.keys.PublicKey topic = 1;
237
+ optional string label = 2;
238
+ }
239
+
240
+ repeated Topic topics = 1;
241
+ }
242
+
243
+ // SubscribeToSignalStatus
244
+
245
+ message SubscribeToSignalStatusResponse {
246
+ message SignalServer {
247
+ string host = 1;
248
+
249
+ // SignalApi.State enum.
250
+ string state = 2;
251
+
252
+ optional string error = 3;
253
+
254
+ // Number of milliseconds before reconnection.
255
+ // TODO(dmaretskyi): Represent as absolute timestamp.
256
+ int32 reconnect_in = 4;
257
+
258
+ // TODO(dmaretskyi): Change to timestamp.
259
+ int32 connection_started = 5;
260
+ int32 last_state_change = 6;
261
+ }
262
+
263
+ repeated SignalServer servers = 1;
264
+ }
265
+
266
+ // SubscribeToSignalTrace
267
+
268
+ message SubscribeToSignalTraceResponse {
269
+ // JSON-encoded events.
270
+ repeated string events = 1;
271
+ }
272
+
273
+ // SubscribeToSwarmInfo
274
+
275
+ message SubscribeToSwarmInfoRequest {}
276
+
277
+ message SubscribeToSwarmInfoResponse {
278
+ repeated SwarmInfo data = 1;
279
+ }
280
+
281
+ //
282
+ // TracingService
283
+ //
284
+
285
+ service TracingService {
286
+ rpc SetTracingOptions(SetTracingOptionsRequest) returns (google.protobuf.Empty);
287
+ rpc SubscribeToRpcTrace (google.protobuf.Empty) returns (stream dxos.rpc.RpcMessage);
288
+ }
289
+
290
+ // SetTracingOptions
291
+
292
+ message SetTracingOptionsRequest {
293
+ bool enable = 1;
294
+ }
@@ -0,0 +1,32 @@
1
+ //
2
+ // Copyright 2022 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ import "dxos/keys.proto";
8
+
9
+ package dxos.devtools.swarmLog;
10
+
11
+ message SwarmInfo {
12
+ dxos.keys.PublicKey id = 1;
13
+ dxos.keys.PublicKey topic = 2;
14
+ optional string label = 3;
15
+ bool is_active = 4;
16
+ repeated ConnectionInfo connections = 5;
17
+ }
18
+
19
+ message ConnectionInfo {
20
+ string state = 1;
21
+ dxos.keys.PublicKey session_id = 2;
22
+ dxos.keys.PublicKey remote_peer_id = 3;
23
+ optional string transport = 4;
24
+ repeated string protocol_extensions = 5;
25
+ repeated ConnectionEvent events = 6;
26
+ }
27
+
28
+ message ConnectionEvent {
29
+ string type = 1;
30
+ optional string newState = 2;
31
+ optional string error = 3;
32
+ }
@@ -0,0 +1,83 @@
1
+ //
2
+ // Copyright 2020 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ import "google/protobuf/any.proto";
8
+
9
+ import "dxos/halo/credentials.proto";
10
+ import "dxos/echo/snapshot.proto";
11
+ import "dxos/echo/timeframe.proto";
12
+
13
+ // TODO(burdon): Standardize position of "package" (i.e., before/after imports).
14
+ // TODO(burdon): Move Item specific to echo.item?
15
+ package dxos.echo.feed;
16
+
17
+ /**
18
+ * Outer message type decoded by Codec.
19
+ * This is what is written to the feeds.
20
+ */
21
+ message FeedMessage {
22
+ dxos.echo.timeframe.TimeframeVector timeframe = 1;
23
+ google.protobuf.Any payload = 2;
24
+ }
25
+
26
+ /**
27
+ * A container for dxos.credentials.Message
28
+ */
29
+ message CredentialsMessage {
30
+ dxos.halo.credentials.Credential credential = 1;
31
+ }
32
+
33
+ /**
34
+ * Wrapper for all ECHO messages.
35
+ */
36
+ // TODO(burdon): Reconcile with HaloMessage (and other "Message" types).
37
+ message EchoEnvelope {
38
+ string item_id = 1;
39
+
40
+ // Create item.
41
+ optional ItemGenesis genesis = 10;
42
+
43
+ // Item system mutations.
44
+ optional ItemMutation item_mutation = 11;
45
+
46
+ // Model-specific mutations.
47
+ optional bytes mutation = 12;
48
+
49
+ /// Set the model to the provided snapshot.
50
+ optional snapshot.ModelSnapshot snapshot = 13;
51
+ }
52
+
53
+ // TODO(burdon): Document (different from parent/child).?
54
+ // TODO(dmaretskyi): Refactor so that entity mutation message is oneof between item mutation and link mutation: items have parents, and links have from/to.
55
+ message LinkData {
56
+ string source = 1;
57
+ string target = 2;
58
+ }
59
+
60
+ /**
61
+ * Item creation.
62
+ */
63
+ // TODO(burdon): EntityGenesis?
64
+ message ItemGenesis {
65
+ optional string item_type = 1;
66
+ string model_type = 2;
67
+ optional string model_version = 3;
68
+ optional LinkData link = 4;
69
+ }
70
+
71
+ /**
72
+ * Item mutation.
73
+ */
74
+ message ItemMutation {
75
+ enum Action {
76
+ NOOP = 0;
77
+ DELETE = 1;
78
+ RESTORE = 2;
79
+ }
80
+
81
+ optional string parent_id = 1; // TODO(burdon): Define Action type?
82
+ optional Action action = 2;
83
+ }
@@ -0,0 +1,51 @@
1
+ //
2
+ // Copyright 2021 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ import "google/protobuf/timestamp.proto";
8
+
9
+ import "dxos/echo/timeframe.proto";
10
+ import "dxos/halo/credentials.proto";
11
+ import "dxos/keys.proto";
12
+
13
+ package dxos.echo.metadata;
14
+
15
+ message EchoMetadata {
16
+ /**
17
+ * Version number that is inceremnted every time there's a breaking change to the storage schema.
18
+ * This is used to detect if the storage schema has changed since the last time the client was run.
19
+ * Loading data from a different version will might result in an error.
20
+ */
21
+ int32 version = 1;
22
+
23
+ google.protobuf.Timestamp created = 2;
24
+ google.protobuf.Timestamp updated = 3;
25
+
26
+ // TODO(dmaretskyi): Store the device key associated with the identity.
27
+ optional dxos.halo.credentials.IdentityRecord identity = 10;
28
+
29
+ /// List of the data parties.
30
+ repeated PartyMetadata parties = 11;
31
+ }
32
+
33
+ // TODO(dmaretskyi): Cleanup numbering.
34
+ message PartyMetadata {
35
+ /// Party key.
36
+ dxos.keys.PublicKey key = 1;
37
+
38
+ optional dxos.keys.PublicKey genesis_feed_key = 6;
39
+
40
+ /// Key of the wriatable control feed.
41
+ optional dxos.keys.PublicKey control_feed_key = 4;
42
+
43
+ /// List of all feed associated with the party.
44
+ repeated dxos.keys.PublicKey feed_keys = 2;
45
+
46
+ /// Key of the wriatable data feed.
47
+ optional dxos.keys.PublicKey data_feed_key = 3;
48
+
49
+ // Latest timeframe reached while processing party messages.
50
+ optional timeframe.TimeframeVector latest_timeframe = 5;
51
+ }
@@ -0,0 +1,13 @@
1
+ //
2
+ // Copyright 2020 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ package dxos.echo.model.messenger;
8
+
9
+ message Message {
10
+ string timestamp = 1;
11
+ string text = 2;
12
+ string sender = 3;
13
+ }
@@ -0,0 +1,123 @@
1
+ //
2
+ // Copyright 2020 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ package dxos.echo.model.object;
8
+
9
+ //
10
+ // Object mutation messages.
11
+ // https://developers.google.com/protocol-buffers/docs/proto#updating
12
+ // https://developers.google.com/protocol-buffers/docs/proto3#json
13
+ //
14
+
15
+ /**
16
+ * Generic value.
17
+ */
18
+ message Value {
19
+ oneof Type {
20
+ bool null = 1; // Explicit null vs undefined.
21
+
22
+ bool bool = 2;
23
+ int64 int = 3;
24
+ float float = 4;
25
+ string string = 5;
26
+
27
+ string timestamp = 10; // https://en.wikipedia.org/wiki/Unix_time
28
+ string datetime = 11; // https://en.wikipedia.org/wiki/ISO_8601 (e.g., "2019-10-25T18:48:16Z")
29
+ bytes bytes = 12;
30
+
31
+ KeyValueObject object = 20;
32
+ Array array = 21;
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Ordered collection of values.
38
+ */
39
+ message Array {
40
+ repeated Value values = 1;
41
+ }
42
+
43
+ /**
44
+ * Key x Value tuple.
45
+ */
46
+ message KeyValue {
47
+ string key = 1;
48
+ Value value = 2;
49
+ }
50
+
51
+ /**
52
+ * Object data definition.
53
+ */
54
+ message KeyValueObject {
55
+ repeated KeyValue properties = 1;
56
+ }
57
+
58
+ /**
59
+ * Query predicate.
60
+ */
61
+ message Predicate {
62
+ enum Operation {
63
+ OR = 0;
64
+ AND = 1;
65
+ NOT = 2; // === NOT AND (NAND)
66
+
67
+ IN = 10;
68
+ EQUALS = 11; // Exact
69
+ GTE = 12;
70
+ GT = 13;
71
+ LTE = 14;
72
+ LT = 15;
73
+
74
+ PREFIX_MATCH = 20; // String prefix (case insensitive).
75
+ TEXT_MATCH = 21; // Simple prefix word match.
76
+ }
77
+
78
+ Operation op = 1;
79
+ optional string key = 2;
80
+ optional Value value = 3;
81
+ repeated Predicate predicates = 4;
82
+ }
83
+
84
+ /**
85
+ * Query.
86
+ */
87
+ message Query {
88
+ Predicate root = 1;
89
+ }
90
+
91
+ // TODO(burdon): Decide on names: Entity/Item/Object, etc.
92
+
93
+ /**
94
+ * State snapshot.
95
+ */
96
+ message ObjectSnapshot {
97
+ Value root = 1;
98
+ }
99
+
100
+ /**
101
+ * Atomic mutation.
102
+ */
103
+ message ObjectMutation {
104
+ enum Operation {
105
+ SET = 0; // Default.
106
+ DELETE = 1;
107
+ ARRAY_PUSH = 2; // TODO(burdon): Is it possible to delete an array value (which one?)
108
+ // ARRAY_DELETE = 3; // TODO(burdon): Identify by value.
109
+ SET_ADD = 4; // TODO(burdon): Identify by value.
110
+ SET_DELETE = 5;
111
+ }
112
+
113
+ Operation operation = 1;
114
+ string key = 2;
115
+ optional Value value = 3;
116
+ }
117
+
118
+ /**
119
+ * Set of mutations.
120
+ */
121
+ message ObjectMutationSet {
122
+ repeated ObjectMutation mutations = 1;
123
+ }
@@ -0,0 +1,16 @@
1
+ //
2
+ // Copyright 2020 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ package dxos.echo.model.text;
8
+
9
+ message Mutation {
10
+ bytes update = 1;
11
+ int32 client_id = 2;
12
+ }
13
+
14
+ message Snapshot {
15
+ bytes data = 1;
16
+ }
@@ -0,0 +1,63 @@
1
+ //
2
+ // Copyright 2021 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ import "dxos/echo/feed.proto";
8
+ import "dxos/echo/snapshot.proto";
9
+ import "dxos/echo/timeframe.proto";
10
+ import "dxos/keys.proto";
11
+
12
+ package dxos.echo.service;
13
+
14
+ message SubscribeEntitySetRequest {
15
+ dxos.keys.PublicKey party_key = 1;
16
+ }
17
+
18
+ message SubscribeEntitySetResponse {
19
+ // TODO(dmaretskyi): This is wrong, the first one should use item snapshot, and deleted should be just list of ids.
20
+ repeated feed.EchoEnvelope added = 1;
21
+ repeated feed.EchoEnvelope deleted = 2;
22
+ }
23
+
24
+ message SubscribeEntityStreamRequest {
25
+ dxos.keys.PublicKey party_key = 1;
26
+ string item_id = 2;
27
+ }
28
+
29
+ message SubscribeEntityStreamResponse {
30
+ message Mutation {
31
+ message Metadata {
32
+ dxos.keys.PublicKey feed_key = 1;
33
+ dxos.keys.PublicKey member_key = 2;
34
+ int32 seq = 3;
35
+ timeframe.TimeframeVector timeframe = 4;
36
+ }
37
+
38
+ feed.EchoEnvelope data = 1;
39
+ Metadata meta = 2;
40
+ }
41
+
42
+ oneof kind {
43
+ // TODO(dmaretskyi): Move snapshot into EchoEnvelope?
44
+ snapshot.ItemSnapshot snapshot = 1;
45
+ Mutation mutation = 2;
46
+ }
47
+ }
48
+
49
+ message WriteRequest {
50
+ dxos.keys.PublicKey party_key = 1;
51
+ feed.EchoEnvelope mutation = 2;
52
+ }
53
+
54
+ message MutationReceipt {
55
+ dxos.keys.PublicKey feed_key = 1;
56
+ int32 seq = 2;
57
+ }
58
+
59
+ service DataService {
60
+ rpc SubscribeEntitySet(SubscribeEntitySetRequest) returns (stream SubscribeEntitySetResponse);
61
+ rpc SubscribeEntityStream(SubscribeEntityStreamRequest) returns (stream SubscribeEntityStreamResponse);
62
+ rpc Write(WriteRequest) returns (MutationReceipt); // TODO(burdon): Rename SubmitMutation.
63
+ }