@dxos/protocols 0.8.4-staging.ac66bdf99f → 0.9.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 (360) hide show
  1. package/LICENSE +102 -5
  2. package/dist/src/FeedProtocol.d.ts +5 -5
  3. package/dist/src/FeedProtocol.d.ts.map +1 -1
  4. package/dist/src/FeedProtocol.js.map +1 -1
  5. package/dist/src/FunctionProtocol.d.ts +7 -0
  6. package/dist/src/FunctionProtocol.d.ts.map +1 -1
  7. package/dist/src/TraceProtocol.d.ts +15 -0
  8. package/dist/src/TraceProtocol.d.ts.map +1 -0
  9. package/dist/src/TraceProtocol.js +4 -0
  10. package/dist/src/TraceProtocol.js.map +1 -0
  11. package/dist/src/automerge.d.ts +203 -13
  12. package/dist/src/automerge.d.ts.map +1 -1
  13. package/dist/src/automerge.js +17 -0
  14. package/dist/src/automerge.js.map +1 -1
  15. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.d.ts +16 -4
  16. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.d.ts.map +1 -1
  17. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.js +17 -5
  18. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.js.map +1 -1
  19. package/dist/src/buf/proto/gen/dxos/client/queue_pb.d.ts +74 -0
  20. package/dist/src/buf/proto/gen/dxos/client/queue_pb.d.ts.map +1 -1
  21. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js +16 -1
  22. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js.map +1 -1
  23. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts +14 -0
  24. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  25. package/dist/src/buf/proto/gen/dxos/client/services_pb.js +1 -1
  26. package/dist/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  27. package/dist/src/buf/proto/gen/dxos/config_pb.d.ts +6 -0
  28. package/dist/src/buf/proto/gen/dxos/config_pb.d.ts.map +1 -1
  29. package/dist/src/buf/proto/gen/dxos/config_pb.js +1 -1
  30. package/dist/src/buf/proto/gen/dxos/config_pb.js.map +1 -1
  31. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.d.ts +70 -0
  32. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.d.ts.map +1 -1
  33. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.js +16 -1
  34. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.js.map +1 -1
  35. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.d.ts +6 -0
  36. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.d.ts.map +1 -1
  37. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.js +1 -1
  38. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.js.map +1 -1
  39. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts +17 -2
  40. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts.map +1 -1
  41. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js +1 -1
  42. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js.map +1 -1
  43. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts +26 -0
  44. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts.map +1 -1
  45. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.js +26 -21
  46. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.js.map +1 -1
  47. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.d.ts +11 -4
  48. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.d.ts.map +1 -1
  49. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.js +12 -5
  50. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.js.map +1 -1
  51. package/dist/src/codec.test.js +1 -1
  52. package/dist/src/edge/EdgeFunctionEnv.d.ts +27 -1
  53. package/dist/src/edge/EdgeFunctionEnv.d.ts.map +1 -1
  54. package/dist/src/edge/edge.d.ts +190 -3
  55. package/dist/src/edge/edge.d.ts.map +1 -1
  56. package/dist/src/edge/edge.js +107 -2
  57. package/dist/src/edge/edge.js.map +1 -1
  58. package/dist/src/edge/edge.test.d.ts +2 -0
  59. package/dist/src/edge/edge.test.d.ts.map +1 -0
  60. package/dist/src/edge/edge.test.js +50 -0
  61. package/dist/src/edge/edge.test.js.map +1 -0
  62. package/dist/src/edge/errors.d.ts.map +1 -1
  63. package/dist/src/edge/errors.js +1 -1
  64. package/dist/src/edge/errors.js.map +1 -1
  65. package/dist/src/edge/index.js +4 -4
  66. package/dist/src/edge/registry.d.ts +103 -18
  67. package/dist/src/edge/registry.d.ts.map +1 -1
  68. package/dist/src/edge/registry.js +72 -12
  69. package/dist/src/edge/registry.js.map +1 -1
  70. package/dist/src/errors/base-errors.d.ts +18 -18
  71. package/dist/src/errors/base-errors.d.ts.map +1 -1
  72. package/dist/src/errors/encoding.d.ts +1 -1
  73. package/dist/src/errors/encoding.d.ts.map +1 -1
  74. package/dist/src/errors/encoding.js +1 -1
  75. package/dist/src/errors/encoding.js.map +1 -1
  76. package/dist/src/errors/errors.d.ts +132 -132
  77. package/dist/src/errors/errors.d.ts.map +1 -1
  78. package/dist/src/errors/errors.js +1 -1
  79. package/dist/src/errors/errors.test.js +1 -1
  80. package/dist/src/errors/helpers.d.ts +2 -2
  81. package/dist/src/errors/helpers.d.ts.map +1 -1
  82. package/dist/src/errors/index.js +5 -5
  83. package/dist/src/errors/parameter.d.ts.map +1 -1
  84. package/dist/src/index.d.ts +1 -1
  85. package/dist/src/index.d.ts.map +1 -1
  86. package/dist/src/index.js +11 -11
  87. package/dist/src/index.js.map +1 -1
  88. package/dist/src/indexing.d.ts.map +1 -1
  89. package/dist/src/indexing.test.js +1 -1
  90. package/dist/src/invitation.js +3 -3
  91. package/dist/src/invitation.js.map +1 -1
  92. package/dist/src/profile-archive.d.ts +14 -1
  93. package/dist/src/profile-archive.d.ts.map +1 -1
  94. package/dist/src/profile-archive.js +2 -0
  95. package/dist/src/profile-archive.js.map +1 -1
  96. package/dist/src/proto/gen/dxos/agent/dashboard.d.ts +3 -6
  97. package/dist/src/proto/gen/dxos/agent/dashboard.d.ts.map +1 -1
  98. package/dist/src/proto/gen/dxos/agent/dashboard.js.map +1 -1
  99. package/dist/src/proto/gen/dxos/agent/echoproxy.d.ts +1 -2
  100. package/dist/src/proto/gen/dxos/agent/echoproxy.d.ts.map +1 -1
  101. package/dist/src/proto/gen/dxos/agent/epoch.d.ts +1 -2
  102. package/dist/src/proto/gen/dxos/agent/epoch.d.ts.map +1 -1
  103. package/dist/src/proto/gen/dxos/agent/functions.d.ts +6 -12
  104. package/dist/src/proto/gen/dxos/agent/functions.d.ts.map +1 -1
  105. package/dist/src/proto/gen/dxos/bot.d.ts +12 -24
  106. package/dist/src/proto/gen/dxos/bot.d.ts.map +1 -1
  107. package/dist/src/proto/gen/dxos/bot.js.map +1 -1
  108. package/dist/src/proto/gen/dxos/client/services.d.ts +242 -271
  109. package/dist/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  110. package/dist/src/proto/gen/dxos/client/services.js +4 -2
  111. package/dist/src/proto/gen/dxos/client/services.js.map +1 -1
  112. package/dist/src/proto/gen/dxos/config.d.ts +58 -102
  113. package/dist/src/proto/gen/dxos/config.d.ts.map +1 -1
  114. package/dist/src/proto/gen/dxos/config.js.map +1 -1
  115. package/dist/src/proto/gen/dxos/devtools/host.d.ts +78 -96
  116. package/dist/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  117. package/dist/src/proto/gen/dxos/devtools/swarm.d.ts +4 -8
  118. package/dist/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -1
  119. package/dist/src/proto/gen/dxos/echo/blob.d.ts +1 -2
  120. package/dist/src/proto/gen/dxos/echo/blob.d.ts.map +1 -1
  121. package/dist/src/proto/gen/dxos/echo/blob.js.map +1 -1
  122. package/dist/src/proto/gen/dxos/echo/feed.d.ts +4 -8
  123. package/dist/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  124. package/dist/src/proto/gen/dxos/echo/filter.d.ts +2 -4
  125. package/dist/src/proto/gen/dxos/echo/filter.d.ts.map +1 -1
  126. package/dist/src/proto/gen/dxos/echo/filter.js.map +1 -1
  127. package/dist/src/proto/gen/dxos/echo/indexing.d.ts +2 -4
  128. package/dist/src/proto/gen/dxos/echo/indexing.d.ts.map +1 -1
  129. package/dist/src/proto/gen/dxos/echo/indexing.js.map +1 -1
  130. package/dist/src/proto/gen/dxos/echo/metadata.d.ts +12 -16
  131. package/dist/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  132. package/dist/src/proto/gen/dxos/echo/metadata.js.map +1 -1
  133. package/dist/src/proto/gen/dxos/echo/model/document.d.ts +11 -22
  134. package/dist/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  135. package/dist/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  136. package/dist/src/proto/gen/dxos/echo/model/messenger.d.ts +1 -2
  137. package/dist/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -1
  138. package/dist/src/proto/gen/dxos/echo/model/text.d.ts +2 -4
  139. package/dist/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -1
  140. package/dist/src/proto/gen/dxos/echo/object.d.ts +6 -12
  141. package/dist/src/proto/gen/dxos/echo/object.d.ts.map +1 -1
  142. package/dist/src/proto/gen/dxos/echo/object.js.map +1 -1
  143. package/dist/src/proto/gen/dxos/echo/query.d.ts +4 -8
  144. package/dist/src/proto/gen/dxos/echo/query.d.ts.map +1 -1
  145. package/dist/src/proto/gen/dxos/echo/query.js.map +1 -1
  146. package/dist/src/proto/gen/dxos/echo/service.d.ts +36 -35
  147. package/dist/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  148. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts +2 -4
  149. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  150. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts +2 -4
  151. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  152. package/dist/src/proto/gen/dxos/edge/calls.d.ts +5 -10
  153. package/dist/src/proto/gen/dxos/edge/calls.d.ts.map +1 -1
  154. package/dist/src/proto/gen/dxos/edge/messenger.d.ts +6 -12
  155. package/dist/src/proto/gen/dxos/edge/messenger.d.ts.map +1 -1
  156. package/dist/src/proto/gen/dxos/edge/messenger.js.map +1 -1
  157. package/dist/src/proto/gen/dxos/edge/signal.d.ts +7 -14
  158. package/dist/src/proto/gen/dxos/edge/signal.d.ts.map +1 -1
  159. package/dist/src/proto/gen/dxos/error.d.ts +1 -2
  160. package/dist/src/proto/gen/dxos/error.d.ts.map +1 -1
  161. package/dist/src/proto/gen/dxos/gravity.d.ts +10 -20
  162. package/dist/src/proto/gen/dxos/gravity.d.ts.map +1 -1
  163. package/dist/src/proto/gen/dxos/halo/credentials/auth.d.ts +1 -2
  164. package/dist/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -1
  165. package/dist/src/proto/gen/dxos/halo/credentials/greet.d.ts +6 -12
  166. package/dist/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -1
  167. package/dist/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -1
  168. package/dist/src/proto/gen/dxos/halo/credentials/identity.d.ts +2 -4
  169. package/dist/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -1
  170. package/dist/src/proto/gen/dxos/halo/credentials.d.ts +34 -44
  171. package/dist/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  172. package/dist/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  173. package/dist/src/proto/gen/dxos/halo/invitations.d.ts +16 -28
  174. package/dist/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  175. package/dist/src/proto/gen/dxos/halo/invitations.js +3 -2
  176. package/dist/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  177. package/dist/src/proto/gen/dxos/halo/keyring.d.ts +1 -2
  178. package/dist/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -1
  179. package/dist/src/proto/gen/dxos/halo/keys.d.ts +2 -4
  180. package/dist/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  181. package/dist/src/proto/gen/dxos/halo/signed.d.ts +4 -8
  182. package/dist/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  183. package/dist/src/proto/gen/dxos/iframe.d.ts +4 -8
  184. package/dist/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  185. package/dist/src/proto/gen/dxos/iframe.js.map +1 -1
  186. package/dist/src/proto/gen/dxos/keys.d.ts +2 -4
  187. package/dist/src/proto/gen/dxos/keys.d.ts.map +1 -1
  188. package/dist/src/proto/gen/dxos/mesh/bridge.d.ts +12 -24
  189. package/dist/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -1
  190. package/dist/src/proto/gen/dxos/mesh/broadcast.d.ts +1 -2
  191. package/dist/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -1
  192. package/dist/src/proto/gen/dxos/mesh/messaging.d.ts +2 -4
  193. package/dist/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -1
  194. package/dist/src/proto/gen/dxos/mesh/muxer.d.ts +5 -10
  195. package/dist/src/proto/gen/dxos/mesh/muxer.d.ts.map +1 -1
  196. package/dist/src/proto/gen/dxos/mesh/presence.d.ts +1 -2
  197. package/dist/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -1
  198. package/dist/src/proto/gen/dxos/mesh/protocol.d.ts +3 -6
  199. package/dist/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -1
  200. package/dist/src/proto/gen/dxos/mesh/replicator.d.ts +2 -4
  201. package/dist/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -1
  202. package/dist/src/proto/gen/dxos/mesh/signal.d.ts +9 -18
  203. package/dist/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  204. package/dist/src/proto/gen/dxos/mesh/signal.js.map +1 -1
  205. package/dist/src/proto/gen/dxos/mesh/swarm.d.ts +6 -12
  206. package/dist/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  207. package/dist/src/proto/gen/dxos/mesh/teleport/auth.d.ts +2 -4
  208. package/dist/src/proto/gen/dxos/mesh/teleport/auth.d.ts.map +1 -1
  209. package/dist/src/proto/gen/dxos/mesh/teleport/automerge.d.ts +2 -4
  210. package/dist/src/proto/gen/dxos/mesh/teleport/automerge.d.ts.map +1 -1
  211. package/dist/src/proto/gen/dxos/mesh/teleport/blobsync.d.ts +3 -6
  212. package/dist/src/proto/gen/dxos/mesh/teleport/blobsync.d.ts.map +1 -1
  213. package/dist/src/proto/gen/dxos/mesh/teleport/control.d.ts +3 -6
  214. package/dist/src/proto/gen/dxos/mesh/teleport/control.d.ts.map +1 -1
  215. package/dist/src/proto/gen/dxos/mesh/teleport/gossip.d.ts +1 -2
  216. package/dist/src/proto/gen/dxos/mesh/teleport/gossip.d.ts.map +1 -1
  217. package/dist/src/proto/gen/dxos/mesh/teleport/notarization.d.ts +1 -2
  218. package/dist/src/proto/gen/dxos/mesh/teleport/notarization.d.ts.map +1 -1
  219. package/dist/src/proto/gen/dxos/mesh/teleport/replicator.d.ts +5 -10
  220. package/dist/src/proto/gen/dxos/mesh/teleport/replicator.d.ts.map +1 -1
  221. package/dist/src/proto/gen/dxos/mesh/teleport.d.ts +2 -4
  222. package/dist/src/proto/gen/dxos/mesh/teleport.d.ts.map +1 -1
  223. package/dist/src/proto/gen/dxos/registry.d.ts +3 -6
  224. package/dist/src/proto/gen/dxos/registry.d.ts.map +1 -1
  225. package/dist/src/proto/gen/dxos/rpc.d.ts +7 -14
  226. package/dist/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  227. package/dist/src/proto/gen/dxos/rpc.js.map +1 -1
  228. package/dist/src/proto/gen/dxos/service/agentmanager.d.ts +4 -8
  229. package/dist/src/proto/gen/dxos/service/agentmanager.d.ts.map +1 -1
  230. package/dist/src/proto/gen/dxos/service/agentmanager.js.map +1 -1
  231. package/dist/src/proto/gen/dxos/service/publisher.d.ts +5 -10
  232. package/dist/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  233. package/dist/src/proto/gen/dxos/service/supervisor.d.ts +12 -24
  234. package/dist/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  235. package/dist/src/proto/gen/dxos/service/supervisor.js.map +1 -1
  236. package/dist/src/proto/gen/dxos/service/tunnel.d.ts +3 -6
  237. package/dist/src/proto/gen/dxos/service/tunnel.d.ts.map +1 -1
  238. package/dist/src/proto/gen/dxos/tracing.d.ts +10 -20
  239. package/dist/src/proto/gen/dxos/tracing.d.ts.map +1 -1
  240. package/dist/src/proto/gen/dxos/type.d.ts +12 -24
  241. package/dist/src/proto/gen/dxos/type.d.ts.map +1 -1
  242. package/dist/src/proto/gen/dxos/value.d.ts +2 -4
  243. package/dist/src/proto/gen/dxos/value.d.ts.map +1 -1
  244. package/dist/src/proto/gen/example/testing/data.d.ts +4 -8
  245. package/dist/src/proto/gen/example/testing/data.d.ts.map +1 -1
  246. package/dist/src/proto/gen/example/testing/rpc.d.ts +7 -14
  247. package/dist/src/proto/gen/example/testing/rpc.d.ts.map +1 -1
  248. package/dist/src/proto/gen/google/protobuf.d.ts.map +1 -1
  249. package/dist/src/proto/gen/google/protobuf.js.map +1 -1
  250. package/dist/src/proto/gen/index.d.ts +7 -0
  251. package/dist/src/proto/gen/index.d.ts.map +1 -1
  252. package/dist/src/proto/gen/index.js +1 -1
  253. package/dist/src/proto/gen/index.js.map +1 -1
  254. package/dist/src/proto/index.js +1 -1
  255. package/dist/src/proto/substitutions.d.ts +8 -8
  256. package/dist/src/proto/substitutions.d.ts.map +1 -1
  257. package/dist/src/space-archive.d.ts +5 -5
  258. package/dist/src/space-archive.d.ts.map +1 -1
  259. package/dist/tsconfig.tsbuildinfo +1 -1
  260. package/package.json +12 -31
  261. package/src/FeedProtocol.ts +3 -0
  262. package/src/FunctionProtocol.ts +9 -0
  263. package/src/TraceProtocol.ts +21 -0
  264. package/src/automerge.ts +239 -13
  265. package/src/buf/proto/gen/dxos/client/invitation_pb.ts +19 -5
  266. package/src/buf/proto/gen/dxos/client/queue_pb.ts +88 -1
  267. package/src/buf/proto/gen/dxos/client/services_pb.ts +16 -1
  268. package/src/buf/proto/gen/dxos/config_pb.ts +8 -1
  269. package/src/buf/proto/gen/dxos/devtools/host_pb.ts +82 -1
  270. package/src/buf/proto/gen/dxos/echo/metadata_pb.ts +8 -1
  271. package/src/buf/proto/gen/dxos/echo/service_pb.ts +19 -3
  272. package/src/buf/proto/gen/dxos/halo/credentials_pb.ts +52 -21
  273. package/src/buf/proto/gen/dxos/halo/invitations_pb.ts +13 -5
  274. package/src/edge/EdgeFunctionEnv.ts +40 -3
  275. package/src/edge/edge.test.ts +64 -0
  276. package/src/edge/edge.ts +219 -5
  277. package/src/edge/registry.ts +82 -14
  278. package/src/index.ts +1 -1
  279. package/src/invitation.ts +3 -3
  280. package/src/profile-archive.ts +13 -0
  281. package/src/proto/dxos/client/invitation.proto +9 -2
  282. package/src/proto/dxos/client/queue.proto +21 -0
  283. package/src/proto/dxos/client/services.proto +4 -0
  284. package/src/proto/dxos/config.proto +2 -0
  285. package/src/proto/dxos/devtools/host.proto +27 -0
  286. package/src/proto/dxos/echo/metadata.proto +3 -0
  287. package/src/proto/dxos/echo/service.proto +14 -1
  288. package/src/proto/dxos/halo/credentials.proto +9 -0
  289. package/src/proto/dxos/halo/invitations.proto +5 -2
  290. package/src/proto/gen/dxos/agent/dashboard.ts +3 -6
  291. package/src/proto/gen/dxos/agent/echoproxy.ts +1 -2
  292. package/src/proto/gen/dxos/agent/epoch.ts +1 -2
  293. package/src/proto/gen/dxos/agent/functions.ts +6 -12
  294. package/src/proto/gen/dxos/bot.ts +12 -24
  295. package/src/proto/gen/dxos/client/services.ts +242 -271
  296. package/src/proto/gen/dxos/config.ts +58 -102
  297. package/src/proto/gen/dxos/devtools/host.ts +78 -96
  298. package/src/proto/gen/dxos/devtools/swarm.ts +4 -8
  299. package/src/proto/gen/dxos/echo/blob.ts +1 -2
  300. package/src/proto/gen/dxos/echo/feed.ts +4 -8
  301. package/src/proto/gen/dxos/echo/filter.ts +2 -4
  302. package/src/proto/gen/dxos/echo/indexing.ts +2 -4
  303. package/src/proto/gen/dxos/echo/metadata.ts +12 -16
  304. package/src/proto/gen/dxos/echo/model/document.ts +11 -22
  305. package/src/proto/gen/dxos/echo/model/messenger.ts +1 -2
  306. package/src/proto/gen/dxos/echo/model/text.ts +2 -4
  307. package/src/proto/gen/dxos/echo/object.ts +6 -12
  308. package/src/proto/gen/dxos/echo/query.ts +4 -8
  309. package/src/proto/gen/dxos/echo/service.ts +36 -35
  310. package/src/proto/gen/dxos/echo/snapshot.ts +2 -4
  311. package/src/proto/gen/dxos/echo/timeframe.ts +2 -4
  312. package/src/proto/gen/dxos/edge/calls.ts +5 -10
  313. package/src/proto/gen/dxos/edge/messenger.ts +6 -12
  314. package/src/proto/gen/dxos/edge/signal.ts +7 -14
  315. package/src/proto/gen/dxos/error.ts +1 -2
  316. package/src/proto/gen/dxos/gravity.ts +10 -20
  317. package/src/proto/gen/dxos/halo/credentials/auth.ts +1 -2
  318. package/src/proto/gen/dxos/halo/credentials/greet.ts +6 -12
  319. package/src/proto/gen/dxos/halo/credentials/identity.ts +2 -4
  320. package/src/proto/gen/dxos/halo/credentials.ts +34 -44
  321. package/src/proto/gen/dxos/halo/invitations.ts +16 -28
  322. package/src/proto/gen/dxos/halo/keyring.ts +1 -2
  323. package/src/proto/gen/dxos/halo/keys.ts +2 -4
  324. package/src/proto/gen/dxos/halo/signed.ts +4 -8
  325. package/src/proto/gen/dxos/iframe.ts +4 -8
  326. package/src/proto/gen/dxos/keys.ts +2 -4
  327. package/src/proto/gen/dxos/mesh/bridge.ts +12 -24
  328. package/src/proto/gen/dxos/mesh/broadcast.ts +1 -2
  329. package/src/proto/gen/dxos/mesh/messaging.ts +2 -4
  330. package/src/proto/gen/dxos/mesh/muxer.ts +5 -10
  331. package/src/proto/gen/dxos/mesh/presence.ts +1 -2
  332. package/src/proto/gen/dxos/mesh/protocol.ts +3 -6
  333. package/src/proto/gen/dxos/mesh/replicator.ts +2 -4
  334. package/src/proto/gen/dxos/mesh/signal.ts +9 -18
  335. package/src/proto/gen/dxos/mesh/swarm.ts +6 -12
  336. package/src/proto/gen/dxos/mesh/teleport/auth.ts +2 -4
  337. package/src/proto/gen/dxos/mesh/teleport/automerge.ts +2 -4
  338. package/src/proto/gen/dxos/mesh/teleport/blobsync.ts +3 -6
  339. package/src/proto/gen/dxos/mesh/teleport/control.ts +3 -6
  340. package/src/proto/gen/dxos/mesh/teleport/gossip.ts +1 -2
  341. package/src/proto/gen/dxos/mesh/teleport/notarization.ts +1 -2
  342. package/src/proto/gen/dxos/mesh/teleport/replicator.ts +5 -10
  343. package/src/proto/gen/dxos/mesh/teleport.ts +2 -4
  344. package/src/proto/gen/dxos/registry.ts +3 -6
  345. package/src/proto/gen/dxos/rpc.ts +7 -14
  346. package/src/proto/gen/dxos/service/agentmanager.ts +4 -8
  347. package/src/proto/gen/dxos/service/publisher.ts +5 -10
  348. package/src/proto/gen/dxos/service/supervisor.ts +12 -24
  349. package/src/proto/gen/dxos/service/tunnel.ts +3 -6
  350. package/src/proto/gen/dxos/tracing.ts +10 -20
  351. package/src/proto/gen/dxos/type.ts +12 -24
  352. package/src/proto/gen/dxos/value.ts +2 -4
  353. package/src/proto/gen/example/testing/data.ts +4 -8
  354. package/src/proto/gen/example/testing/rpc.ts +7 -14
  355. package/src/proto/gen/index.ts +8 -1
  356. package/dist/src/tracing.d.ts +0 -40
  357. package/dist/src/tracing.d.ts.map +0 -1
  358. package/dist/src/tracing.js +0 -50
  359. package/dist/src/tracing.js.map +0 -1
  360. package/src/tracing.ts +0 -86
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/protocols",
3
- "version": "0.8.4-staging.ac66bdf99f",
3
+ "version": "0.9.0",
4
4
  "description": "Protobuf definitions for DXOS protocols.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -8,7 +8,7 @@
