@dxos/protocols 0.1.41 → 0.1.45-next.45667d4

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 (264) hide show
  1. package/dist/cjs/src/codec.test.js +1 -1
  2. package/dist/cjs/src/errors.d.ts +25 -0
  3. package/dist/cjs/src/errors.d.ts.map +1 -0
  4. package/dist/cjs/src/errors.js +78 -0
  5. package/dist/cjs/src/errors.js.map +1 -0
  6. package/dist/cjs/src/index.d.ts +1 -0
  7. package/dist/cjs/src/index.d.ts.map +1 -1
  8. package/dist/cjs/src/index.js +1 -0
  9. package/dist/cjs/src/index.js.map +1 -1
  10. package/dist/cjs/src/proto/gen/dxos/bot.d.ts.map +1 -1
  11. package/dist/cjs/src/proto/gen/dxos/bot.js.map +1 -1
  12. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts +77 -8
  13. package/dist/cjs/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  14. package/dist/cjs/src/proto/gen/dxos/client/services.js +1 -0
  15. package/dist/cjs/src/proto/gen/dxos/client/services.js.map +1 -1
  16. package/dist/cjs/src/proto/gen/dxos/config.d.ts.map +1 -1
  17. package/dist/cjs/src/proto/gen/dxos/config.js.map +1 -1
  18. package/dist/cjs/src/proto/gen/dxos/devtools/host.d.ts +29 -1
  19. package/dist/cjs/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  20. package/dist/cjs/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -1
  21. package/dist/cjs/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  22. package/dist/cjs/src/proto/gen/dxos/echo/metadata.d.ts +15 -1
  23. package/dist/cjs/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  24. package/dist/cjs/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  25. package/dist/cjs/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  26. package/dist/cjs/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -1
  27. package/dist/cjs/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -1
  28. package/dist/cjs/src/proto/gen/dxos/echo/model/text.js.map +1 -1
  29. package/dist/cjs/src/proto/gen/dxos/echo/object.d.ts.map +1 -1
  30. package/dist/cjs/src/proto/gen/dxos/echo/object.js.map +1 -1
  31. package/dist/cjs/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  32. package/dist/cjs/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  33. package/dist/cjs/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  34. package/dist/cjs/src/proto/gen/dxos/error.d.ts +24 -0
  35. package/dist/cjs/src/proto/gen/dxos/error.d.ts.map +1 -0
  36. package/dist/cjs/src/proto/gen/dxos/error.js +3 -0
  37. package/dist/cjs/src/proto/gen/dxos/error.js.map +1 -0
  38. package/dist/cjs/src/proto/gen/dxos/gravity.d.ts.map +1 -1
  39. package/dist/cjs/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -1
  40. package/dist/cjs/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -1
  41. package/dist/cjs/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -1
  42. package/dist/cjs/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -1
  43. package/dist/cjs/src/proto/gen/dxos/halo/credentials.d.ts +28 -0
  44. package/dist/cjs/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  45. package/dist/cjs/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  46. package/dist/cjs/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  47. package/dist/cjs/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  48. package/dist/cjs/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -1
  49. package/dist/cjs/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  50. package/dist/cjs/src/proto/gen/dxos/halo/keys.js.map +1 -1
  51. package/dist/cjs/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  52. package/dist/cjs/src/proto/gen/dxos/iframe.d.ts +7 -9
  53. package/dist/cjs/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  54. package/dist/cjs/src/proto/gen/dxos/iframe.js.map +1 -1
  55. package/dist/cjs/src/proto/gen/dxos/keys.d.ts.map +1 -1
  56. package/dist/cjs/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -1
  57. package/dist/cjs/src/proto/gen/dxos/mesh/bridge.js.map +1 -1
  58. package/dist/cjs/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -1
  59. package/dist/cjs/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -1
  60. package/dist/cjs/src/proto/gen/dxos/mesh/muxer.d.ts.map +1 -1
  61. package/dist/cjs/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -1
  62. package/dist/cjs/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -1
  63. package/dist/cjs/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -1
  64. package/dist/cjs/src/proto/gen/dxos/mesh/signal.d.ts +23 -1
  65. package/dist/cjs/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  66. package/dist/cjs/src/proto/gen/dxos/mesh/signal.js +14 -0
  67. package/dist/cjs/src/proto/gen/dxos/mesh/signal.js.map +1 -1
  68. package/dist/cjs/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  69. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/auth.d.ts.map +1 -1
  70. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/control.d.ts.map +1 -1
  71. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/gossip.d.ts.map +1 -1
  72. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/notarization.d.ts.map +1 -1
  73. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/objectsync.d.ts.map +1 -1
  74. package/dist/cjs/src/proto/gen/dxos/mesh/teleport/replicator.d.ts.map +1 -1
  75. package/dist/cjs/src/proto/gen/dxos/registry.d.ts.map +1 -1
  76. package/dist/cjs/src/proto/gen/dxos/rpc.d.ts +2 -22
  77. package/dist/cjs/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  78. package/dist/cjs/src/proto/gen/dxos/rpc.js.map +1 -1
  79. package/dist/cjs/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  80. package/dist/cjs/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  81. package/dist/cjs/src/proto/gen/dxos/service/supervisor.js.map +1 -1
  82. package/dist/cjs/src/proto/gen/dxos/type.d.ts.map +1 -1
  83. package/dist/cjs/src/proto/gen/example/testing/data.d.ts.map +1 -1
  84. package/dist/cjs/src/proto/gen/example/testing/rpc.d.ts.map +1 -1
  85. package/dist/cjs/src/proto/gen/google/protobuf.d.ts +4 -4
  86. package/dist/cjs/src/proto/gen/google/protobuf.d.ts.map +1 -1
  87. package/dist/cjs/src/proto/gen/google/protobuf.js.map +1 -1
  88. package/dist/cjs/src/proto/gen/index.d.ts +13 -3
  89. package/dist/cjs/src/proto/gen/index.d.ts.map +1 -1
  90. package/dist/cjs/src/proto/gen/index.js +1 -1
  91. package/dist/cjs/src/proto/gen/index.js.map +1 -1
  92. package/dist/cjs/src/proto/substitutions.js +6 -6
  93. package/dist/cjs/src/testing.js +9 -9
  94. package/dist/cjs/src/tracing.d.ts +5 -7
  95. package/dist/cjs/src/tracing.d.ts.map +1 -1
  96. package/dist/cjs/src/tracing.js +11 -11
  97. package/dist/cjs/src/tracing.js.map +1 -1
  98. package/dist/cjs/src/types.d.ts +6 -6
  99. package/dist/cjs/src/types.d.ts.map +1 -1
  100. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  101. package/dist/esm/src/codec.test.js +1 -1
  102. package/dist/esm/src/errors.d.ts +25 -0
  103. package/dist/esm/src/errors.d.ts.map +1 -0
  104. package/dist/esm/src/errors.js +69 -0
  105. package/dist/esm/src/errors.js.map +1 -0
  106. package/dist/esm/src/index.d.ts +1 -0
  107. package/dist/esm/src/index.d.ts.map +1 -1
  108. package/dist/esm/src/index.js +1 -0
  109. package/dist/esm/src/index.js.map +1 -1
  110. package/dist/esm/src/proto/gen/dxos/bot.d.ts.map +1 -1
  111. package/dist/esm/src/proto/gen/dxos/bot.js.map +1 -1
  112. package/dist/esm/src/proto/gen/dxos/client/services.d.ts +77 -8
  113. package/dist/esm/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  114. package/dist/esm/src/proto/gen/dxos/client/services.js +1 -0
  115. package/dist/esm/src/proto/gen/dxos/client/services.js.map +1 -1
  116. package/dist/esm/src/proto/gen/dxos/config.d.ts.map +1 -1
  117. package/dist/esm/src/proto/gen/dxos/config.js.map +1 -1
  118. package/dist/esm/src/proto/gen/dxos/devtools/host.d.ts +29 -1
  119. package/dist/esm/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  120. package/dist/esm/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -1
  121. package/dist/esm/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  122. package/dist/esm/src/proto/gen/dxos/echo/metadata.d.ts +15 -1
  123. package/dist/esm/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  124. package/dist/esm/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  125. package/dist/esm/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  126. package/dist/esm/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -1
  127. package/dist/esm/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -1
  128. package/dist/esm/src/proto/gen/dxos/echo/model/text.js.map +1 -1
  129. package/dist/esm/src/proto/gen/dxos/echo/object.d.ts.map +1 -1
  130. package/dist/esm/src/proto/gen/dxos/echo/object.js.map +1 -1
  131. package/dist/esm/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  132. package/dist/esm/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  133. package/dist/esm/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  134. package/dist/esm/src/proto/gen/dxos/error.d.ts +24 -0
  135. package/dist/esm/src/proto/gen/dxos/error.d.ts.map +1 -0
  136. package/dist/esm/src/proto/gen/dxos/error.js +2 -0
  137. package/dist/esm/src/proto/gen/dxos/error.js.map +1 -0
  138. package/dist/esm/src/proto/gen/dxos/gravity.d.ts.map +1 -1
  139. package/dist/esm/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -1
  140. package/dist/esm/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -1
  141. package/dist/esm/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -1
  142. package/dist/esm/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -1
  143. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts +28 -0
  144. package/dist/esm/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  145. package/dist/esm/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  146. package/dist/esm/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  147. package/dist/esm/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  148. package/dist/esm/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -1
  149. package/dist/esm/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  150. package/dist/esm/src/proto/gen/dxos/halo/keys.js.map +1 -1
  151. package/dist/esm/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  152. package/dist/esm/src/proto/gen/dxos/iframe.d.ts +7 -9
  153. package/dist/esm/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  154. package/dist/esm/src/proto/gen/dxos/iframe.js.map +1 -1
  155. package/dist/esm/src/proto/gen/dxos/keys.d.ts.map +1 -1
  156. package/dist/esm/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -1
  157. package/dist/esm/src/proto/gen/dxos/mesh/bridge.js.map +1 -1
  158. package/dist/esm/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -1
  159. package/dist/esm/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -1
  160. package/dist/esm/src/proto/gen/dxos/mesh/muxer.d.ts.map +1 -1
  161. package/dist/esm/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -1
  162. package/dist/esm/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -1
  163. package/dist/esm/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -1
  164. package/dist/esm/src/proto/gen/dxos/mesh/signal.d.ts +23 -1
  165. package/dist/esm/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  166. package/dist/esm/src/proto/gen/dxos/mesh/signal.js +13 -1
  167. package/dist/esm/src/proto/gen/dxos/mesh/signal.js.map +1 -1
  168. package/dist/esm/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  169. package/dist/esm/src/proto/gen/dxos/mesh/teleport/auth.d.ts.map +1 -1
  170. package/dist/esm/src/proto/gen/dxos/mesh/teleport/control.d.ts.map +1 -1
  171. package/dist/esm/src/proto/gen/dxos/mesh/teleport/gossip.d.ts.map +1 -1
  172. package/dist/esm/src/proto/gen/dxos/mesh/teleport/notarization.d.ts.map +1 -1
  173. package/dist/esm/src/proto/gen/dxos/mesh/teleport/objectsync.d.ts.map +1 -1
  174. package/dist/esm/src/proto/gen/dxos/mesh/teleport/replicator.d.ts.map +1 -1
  175. package/dist/esm/src/proto/gen/dxos/registry.d.ts.map +1 -1
  176. package/dist/esm/src/proto/gen/dxos/rpc.d.ts +2 -22
  177. package/dist/esm/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  178. package/dist/esm/src/proto/gen/dxos/rpc.js.map +1 -1
  179. package/dist/esm/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  180. package/dist/esm/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  181. package/dist/esm/src/proto/gen/dxos/service/supervisor.js.map +1 -1
  182. package/dist/esm/src/proto/gen/dxos/type.d.ts.map +1 -1
  183. package/dist/esm/src/proto/gen/example/testing/data.d.ts.map +1 -1
  184. package/dist/esm/src/proto/gen/example/testing/rpc.d.ts.map +1 -1
  185. package/dist/esm/src/proto/gen/google/protobuf.d.ts +4 -4
  186. package/dist/esm/src/proto/gen/google/protobuf.d.ts.map +1 -1
  187. package/dist/esm/src/proto/gen/google/protobuf.js.map +1 -1
  188. package/dist/esm/src/proto/gen/index.d.ts +13 -3
  189. package/dist/esm/src/proto/gen/index.d.ts.map +1 -1
  190. package/dist/esm/src/proto/gen/index.js +1 -1
  191. package/dist/esm/src/proto/gen/index.js.map +1 -1
  192. package/dist/esm/src/proto/substitutions.js +6 -6
  193. package/dist/esm/src/testing.js +9 -9
  194. package/dist/esm/src/tracing.d.ts +5 -7
  195. package/dist/esm/src/tracing.d.ts.map +1 -1
  196. package/dist/esm/src/tracing.js +11 -11
  197. package/dist/esm/src/tracing.js.map +1 -1
  198. package/dist/esm/src/types.d.ts +6 -6
  199. package/dist/esm/src/types.d.ts.map +1 -1
  200. package/package.json +5 -5
  201. package/src/codec.test.ts +1 -1
  202. package/src/errors.ts +80 -0
  203. package/src/index.ts +1 -0
  204. package/src/proto/dxos/client/services.proto +38 -8
  205. package/src/proto/dxos/devtools/host.proto +21 -2
  206. package/src/proto/dxos/echo/metadata.proto +7 -1
  207. package/src/proto/dxos/error.proto +14 -0
  208. package/src/proto/dxos/halo/credentials.proto +16 -0
  209. package/src/proto/dxos/iframe.proto +2 -5
  210. package/src/proto/dxos/mesh/signal.proto +20 -1
  211. package/src/proto/dxos/rpc.proto +2 -7
  212. package/src/proto/gen/dxos/bot.ts +1 -0
  213. package/src/proto/gen/dxos/client/services.ts +75 -7
  214. package/src/proto/gen/dxos/config.ts +1 -0
  215. package/src/proto/gen/dxos/devtools/host.ts +30 -1
  216. package/src/proto/gen/dxos/devtools/swarm.ts +1 -0
  217. package/src/proto/gen/dxos/echo/feed.ts +1 -0
  218. package/src/proto/gen/dxos/echo/metadata.ts +15 -1
  219. package/src/proto/gen/dxos/echo/model/document.ts +1 -0
  220. package/src/proto/gen/dxos/echo/model/messenger.ts +1 -0
  221. package/src/proto/gen/dxos/echo/model/text.ts +1 -0
  222. package/src/proto/gen/dxos/echo/object.ts +1 -0
  223. package/src/proto/gen/dxos/echo/service.ts +1 -0
  224. package/src/proto/gen/dxos/echo/snapshot.ts +1 -0
  225. package/src/proto/gen/dxos/echo/timeframe.ts +1 -0
  226. package/src/proto/gen/dxos/error.ts +73 -0
  227. package/src/proto/gen/dxos/gravity.ts +1 -0
  228. package/src/proto/gen/dxos/halo/credentials/auth.ts +1 -0
  229. package/src/proto/gen/dxos/halo/credentials/greet.ts +1 -0
  230. package/src/proto/gen/dxos/halo/credentials/identity.ts +1 -0
  231. package/src/proto/gen/dxos/halo/credentials.ts +29 -0
  232. package/src/proto/gen/dxos/halo/invitations.ts +1 -0
  233. package/src/proto/gen/dxos/halo/keyring.ts +1 -0
  234. package/src/proto/gen/dxos/halo/keys.ts +1 -0
  235. package/src/proto/gen/dxos/halo/signed.ts +1 -0
  236. package/src/proto/gen/dxos/iframe.ts +8 -9
  237. package/src/proto/gen/dxos/keys.ts +1 -0
  238. package/src/proto/gen/dxos/mesh/bridge.ts +1 -0
  239. package/src/proto/gen/dxos/mesh/broadcast.ts +1 -0
  240. package/src/proto/gen/dxos/mesh/messaging.ts +1 -0
  241. package/src/proto/gen/dxos/mesh/muxer.ts +1 -0
  242. package/src/proto/gen/dxos/mesh/presence.ts +1 -0
  243. package/src/proto/gen/dxos/mesh/protocol.ts +1 -0
  244. package/src/proto/gen/dxos/mesh/replicator.ts +1 -0
  245. package/src/proto/gen/dxos/mesh/signal.ts +24 -1
  246. package/src/proto/gen/dxos/mesh/swarm.ts +1 -0
  247. package/src/proto/gen/dxos/mesh/teleport/auth.ts +1 -0
  248. package/src/proto/gen/dxos/mesh/teleport/control.ts +1 -0
  249. package/src/proto/gen/dxos/mesh/teleport/gossip.ts +1 -0
  250. package/src/proto/gen/dxos/mesh/teleport/notarization.ts +1 -0
  251. package/src/proto/gen/dxos/mesh/teleport/objectsync.ts +1 -0
  252. package/src/proto/gen/dxos/mesh/teleport/replicator.ts +1 -0
  253. package/src/proto/gen/dxos/registry.ts +1 -0
  254. package/src/proto/gen/dxos/rpc.ts +2 -22
  255. package/src/proto/gen/dxos/service/publisher.ts +1 -0
  256. package/src/proto/gen/dxos/service/supervisor.ts +1 -0
  257. package/src/proto/gen/dxos/type.ts +1 -0
  258. package/src/proto/gen/example/testing/data.ts +1 -0
  259. package/src/proto/gen/example/testing/rpc.ts +1 -0
  260. package/src/proto/gen/google/protobuf.ts +5 -4
  261. package/src/proto/gen/index.ts +14 -4
  262. package/src/proto/substitutions.ts +7 -7
  263. package/src/testing.ts +10 -10
  264. package/src/tracing.ts +12 -12