8
8
  "type": "git",
9
9
  "url": "https://github.com/dxos/dxos"
10
10
  },
11
- "license": "MIT",
11
+ "license": "FSL-1.1-Apache-2.0",
12
12
  "author": "info@dxos.org",
13
13
  "sideEffects": false,
14
14
  "type": "module",
@@ -25,6 +25,7 @@
25
25
  "browser": "./dist/src/proto/index.js",
26
26
  "import": "./dist/src/proto/index.js"
27
27
  },
28
+ "./proto/dxos/*.proto": "./src/proto/dxos/*.proto",
28
29
  "./proto/*": {
29
30
  "browser": "./dist/src/proto/gen/*.js",
30
31
  "import": "./dist/src/proto/gen/*.js"
@@ -39,47 +40,27 @@
39
40
  }
40
41
  },
41
42
  "types": "dist/src/index.d.ts",
42
- "typesVersions": {
43
- "*": {
44
- "proto/*": [
45
- "dist/src/proto/gen/*"
46
- ],
47
- "buf/*": [
48
- "dist/src/buf/proto/gen/*"
49
- ],
50
- "feed-replication": [
51
- "dist/src/feed-replication.d.ts"
52
- ],
53
- "buf": [
54
- "dist/src/buf/index.d.ts"
55
- ],
56
- "proto": [
57
- "dist/src/proto/index.d.ts"
58
- ]
59
- }
60
- },
61
43
  "files": [
62
44
  "dist",
63
45
  "src"
64
46
  ],
65
47
  "dependencies": {
66
48
  "@bufbuild/protobuf": "2.11.0",
67
- "@dxos/effect": "0.8.4-staging.ac66bdf99f",
68
- "@dxos/errors": "0.8.4-staging.ac66bdf99f",
69
- "@dxos/codec-protobuf": "0.8.4-staging.ac66bdf99f",
70
- "@dxos/keys": "0.8.4-staging.ac66bdf99f",
71
- "@dxos/invariant": "0.8.4-staging.ac66bdf99f",
72
- "@dxos/timeframe": "0.8.4-staging.ac66bdf99f",
73
- "@dxos/util": "0.8.4-staging.ac66bdf99f"
49
+ "@dxos/codec-protobuf": "0.9.0",
50
+ "@dxos/effect": "0.9.0",
51
+ "@dxos/errors": "0.9.0",
52
+ "@dxos/invariant": "0.9.0",
53
+ "@dxos/keys": "0.9.0",
54
+ "@dxos/timeframe": "0.9.0"
74
55
  },
75
56
  "devDependencies": {
76
57
  "@bufbuild/buf": "1.65.0",
77
58
  "@bufbuild/protoc-gen-es": "2.11.0",
78
- "effect": "3.20.0",
79
- "@dxos/protobuf-compiler": "0.8.4-staging.ac66bdf99f"
59
+ "effect": "3.21.3",
60
+ "@dxos/protobuf-compiler": "0.9.0"
80
61
  },