@@ -7,26 +7,26 @@ import { Timeframe } from '@dxos/timeframe';
7
7
  export const substitutions = {
8
8
  'dxos.keys.PublicKey': {
9
9
  encode: (value) => ({ data: value.asUint8Array() }),
10
- decode: (value) => PublicKey.from(new Uint8Array(value.data))
10
+ decode: (value) => PublicKey.from(new Uint8Array(value.data)),
11
11
  },
12
12
  // TODO(dmaretskyi): Shouldn't be substituted to PublicKey.
13
13
  'dxos.keys.PrivateKey': {
14
14
  encode: (value) => ({ data: new Uint8Array(value) }),
15
- decode: (value) => PublicKey.from(new Uint8Array(value.data)).asBuffer()
15
+ decode: (value) => PublicKey.from(new Uint8Array(value.data)).asBuffer(),
16
16
  },
17
17
  'dxos.echo.timeframe.TimeframeVector': {
18
18
  encode: (timeframe) => ({
19
- frames: timeframe.frames().map(([feedKey, seq]) => ({ feedKey: feedKey.asUint8Array(), seq }))
19
+ frames: timeframe.frames().map(([feedKey, seq]) => ({ feedKey: feedKey.asUint8Array(), seq })),
20
20
  }),
21
21
  decode: (vector) => new Timeframe((vector.frames ?? [])
22
22
  .filter((frame) => frame.feedKey != null && frame.seq != null)
23
- .map((frame) => [PublicKey.from(new Uint8Array(frame.feedKey)), frame.seq]))
24
- }
23
+ .map((frame) => [PublicKey.from(new Uint8Array(frame.feedKey)), frame.seq])),
24
+ },
25
25
  };
26
26
  export default {
27
27
  ...anySubstitutions,
28
28
  ...structSubstitutions,
29
29
  ...substitutions,
30
- ...timestampSubstitutions
30
+ ...timestampSubstitutions,
31
31
  };
32
32
  //# sourceMappingURL=substitutions.js.map
@@ -20,14 +20,14 @@ export const createTestItemMutation = (objectId, key, value, timeframe = new Tim
20
20
  model: {
21
21
  '@type': 'google.protobuf.Any',
22
22
  typeUrl: 'todo',
23
- value: schema.getCodecForType('example.testing.data.TestItemMutation').encode({ key, value })
24
- }
25
- }
26
- ]
27
- }
28
- ]
29
- }
30
- }
31
- }
23
+ value: schema.getCodecForType('example.testing.data.TestItemMutation').encode({ key, value }),
24
+ },
25
+ },
26
+ ],
27
+ },
28
+ ],
29
+ },
30
+ },
31
+ },
32
32
  });
33
33
  //# sourceMappingURL=testing.js.map
@@ -1,9 +1,7 @@
1
- export declare type Command = 'begin' | 'end' | 'update';
2
- export declare type TraceStatus = 'ok' | 'error';
3
- export declare type DataType = {
4
- [key: string]: any;
5
- };
6
- export declare type TracingContext = {
1
+ export type Command = 'begin' | 'end' | 'update';
2
+ export type TraceStatus = 'ok' | 'error';
3
+ export type DataType = Record<string, any>;
4
+ export type TracingContext = {
7
5
  span?: {
8
6
  id: string;
9
7
  command?: Command;
@@ -12,7 +10,7 @@ export declare type TracingContext = {
12
10
  data?: DataType;
13
11
  };
14
12
  };
15
- export declare type Trace = {
13
+ export type Trace = {
16
14
  begin: (opts: {
17
15
  id: string;
18
16
  parentId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/tracing.ts"],"names":[],"mappings":"AAIA,oBAAY,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEjD,oBAAY,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;AAEzC,oBAAY,QAAQ,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE9C,oBAAY,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,oBAAY,KAAK,GAAG;IAClB,KAAK,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAK,cAAc,CAAC;IACpF,GAAG,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAK,cAAc,CAAC;IACxF,MAAM,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,KAAK,cAAc,CAAC;IACjE,KAAK,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAK,cAAc,CAAC;CAChF,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAgDnB,CAAC"}
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/tracing.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE3C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAK,cAAc,CAAC;IACpF,GAAG,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAK,cAAc,CAAC;IACxF,MAAM,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAA;KAAE,KAAK,cAAc,CAAC;IACjE,KAAK,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,KAAK,cAAc,CAAC;CAChF,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAgDnB,CAAC"}
@@ -8,8 +8,8 @@ export const trace = {
8
8
  command: 'begin',
9
9
  id,
10
10
  parent: parentId,
11
- data
12
- }
11
+ data,
12
+ },
13
13
  };
14
14
  },
15
15
  end: ({ id, status, data }) => {
@@ -17,9 +17,9 @@ export const trace = {
17
17
  span: {
18
18
  command: 'end',
19
19
  id,
20
- status,
21
- data
22
- }
20
+ status: status ?? 'ok',
21
+ data,
22
+ },
23
23
  };
24
24
  },
25
25
  update: ({ id, data }) => {
@@ -27,8 +27,8 @@ export const trace = {
27
27
  span: {
28
28
  command: 'update',
29
29
  id,
30
- data
31
- }
30
+ data,
31
+ },
32
32
  };
33
33
  },
34
34
  error: ({ id, error, data }) => {
@@ -41,10 +41,10 @@ export const trace = {
41
41
  errorMessage: error.message,
42
42
  errorName: error.name,
43
43
  errorStack: error.stack,
44
- ...data
45
- }
46
- }
44
+ ...data,
45
+ },
46
+ },
47
47
  };