81
62
  "peerDependencies": {
82
- "effect": "3.20.0"
63
+ "effect": "3.21.3"
83
64
  },
84
65
  "publishConfig": {
85
66
  "access": "public"
@@ -10,6 +10,9 @@ export {
10
10
  type InsertIntoQueueRequest,
11
11
  type DeleteFromQueueRequest,
12
12
  type SyncQueueRequest,
13
+ type GetSyncStateRequest,
14
+ type GetSyncStateResponse,
15
+ type QueueNamespaceSyncState,
13
16
  } from './proto/gen/dxos/client/services.js';
14
17
 
15
18
  export const KEY_QUEUE_POSITION = 'org.dxos.key.queue-position';
@@ -8,6 +8,7 @@ import type * as DataProto from '@dxos/protocols/proto/dxos/echo/service';
8
8
 
9
9
  import { type EdgeFunctionEnv } from './edge';
10
10
  import type * as FeedProtocol from './FeedProtocol';
11
+ import type * as TraceProtocol from './TraceProtocol';
11
12
 
12
13
  //
13
14
  // Function protocol definition
@@ -82,6 +83,14 @@ export interface Context {
82
83
  * Available if the function is invoked in context of a space.
83
84
  */
84
85
  functionsAiService?: EdgeFunctionEnv.FunctionsAiService;
86
+
87
+ /**
88
+ * Functions service.
89
+ * Available if the function is invoked in context of a space.
90
+ */
91
+ functionsService?: EdgeFunctionEnv.FunctionsService;
92
+
93
+ traceService?: TraceProtocol.TraceService;
85
94
  };
86
95
 
87
96
  /**
@@ -0,0 +1,21 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ // @import-as-namespace
6
+
7
+ /**
8
+ * Allows consumers to write trace events to the trace.
9
+ */
10
+ export interface TraceService {
11
+ write(events: Event[]): void;
12
+ }
13
+
14
+ /**
15
+ * Single typed trace event.
16
+ */
17
+ export interface Event {
18
+ key: string;
19
+ isEphemeral: boolean;
20
+ data: unknown;
21
+ }
package/src/automerge.ts CHANGED
@@ -2,8 +2,30 @@
2
2
  // Copyright 2024 DXOS.org
3
3
  //
4
4
 
5
+ /**
6
+ * Opaque identifier of a peer participating in automerge-repo sync.
7
+ *
8
+ * Branded `string` so it cannot be accidentally confused with arbitrary
9
+ * strings. Matches the `PeerId` type exported by `@automerge/automerge-repo`.
10
+ */
5
11
  export type PeerId = string & { __peerId: true };
6
12
 
13
+ // ─── Classical automerge-repo sync protocol ───────────────────────────────────
14
+ // These types mirror upstream `@automerge/automerge-repo` `Message` variants
15
+ // (see `automerge-repo/src/network/messages.ts`). They are the wire protocol
16
+ // of the classical automerge-repo sync state machine, not DXOS extensions.
17
+ // Carried by `EchoEdgeReplicator` (classical edge wiring) and in-memory test
18
+ // adapters; NOT used on the subduction channel except via the
19
+ // `SubductionConnectionMessage` byte tunnel.
20
+
21
+ /**
22
+ * Sent by a peer when joining a connection.
23
+ *
24
+ * @remarks
25
+ * Upstream automerge-repo: first frame after `peer-candidate` to negotiate
26
+ * supported protocol versions. The other side responds with a
27
+ * {@link PeerProtocolMessage} containing the selected version.
28
+ */
7
29
  export type JoinProtocolMessage = {
8
30
  type: 'join';
9
31
  targetId?: PeerId;
@@ -12,6 +34,13 @@ export type JoinProtocolMessage = {
12
34
  metadata?: Record<string, unknown>;
13
35
  };
14
36
 
37
+ /**
38
+ * Sent by a peer when leaving a connection.
39
+ *
40
+ * @remarks
41
+ * Upstream automerge-repo: signals graceful disconnect so the remote tears
42
+ * down its sync state for this peer before the underlying transport closes.
43
+ */
15
44
  export type LeaveProtocolMessage = {
16
45
  type: 'leave';
17
46
  targetId?: PeerId;
@@ -19,6 +48,13 @@ export type LeaveProtocolMessage = {
19
48
  metadata?: Record<string, unknown>;
20
49
  };
21
50
 
51
+ /**
52
+ * Sent in response to a {@link JoinProtocolMessage} confirming the handshake
53
+ * and the selected protocol version.
54
+ *
55
+ * @remarks
56
+ * Upstream automerge-repo: completes the version negotiation handshake.
57
+ */
22
58
  export type PeerProtocolMessage = {
23
59
  type: 'peer';
24
60
  senderId: PeerId;
@@ -31,8 +67,10 @@ export type PeerProtocolMessage = {
31
67
  * Sent by a {@link Repo} to request a document from a peer.
32
68
  *
33
69
  * @remarks
34
- * This is identical to a {@link SyncMessage} except that it is sent by a {@link Repo}
35
- * as the initial sync message when asking the other peer if it has the document.
70
+ * Upstream automerge-repo: identical wire shape to {@link SyncProtocolMessage}
71
+ * except this is the initial sync message used when asking the other peer if
72
+ * it has the document. The peer replies with sync messages or
73
+ * {@link UnavailableProtocolMessage}.
36
74
  */
37
75
  export type RequestProtocolMessage = {
38
76
  type: 'request';
@@ -44,7 +82,12 @@ export type RequestProtocolMessage = {
44
82
  };
45
83
 
46
84
  /**
47
- * A sync message for a particular document
85
+ * Automerge sync message for a particular document.
86
+ *
87
+ * @remarks
88
+ * Upstream automerge-repo: carries the binary delta produced by Automerge's
89
+ * sync algorithm (`Automerge.generateSyncMessage`). Symmetric: peers exchange
90
+ * sync messages until both sides have converged.
48
91
  */
49
92
  export type SyncProtocolMessage = {
50
93
  type: 'sync';
@@ -56,8 +99,12 @@ export type SyncProtocolMessage = {
56
99
  };
57
100
 
58
101
  /**
59
- * Sent by a {@link Repo} to indicate that it does not have the document and none of its connected
60
- * peers do either.
102
+ * Sent by a {@link Repo} to indicate that it does not have the document and
103
+ * none of its connected peers do either.
104
+ *
105
+ * @remarks
106
+ * Upstream automerge-repo: terminates a {@link RequestProtocolMessage} fan-out
107
+ * when no peer in the cluster can serve the document.
61
108
  */
62
109
  export type UnavailableProtocolMessage = {
63
110
  type: 'doc-unavailable';
@@ -68,16 +115,17 @@ export type UnavailableProtocolMessage = {
68
115
  };
69
116
 
70
117
  /**
71
- * An ephemeral message.
118
+ * An ephemeral message gossiped between peers.
72
119
  *
73
120
  * @remarks
74
- * Ephemeral messages are not persisted anywhere. The data property can be used by the application
75
- * as needed. The repo gossips these around.
121
+ * Upstream automerge-repo: ephemeral messages are not persisted anywhere.
122
+ * The `data` property can be used by the application as needed. The repo
123
+ * gossips these around.
76
124
  *
77
- * In order to avoid infinite loops of ephemeral messages, every message has (a) a session ID, which
78
- * is a random number generated by the sender at startup time; and (b) a sequence number. The
79
- * combination of these two things allows us to discard messages we have already seen.
80
- * */
125
+ * To avoid infinite loops, every message carries (a) a `sessionId` randomly
126
+ * generated by the sender at startup time and (b) a sequence number
127
+ * (`count`). The pair lets receivers discard messages they have already seen.
128
+ */
81
129
  export type EphemeralProtocolMessage = {
82
130
  type: 'ephemeral';
83
131
  senderId: PeerId;
@@ -89,16 +137,114 @@ export type EphemeralProtocolMessage = {
89
137
  metadata?: Record<string, unknown>;
90
138
  };
91
139
 
140
+ /** Wire literal for {@link ErrorProtocolMessage}. */
141
+ export const MESSAGE_TYPE_ERROR = 'error';
142
+
143
+ /**
144
+ * Out-of-band error reported by a peer.
145
+ *
146
+ * @remarks
147
+ * Upstream automerge-repo: surfaces protocol-level failures (e.g. version
148
+ * mismatch, malformed frame). `senderId` and `targetId` are optional so the
149
+ * frame can be emitted before the handshake completes.
150
+ *
151
+ * The `connectionId` field is a DXOS extension carried on the subduction
152
+ * channel only. Edge → client errors with `connectionId` are restart signals
153
+ * for a specific {@link EdgeSubductionReplicatorConnection} lifetime; the
154
+ * client matches it against its local `_connectionId` and tears down only
155
+ * that connection. The field is optional so the same type can carry
156
+ * upstream-style classical-channel errors that have no connection identity.
157
+ */
92
158
  export type ErrorProtocolMessage = {
93
- type: 'error';
159
+ type: typeof MESSAGE_TYPE_ERROR;
94
160
  senderId?: PeerId;
95
161
  targetId?: PeerId;
96
162
  message: string;
163
+ connectionId?: string;
164
+ metadata?: Record<string, unknown>;
165
+ };
166
+
167
+ // ─── Subduction transport / control protocol ──────────────────────────────────
168
+ // Frames produced and consumed by `@automerge/automerge-repo`'s subduction
169
+ // transport bridge (`NetworkAdapterTransport`) plus the DXOS-side envelope
170
+ // and reconnect marker. Carried by the Edge subduction channel
171
+ // (`EdgeService.SUBDUCTION_REPLICATOR`) and the in-memory subduction adapter.
172
+
173
+ /** Wire literal for {@link SubductionConnectionMessage}. */
174
+ export const MESSAGE_TYPE_SUBDUCTION_CONNECTION = 'subduction-connection';
175
+
176
+ /** Wire literal for {@link SubductionFrameEnvelope}. */
177
+ export const MESSAGE_TYPE_SUBDUCTION_FRAME = 'subduction-frame';
178
+
179
+ /**
180
+ * Inner subduction transport frame emitted by automerge-repo's
181
+ * `NetworkAdapterTransport.#sendFrame`.
182
+ *
183
+ * @remarks
184
+ * Owned by upstream `@automerge/automerge-subduction`: `data` is an opaque
185
+ * byte blob (handshake bytes prefixed with `SUH\0`, or post-handshake
186
+ * sedimentree messages prefixed with `SUM\0`); DXOS code MUST NOT inspect
187
+ * `data`.
188
+ *
189
+ * The literal value `'subduction-connection'` matches the
190
+ * `SUBDUCTION_MESSAGE_TYPE` constant in
191
+ * `@automerge/automerge-repo/src/subduction/network.ts`. Do not redefine the
192
+ * value; if upstream renames it, update {@link MESSAGE_TYPE_SUBDUCTION_CONNECTION}.
193
+ *
194
+ * On the Edge subduction channel this frame never appears top-level — it is
195
+ * always wrapped in a {@link SubductionFrameEnvelope}. In-memory subduction
196
+ * adapters carry it directly.
197
+ */
198
+ export type SubductionConnectionMessage = {
199
+ type: typeof MESSAGE_TYPE_SUBDUCTION_CONNECTION;
200
+ senderId: PeerId;
201
+ targetId: PeerId;
202
+ data: Uint8Array;
97
203
  metadata?: Record<string, unknown>;
98
204
  };
99
205
 
206
+ /**
207
+ * DXOS-specific wire envelope around a {@link SubductionConnectionMessage}.
208
+ *
209
+ * @remarks
210
+ * Specific to the DXOS edge subduction channel; not used by upstream
211
+ * automerge-repo or in-memory subduction adapters.
212
+ *
213
+ * Carries the originator's `connectionId` (the value of
214
+ * `EdgeSubductionReplicatorConnection._connectionId` on the client, and of
215
+ * the matching `ClientSession` on the edge). The edge uses `connectionId` as
216
+ * the session key and echoes it back on every outbound reply.
217
+ *
218
+ * Frames whose `connectionId` does not match the local connection's UUID are
219
+ * stale (e.g. left over from a previous lifetime after
220
+ * `_onRestartRequested` rotated the UUID) and MUST be dropped on receipt.
221
+ */
222
+ export type SubductionFrameEnvelope = {
223
+ type: typeof MESSAGE_TYPE_SUBDUCTION_FRAME;
224
+ connectionId: string;
225
+ subductionFrame: SubductionConnectionMessage;
226
+ };
227
+
228
+ // ─── DXOS collection sync protocol ────────────────────────────────────────────
229
+ // DXOS extension on top of the automerge-repo Message type, used by
230
+ // `CollectionSynchronizer` to negotiate per-collection sync state. Carried
231
+ // by both the classical and subduction channels.
232
+
233
+ /** Wire literal for {@link CollectionQueryMessage}. */
100
234
  export const MESSAGE_TYPE_COLLECTION_QUERY = 'collection-query';
101
235
 
236
+ /**
237
+ * Request the remote peer's view of a collection.
238
+ *
239
+ * @remarks
240
+ * DXOS-specific. Sent by `CollectionSynchronizer` to ask a peer for the set
241
+ * of document heads it has for a given `collectionId`. The peer replies with
242
+ * a {@link CollectionStateMessage}.
243
+ *
244
+ * If the requester already has a `stateTag` from a previous reply, the peer
245
+ * MAY skip sending the state when its current tag matches (no change since
246
+ * the last query).
247
+ */
102
248
  export type CollectionQueryMessage = {
103
249
  type: typeof MESSAGE_TYPE_COLLECTION_QUERY;
104
250
  senderId: PeerId;
@@ -113,8 +259,22 @@ export type CollectionQueryMessage = {
113
259
  metadata?: Record<string, unknown>;
114
260
  };
115
261
 
262
+ /** Wire literal for {@link CollectionStateMessage}. */
116
263
  export const MESSAGE_TYPE_COLLECTION_STATE = 'collection-state';
117
264
 
265
+ /**
266
+ * Reply to a {@link CollectionQueryMessage} carrying the responder's view of
267
+ * a collection.
268
+ *
269
+ * @remarks
270
+ * DXOS-specific. The `state` payload shape is implementation-defined — today
271
+ * it is a `{ documents: Record<DocumentId, Heads[]> }` map produced by the
272
+ * edge from `Subduction.getAllHeads()`, but the type leaves this open for
273
+ * alternative encodings.
274
+ *
275
+ * `stateTag` lets the requester short-circuit future queries when nothing
276
+ * has changed (see {@link CollectionQueryMessage.stateTag}).
277
+ */
118
278
  export type CollectionStateMessage = {
119
279
  type: typeof MESSAGE_TYPE_COLLECTION_STATE;
120
280
  senderId: PeerId;
@@ -133,6 +293,20 @@ export type CollectionStateMessage = {
133
293
  metadata?: Record<string, unknown>;
134
294
  };
135
295
 
296
+ // ─── Channel-level unions ─────────────────────────────────────────────────────
297
+
298
+ /**
299
+ * Union of every message that flows through the **classical automerge-repo**
300
+ * sync channel (`EchoEdgeReplicator`, in-memory `TestAdapter`).
301
+ *
302
+ * @remarks
303
+ * Combines the upstream automerge-repo sync messages (join / leave / peer /
304
+ * request / sync / doc-unavailable / ephemeral / error) with DXOS's
305
+ * collection-sync extension (collection-query / collection-state).
306
+ *
307
+ * Does NOT include subduction transport frames or the reconnect marker —
308
+ * those live on a separate channel; see {@link SubductionProtocolMessage}.
309
+ */
136
310
  export type AutomergeProtocolMessage =
137
311
  | JoinProtocolMessage
138
312
  | PeerProtocolMessage
@@ -144,3 +318,55 @@ export type AutomergeProtocolMessage =
144
318
  | ErrorProtocolMessage
145
319
  | CollectionQueryMessage
146
320
  | CollectionStateMessage;
321
+
322
+ /**
323
+ * Union of every message that flows through the subduction channel **in
324
+ * process** — i.e. between automerge-repo's `NetworkAdapterTransport` and the
325
+ * DXOS adapter / replicator layer, before wire encoding.
326
+ *
327
+ * @remarks
328
+ * Distinct from {@link AutomergeProtocolMessage}, which describes the classical
329
+ * automerge-repo sync protocol carried by `EchoEdgeReplicator` (mesh sync,
330
+ * in-memory test adapters). The subduction channel multiplexes:
331
+ *
332
+ * - opaque transport frames ({@link SubductionConnectionMessage}) produced
333
+ * by `@automerge/automerge-repo/subduction/network.ts`;
334
+ * - DXOS collection sync messages ({@link CollectionQueryMessage} /
335
+ * {@link CollectionStateMessage});
336
+ * - edge-initiated restart signals ({@link ErrorProtocolMessage} carrying
337
+ * the offending `connectionId`).
338
+ *
339
+ * The {@link SubductionFrameEnvelope} is intentionally NOT a member: it only
340
+ * exists on the wire to attach a `connectionId` to a raw
341
+ * {@link SubductionConnectionMessage}. See {@link SubductionProtocolMessageEnveloped}
342
+ * for the corresponding wire union.
343
+ */
344
+ export type SubductionProtocolMessage =
345
+ | CollectionQueryMessage
346
+ | CollectionStateMessage
347
+ | SubductionConnectionMessage
348
+ | ErrorProtocolMessage;
349
+
350
+ /**
351
+ * Union of every message that flows over the **Edge subduction byte channel
352
+ * wire** (`EdgeService.SUBDUCTION_REPLICATOR`), i.e. the cbor-encoded payload
353
+ * of a `RouterMessage` targeting the subduction service.
354
+ *
355
+ * @remarks
356
+ * The wire counterpart of {@link SubductionProtocolMessage} — identical except
357
+ * that {@link SubductionConnectionMessage} is replaced by
358
+ * {@link SubductionFrameEnvelope}, which wraps it together with the originator's
359
+ * `connectionId` so the peer can drop stale frames from previous connection
360
+ * lifetimes.
361
+ *
362
+ * The wrap/unwrap happens at the
363
+ * {@link EdgeSubductionReplicatorConnection} boundary on the client and the
364
+ * matching `SubductionTransport` boundary on the edge. Other code paths (the
365
+ * in-memory `TestAdapter` pair, in-process subduction adapter) carry
366
+ * {@link SubductionProtocolMessage} directly without ever building an envelope.
367
+ */
368
+ export type SubductionProtocolMessageEnveloped =
369
+ | CollectionQueryMessage
370
+ | CollectionStateMessage
371
+ | SubductionFrameEnvelope
372
+ | ErrorProtocolMessage;
@@ -30,7 +30,7 @@ import type { Message } from "@bufbuild/protobuf";
30
30
  * Describes the file dxos/client/invitation.proto.
31
31
  */
32
32
  export const file_dxos_client_invitation: GenFile = /*@__PURE__*/
33
- fileDesc("ChxkeG9zL2NsaWVudC9pbnZpdGF0aW9uLnByb3RvEhRkeG9zLmNsaWVudC5zZXJ2aWNlcyJ9ChBBZG1pc3Npb25LZXlwYWlyEigKCnB1YmxpY19rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5Ei8KC3ByaXZhdGVfa2V5GAIgASgLMhUuZHhvcy5rZXlzLlByaXZhdGVLZXlIAIgBAUIOCgxfcHJpdmF0ZV9rZXkimgoKCkludml0YXRpb24SFQoNaW52aXRhdGlvbl9pZBgBIAEoCRIzCgR0eXBlGAIgASgOMiUuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbi5UeXBlEjMKBGtpbmQYAyABKA4yJS5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uLktpbmQSQAoLYXV0aF9tZXRob2QYBCABKA4yKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uLkF1dGhNZXRob2QSJwoJc3dhcm1fa2V5GAUgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI1CgVzdGF0ZRgGIAEoDjImLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24uU3RhdGUSFAoHdGltZW91dBgHIAEoBUgAiAEBEi8KDGlkZW50aXR5X2tleRgIIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIAYgBARIsCglzcGFjZV9rZXkYCSABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAKIAQESFgoJYXV0aF9jb2RlGAogASgJSAOIAQESEwoGdGFyZ2V0GAsgASgJSASIAQESFwoKcGVyc2lzdGVudBgMIAEoCEgFiAEBEjAKB2NyZWF0ZWQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESFQoIbGlmZXRpbWUYDiABKAVIB4gBARIWCgltdWx0aV91c2UYDyABKAhICIgBARJCCg1ndWVzdF9rZXlwYWlyGBAgASgLMiYuZHhvcy5jbGllbnQuc2VydmljZXMuQWRtaXNzaW9uS2V5cGFpckgJiAEBEjsKGGRlbGVnYXRpb25fY3JlZGVudGlhbF9pZBgRIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlICogBARI6CgRyb2xlGBIgASgOMicuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlNwYWNlTWVtYmVyLlJvbGVIC4gBARIVCghzcGFjZV9pZBgTIAEoCUgMiAEBIjQKBFR5cGUSDwoLSU5URVJBQ1RJVkUQABINCglERUxFR0FURUQQARIMCghNVUxUSVVTRRACIh0KBEtpbmQSCgoGREVWSUNFEAASCQoFU1BBQ0UQASI/CgpBdXRoTWV0aG9kEggKBE5PTkUQABIRCg1TSEFSRURfU0VDUkVUEAESFAoQS05PV05fUFVCTElDX0tFWRACIqMBCgVTdGF0ZRIICgRJTklUEAASDgoKQ09OTkVDVElORxABEg0KCUNPTk5FQ1RFRBACEhwKGFJFQURZX0ZPUl9BVVRIRU5USUNBVElPThADEhIKDkFVVEhFTlRJQ0FUSU5HEAQSCwoHU1VDQ0VTUxAFEg0KCUNBTkNFTExFRBAGEgsKB1RJTUVPVVQQBxIJCgVFUlJPUhAIEgsKB0VYUElSRUQQCUIKCghfdGltZW91dEIPCg1faWRlbnRpdHlfa2V5QgwKCl9zcGFjZV9rZXlCDAoKX2F1dGhfY29kZUIJCgdfdGFyZ2V0Qg0KC19wZXJzaXN0ZW50QgoKCF9jcmVhdGVkQgsKCV9saWZldGltZUIMCgpfbXVsdGlfdXNlQhAKDl9ndWVzdF9rZXlwYWlyQhsKGV9kZWxlZ2F0aW9uX2NyZWRlbnRpYWxfaWRCBwoFX3JvbGVCCwoJX3NwYWNlX2lkKsEBCgpTcGFjZVN0YXRlEgsKB0lOVkFMSUQQABISCg5TUEFDRV9JTkFDVElWRRACEhAKDFNQQUNFX0FDVElWRRAGEhAKDFNQQUNFX0NMT1NFRBABEhYKElNQQUNFX0NPTlRST0xfT05MWRAHEhYKElNQQUNFX0lOSVRJQUxJWklORxAEEg8KC1NQQUNFX1JFQURZEAMSDwoLU1BBQ0VfRVJST1IQBRIcChhTUEFDRV9SRVFVSVJFU19NSUdSQVRJT04QCGIGcHJvdG8z", [file_google_protobuf_any, file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_config, file_dxos_devtools_swarm, file_dxos_echo_timeframe, file_dxos_error, file_dxos_halo_credentials, file_dxos_keys, file_dxos_mesh_signal, file_dxos_mesh_presence, file_dxos_mesh_teleport_gossip, file_dxos_value]);
33
+ fileDesc("ChxkeG9zL2NsaWVudC9pbnZpdGF0aW9uLnByb3RvEhRkeG9zLmNsaWVudC5zZXJ2aWNlcyJ9ChBBZG1pc3Npb25LZXlwYWlyEigKCnB1YmxpY19rZXkYASABKAsyFC5keG9zLmtleXMuUHVibGljS2V5Ei8KC3ByaXZhdGVfa2V5GAIgASgLMhUuZHhvcy5rZXlzLlByaXZhdGVLZXlIAIgBAUIOCgxfcHJpdmF0ZV9rZXkipwoKCkludml0YXRpb24SFQoNaW52aXRhdGlvbl9pZBgBIAEoCRIzCgR0eXBlGAIgASgOMiUuZHhvcy5jbGllbnQuc2VydmljZXMuSW52aXRhdGlvbi5UeXBlEjMKBGtpbmQYAyABKA4yJS5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uLktpbmQSQAoLYXV0aF9tZXRob2QYBCABKA4yKy5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnZpdGF0aW9uLkF1dGhNZXRob2QSJwoJc3dhcm1fa2V5GAUgASgLMhQuZHhvcy5rZXlzLlB1YmxpY0tleRI1CgVzdGF0ZRgGIAEoDjImLmR4b3MuY2xpZW50LnNlcnZpY2VzLkludml0YXRpb24uU3RhdGUSFAoHdGltZW91dBgHIAEoBUgAiAEBEi8KDGlkZW50aXR5X2tleRgIIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlIAYgBARIsCglzcGFjZV9rZXkYCSABKAsyFC5keG9zLmtleXMuUHVibGljS2V5SAKIAQESFgoJYXV0aF9jb2RlGAogASgJSAOIAQESEwoGdGFyZ2V0GAsgASgJSASIAQESFwoKcGVyc2lzdGVudBgMIAEoCEgFiAEBEjAKB2NyZWF0ZWQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESFQoIbGlmZXRpbWUYDiABKAVIB4gBARIWCgltdWx0aV91c2UYDyABKAhICIgBARJCCg1ndWVzdF9rZXlwYWlyGBAgASgLMiYuZHhvcy5jbGllbnQuc2VydmljZXMuQWRtaXNzaW9uS2V5cGFpckgJiAEBEjsKGGRlbGVnYXRpb25fY3JlZGVudGlhbF9pZBgRIAEoCzIULmR4b3Mua2V5cy5QdWJsaWNLZXlICogBARI6CgRyb2xlGBIgASgOMicuZHhvcy5oYWxvLmNyZWRlbnRpYWxzLlNwYWNlTWVtYmVyLlJvbGVIC4gBARIVCghzcGFjZV9pZBgTIAEoCUgMiAEBIjQKBFR5cGUSDwoLSU5URVJBQ1RJVkUQABINCglERUxFR0FURUQQARIMCghNVUxUSVVTRRACIioKBEtpbmQSCwoHSU5WQUxJRBAAEgoKBkRFVklDRRABEgkKBVNQQUNFEAIiPwoKQXV0aE1ldGhvZBIICgROT05FEAASEQoNU0hBUkVEX1NFQ1JFVBABEhQKEEtOT1dOX1BVQkxJQ19LRVkQAiKjAQoFU3RhdGUSCAoESU5JVBAAEg4KCkNPTk5FQ1RJTkcQARINCglDT05ORUNURUQQAhIcChhSRUFEWV9GT1JfQVVUSEVOVElDQVRJT04QAxISCg5BVVRIRU5USUNBVElORxAEEgsKB1NVQ0NFU1MQBRINCglDQU5DRUxMRUQQBhILCgdUSU1FT1VUEAcSCQoFRVJST1IQCBILCgdFWFBJUkVEEAlCCgoIX3RpbWVvdXRCDwoNX2lkZW50aXR5X2tleUIMCgpfc3BhY2Vfa2V5QgwKCl9hdXRoX2NvZGVCCQoHX3RhcmdldEINCgtfcGVyc2lzdGVudEIKCghfY3JlYXRlZEILCglfbGlmZXRpbWVCDAoKX211bHRpX3VzZUIQCg5fZ3Vlc3Rfa2V5cGFpckIbChlfZGVsZWdhdGlvbl9jcmVkZW50aWFsX2lkQgcKBV9yb2xlQgsKCV9zcGFjZV9pZCrUAQoKU3BhY2VTdGF0ZRILCgdJTlZBTElEEAASEgoOU1BBQ0VfSU5BQ1RJVkUQAhIQCgxTUEFDRV9BQ1RJVkUQBhIRCg1TUEFDRV9ERUxFVEVEEAkSEAoMU1BBQ0VfQ0xPU0VEEAESFgoSU1BBQ0VfQ09OVFJPTF9PTkxZEAcSFgoSU1BBQ0VfSU5JVElBTElaSU5HEAQSDwoLU1BBQ0VfUkVBRFkQAxIPCgtTUEFDRV9FUlJPUhAFEhwKGFNQQUNFX1JFUVVJUkVTX01JR1JBVElPThAIYgZwcm90bzM", [file_google_protobuf_any, file_google_protobuf_empty, file_google_protobuf_struct, file_google_protobuf_timestamp, file_dxos_config, file_dxos_devtools_swarm, file_dxos_echo_timeframe, file_dxos_error, file_dxos_halo_credentials, file_dxos_keys, file_dxos_mesh_signal, file_dxos_mesh_presence, file_dxos_mesh_teleport_gossip, file_dxos_value]);
34
34
 
35
35
  /**
36
36
  * @generated from message dxos.client.services.AdmissionKeypair
@@ -242,14 +242,21 @@ export const Invitation_TypeSchema: GenEnum<Invitation_Type> = /*@__PURE__*/
242
242
  */
243
243
  export enum Invitation_Kind {
244
244
  /**
245
- * @generated from enum value: DEVICE = 0;
245
+ * / Unset / unknown. Must not be used for new invitations.
246
+ *
247
+ * @generated from enum value: INVALID = 0;
248
+ */
249
+ INVALID = 0,
250
+
251
+ /**
252
+ * @generated from enum value: DEVICE = 1;
246
253
  */
247
- DEVICE = 0,
254
+ DEVICE = 1,
248
255
 
249
256
  /**
250
- * @generated from enum value: SPACE = 1;
257
+ * @generated from enum value: SPACE = 2;
251
258
  */
252
- SPACE = 1,
259
+ SPACE = 2,
253
260
  }
254
261
 
255
262
  /**
@@ -376,6 +383,13 @@ export enum SpaceState {
376
383
  */
377
384
  SPACE_ACTIVE = 6,
378
385
 
386
+ /**
387
+ * / Space is tombstoned (soft-deleted). Replicated to other devices; never auto-opened.
388
+ *
389
+ * @generated from enum value: SPACE_DELETED = 9;
390
+ */
391
+ SPACE_DELETED = 9,
392
+
379
393
  /**
380
394
  * / Space is closed.
381
395
  *
@@ -12,7 +12,7 @@ import type { Message } from "@bufbuild/protobuf";
12
12
  * Describes the file dxos/client/queue.proto.
13
13
  */
14
14
  export const file_dxos_client_queue: GenFile = /*@__PURE__*/
15
- fileDesc("ChdkeG9zL2NsaWVudC9xdWV1ZS5wcm90bxIUZHhvcy5jbGllbnQuc2VydmljZXMi0wIKClF1ZXVlUXVlcnkSEAoIc3BhY2VfaWQYASABKAkSHQoQcXVldWVzX25hbWVzcGFjZRgCIAEoCUgAiAEBEhEKCXF1ZXVlX2lkcxgDIAMoCRISCgVhZnRlchgEIAEoCUgBiAEBEhMKBmJlZm9yZRgFIAEoCUgCiAEBEhsKDmJlZ2luX3Bvc2l0aW9uGAYgASgDSAOIAQESGQoMZW5kX3Bvc2l0aW9uGAcgASgDSASIAQESEgoFbGltaXQYCCABKAVIBYgBARIUCgdyZXZlcnNlGAkgASgISAaIAQESEgoKb2JqZWN0X2lkcxhkIAMoCUITChFfcXVldWVzX25hbWVzcGFjZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIRCg9fYmVnaW5fcG9zaXRpb25CDwoNX2VuZF9wb3NpdGlvbkIICgZfbGltaXRCCgoIX3JldmVyc2UiTQoQUXVldWVRdWVyeVJlc3VsdBIPCgdvYmplY3RzGAEgAygJEhMKC25leHRfY3Vyc29yGAIgASgJEhMKC3ByZXZfY3Vyc29yGAMgASgJIkQKEVF1ZXJ5UXVldWVSZXF1ZXN0Ei8KBXF1ZXJ5GAEgASgLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuUXVldWVRdWVyeSJjChZJbnNlcnRJbnRvUXVldWVSZXF1ZXN0EhQKDHN1YnNwYWNlX3RhZxgBIAEoCRIQCghzcGFjZV9pZBgCIAEoCRIQCghxdWV1ZV9pZBgDIAEoCRIPCgdvYmplY3RzGAQgAygJImYKFkRlbGV0ZUZyb21RdWV1ZVJlcXVlc3QSFAoMc3Vic3BhY2VfdGFnGAEgASgJEhAKCHNwYWNlX2lkGAIgASgJEhAKCHF1ZXVlX2lkGAMgASgJEhIKCm9iamVjdF9pZHMYBCADKAkioAEKEFN5bmNRdWV1ZVJlcXVlc3QSFAoMc3Vic3BhY2VfdGFnGAEgASgJEhAKCHNwYWNlX2lkGAIgASgJEhAKCHF1ZXVlX2lkGAMgASgJEhgKC3Nob3VsZF9wdXNoGAQgASgISACIAQESGAoLc2hvdWxkX3B1bGwYBSABKAhIAYgBAUIOCgxfc2hvdWxkX3B1c2hCDgoMX3Nob3VsZF9wdWxsMuwCCgxRdWV1ZVNlcnZpY2USXQoKUXVlcnlRdWV1ZRInLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXJ5UXVldWVSZXF1ZXN0GiYuZHhvcy5jbGllbnQuc2VydmljZXMuUXVldWVRdWVyeVJlc3VsdBJXCg9JbnNlcnRJbnRvUXVldWUSLC5keG9zLmNsaWVudC5zZXJ2aWNlcy5JbnNlcnRJbnRvUXVldWVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElcKD0RlbGV0ZUZyb21RdWV1ZRIsLmR4b3MuY2xpZW50LnNlcnZpY2VzLkRlbGV0ZUZyb21RdWV1ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSwoJU3luY1F1ZXVlEiYuZHhvcy5jbGllbnQuc2VydmljZXMuU3luY1F1ZXVlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eWIGcHJvdG8z", [file_google_protobuf_empty]);
15
+ fileDesc("ChdkeG9zL2NsaWVudC9xdWV1ZS5wcm90bxIUZHhvcy5jbGllbnQuc2VydmljZXMi0wIKClF1ZXVlUXVlcnkSEAoIc3BhY2VfaWQYASABKAkSHQoQcXVldWVzX25hbWVzcGFjZRgCIAEoCUgAiAEBEhEKCXF1ZXVlX2lkcxgDIAMoCRISCgVhZnRlchgEIAEoCUgBiAEBEhMKBmJlZm9yZRgFIAEoCUgCiAEBEhsKDmJlZ2luX3Bvc2l0aW9uGAYgASgDSAOIAQESGQoMZW5kX3Bvc2l0aW9uGAcgASgDSASIAQESEgoFbGltaXQYCCABKAVIBYgBARIUCgdyZXZlcnNlGAkgASgISAaIAQESEgoKb2JqZWN0X2lkcxhkIAMoCUITChFfcXVldWVzX25hbWVzcGFjZUIICgZfYWZ0ZXJCCQoHX2JlZm9yZUIRCg9fYmVnaW5fcG9zaXRpb25CDwoNX2VuZF9wb3NpdGlvbkIICgZfbGltaXRCCgoIX3JldmVyc2UiTQoQUXVldWVRdWVyeVJlc3VsdBIPCgdvYmplY3RzGAEgAygJEhMKC25leHRfY3Vyc29yGAIgASgJEhMKC3ByZXZfY3Vyc29yGAMgASgJIkQKEVF1ZXJ5UXVldWVSZXF1ZXN0Ei8KBXF1ZXJ5GAEgASgLMiAuZHhvcy5jbGllbnQuc2VydmljZXMuUXVldWVRdWVyeSJjChZJbnNlcnRJbnRvUXVldWVSZXF1ZXN0EhQKDHN1YnNwYWNlX3RhZxgBIAEoCRIQCghzcGFjZV9pZBgCIAEoCRIQCghxdWV1ZV9pZBgDIAEoCRIPCgdvYmplY3RzGAQgAygJImYKFkRlbGV0ZUZyb21RdWV1ZVJlcXVlc3QSFAoMc3Vic3BhY2VfdGFnGAEgASgJEhAKCHNwYWNlX2lkGAIgASgJEhAKCHF1ZXVlX2lkGAMgASgJEhIKCm9iamVjdF9pZHMYBCADKAkioAEKEFN5bmNRdWV1ZVJlcXVlc3QSFAoMc3Vic3BhY2VfdGFnGAEgASgJEhAKCHNwYWNlX2lkGAIgASgJEhAKCHF1ZXVlX2lkGAMgASgJEhgKC3Nob3VsZF9wdXNoGAQgASgISACIAQESGAoLc2hvdWxkX3B1bGwYBSABKAhIAYgBAUIOCgxfc2hvdWxkX3B1c2hCDgoMX3Nob3VsZF9wdWxsIjsKE0dldFN5bmNTdGF0ZVJlcXVlc3QSEAoIc3BhY2VfaWQYASABKAkSEgoKbmFtZXNwYWNlcxgCIAMoCSJyChdRdWV1ZU5hbWVzcGFjZVN5bmNTdGF0ZRIRCgluYW1lc3BhY2UYASABKAkSFgoOYmxvY2tzX3RvX3B1bGwYAiABKAMSFgoOYmxvY2tzX3RvX3B1c2gYAyABKAMSFAoMdG90YWxfYmxvY2tzGAQgASgDIlkKFEdldFN5bmNTdGF0ZVJlc3BvbnNlEkEKCm5hbWVzcGFjZXMYASADKAsyLS5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWV1ZU5hbWVzcGFjZVN5bmNTdGF0ZTLTAwoMUXVldWVTZXJ2aWNlEl0KClF1ZXJ5UXVldWUSJy5keG9zLmNsaWVudC5zZXJ2aWNlcy5RdWVyeVF1ZXVlUmVxdWVzdBomLmR4b3MuY2xpZW50LnNlcnZpY2VzLlF1ZXVlUXVlcnlSZXN1bHQSVwoPSW5zZXJ0SW50b1F1ZXVlEiwuZHhvcy5jbGllbnQuc2VydmljZXMuSW5zZXJ0SW50b1F1ZXVlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJXCg9EZWxldGVGcm9tUXVldWUSLC5keG9zLmNsaWVudC5zZXJ2aWNlcy5EZWxldGVGcm9tUXVldWVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EksKCVN5bmNRdWV1ZRImLmR4b3MuY2xpZW50LnNlcnZpY2VzLlN5bmNRdWV1ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSZQoMR2V0U3luY1N0YXRlEikuZHhvcy5jbGllbnQuc2VydmljZXMuR2V0U3luY1N0YXRlUmVxdWVzdBoqLmR4b3MuY2xpZW50LnNlcnZpY2VzLkdldFN5bmNTdGF0ZVJlc3BvbnNlYgZwcm90bzM", [file_google_protobuf_empty]);
16
16
 
17
17
  /**
18
18
  * @generated from message dxos.client.services.QueueQuery
@@ -245,6 +245,85 @@ export type SyncQueueRequest = Message<"dxos.client.services.SyncQueueRequest">
245
245
  export const SyncQueueRequestSchema: GenMessage<SyncQueueRequest> = /*@__PURE__*/
246
246
  messageDesc(file_dxos_client_queue, 5);
247
247
 
248
+ /**
249
+ * @generated from message dxos.client.services.GetSyncStateRequest
250
+ */
251
+ export type GetSyncStateRequest = Message<"dxos.client.services.GetSyncStateRequest"> & {
252
+ /**
253
+ * @generated from field: string space_id = 1;
254
+ */
255
+ spaceId: string;
256
+
257
+ /**
258
+ * / If empty, returns state for all namespaces synced by the client.
259
+ *
260
+ * @generated from field: repeated string namespaces = 2;
261
+ */
262
+ namespaces: string[];
263
+ };
264
+
265
+ /**
266
+ * Describes the message dxos.client.services.GetSyncStateRequest.
267
+ * Use `create(GetSyncStateRequestSchema)` to create a new message.
268
+ */
269
+ export const GetSyncStateRequestSchema: GenMessage<GetSyncStateRequest> = /*@__PURE__*/
270
+ messageDesc(file_dxos_client_queue, 6);
271
+
272
+ /**
273
+ * @generated from message dxos.client.services.QueueNamespaceSyncState
274
+ */
275
+ export type QueueNamespaceSyncState = Message<"dxos.client.services.QueueNamespaceSyncState"> & {
276
+ /**
277
+ * @generated from field: string namespace = 1;
278
+ */
279
+ namespace: string;
280
+
281
+ /**
282
+ * / Blocks still to pull from remote. 0 when caught up.
283
+ *
284
+ * @generated from field: int64 blocks_to_pull = 2;
285
+ */
286
+ blocksToPull: bigint;
287
+
288
+ /**
289
+ * / Unpositioned blocks still to push to remote. 0 when caught up.
290
+ *
291
+ * @generated from field: int64 blocks_to_push = 3;
292
+ */
293
+ blocksToPush: bigint;
294
+
295
+ /**
296
+ * / Total blocks stored locally for this namespace in the space.
297
+ *
298
+ * @generated from field: int64 total_blocks = 4;
299
+ */
300
+ totalBlocks: bigint;
301
+ };
302
+
303
+ /**
304
+ * Describes the message dxos.client.services.QueueNamespaceSyncState.
305
+ * Use `create(QueueNamespaceSyncStateSchema)` to create a new message.
306
+ */
307
+ export const QueueNamespaceSyncStateSchema: GenMessage<QueueNamespaceSyncState> = /*@__PURE__*/
308
+ messageDesc(file_dxos_client_queue, 7);
309
+
310
+ /**
311
+ * @generated from message dxos.client.services.GetSyncStateResponse
312
+ */
313
+ export type GetSyncStateResponse = Message<"dxos.client.services.GetSyncStateResponse"> & {
314
+ /**
315
+ * @generated from field: repeated dxos.client.services.QueueNamespaceSyncState namespaces = 1;
316
+ */
317
+ namespaces: QueueNamespaceSyncState[];
318
+ };
319
+
320
+ /**
321
+ * Describes the message dxos.client.services.GetSyncStateResponse.
322
+ * Use `create(GetSyncStateResponseSchema)` to create a new message.
323
+ */
324
+ export const GetSyncStateResponseSchema: GenMessage<GetSyncStateResponse> = /*@__PURE__*/
325
+ messageDesc(file_dxos_client_queue, 8);
326
+
248
327
  /**
249
328
  * @generated from service dxos.client.services.QueueService
250
329
  */
@@ -281,6 +360,14 @@ export const QueueService: GenService<{
281
360
  input: typeof SyncQueueRequestSchema;
282
361
  output: typeof EmptySchema;
283
362
  },
363
+ /**
364
+ * @generated from rpc dxos.client.services.QueueService.GetSyncState
365
+ */
366
+ getSyncState: {
367
+ methodKind: "unary";
368
+ input: typeof GetSyncStateRequestSchema;
369
+ output: typeof GetSyncStateResponseSchema;
370
+ },
284
371
  }> = /*@__PURE__*/
285
372
  serviceDesc(file_dxos_client_queue, 0);
286
373