48
- }
48
+ },
49
49
  };
50
50
  //# sourceMappingURL=tracing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/tracing.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAyBF,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QAChC,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,OAAO;gBAChB,EAAE;gBACF,MAAM,EAAE,QAAQ;gBAChB,IAAI;aACL;SACF,CAAC;IACJ,CAAC;IAED,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QAC5B,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,KAAK;gBACd,EAAE;gBACF,MAAM;gBACN,IAAI;aACL;SACF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACvB,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,QAAQ;gBACjB,EAAE;gBACF,IAAI;aACL;SACF,CAAC;IACJ,CAAC;IAED,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7B,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,KAAK;gBACd,EAAE;gBACF,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE;oBACJ,YAAY,EAAE,KAAK,CAAC,OAAO;oBAC3B,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;oBACvB,GAAG,IAAI;iBACR;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/tracing.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;AAyBF,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QAChC,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,OAAO;gBAChB,EAAE;gBACF,MAAM,EAAE,QAAQ;gBAChB,IAAI;aACL;SACF,CAAC;IACJ,CAAC;IAED,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QAC5B,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,KAAK;gBACd,EAAE;gBACF,MAAM,EAAE,MAAM,IAAI,IAAI;gBACtB,IAAI;aACL;SACF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACvB,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,QAAQ;gBACjB,EAAE;gBACF,IAAI;aACL;SACF,CAAC;IACJ,CAAC;IAED,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QAC7B,OAAO;YACL,IAAI,EAAE;gBACJ,OAAO,EAAE,KAAK;gBACd,EAAE;gBACF,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE;oBACJ,YAAY,EAAE,KAAK,CAAC,OAAO;oBAC3B,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,UAAU,EAAE,KAAK,CAAC,KAAK;oBACvB,GAAG,IAAI;iBACR;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -4,17 +4,17 @@ import { Timeframe } from '@dxos/timeframe';
4
4
  import { TYPES } from './proto';
5
5
  import { FeedMessage, CredentialsMessage } from './proto/gen/dxos/echo/feed';
6
6
  import { EchoObjectBatch } from './proto/gen/dxos/echo/object';
7
- export declare type TypedMessage = TypedProtoMessage<TYPES>;
8
- export declare type FeedMeta = {
7
+ export type TypedMessage = TypedProtoMessage<TYPES>;
8
+ export type FeedMeta = {
9
9
  feedKey: PublicKey;
10
10
  seq: number;
11
11
  };
12
- export declare type FeedBlock<T> = {
12
+ export type FeedBlock<T> = {
13
13
  feedKey: PublicKey;
14
14
  seq: number;
15
15
  data: T;
16
16
  };
17
- export declare type FeedMessageBlock = FeedBlock<FeedMessage>;
17
+ export type FeedMessageBlock = FeedBlock<FeedMessage>;
18
18
  export interface MutationMeta extends FeedMeta {
19
19
  memberKey: PublicKey;
20
20
  }
@@ -29,6 +29,6 @@ export interface IEchoStream {
29
29
  meta: MutationMetaWithTimeframe;
30
30
  batch: EchoObjectBatch;
31
31
  }
32
- export declare type ItemID = string;
33
- export declare type ItemType = string;
32
+ export type ItemID = string;
33
+ export type ItemType = string;
34
34
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,oBAAY,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAGpD,oBAAY,QAAQ,GAAG;IACrB,OAAO,EAAE,SAAS,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,oBAAY,SAAS,CAAC,CAAC,IAAI;IACzB,OAAO,EAAE,SAAS,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,oBAAY,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAEtD,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,yBAA0B,SAAQ,YAAY;IAC7D,SAAS,EAAE,SAAS,CAAC;CACtB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,yBAAyB,CAAC;IAChC,KAAK,EAAE,eAAe,CAAC;CACxB;AAGD,oBAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,oBAAY,QAAQ,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,MAAM,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAGpD,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,SAAS,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IACzB,OAAO,EAAE,SAAS,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;AAEtD,MAAM,WAAW,YAAa,SAAQ,QAAQ;IAC5C,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,yBAA0B,SAAQ,YAAY;IAC7D,SAAS,EAAE,SAAS,CAAC;CACtB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,yBAAyB,CAAC;IAChC,KAAK,EAAE,eAAe,CAAC;CACxB;AAGD,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/protocols",
3
- "version": "0.1.41",
3
+ "version": "0.1.45-next.45667d4",
4
4
  "description": "Protobuf definitions for DXOS protocols.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -33,10 +33,10 @@
33
33
  "src"
34
34
  ],
35
35
  "dependencies": {
36
- "@dxos/codec-protobuf": "0.1.41",
37
- "@dxos/hypercore": "0.1.41",
38
- "@dxos/keys": "0.1.41",
39
- "@dxos/timeframe": "0.1.41"
36
+ "@dxos/codec-protobuf": "0.1.45-next.45667d4",
37
+ "@dxos/hypercore": "0.1.45-next.45667d4",
38
+ "@dxos/keys": "0.1.45-next.45667d4",
39
+ "@dxos/timeframe": "0.1.45-next.45667d4"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/debug": "^4.1.7",
package/src/codec.test.ts CHANGED
@@ -15,7 +15,7 @@ describe('Codec', () => {
15
15
  // TODO(burdon): Test substitutions.
16
16
  const buffer = codec.encode({
17
17
  key: 'key-1',
18
- value: 'value-1'
18
+ value: 'value-1',
19
19
  });
20
20
 
21
21
  const { key, value } = codec.decode(buffer);
package/src/errors.ts ADDED
@@ -0,0 +1,80 @@
1
+ //
2
+ // Copyright 2023 DXOS.org
3
+ //
4
+
5
+ import { Error as SerializedErrorProto } from './proto/gen/dxos/error';
6
+
7
+ export const encodeError = (err: any): SerializedErrorProto => {
8
+ if (typeof err === 'object' && err?.message) {
9
+ return {
10
+ name: err.name,
11
+ message: err.message,
12
+ stack: err.stack,
13
+ };
14
+ } else if (typeof err === 'string') {
15
+ return {
16
+ message: err,
17
+ };
18
+ } else {
19
+ return {
20
+ message: JSON.stringify(err),
21
+ };
22
+ }
23
+ };
24
+
25
+ export type DecodeOptions = {
26
+ appendStack?: string;
27
+ };
28
+
29
+ export const decodeError = (err: SerializedErrorProto, { appendStack }: DecodeOptions = {}): Error => {
30
+ let error: Error;
31
+ switch (err.name) {
32
+ case 'RpcClosedError':
33
+ error = new RpcClosedError();
34
+ break;
35
+ case 'RpcNotOpenError':
36
+ error = new RpcNotOpenError();
37
+ break;
38
+ default:
39
+ error = new SerializedError(err.name ?? 'Error', err.message ?? 'Unknown Error');
40
+ }
41
+ if (appendStack) {
42
+ error.stack = (err.stack ?? `${error.message}\n`) + appendStack;
43
+ } else {
44
+ error.stack = err.stack;
45
+ }
46
+
47
+ return error;
48
+ };
49
+
50
+ /**
51
+ * Error that is reconstructed after being sent over the RPC boundary.
52
+ */
53
+ export class SerializedError extends Error {
54
+ // prettier-ignore
55
+ constructor(
56
+ name: string,
57
+ message: string
58
+ ) {
59
+ super(message);
60
+ this.name = name;
61
+ }
62
+ }
63
+
64
+ /**
65
+ * Thrown when request was terminated because the RPC endpoint has been closed.
66
+ */
67
+ export class RpcClosedError extends Error {
68
+ constructor() {
69
+ super('Request was terminated because the RPC endpoint is closed.');
70
+ }
71
+ }
72
+
73
+ /**
74
+ * Thrown when `request` is called when RPC has not been opened.
75
+ */
76
+ export class RpcNotOpenError extends Error {
77
+ constructor() {
78
+ super('RPC has not been opened.');
79
+ }
80
+ }
package/src/index.ts CHANGED
@@ -6,3 +6,4 @@ export * from './proto';
6
6
  export * from './testing';
7
7
  export * from './types';
8
8
  export * from './tracing';
9
+ export * from './errors';
@@ -10,6 +10,8 @@ import "dxos/config.proto";
10
10
  import "dxos/halo/credentials.proto";
11
11
  import "dxos/mesh/teleport/gossip.proto";
12
12
  import "dxos/keys.proto";
13
+ import "dxos/echo/metadata.proto";
14
+ import "dxos/error.proto";
13
15
 
14
16
  // TODO(burdon): Reorganize packages (e.g., client.services, echo.database).
15
17
 
@@ -151,9 +153,21 @@ enum SpaceState {
151
153
 
152
154
  /// Data pipeline is ready.
153
155
  READY = 3;
156
+
157
+ /// Space errored.
158
+ ERROR = 5;
154
159
  }
155
160
 
156
161
  message Space {
162
+ message Metrics {
163
+ optional google.protobuf.Timestamp open = 1;
164
+ optional google.protobuf.Timestamp pipeline_init_begin = 2;
165
+ optional google.protobuf.Timestamp control_pipeline_ready = 3;
166
+ optional google.protobuf.Timestamp data_pipeline_open = 4;
167
+ optional google.protobuf.Timestamp data_pipeline_ready = 5;
168
+ optional google.protobuf.Timestamp ready = 6;
169
+ }
170
+
157
171
  // TODO(dmaretskyi): Consider merging with space metadata records.
158
172
  // TODO(dmaretskyi): ...or split into two separate pipeline messages.
159
173
  message PipelineState {
@@ -194,9 +208,13 @@ message Space {
194
208
  SpaceState state = 2;
195
209
  optional PipelineState pipeline = 3;
196
210
 
211
+ optional dxos.error.Error error = 4;
212
+
197
213
  repeated SpaceMember members = 10;
198
214
 
199
- // TODO(dmaretskyi): Inline a snapshot of space.properties here so that inactive spaces still display their title.
215
+ optional dxos.echo.metadata.SpaceCache cache = 20;
216
+
217
+ Metrics metrics = 21;
200
218
  }
201
219
 
202
220
  message UpdateSpaceRequest {
@@ -227,6 +245,10 @@ message QueryCredentialsRequest {
227
245
  dxos.keys.PublicKey space_key = 1;
228
246
  }
229
247
 
248
+ message CreateEpochRequest {
249
+ dxos.keys.PublicKey space_key = 1;
250
+ }
251
+
230
252
  service SpacesService {
231
253
  rpc CreateSpace(google.protobuf.Empty) returns (Space);
232
254
  rpc UpdateSpace(UpdateSpaceRequest) returns (google.protobuf.Empty);
@@ -241,6 +263,8 @@ service SpacesService {
241
263
  rpc WriteCredentials(WriteCredentialsRequest) returns (google.protobuf.Empty);
242
264
  /// Query credentials from the space control feed.
243
265
  rpc QueryCredentials(QueryCredentialsRequest) returns (stream dxos.halo.credentials.Credential);
266
+
267
+ rpc CreateEpoch(CreateEpochRequest) returns (google.protobuf.Empty);
244
268
  }
245
269
 
246
270
  //
@@ -360,24 +384,30 @@ service InvitationsService {
360
384
  // MESH
361
385
  //
362
386
 
387
+ // TODO(wittjosiah): Rename to SwarnState?
363
388
  enum ConnectionState {
364
389
  OFFLINE = 0;
365
390
  ONLINE = 1;
366
391
  }
367
392
 
368
393
  message NetworkStatus {
369
- ConnectionState state = 1;
394
+ message Signal {
395
+ string server = 1;
396
+ dxos.mesh.signal.SignalState state = 2;
397
+ }
398
+
399
+ ConnectionState swarm = 1;
400
+ repeated Signal signaling = 2;
370
401
  }
371
402
 
372
- message SetNetworkOptionsRequest {
373
- ConnectionState state = 1;
403
+ message UpdateConfigRequest {
404
+ ConnectionState swarm = 1;
374
405
  }
375
406
 
376
407
  // TODO(burdon): Widen API (too heavy for single feature: e.g., status).
377
408
  service NetworkService {
378
- // TODO(wittjosiah): Align verbs with other services.
379
- rpc SubscribeToNetworkStatus(google.protobuf.Empty) returns (stream NetworkStatus);
380
- rpc SetNetworkOptions(SetNetworkOptionsRequest) returns (google.protobuf.Empty);
409
+ rpc UpdateConfig(UpdateConfigRequest) returns (google.protobuf.Empty);
410
+ rpc QueryStatus(google.protobuf.Empty) returns (stream NetworkStatus);
381
411
  }
382
412
 
383
413
  //
@@ -415,7 +445,7 @@ message LogEntry {
415
445
  string message = 2;
416
446
  optional google.protobuf.Struct context = 3;
417
447
  optional Meta meta = 4;
418
- optional dxos.rpc.Error error = 5;
448
+ optional Error error = 5;
419
449
  }
420
450
 
421
451
  service LoggingService {
@@ -34,8 +34,11 @@ service DevtoolsHost {
34
34
  // Get client config.
35
35
  rpc GetConfig(google.protobuf.Empty) returns (GetConfigResponse);
36
36
 
37
+ rpc GetStorageInfo(google.protobuf.Empty) returns (StorageInfo);
37
38
  rpc ResetStorage(ResetStorageRequest) returns (google.protobuf.Empty);
38
39
 
40
+ rpc GetSnapshots(google.protobuf.Empty) returns (GetSnapshotsResponse);
41
+
39
42
  // TODO(burdon): Single RPC with action.
40
43
  rpc EnableDebugLogging(EnableDebugLoggingRequest) returns (EnableDebugLoggingResponse);
41
44
  rpc DisableDebugLogging(EnableDebugLoggingRequest) returns (EnableDebugLoggingResponse);
@@ -84,6 +87,13 @@ message GetConfigResponse {
84
87
  string config = 1;
85
88
  }
86
89
 
90
+ message StorageInfo {
91
+ string type = 1;
92
+ uint32 storage_usage = 2;
93
+ uint32 origin_usage = 3;
94
+ uint32 usage_quota = 4;
95
+ }
96
+
87
97
  //
88
98
  // Logging
89
99
  //
@@ -132,6 +142,15 @@ message SubscribeToCredentialMessagesResponse {
132
142
 
133
143
  message ResetStorageRequest {}
134
144
 
145
+ message StoredSnapshotInfo {
146
+ string key = 1;
147
+ uint32 size = 2;
148
+ }
149
+
150
+ message GetSnapshotsResponse {
151
+ repeated StoredSnapshotInfo snapshots = 1;
152
+ }
153
+
135
154
  //
136
155
  // Spaces
137
156
  //
@@ -178,6 +197,7 @@ message SubscribeToFeedsResponse {
178
197
  message Feed {
179
198
  dxos.keys.PublicKey feed_key = 1;
180
199
  int32 length = 2;
200
+ int32 disk_usage = 3;
181
201
  }
182
202
 
183
203
  repeated Feed feeds = 1;
@@ -259,8 +279,7 @@ message SubscribeToSignalStatusResponse {
259
279
  message SignalServer {
260
280
  string host = 1;
261
281
 
262
- // SignalApi.State enum.
263
- string state = 2;
282
+ dxos.mesh.signal.SignalState state = 2;
264
283
 
265
284
  optional string error = 3;
266
285
 
@@ -6,6 +6,7 @@ syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/timestamp.proto";
8
8
 
9
+ import "dxos/echo/model/document.proto";
9
10
  import "dxos/echo/timeframe.proto";
10
11
  import "dxos/keys.proto";
11
12
 
@@ -29,6 +30,11 @@ message EchoMetadata {
29
30
  repeated SpaceMetadata spaces = 11;
30
31
  }
31
32
 
33
+ message SpaceCache {
34
+ /// Properties snapshot.
35
+ optional dxos.echo.model.document.ObjectSnapshot properties = 1;
36
+ }
37
+
32
38
  // TODO(dmaretskyi): Cleanup numbering.
33
39
  message SpaceMetadata {
34
40
  /// Space key.
@@ -52,7 +58,7 @@ message SpaceMetadata {
52
58
  // Latest data timeframe reached while processing space messages.
53
59
  optional timeframe.TimeframeVector data_timeframe = 5;
54
60
 
55
- optional string snapshot = 7;
61
+ optional SpaceCache cache = 9;
56
62
  }
57
63
 
58
64
  /// Information needed to bootstrap an Identity.
@@ -0,0 +1,14 @@
1
+ //
2
+ // Copyright 2020 DXOS.org
3
+ //
4
+
5
+ syntax = "proto3";
6
+
7
+ package dxos.error;
8
+
9
+ /// Serialized error.
10
+ message Error {
11
+ optional string name = 1;
12
+ optional string message = 2;
13
+ optional string stack = 3;
14
+ }
@@ -92,6 +92,22 @@ message AdmittedFeed {
92
92
  Designation designation = 4;
93
93
  }
94
94
 
95
+ // [ASSERTION]: New epoch is started in the space.
96
+ // Subject is the space.
97
+ message Epoch {
98
+ /// Epoch number.
99
+ uint32 number = 1;
100
+
101
+ /// Id of the previous epoch. Identitfied by the credential id.
102
+ optional dxos.keys.PublicKey previous_id = 2;
103
+
104
+ /// Epoch start timeframe. Indexes correspond to last mutations included into the snapshot.
105
+ timeframe.TimeframeVector timeframe = 10;
106
+
107
+ /// Epoch start snapshot.
108
+ optional string snapshot_cid = 11;
109
+ }
110
+
95
111
  /// [ASSERTION]: Associtaes a space that will implement Agent's HALO with an Identity.
96
112
  message HaloSpace {
97
113
  dxos.keys.PublicKey identity_key = 1;
@@ -13,11 +13,8 @@ package dxos.iframe;
13
13
 
14
14
  message StartRequest {
15
15
  string origin = 1;
16
- }
17
-
18
- /// Worker-to-iframe RPCs.
19
- service IframeService {
20
- rpc Heartbeat(google.protobuf.Empty) returns (google.protobuf.Empty);
16
+ /// Key for the iframe resource lock used to determine when the service is closing.
17
+ optional string lock_key = 2;
21
18
  }
22
19
 
23
20
  /// Iframe-to-worker RPCs.
@@ -58,8 +58,12 @@ message SwarmEvent {
58
58
 
59
59
  /// Goes on a Pub/Sub host topic.
60
60
  message HostEvent {
61
+ message AnnounceBack {
62
+ bytes swarm = 1;
63
+ SwarmEvent.PeerAvailable peer_available = 2;
64
+ }
61
65
  oneof event {
62
- SwarmEvent.PeerAvailable peer_available = 1;
66
+ AnnounceBack announce_back = 1;
63
67
  }
64
68
  }
65
69
 
@@ -70,6 +74,21 @@ message PeerEvent {
70
74
  }
71
75
  }
72
76
 
77
+ enum SignalState {
78
+ /// Connection is being established.
79
+ CONNECTING = 0;
80
+ /// Connection is being re-established.
81
+ RECONNECTING = 1;
82
+ /// Connected.
83
+ CONNECTED = 2;
84
+ /// Server terminated the connection. Socket will be reconnected.
85
+ DISCONNECTED = 3;
86
+ /// Server terminated the connection with an ERROR. Socket will be reconnected.
87
+ ERROR = 4;
88
+ /// Socket was closed.
89
+ CLOSED = 5;
90
+ }
91
+
73
92
  // TOOD(burdon): Rename.
74
93
  // TODO(burdon): Reconcile with `@dxos/kube`.
75
94
  service Signal {
@@ -5,6 +5,7 @@
5
5
  syntax = "proto3";
6
6
 
7
7
  import "google/protobuf/any.proto";
8
+ import "dxos/error.proto";
8
9
 
9
10
  // TODO(burdon): Move to `dxos.mesh.rpc` (reconcile with @dxos/kube repo).
10
11
  package dxos.rpc;
@@ -36,7 +37,7 @@ message Response {
36
37
  int32 id = 1;
37
38
  oneof content {
38
39
  google.protobuf.Any payload = 2;
39
- Error error = 3;
40
+ dxos.error.Error error = 3;
40
41
  /// Sent when stream is closed without an error.
41
42
  bool close = 4;
42
43
 
@@ -55,12 +56,6 @@ message StreamClose {
55
56
  int32 id = 1;
56
57
  }
57
58
 
58
- message Error {
59
- optional string name = 1;
60
- optional string message = 2;
61
- optional string stack = 3;
62
- }
63
-
64
59
  // TODO(burdon): Rename Trace.
65
60
  message MessageTrace {
66
61
  enum Direction {
@@ -13,6 +13,7 @@ import * as dxos_echo_object from "./echo/object";
13
13
  import * as dxos_echo_service from "./echo/service";
14
14
  import * as dxos_echo_snapshot from "./echo/snapshot";
15
15
  import * as dxos_echo_timeframe from "./echo/timeframe";
16
+ import * as dxos_error from "./error";
16
17
  import * as dxos_gravity from "./gravity";
17
18
  import * as dxos_halo_credentials from "./halo/credentials";
18
19
  import * as dxos_halo_credentials_auth from "./halo/credentials/auth";