@dxos/protocols 0.8.4-main.fffef41 → 0.8.4-staging.60fe92afc8

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 (507) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/src/FeedProtocol.d.ts +528 -0
  4. package/dist/src/FeedProtocol.d.ts.map +1 -0
  5. package/dist/src/FeedProtocol.js +237 -0
  6. package/dist/src/FeedProtocol.js.map +1 -0
  7. package/dist/src/FunctionProtocol.d.ts +15 -2
  8. package/dist/src/FunctionProtocol.d.ts.map +1 -1
  9. package/dist/src/TraceProtocol.d.ts +15 -0
  10. package/dist/src/TraceProtocol.d.ts.map +1 -0
  11. package/dist/src/TraceProtocol.js +4 -0
  12. package/dist/src/TraceProtocol.js.map +1 -0
  13. package/dist/src/automerge.d.ts +203 -13
  14. package/dist/src/automerge.d.ts.map +1 -1
  15. package/dist/src/automerge.js +17 -0
  16. package/dist/src/automerge.js.map +1 -1
  17. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.d.ts +16 -4
  18. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.d.ts.map +1 -1
  19. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.js +17 -5
  20. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.js.map +1 -1
  21. package/dist/src/buf/proto/gen/dxos/client/queue_pb.d.ts +311 -0
  22. package/dist/src/buf/proto/gen/dxos/client/queue_pb.d.ts.map +1 -0
  23. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js +59 -0
  24. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js.map +1 -0
  25. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts +78 -3
  26. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  27. package/dist/src/buf/proto/gen/dxos/client/services_pb.js +68 -37
  28. package/dist/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  29. package/dist/src/buf/proto/gen/dxos/config_pb.d.ts +112 -0
  30. package/dist/src/buf/proto/gen/dxos/config_pb.d.ts.map +1 -1
  31. package/dist/src/buf/proto/gen/dxos/config_pb.js +72 -1
  32. package/dist/src/buf/proto/gen/dxos/config_pb.js.map +1 -1
  33. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.d.ts +70 -0
  34. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.d.ts.map +1 -1
  35. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.js +16 -1
  36. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.js.map +1 -1
  37. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.d.ts +12 -0
  38. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.d.ts.map +1 -1
  39. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.js +1 -1
  40. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.js.map +1 -1
  41. package/dist/src/buf/proto/gen/dxos/echo/query_pb.d.ts +12 -2
  42. package/dist/src/buf/proto/gen/dxos/echo/query_pb.d.ts.map +1 -1
  43. package/dist/src/buf/proto/gen/dxos/echo/query_pb.js +1 -1
  44. package/dist/src/buf/proto/gen/dxos/echo/query_pb.js.map +1 -1
  45. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts +68 -7
  46. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts.map +1 -1
  47. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js +15 -5
  48. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js.map +1 -1
  49. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.d.ts +28 -0
  50. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.d.ts.map +1 -1
  51. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.js +10 -5
  52. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.js.map +1 -1
  53. package/dist/src/buf/proto/gen/dxos/google_pb.js +1 -1
  54. package/dist/src/buf/proto/gen/dxos/google_pb.js.map +1 -1
  55. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts +65 -0
  56. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts.map +1 -1
  57. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.js +52 -22
  58. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.js.map +1 -1
  59. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.d.ts +11 -4
  60. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.d.ts.map +1 -1
  61. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.js +12 -5
  62. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.js.map +1 -1
  63. package/dist/src/buf/proto/gen/dxos/iframe_pb.d.ts +1 -10
  64. package/dist/src/buf/proto/gen/dxos/iframe_pb.d.ts.map +1 -1
  65. package/dist/src/buf/proto/gen/dxos/iframe_pb.js +1 -1
  66. package/dist/src/buf/proto/gen/dxos/iframe_pb.js.map +1 -1
  67. package/dist/src/buf/proto/gen/dxos/rpc_pb.d.ts +24 -0
  68. package/dist/src/buf/proto/gen/dxos/rpc_pb.d.ts.map +1 -1
  69. package/dist/src/buf/proto/gen/dxos/rpc_pb.js +12 -7
  70. package/dist/src/buf/proto/gen/dxos/rpc_pb.js.map +1 -1
  71. package/dist/src/buf/proto/gen/dxos/tracing_pb.d.ts +1 -139
  72. package/dist/src/buf/proto/gen/dxos/tracing_pb.d.ts.map +1 -1
  73. package/dist/src/buf/proto/gen/dxos/tracing_pb.js +11 -45
  74. package/dist/src/buf/proto/gen/dxos/tracing_pb.js.map +1 -1
  75. package/dist/src/edge/EdgeFunctionEnv.d.ts +134 -0
  76. package/dist/src/edge/EdgeFunctionEnv.d.ts.map +1 -0
  77. package/dist/src/edge/EdgeFunctionEnv.js +4 -0
  78. package/dist/src/edge/EdgeFunctionEnv.js.map +1 -0
  79. package/dist/src/edge/edge.d.ts +698 -0
  80. package/dist/src/edge/edge.d.ts.map +1 -0
  81. package/dist/src/edge/edge.js +278 -0
  82. package/dist/src/edge/edge.js.map +1 -0
  83. package/dist/src/edge/edge.test.d.ts +2 -0
  84. package/dist/src/edge/edge.test.d.ts.map +1 -0
  85. package/dist/src/edge/edge.test.js +50 -0
  86. package/dist/src/edge/edge.test.js.map +1 -0
  87. package/dist/src/{edge-error.d.ts → edge/errors.d.ts} +6 -7
  88. package/dist/src/edge/errors.d.ts.map +1 -0
  89. package/dist/src/{edge-error.js → edge/errors.js} +13 -14
  90. package/dist/src/edge/errors.js.map +1 -0
  91. package/dist/src/edge/index.d.ts +5 -0
  92. package/dist/src/edge/index.d.ts.map +1 -0
  93. package/dist/src/edge/index.js +8 -0
  94. package/dist/src/edge/index.js.map +1 -0
  95. package/dist/src/edge/registry.d.ts +212 -0
  96. package/dist/src/edge/registry.d.ts.map +1 -0
  97. package/dist/src/edge/registry.js +139 -0
  98. package/dist/src/edge/registry.js.map +1 -0
  99. package/dist/src/errors/base-errors.d.ts +86 -8
  100. package/dist/src/errors/base-errors.d.ts.map +1 -1
  101. package/dist/src/errors/base-errors.js +4 -20
  102. package/dist/src/errors/base-errors.js.map +1 -1
  103. package/dist/src/errors/encoding.d.ts +2 -2
  104. package/dist/src/errors/encoding.d.ts.map +1 -1
  105. package/dist/src/errors/encoding.js.map +1 -1
  106. package/dist/src/errors/errors.d.ts +619 -42
  107. package/dist/src/errors/errors.d.ts.map +1 -1
  108. package/dist/src/errors/errors.js +49 -103
  109. package/dist/src/errors/errors.js.map +1 -1
  110. package/dist/src/errors/errors.test.js +1 -1
  111. package/dist/src/errors/errors.test.js.map +1 -1
  112. package/dist/src/errors/helpers.d.ts +9 -5
  113. package/dist/src/errors/helpers.d.ts.map +1 -1
  114. package/dist/src/errors/helpers.js +3 -3
  115. package/dist/src/errors/helpers.js.map +1 -1
  116. package/dist/src/errors/index.d.ts +5 -5
  117. package/dist/src/errors/parameter.d.ts.map +1 -1
  118. package/dist/src/feed-replication.d.ts.map +1 -1
  119. package/dist/src/index.d.ts +12 -13
  120. package/dist/src/index.d.ts.map +1 -1
  121. package/dist/src/index.js +4 -5
  122. package/dist/src/index.js.map +1 -1
  123. package/dist/src/indexing.d.ts.map +1 -1
  124. package/dist/src/invitation.js +3 -3
  125. package/dist/src/invitation.js.map +1 -1
  126. package/dist/src/messenger.d.ts +16 -0
  127. package/dist/src/messenger.d.ts.map +1 -0
  128. package/dist/src/messenger.js +4 -0
  129. package/dist/src/messenger.js.map +1 -0
  130. package/dist/src/profile-archive.d.ts +14 -1
  131. package/dist/src/profile-archive.d.ts.map +1 -1
  132. package/dist/src/profile-archive.js +2 -0
  133. package/dist/src/profile-archive.js.map +1 -1
  134. package/dist/src/proto/gen/dxos/agent/dashboard.d.ts +3 -6
  135. package/dist/src/proto/gen/dxos/agent/dashboard.d.ts.map +1 -1
  136. package/dist/src/proto/gen/dxos/agent/dashboard.js.map +1 -1
  137. package/dist/src/proto/gen/dxos/agent/echoproxy.d.ts +1 -2
  138. package/dist/src/proto/gen/dxos/agent/echoproxy.d.ts.map +1 -1
  139. package/dist/src/proto/gen/dxos/agent/epoch.d.ts +1 -2
  140. package/dist/src/proto/gen/dxos/agent/epoch.d.ts.map +1 -1
  141. package/dist/src/proto/gen/dxos/agent/functions.d.ts +6 -12
  142. package/dist/src/proto/gen/dxos/agent/functions.d.ts.map +1 -1
  143. package/dist/src/proto/gen/dxos/bot.d.ts +12 -24
  144. package/dist/src/proto/gen/dxos/bot.d.ts.map +1 -1
  145. package/dist/src/proto/gen/dxos/bot.js.map +1 -1
  146. package/dist/src/proto/gen/dxos/client/services.d.ts +1050 -915
  147. package/dist/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  148. package/dist/src/proto/gen/dxos/client/services.js +109 -94
  149. package/dist/src/proto/gen/dxos/client/services.js.map +1 -1
  150. package/dist/src/proto/gen/dxos/config.d.ts +115 -100
  151. package/dist/src/proto/gen/dxos/config.d.ts.map +1 -1
  152. package/dist/src/proto/gen/dxos/config.js +26 -0
  153. package/dist/src/proto/gen/dxos/config.js.map +1 -1
  154. package/dist/src/proto/gen/dxos/devtools/host.d.ts +101 -119
  155. package/dist/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  156. package/dist/src/proto/gen/dxos/devtools/swarm.d.ts +4 -8
  157. package/dist/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -1
  158. package/dist/src/proto/gen/dxos/echo/blob.d.ts +1 -2
  159. package/dist/src/proto/gen/dxos/echo/blob.d.ts.map +1 -1
  160. package/dist/src/proto/gen/dxos/echo/blob.js.map +1 -1
  161. package/dist/src/proto/gen/dxos/echo/feed.d.ts +4 -8
  162. package/dist/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  163. package/dist/src/proto/gen/dxos/echo/filter.d.ts +2 -4
  164. package/dist/src/proto/gen/dxos/echo/filter.d.ts.map +1 -1
  165. package/dist/src/proto/gen/dxos/echo/filter.js.map +1 -1
  166. package/dist/src/proto/gen/dxos/echo/indexing.d.ts +2 -4
  167. package/dist/src/proto/gen/dxos/echo/indexing.d.ts.map +1 -1
  168. package/dist/src/proto/gen/dxos/echo/indexing.js.map +1 -1
  169. package/dist/src/proto/gen/dxos/echo/metadata.d.ts +16 -16
  170. package/dist/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  171. package/dist/src/proto/gen/dxos/echo/metadata.js.map +1 -1
  172. package/dist/src/proto/gen/dxos/echo/model/document.d.ts +11 -22
  173. package/dist/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  174. package/dist/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  175. package/dist/src/proto/gen/dxos/echo/model/messenger.d.ts +1 -2
  176. package/dist/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -1
  177. package/dist/src/proto/gen/dxos/echo/model/text.d.ts +2 -4
  178. package/dist/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -1
  179. package/dist/src/proto/gen/dxos/echo/object.d.ts +6 -12
  180. package/dist/src/proto/gen/dxos/echo/object.d.ts.map +1 -1
  181. package/dist/src/proto/gen/dxos/echo/object.js.map +1 -1
  182. package/dist/src/proto/gen/dxos/echo/query.d.ts +21 -9
  183. package/dist/src/proto/gen/dxos/echo/query.d.ts.map +1 -1
  184. package/dist/src/proto/gen/dxos/echo/query.js.map +1 -1
  185. package/dist/src/proto/gen/dxos/echo/service.d.ts +61 -34
  186. package/dist/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  187. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts +2 -4
  188. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  189. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts +2 -4
  190. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  191. package/dist/src/proto/gen/dxos/edge/calls.d.ts +5 -10
  192. package/dist/src/proto/gen/dxos/edge/calls.d.ts.map +1 -1
  193. package/dist/src/proto/gen/dxos/edge/messenger.d.ts +28 -10
  194. package/dist/src/proto/gen/dxos/edge/messenger.d.ts.map +1 -1
  195. package/dist/src/proto/gen/dxos/edge/messenger.js.map +1 -1
  196. package/dist/src/proto/gen/dxos/edge/signal.d.ts +7 -14
  197. package/dist/src/proto/gen/dxos/edge/signal.d.ts.map +1 -1
  198. package/dist/src/proto/gen/dxos/error.d.ts +1 -2
  199. package/dist/src/proto/gen/dxos/error.d.ts.map +1 -1
  200. package/dist/src/proto/gen/dxos/gravity.d.ts +10 -20
  201. package/dist/src/proto/gen/dxos/gravity.d.ts.map +1 -1
  202. package/dist/src/proto/gen/dxos/halo/credentials/auth.d.ts +1 -2
  203. package/dist/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -1
  204. package/dist/src/proto/gen/dxos/halo/credentials/greet.d.ts +6 -12
  205. package/dist/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -1
  206. package/dist/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -1
  207. package/dist/src/proto/gen/dxos/halo/credentials/identity.d.ts +2 -4
  208. package/dist/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -1
  209. package/dist/src/proto/gen/dxos/halo/credentials.d.ts +47 -43
  210. package/dist/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  211. package/dist/src/proto/gen/dxos/halo/credentials.js +9 -0
  212. package/dist/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  213. package/dist/src/proto/gen/dxos/halo/invitations.d.ts +16 -28
  214. package/dist/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  215. package/dist/src/proto/gen/dxos/halo/invitations.js +3 -2
  216. package/dist/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  217. package/dist/src/proto/gen/dxos/halo/keyring.d.ts +1 -2
  218. package/dist/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -1
  219. package/dist/src/proto/gen/dxos/halo/keys.d.ts +2 -4
  220. package/dist/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  221. package/dist/src/proto/gen/dxos/halo/signed.d.ts +4 -8
  222. package/dist/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  223. package/dist/src/proto/gen/dxos/iframe.d.ts +4 -18
  224. package/dist/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  225. package/dist/src/proto/gen/dxos/iframe.js.map +1 -1
  226. package/dist/src/proto/gen/dxos/keys.d.ts +2 -4
  227. package/dist/src/proto/gen/dxos/keys.d.ts.map +1 -1
  228. package/dist/src/proto/gen/dxos/mesh/bridge.d.ts +12 -24
  229. package/dist/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -1
  230. package/dist/src/proto/gen/dxos/mesh/broadcast.d.ts +1 -2
  231. package/dist/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -1
  232. package/dist/src/proto/gen/dxos/mesh/messaging.d.ts +2 -4
  233. package/dist/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -1
  234. package/dist/src/proto/gen/dxos/mesh/muxer.d.ts +5 -10
  235. package/dist/src/proto/gen/dxos/mesh/muxer.d.ts.map +1 -1
  236. package/dist/src/proto/gen/dxos/mesh/presence.d.ts +1 -2
  237. package/dist/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -1
  238. package/dist/src/proto/gen/dxos/mesh/protocol.d.ts +3 -6
  239. package/dist/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -1
  240. package/dist/src/proto/gen/dxos/mesh/replicator.d.ts +2 -4
  241. package/dist/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -1
  242. package/dist/src/proto/gen/dxos/mesh/signal.d.ts +9 -18
  243. package/dist/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  244. package/dist/src/proto/gen/dxos/mesh/signal.js.map +1 -1
  245. package/dist/src/proto/gen/dxos/mesh/swarm.d.ts +6 -12
  246. package/dist/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  247. package/dist/src/proto/gen/dxos/mesh/teleport/auth.d.ts +2 -4
  248. package/dist/src/proto/gen/dxos/mesh/teleport/auth.d.ts.map +1 -1
  249. package/dist/src/proto/gen/dxos/mesh/teleport/automerge.d.ts +2 -4
  250. package/dist/src/proto/gen/dxos/mesh/teleport/automerge.d.ts.map +1 -1
  251. package/dist/src/proto/gen/dxos/mesh/teleport/blobsync.d.ts +3 -6
  252. package/dist/src/proto/gen/dxos/mesh/teleport/blobsync.d.ts.map +1 -1
  253. package/dist/src/proto/gen/dxos/mesh/teleport/control.d.ts +3 -6
  254. package/dist/src/proto/gen/dxos/mesh/teleport/control.d.ts.map +1 -1
  255. package/dist/src/proto/gen/dxos/mesh/teleport/gossip.d.ts +1 -2
  256. package/dist/src/proto/gen/dxos/mesh/teleport/gossip.d.ts.map +1 -1
  257. package/dist/src/proto/gen/dxos/mesh/teleport/notarization.d.ts +1 -2
  258. package/dist/src/proto/gen/dxos/mesh/teleport/notarization.d.ts.map +1 -1
  259. package/dist/src/proto/gen/dxos/mesh/teleport/replicator.d.ts +5 -10
  260. package/dist/src/proto/gen/dxos/mesh/teleport/replicator.d.ts.map +1 -1
  261. package/dist/src/proto/gen/dxos/mesh/teleport.d.ts +2 -4
  262. package/dist/src/proto/gen/dxos/mesh/teleport.d.ts.map +1 -1
  263. package/dist/src/proto/gen/dxos/registry.d.ts +3 -6
  264. package/dist/src/proto/gen/dxos/registry.d.ts.map +1 -1
  265. package/dist/src/proto/gen/dxos/rpc.d.ts +24 -12
  266. package/dist/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  267. package/dist/src/proto/gen/dxos/rpc.js.map +1 -1
  268. package/dist/src/proto/gen/dxos/service/agentmanager.d.ts +4 -8
  269. package/dist/src/proto/gen/dxos/service/agentmanager.d.ts.map +1 -1
  270. package/dist/src/proto/gen/dxos/service/agentmanager.js.map +1 -1
  271. package/dist/src/proto/gen/dxos/service/publisher.d.ts +5 -10
  272. package/dist/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  273. package/dist/src/proto/gen/dxos/service/supervisor.d.ts +12 -24
  274. package/dist/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  275. package/dist/src/proto/gen/dxos/service/supervisor.js.map +1 -1
  276. package/dist/src/proto/gen/dxos/service/tunnel.d.ts +3 -6
  277. package/dist/src/proto/gen/dxos/service/tunnel.d.ts.map +1 -1
  278. package/dist/src/proto/gen/dxos/tracing.d.ts +10 -99
  279. package/dist/src/proto/gen/dxos/tracing.d.ts.map +1 -1
  280. package/dist/src/proto/gen/dxos/type.d.ts +12 -24
  281. package/dist/src/proto/gen/dxos/type.d.ts.map +1 -1
  282. package/dist/src/proto/gen/dxos/value.d.ts +2 -4
  283. package/dist/src/proto/gen/dxos/value.d.ts.map +1 -1
  284. package/dist/src/proto/gen/example/testing/data.d.ts +4 -8
  285. package/dist/src/proto/gen/example/testing/data.d.ts.map +1 -1
  286. package/dist/src/proto/gen/example/testing/rpc.d.ts +7 -14
  287. package/dist/src/proto/gen/example/testing/rpc.d.ts.map +1 -1
  288. package/dist/src/proto/gen/google/protobuf.d.ts +326 -40
  289. package/dist/src/proto/gen/google/protobuf.d.ts.map +1 -1
  290. package/dist/src/proto/gen/google/protobuf.js +127 -1
  291. package/dist/src/proto/gen/google/protobuf.js.map +1 -1
  292. package/dist/src/proto/gen/index.d.ts +47 -7
  293. package/dist/src/proto/gen/index.d.ts.map +1 -1
  294. package/dist/src/proto/gen/index.js +1 -1
  295. package/dist/src/proto/gen/index.js.map +1 -1
  296. package/dist/src/proto/index.d.ts +2 -2
  297. package/dist/src/proto/substitutions.d.ts +8 -8
  298. package/dist/src/proto/substitutions.d.ts.map +1 -1
  299. package/dist/src/proto/types.d.ts +1 -1
  300. package/dist/src/space-archive.d.ts +62 -3
  301. package/dist/src/space-archive.d.ts.map +1 -1
  302. package/dist/src/space-archive.js +13 -1
  303. package/dist/src/space-archive.js.map +1 -1
  304. package/dist/src/types.d.ts +2 -2
  305. package/dist/tsconfig.tsbuildinfo +1 -1
  306. package/package.json +20 -35
  307. package/src/FeedProtocol.ts +323 -0
  308. package/src/FunctionProtocol.ts +17 -6
  309. package/src/TraceProtocol.ts +21 -0
  310. package/src/automerge.ts +239 -13
  311. package/src/buf/proto/gen/dxos/agent/dashboard_pb.ts +1 -1
  312. package/src/buf/proto/gen/dxos/agent/echo-proxy_pb.ts +1 -1
  313. package/src/buf/proto/gen/dxos/agent/epoch_pb.ts +1 -1
  314. package/src/buf/proto/gen/dxos/agent/functions_pb.ts +1 -1
  315. package/src/buf/proto/gen/dxos/bot_pb.ts +1 -1
  316. package/src/buf/proto/gen/dxos/client/invitation_pb.ts +20 -6
  317. package/src/buf/proto/gen/dxos/client/logging_pb.ts +1 -1
  318. package/src/buf/proto/gen/dxos/client/queue_pb.ts +373 -0
  319. package/src/buf/proto/gen/dxos/client/services_pb.ts +129 -40
  320. package/src/buf/proto/gen/dxos/config_pb.ts +132 -2
  321. package/src/buf/proto/gen/dxos/devtools/diagnostics_pb.ts +1 -1
  322. package/src/buf/proto/gen/dxos/devtools/host_pb.ts +83 -2
  323. package/src/buf/proto/gen/dxos/devtools/swarm_pb.ts +1 -1
  324. package/src/buf/proto/gen/dxos/echo/blob_pb.ts +1 -1
  325. package/src/buf/proto/gen/dxos/echo/feed_pb.ts +1 -1
  326. package/src/buf/proto/gen/dxos/echo/filter_pb.ts +1 -1
  327. package/src/buf/proto/gen/dxos/echo/indexing_pb.ts +1 -1
  328. package/src/buf/proto/gen/dxos/echo/metadata_pb.ts +16 -2
  329. package/src/buf/proto/gen/dxos/echo/model/document_pb.ts +1 -1
  330. package/src/buf/proto/gen/dxos/echo/model/messenger_pb.ts +1 -1
  331. package/src/buf/proto/gen/dxos/echo/model/text_pb.ts +1 -1
  332. package/src/buf/proto/gen/dxos/echo/object_pb.ts +1 -1
  333. package/src/buf/proto/gen/dxos/echo/query_pb.ts +16 -4
  334. package/src/buf/proto/gen/dxos/echo/service_pb.ts +81 -13
  335. package/src/buf/proto/gen/dxos/echo/snapshot_pb.ts +1 -1
  336. package/src/buf/proto/gen/dxos/echo/timeframe_pb.ts +1 -1
  337. package/src/buf/proto/gen/dxos/edge/calls_pb.ts +1 -1
  338. package/src/buf/proto/gen/dxos/edge/messenger_pb.ts +39 -6
  339. package/src/buf/proto/gen/dxos/edge/signal_pb.ts +1 -1
  340. package/src/buf/proto/gen/dxos/error_pb.ts +1 -1
  341. package/src/buf/proto/gen/dxos/field_options_pb.ts +1 -1
  342. package/src/buf/proto/gen/dxos/google_pb.ts +1 -1
  343. package/src/buf/proto/gen/dxos/gravity_pb.ts +1 -1
  344. package/src/buf/proto/gen/dxos/halo/credentials/auth_pb.ts +1 -1
  345. package/src/buf/proto/gen/dxos/halo/credentials/greet_pb.ts +1 -1
  346. package/src/buf/proto/gen/dxos/halo/credentials/identity_pb.ts +1 -1
  347. package/src/buf/proto/gen/dxos/halo/credentials_pb.ts +100 -23
  348. package/src/buf/proto/gen/dxos/halo/invitations_pb.ts +14 -6
  349. package/src/buf/proto/gen/dxos/halo/keyring_pb.ts +1 -1
  350. package/src/buf/proto/gen/dxos/halo/keys_pb.ts +1 -1
  351. package/src/buf/proto/gen/dxos/halo/signed_pb.ts +1 -1
  352. package/src/buf/proto/gen/dxos/iframe_pb.ts +3 -14
  353. package/src/buf/proto/gen/dxos/keys_pb.ts +1 -1
  354. package/src/buf/proto/gen/dxos/mesh/bridge_pb.ts +1 -1
  355. package/src/buf/proto/gen/dxos/mesh/broadcast_pb.ts +1 -1
  356. package/src/buf/proto/gen/dxos/mesh/messaging_pb.ts +1 -1
  357. package/src/buf/proto/gen/dxos/mesh/muxer_pb.ts +1 -1
  358. package/src/buf/proto/gen/dxos/mesh/presence_pb.ts +1 -1
  359. package/src/buf/proto/gen/dxos/mesh/protocol_pb.ts +1 -1
  360. package/src/buf/proto/gen/dxos/mesh/replicator_pb.ts +1 -1
  361. package/src/buf/proto/gen/dxos/mesh/signal_pb.ts +1 -1
  362. package/src/buf/proto/gen/dxos/mesh/swarm_pb.ts +1 -1
  363. package/src/buf/proto/gen/dxos/mesh/teleport/admission-discovery_pb.ts +1 -1
  364. package/src/buf/proto/gen/dxos/mesh/teleport/auth_pb.ts +1 -1
  365. package/src/buf/proto/gen/dxos/mesh/teleport/automerge_pb.ts +1 -1
  366. package/src/buf/proto/gen/dxos/mesh/teleport/blobsync_pb.ts +1 -1
  367. package/src/buf/proto/gen/dxos/mesh/teleport/control_pb.ts +1 -1
  368. package/src/buf/proto/gen/dxos/mesh/teleport/gossip_pb.ts +1 -1
  369. package/src/buf/proto/gen/dxos/mesh/teleport/notarization_pb.ts +1 -1
  370. package/src/buf/proto/gen/dxos/mesh/teleport/replicator_pb.ts +1 -1
  371. package/src/buf/proto/gen/dxos/registry_pb.ts +1 -1
  372. package/src/buf/proto/gen/dxos/rpc_pb.ts +37 -8
  373. package/src/buf/proto/gen/dxos/service/agentmanager_pb.ts +1 -1
  374. package/src/buf/proto/gen/dxos/service/publisher_pb.ts +1 -1
  375. package/src/buf/proto/gen/dxos/service/supervisor_pb.ts +1 -1
  376. package/src/buf/proto/gen/dxos/service/tunnel_pb.ts +1 -1
  377. package/src/buf/proto/gen/dxos/tracing_pb.ts +12 -179
  378. package/src/buf/proto/gen/dxos/type_pb.ts +1 -1
  379. package/src/buf/proto/gen/dxos/value_pb.ts +1 -1
  380. package/src/buf/proto/gen/example/testing/data_pb.ts +1 -1
  381. package/src/buf/proto/gen/example/testing/rpc_pb.ts +1 -1
  382. package/src/codec.test.ts +1 -1
  383. package/src/edge/EdgeFunctionEnv.ts +228 -0
  384. package/src/edge/edge.test.ts +64 -0
  385. package/src/edge/edge.ts +818 -0
  386. package/src/{edge-error.ts → edge/errors.ts} +15 -16
  387. package/src/edge/index.ts +8 -0
  388. package/src/edge/registry.ts +164 -0
  389. package/src/errors/base-errors.ts +4 -22
  390. package/src/errors/encoding.ts +2 -3
  391. package/src/errors/errors.test.ts +2 -2
  392. package/src/errors/errors.ts +57 -124
  393. package/src/errors/helpers.ts +6 -7
  394. package/src/errors/index.ts +5 -5
  395. package/src/feed-replication.ts +1 -0
  396. package/src/index.ts +12 -13
  397. package/src/indexing.test.ts +1 -1
  398. package/src/invitation.ts +3 -3
  399. package/src/messenger.ts +22 -0
  400. package/src/profile-archive.ts +13 -0
  401. package/src/proto/dxos/client/invitation.proto +9 -2
  402. package/src/proto/dxos/client/queue.proto +102 -0
  403. package/src/proto/dxos/client/services.proto +23 -1
  404. package/src/proto/dxos/config.proto +50 -1
  405. package/src/proto/dxos/devtools/host.proto +27 -0
  406. package/src/proto/dxos/echo/metadata.proto +6 -0
  407. package/src/proto/dxos/echo/query.proto +4 -1
  408. package/src/proto/dxos/echo/service.proto +38 -4
  409. package/src/proto/dxos/edge/messenger.proto +10 -0
  410. package/src/proto/dxos/halo/credentials.proto +24 -0
  411. package/src/proto/dxos/halo/invitations.proto +5 -2
  412. package/src/proto/dxos/iframe.proto +1 -3
  413. package/src/proto/dxos/rpc.proto +7 -0
  414. package/src/proto/dxos/tracing.proto +0 -40
  415. package/src/proto/gen/dxos/agent/dashboard.ts +3 -6
  416. package/src/proto/gen/dxos/agent/echoproxy.ts +1 -2
  417. package/src/proto/gen/dxos/agent/epoch.ts +1 -2
  418. package/src/proto/gen/dxos/agent/functions.ts +6 -12
  419. package/src/proto/gen/dxos/bot.ts +12 -24
  420. package/src/proto/gen/dxos/client/services.ts +1050 -915
  421. package/src/proto/gen/dxos/config.ts +115 -100
  422. package/src/proto/gen/dxos/devtools/host.ts +101 -119
  423. package/src/proto/gen/dxos/devtools/swarm.ts +4 -8
  424. package/src/proto/gen/dxos/echo/blob.ts +1 -2
  425. package/src/proto/gen/dxos/echo/feed.ts +4 -8
  426. package/src/proto/gen/dxos/echo/filter.ts +2 -4
  427. package/src/proto/gen/dxos/echo/indexing.ts +2 -4
  428. package/src/proto/gen/dxos/echo/metadata.ts +16 -16
  429. package/src/proto/gen/dxos/echo/model/document.ts +11 -22
  430. package/src/proto/gen/dxos/echo/model/messenger.ts +1 -2
  431. package/src/proto/gen/dxos/echo/model/text.ts +2 -4
  432. package/src/proto/gen/dxos/echo/object.ts +6 -12
  433. package/src/proto/gen/dxos/echo/query.ts +21 -9
  434. package/src/proto/gen/dxos/echo/service.ts +60 -34
  435. package/src/proto/gen/dxos/echo/snapshot.ts +2 -4
  436. package/src/proto/gen/dxos/echo/timeframe.ts +2 -4
  437. package/src/proto/gen/dxos/edge/calls.ts +5 -10
  438. package/src/proto/gen/dxos/edge/messenger.ts +28 -10
  439. package/src/proto/gen/dxos/edge/signal.ts +7 -14
  440. package/src/proto/gen/dxos/error.ts +1 -2
  441. package/src/proto/gen/dxos/gravity.ts +10 -20
  442. package/src/proto/gen/dxos/halo/credentials/auth.ts +1 -2
  443. package/src/proto/gen/dxos/halo/credentials/greet.ts +6 -12
  444. package/src/proto/gen/dxos/halo/credentials/identity.ts +2 -4
  445. package/src/proto/gen/dxos/halo/credentials.ts +47 -43
  446. package/src/proto/gen/dxos/halo/invitations.ts +16 -28
  447. package/src/proto/gen/dxos/halo/keyring.ts +1 -2
  448. package/src/proto/gen/dxos/halo/keys.ts +2 -4
  449. package/src/proto/gen/dxos/halo/signed.ts +4 -8
  450. package/src/proto/gen/dxos/iframe.ts +4 -18
  451. package/src/proto/gen/dxos/keys.ts +2 -4
  452. package/src/proto/gen/dxos/mesh/bridge.ts +12 -24
  453. package/src/proto/gen/dxos/mesh/broadcast.ts +1 -2
  454. package/src/proto/gen/dxos/mesh/messaging.ts +2 -4
  455. package/src/proto/gen/dxos/mesh/muxer.ts +5 -10
  456. package/src/proto/gen/dxos/mesh/presence.ts +1 -2
  457. package/src/proto/gen/dxos/mesh/protocol.ts +3 -6
  458. package/src/proto/gen/dxos/mesh/replicator.ts +2 -4
  459. package/src/proto/gen/dxos/mesh/signal.ts +9 -18
  460. package/src/proto/gen/dxos/mesh/swarm.ts +6 -12
  461. package/src/proto/gen/dxos/mesh/teleport/auth.ts +2 -4
  462. package/src/proto/gen/dxos/mesh/teleport/automerge.ts +2 -4
  463. package/src/proto/gen/dxos/mesh/teleport/blobsync.ts +3 -6
  464. package/src/proto/gen/dxos/mesh/teleport/control.ts +3 -6
  465. package/src/proto/gen/dxos/mesh/teleport/gossip.ts +1 -2
  466. package/src/proto/gen/dxos/mesh/teleport/notarization.ts +1 -2
  467. package/src/proto/gen/dxos/mesh/teleport/replicator.ts +5 -10
  468. package/src/proto/gen/dxos/mesh/teleport.ts +2 -4
  469. package/src/proto/gen/dxos/registry.ts +3 -6
  470. package/src/proto/gen/dxos/rpc.ts +24 -12
  471. package/src/proto/gen/dxos/service/agentmanager.ts +4 -8
  472. package/src/proto/gen/dxos/service/publisher.ts +5 -10
  473. package/src/proto/gen/dxos/service/supervisor.ts +12 -24
  474. package/src/proto/gen/dxos/service/tunnel.ts +3 -6
  475. package/src/proto/gen/dxos/tracing.ts +10 -96
  476. package/src/proto/gen/dxos/type.ts +12 -24
  477. package/src/proto/gen/dxos/value.ts +2 -4
  478. package/src/proto/gen/example/testing/data.ts +4 -8
  479. package/src/proto/gen/example/testing/rpc.ts +7 -14
  480. package/src/proto/gen/google/protobuf.ts +326 -40
  481. package/src/proto/gen/index.ts +48 -8
  482. package/src/proto/index.ts +2 -2
  483. package/src/proto/types.ts +1 -1
  484. package/src/space-archive.ts +70 -1
  485. package/src/types.ts +2 -2
  486. package/dist/src/edge-error.d.ts.map +0 -1
  487. package/dist/src/edge-error.js.map +0 -1
  488. package/dist/src/edge.d.ts +0 -333
  489. package/dist/src/edge.d.ts.map +0 -1
  490. package/dist/src/edge.js +0 -155
  491. package/dist/src/edge.js.map +0 -1
  492. package/dist/src/query.d.ts +0 -5
  493. package/dist/src/query.d.ts.map +0 -1
  494. package/dist/src/query.js +0 -8
  495. package/dist/src/query.js.map +0 -1
  496. package/dist/src/queue.d.ts +0 -37
  497. package/dist/src/queue.d.ts.map +0 -1
  498. package/dist/src/queue.js +0 -8
  499. package/dist/src/queue.js.map +0 -1
  500. package/dist/src/tracing.d.ts +0 -40
  501. package/dist/src/tracing.d.ts.map +0 -1
  502. package/dist/src/tracing.js +0 -50
  503. package/dist/src/tracing.js.map +0 -1
  504. package/src/edge.ts +0 -477
  505. package/src/query.ts +0 -8
  506. package/src/queue.ts +0 -51
  507. package/src/tracing.ts +0 -86
package/src/index.ts CHANGED
@@ -2,16 +2,15 @@
2
2
  // Copyright 2021 DXOS.org
3
3
  //
4
4
 
5
- export * from './automerge.js';
6
- export * from './edge-error.js';
7
- export * from './edge.js';
8
- export * from './errors/index.js';
9
- export * from './indexing.js';
10
- export * from './profile-archive.js';
11
- export * from './query.js';
12
- export * from './queue.js';
13
- export * from './space-archive.js';
14
- export * from './storage.js';
15
- export * from './tracing.js';
16
- export type * from './types.js';
17
- export * as FunctionProtocol from './FunctionProtocol.js';
5
+ export * from './automerge.ts';
6
+ export * from './edge/index.ts';
7
+ export * from './errors/index.ts';
8
+ export * from './indexing.ts';
9
+ export * from './messenger.ts';
10
+ export * from './profile-archive.ts';
11
+ export * from './space-archive.ts';
12
+ export * from './storage.ts';
13
+ export type * from './types.ts';
14
+ export * as FunctionProtocol from './FunctionProtocol.ts';
15
+ export * as FeedProtocol from './FeedProtocol.ts';
16
+ export * as TraceProtocol from './TraceProtocol.ts';
@@ -4,7 +4,7 @@
4
4
 
5
5
  import { describe, expect, test } from 'vitest';
6
6
 
7
- import { ObjectPointerVersion, objectPointerCodec } from './indexing.js';
7
+ import { ObjectPointerVersion, objectPointerCodec } from './indexing.ts';
8
8
 
9
9
  describe('Indexing object pointer codec', () => {
10
10
  test('getVersion', async () => {
package/src/invitation.ts CHANGED
@@ -4,11 +4,11 @@
4
4
 
5
5
  import * as Schema from 'effect/Schema';
6
6
 
7
- import { ParamKeyAnnotation } from '@dxos/effect';
7
+ import { SchemaEx } from '@dxos/effect';
8
8
 
9
9
  // TODO(burdon): Use uniformly for processing HTTP params.
10
10
  export const InvitationUrl = Schema.Struct({
11
11
  accessToken: Schema.String, // TODO(burdon): Remove.
12
- deviceInvitationCode: Schema.String.pipe(ParamKeyAnnotation({ key: 'deviceInvitationCode' })),
13
- spaceInvitationCode: Schema.String.pipe(ParamKeyAnnotation({ key: 'spaceInvitationCode' })),
12
+ deviceInvitationCode: Schema.String.pipe(SchemaEx.ParamKeyAnnotation({ key: 'deviceInvitationCode' })),
13
+ spaceInvitationCode: Schema.String.pipe(SchemaEx.ParamKeyAnnotation({ key: 'spaceInvitationCode' })),
14
14
  });
@@ -0,0 +1,22 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type CleanupFn } from '@dxos/async';
6
+
7
+ import { type GossipMessage } from './proto/gen/dxos/mesh/teleport/gossip';
8
+
9
+ /**
10
+ * Message passing abstraction.
11
+ */
12
+ export interface Messenger {
13
+ /**
14
+ * Register channel listener.
15
+ */
16
+ listen: (channel: string, callback: (message: GossipMessage) => void) => CleanupFn;
17
+
18
+ /**
19
+ * Send message to channel.
20
+ */
21
+ postMessage: (channel: string, message: any) => Promise<void>;
22
+ }
@@ -8,17 +8,30 @@
8
8
  export type ProfileArchive = {
9
9
  meta: {
10
10
  timestamp: string;
11
+ /** Host (e.g. `main.composer.space`, `localhost:5173`) where the archive was exported. */
12
+ origin?: string;
11
13
  };
12
14
  storage: ProfileArchiveEntry[];
13
15
  };
14
16
 
15
17
  export type ProfileArchiveEntry = {
16
18
  type: ProfileArchiveEntryType;
19
+ /**
20
+ * FILE: filename in random-access storage.
21
+ * KEY_VALUE: binary LevelDB key.
22
+ * SQLITE_DATABASE: OPFS database filename (e.g. `DXOS`).
23
+ */
17
24
  key: string | Uint8Array;
25
+ /**
26
+ * FILE / KEY_VALUE / SQLITE_DATABASE: binary payload.
27
+ * SQLITE_DATABASE must be a valid SQLite file (magic `SQLite format 3`).
28
+ */
18
29
  value: string | Uint8Array;
19
30
  };
20
31
 
21
32
  export enum ProfileArchiveEntryType {
22
33
  FILE = 1,
23
34
  KEY_VALUE = 2,
35
+ /** OPFS-hosted SQLite database; `key` is the OPFS filename, `value` is raw SQLite bytes. */
36
+ SQLITE_DATABASE = 3,
24
37
  }
@@ -43,6 +43,9 @@ enum SpaceState {
43
43
  /// Space is active. Swarming and replication will be done.
44
44
  SPACE_ACTIVE = 6;
45
45
 
46
+ /// Space is tombstoned (soft-deleted). Replicated to other devices; never auto-opened.
47
+ SPACE_DELETED = 9;
48
+
46
49
  ///
47
50
  /// Runtime states:
48
51
  ///
@@ -85,8 +88,12 @@ message Invitation {
85
88
  }
86
89
 
87
90
  enum Kind {
88
- DEVICE = 0;
89
- SPACE = 1;
91
+ /// Unset / unknown. Must not be used for new invitations.
92
+ INVALID = 0;
93
+
94
+ DEVICE = 1;
95
+
96
+ SPACE = 2;
90
97
  }
91
98
 
92
99
  enum AuthMethod {
@@ -0,0 +1,102 @@
1
+ syntax = "proto3";
2
+
3
+ package dxos.client.services;
4
+
5
+ import "google/protobuf/empty.proto";
6
+
7
+
8
+ message QueueQuery {
9
+ string space_id = 1;
10
+
11
+ optional string queues_namespace = 2;
12
+
13
+ /// Queries the whole space if missing.
14
+ repeated string queue_ids = 3;
15
+
16
+ /// Filter items after this cursor. Exclusive.
17
+ optional string after = 4;
18
+
19
+ /// Filter items before this cursor. Exclusive.
20
+ optional string before = 5;
21
+
22
+ /// Filter items after this position. Inclusive.
23
+ optional int64 begin_position = 6;
24
+
25
+ /// Filter items before this position. Exclusive.
26
+ optional int64 end_position = 7;
27
+
28
+ optional int32 limit = 8;
29
+ optional bool reverse = 9;
30
+
31
+ // TODO(dmaretskyi): Remove this field -- raw queues dont index object IDs anymore.
32
+ repeated string object_ids = 100;
33
+ }
34
+
35
+ message QueueQueryResult {
36
+ /// JSON-encoded object payloads. Each entry is a serialized ObjectJSON.
37
+ /// We use JSON strings instead of google.protobuf.Struct because Struct
38
+ /// coerces `undefined` to `null`, corrupting optional fields.
39
+ repeated string objects = 1;
40
+
41
+ /// Cursor to query the next items. Can be passed to `after` in query to keep querying.
42
+ string next_cursor = 2;
43
+
44
+ string prev_cursor = 3;
45
+ }
46
+
47
+ message QueryQueueRequest {
48
+ QueueQuery query = 1;
49
+ }
50
+
51
+ message InsertIntoQueueRequest {
52
+ string subspace_tag = 1;
53
+ string space_id = 2;
54
+ string queue_id = 3;
55
+ /// JSON-encoded object payloads. Each entry is a serialized ObjectJSON.
56
+ repeated string objects = 4;
57
+ }
58
+
59
+ message DeleteFromQueueRequest {
60
+ string subspace_tag = 1;
61
+ string space_id = 2;
62
+ string queue_id = 3;
63
+ repeated string object_ids = 4;
64
+ }
65
+
66
+ message SyncQueueRequest {
67
+ string subspace_tag = 1;
68
+ string space_id = 2;
69
+ string queue_id = 3;
70
+ /// Whether to push local changes to the server. Defaults to true.
71
+ optional bool should_push = 4;
72
+ /// Whether to pull remote changes from the server. Defaults to true.
73
+ optional bool should_pull = 5;
74
+ }
75
+
76
+ message GetSyncStateRequest {
77
+ string space_id = 1;
78
+ /// If empty, returns state for all namespaces synced by the client.
79
+ repeated string namespaces = 2;
80
+ }
81
+
82
+ message QueueNamespaceSyncState {
83
+ string namespace = 1;
84
+ /// Blocks still to pull from remote. 0 when caught up.
85
+ int64 blocks_to_pull = 2;
86
+ /// Unpositioned blocks still to push to remote. 0 when caught up.
87
+ int64 blocks_to_push = 3;
88
+ /// Total blocks stored locally for this namespace in the space.
89
+ int64 total_blocks = 4;
90
+ }
91
+
92
+ message GetSyncStateResponse {
93
+ repeated QueueNamespaceSyncState namespaces = 1;
94
+ }
95
+
96
+ service QueueService {
97
+ rpc QueryQueue(QueryQueueRequest) returns (QueueQueryResult);
98
+ rpc InsertIntoQueue(InsertIntoQueueRequest) returns (google.protobuf.Empty);
99
+ rpc DeleteFromQueue(DeleteFromQueueRequest) returns (google.protobuf.Empty);
100
+ rpc SyncQueue(SyncQueueRequest) returns (google.protobuf.Empty);
101
+ rpc GetSyncState(GetSyncStateRequest) returns (GetSyncStateResponse);
102
+ }
@@ -72,6 +72,7 @@ message Platform {
72
72
  BROWSER = 0;
73
73
  SHARED_WORKER = 1;
74
74
  NODE = 2;
75
+ DEDICATED_WORKER = 3;
75
76
  }
76
77
 
77
78
  PLATFORM_TYPE type = 1;
@@ -145,6 +146,8 @@ message RecoverIdentityRequest {
145
146
  string recovery_code = 1;
146
147
  ExternalSignature external = 2;
147
148
  string token = 3;
149
+ /// One-time proof minted by edge kms-service after a successful OAuth recovery flow.
150
+ string recovery_proof = 4;
148
151
  }
149
152
  }
150
153
 
@@ -331,6 +334,8 @@ message Space {
331
334
  optional PipelineState pipeline = 3;
332
335
  optional dxos.error.Error error = 4;
333
336
  optional dxos.echo.metadata.EdgeReplicationSetting edge_replication = 6;
337
+ repeated string tags = 7;
338
+ dxos.halo.credentials.MembershipPolicy membership_policy = 8;
334
339
 
335
340
  repeated SpaceMember members = 10;
336
341
  optional dxos.keys.PublicKey creator = 11;
@@ -341,6 +346,11 @@ message Space {
341
346
 
342
347
  // TODO(burdon): Create type for epoch?
343
348
 
349
+ message CreateSpaceRequest {
350
+ repeated string tags = 1;
351
+ dxos.halo.credentials.MembershipPolicy membership_policy = 2;
352
+ }
353
+
344
354
  message UpdateSpaceRequest {
345
355
  dxos.keys.PublicKey space_key = 1;
346
356
 
@@ -435,12 +445,22 @@ message JoinBySpaceKeyRequest {
435
445
  }
436
446
 
437
447
  message SpaceArchive {
448
+ enum Format {
449
+ // Tar-based binary archive (default).
450
+ BINARY = 0;
451
+ // JSON encoding of {@link dxos.echo.db.SerializedSpace}.
452
+ JSON = 1;
453
+ }
454
+
438
455
  string filename = 1;
439
456
  bytes contents = 2;
457
+ optional Format format = 3;
440
458
  }
441
459
 
442
460
  message ExportSpaceRequest {
443
461
  string space_id = 1;
462
+ // Archive format to produce. Defaults to BINARY.
463
+ optional SpaceArchive.Format format = 2;
444
464
  }
445
465
 
446
466
  message ExportSpaceResponse {
@@ -449,6 +469,8 @@ message ExportSpaceResponse {
449
469
 
450
470
  message ImportSpaceRequest {
451
471
  SpaceArchive archive = 1;
472
+ /// Immutable tags to set on the imported space at creation time.
473
+ repeated string tags = 2;
452
474
  }
453
475
 
454
476
  message ImportSpaceResponse {
@@ -457,7 +479,7 @@ message ImportSpaceResponse {
457
479
  }
458
480
 
459
481
  service SpacesService {
460
- rpc CreateSpace(google.protobuf.Empty) returns (Space);
482
+ rpc CreateSpace(CreateSpaceRequest) returns (Space);
461
483
  rpc UpdateSpace(UpdateSpaceRequest) returns (google.protobuf.Empty);
462
484
  rpc QuerySpaces(google.protobuf.Empty) returns (stream QuerySpacesResponse);
463
485
 
@@ -59,7 +59,7 @@ message Module {
59
59
  optional string id = 8; // TODO(burdon): Ensured FQ (e.g., 'dxos.app.xxx')
60
60
  optional string name = 1; // TODO(burdon): Replace with id (or key?)
61
61
  optional string type = 2; // TODO(burdon): Define namespace (e.g.,
62
- // 'dxos.org/type/frame' vs. 'dxos.type.frame')
62
+ // 'org.dxos.type.frame')
63
63
 
64
64
  // TODO(burdon): Developer info message.
65
65
 
@@ -84,6 +84,17 @@ message Module {
84
84
 
85
85
  message Runtime {
86
86
  message Client {
87
+ /// Where client services run. Drives `createClientServices` routing.
88
+ enum ServicesMode {
89
+ UNSPECIFIED_SERVICES_MODE = 0;
90
+ /// Run services in the same thread as the client.
91
+ HOST = 1;
92
+ /// Run services in a SharedWorker (single instance shared across tabs).
93
+ SHARED_WORKER = 2;
94
+ /// Run services in a dedicated Worker elected via a lock (leader/follower).
95
+ DEDICATED_WORKER = 3;
96
+ }
97
+
87
98
  message Storage {
88
99
  enum StorageDriver {
89
100
  RAM = 0;
@@ -98,6 +109,20 @@ message Runtime {
98
109
  JSONDOWN = 12;
99
110
  }
100
111
 
112
+ /// Storage backing for SQLite (indexes & persistent state). The caller must supply the
113
+ /// matching worker factory / path — `createClientServices` does not pick a mode from the
114
+ /// presence of options.
115
+ enum SqliteMode {
116
+ UNSPECIFIED_SQLITE_MODE = 0;
117
+ /// Ephemeral in-memory SQLite. Indexes are rebuilt on each start.
118
+ MEMORY = 1;
119
+ /// OPFS-backed SQLite running in a dedicated worker (browser).
120
+ /// Requires `createOpfsWorker` to be passed to `createClientServices`.
121
+ OPFS = 2;
122
+ /// File-backed SQLite (Node/Bun). Uses `data_root` to locate the database file.
123
+ FILE = 3;
124
+ }
125
+
101
126
  optional bool persistent = 1;
102
127
  optional StorageDriver key_store = 2;
103
128
  optional StorageDriver data_store = 3;
@@ -107,6 +132,9 @@ message Runtime {
107
132
  * @deprecated
108
133
  */
109
134
  optional bool space_fragmentation = 5;
135
+
136
+ /// Backing store for SQLite runtimes. Defaults to MEMORY when unset.
137
+ optional SqliteMode sqlite_mode = 6;
110
138
  }
111
139
 
112
140
  message Log {
@@ -117,6 +145,8 @@ message Runtime {
117
145
  message EdgeFeatures {
118
146
  optional bool feed_replicator = 1;
119
147
  optional bool echo_replicator = 2;
148
+ /// Enables Subduction sedimentree transport for Automerge document replication.
149
+ optional bool subduction_replicator = 5;
120
150
  optional bool signaling = 3;
121
151
  optional bool agents = 4;
122
152
  }
@@ -155,6 +185,25 @@ message Runtime {
155
185
  optional bool enable_vector_indexing = 12;
156
186
 
157
187
  optional EdgeFeatures edge_features = 11;
188
+
189
+ /// Observability group attached as metadata to signaling requests.
190
+ /// NOTE: When running through a shared worker, subsequent client connections can refresh this
191
+ /// value (last-writer-wins); the first client still determines the worker's other config.
192
+ optional string observability_group = 13;
193
+
194
+ /// Enable telemetry metadata attached to signaling requests.
195
+ /// NOTE: When running through a shared worker, subsequent client connections can refresh this
196
+ /// value (last-writer-wins); the first client still determines the worker's other config.
197
+ optional bool signal_telemetry_enabled = 14;
198
+
199
+ /// Use in-process (single-client) coordinator for dedicated-worker mode.
200
+ /// Bypasses SharedWorker; used for WKWebView where the coordinator SharedWorker port is unreliable.
201
+ optional bool single_client_mode = 15;
202
+
203
+ /// Deployment mode for client services. Read by `createClientServices` to select between
204
+ /// in-process (HOST), SharedWorker, and dedicated Worker runtimes. Required when no
205
+ /// `remote_source` is configured.
206
+ optional ServicesMode services_mode = 16;
158
207
  }
159
208
 
160
209
  message App {
@@ -78,6 +78,13 @@ service DevtoolsHost {
78
78
  rpc SubscribeToSignalStatus(google.protobuf.Empty) returns (stream SubscribeToSignalStatusResponse);
79
79
  rpc SubscribeToSignal(google.protobuf.Empty) returns (stream SignalResponse);
80
80
  rpc SubscribeToSwarmInfo(SubscribeToSwarmInfoRequest) returns (stream SubscribeToSwarmInfoResponse);
81
+
82
+ //
83
+ // SQLite
84
+ //
85
+
86
+ rpc ExportSqliteDatabase(google.protobuf.Empty) returns (ExportSqliteDatabaseResponse);
87
+ rpc RunSqliteQuery(RunSqliteQueryRequest) returns (RunSqliteQueryResponse);
81
88
  }
82
89
 
83
90
  message Event {
@@ -338,3 +345,23 @@ message SubscribeToSwarmInfoRequest {}
338
345
  message SubscribeToSwarmInfoResponse {
339
346
  repeated dxos.devtools.swarm.SwarmInfo data = 1;
340
347
  }
348
+
349
+ //
350
+ // SQLite
351
+ //
352
+
353
+ message ExportSqliteDatabaseResponse {
354
+ bytes data = 1;
355
+ }
356
+
357
+ message RunSqliteQueryRequest {
358
+ string query = 1;
359
+ // JSON-encoded array of query parameters.
360
+ optional string params = 2;
361
+ }
362
+
363
+ message RunSqliteQueryResponse {
364
+ // JSON-encoded array of row objects.
365
+ string rows = 1;
366
+ optional string error = 2;
367
+ }
@@ -34,6 +34,9 @@ message EchoMetadata {
34
34
 
35
35
  // TODO(burdon): Circular dep.
36
36
  repeated dxos.client.services.Invitation invitations = 12;
37
+
38
+ /// Keys of spaces that have been tombstoned (soft-deleted). Survives restart; prevents re-acceptance.
39
+ repeated dxos.keys.PublicKey deleted_spaces = 13;
37
40
  }
38
41
 
39
42
  /// Per-space metadata. Frequent updates. Keep small.
@@ -54,6 +57,9 @@ message SpaceMetadata {
54
57
  /// Space key.
55
58
  dxos.keys.PublicKey key = 1;
56
59
 
60
+ /// Immutable tags assigned at space creation time.
61
+ repeated string tags = 12;
62
+
57
63
  /// ACTIVE, INACTIVE, etc.
58
64
  optional dxos.client.services.SpaceState state = 10;
59
65
 
@@ -36,9 +36,12 @@ message Heads {
36
36
  message QueryResult {
37
37
  string id = 1;
38
38
  string spaceId = 4;
39
- string documentId = 5;
39
+ optional string documentId = 5;
40
+ optional string queueId = 6;
41
+ optional string queueNamespace = 7;
40
42
  float rank = 3;
41
43
 
44
+ /// In the ECHO Json object format.
42
45
  optional string document_json = 10;
43
46
  optional bytes document_automerge = 11;
44
47
 
@@ -6,6 +6,7 @@ syntax = "proto3";
6
6
 
7
7
  import "dxos/keys.proto";
8
8
  import "google/protobuf/empty.proto";
9
+ import "google/protobuf/struct.proto";
9
10
 
10
11
  package dxos.echo.service;
11
12
 
@@ -59,14 +60,21 @@ message DocumentUpdate {
59
60
  /**
60
61
  * Automerge document incremental update.
61
62
  * Value returned by `Automerge.saveSince()`.
63
+ * Optional: if absent, the update only carries a transition signal (e.g.
64
+ * `requesting`) and not new bytes.
62
65
  */
63
- bytes mutation = 2;
66
+ optional bytes mutation = 2;
64
67
 
65
68
  /**
66
- * Set to true for init mutation of document.
67
- * default: undefined.
69
+ * Set by the worker when the disk probe for this document completes
70
+ * negative — i.e. the document is not on local storage, and the worker
71
+ * has started a network fetch. The client moves the corresponding
72
+ * `DocHandleProxy` from `'pending'` to `'requesting'`. Once the bytes
73
+ * eventually arrive, a normal `mutation` update follows and the handle
74
+ * transitions to `'ready'`. Used by query-driven (disk-only) callers to
75
+ * give up on a load without waiting on the network.
68
76
  */
69
- optional bool is_new = 3;
77
+ optional bool requesting = 3;
70
78
  }
71
79
 
72
80
  message DocHeadsList {
@@ -94,6 +102,26 @@ message ReIndexHeadsRequest {
94
102
  repeated string document_ids = 1;
95
103
  }
96
104
 
105
+ message CreateDocumentRequest {
106
+ /**
107
+ * Space id where the document will be created.
108
+ */
109
+ string space_id = 1;
110
+
111
+ /**
112
+ * Automerge encoded initial document value.
113
+ * Optional - if not provided, an empty document will be created.
114
+ */
115
+ optional google.protobuf.Struct initial_value = 2;
116
+ }
117
+
118
+ message CreateDocumentResponse {
119
+ /**
120
+ * The generated document id.
121
+ */
122
+ string document_id = 1;
123
+ }
124
+
97
125
  message GetSpaceSyncStateRequest {
98
126
  string space_id = 1;
99
127
  }
@@ -157,6 +185,12 @@ service DataService {
157
185
  */
158
186
  rpc UpdateSubscription(UpdateSubscriptionRequest) returns (google.protobuf.Empty);
159
187
 
188
+ /**
189
+ * Create a new automerge document.
190
+ * Returns the generated document id which is controlled by the host.
191
+ */
192
+ rpc CreateDocument(CreateDocumentRequest) returns (CreateDocumentResponse);
193
+
160
194
  /**
161
195
  * Write incremental updates to multiple automerge documents.
162
196
  * Used to propagate changes from client to services.
@@ -76,9 +76,19 @@ message Message {
76
76
  /// Maybe be used to address a service at EDGE, but also to address components inside the client.
77
77
  optional string service_id = 20;
78
78
 
79
+ optional TraceContext trace_context = 21;
80
+
79
81
  optional google.protobuf.Any payload = 100;
80
82
  }
81
83
 
84
+ /// W3C Trace Context propagation (https://www.w3.org/TR/trace-context/).
85
+ message TraceContext {
86
+ /// W3C `traceparent` header value (e.g. "00-<trace-id>-<parent-id>-<trace-flags>").
87
+ string traceparent = 1;
88
+ /// W3C `tracestate` header value; vendor-specific key-value pairs.
89
+ optional string tracestate = 2;
90
+ }
91
+
82
92
  //
83
93
  // Swarms are used to publish and subscribe to messages based on a topic.
84
94
  //
@@ -28,9 +28,18 @@ import "dxos/keys.proto";
28
28
  // First message written to initial Feed in a new Space.
29
29
  //
30
30
 
31
+ enum MembershipPolicy {
32
+ /// Members can be invited by admins/owners.
33
+ INVITE = 0;
34
+ /// No new members can be added after genesis.
35
+ LOCKED = 1;
36
+ }
37
+
31
38
  // [ASSERTION]
32
39
  message SpaceGenesis {
33
40
  dxos.keys.PublicKey space_key = 1; // Feeds belong to Spaces.
41
+ repeated string tags = 2;
42
+ MembershipPolicy membership_policy = 3;
34
43
  }
35
44
 
36
45
  //
@@ -60,6 +69,9 @@ message SpaceMember {
60
69
  dxos.keys.PublicKey space_key = 1;
61
70
  Role role = 2;
62
71
 
72
+ /// Immutable tags assigned at space creation time.
73
+ repeated string tags = 6;
74
+
63
75
  // TODO(burdon): Identity key?
64
76
  optional ProfileDocument profile = 3;
65
77
 
@@ -75,6 +87,15 @@ message MemberProfile {
75
87
  optional ProfileDocument profile = 3;
76
88
  }
77
89
 
90
+ // [ASSERTION]: Space has been tombstoned (soft-deleted) by its owner.
91
+ // Written to the identity's HALO so the deletion replicates across the user's devices.
92
+ // A tombstone stops replication and unloads the space; data is not removed until garbage collection.
93
+ message SpaceDeleted {
94
+ dxos.keys.PublicKey space_key = 1;
95
+ google.protobuf.Timestamp deleted_at = 2;
96
+ optional string reason = 3;
97
+ }
98
+
78
99
  // [ASSERTION]: Device is authorized to sign messages for a given Agent (Identity).
79
100
  // NOTE: Devices are Admitted to Identities.
80
101
  message AuthorizedDevice {
@@ -163,6 +184,8 @@ enum DeviceType {
163
184
  UNKNOWN = 0;
164
185
  BROWSER = 1;
165
186
  NATIVE = 2;
187
+ // TODO(wittjosiah): Rename "agent" to avoid naming collision with AI agents.
188
+ // TODO(wittjosiah): Unknown, Browser, CLI, Desktop, Mobile, Custodian?
166
189
  AGENT = 3;
167
190
  AGENT_MANAGED = 4;
168
191
  MOBILE = 5;
@@ -188,6 +211,7 @@ message DeviceProfile {
188
211
  }
189
212
 
190
213
  /// [ASSERTION]: Sets default space for identity.
214
+ /// @deprecated Default space is no longer managed by the SDK. Existing credentials are ignored.
191
215
  message DefaultSpace {
192
216
  string space_id = 1;
193
217
  }
@@ -16,8 +16,11 @@ package dxos.halo.invitations;
16
16
 
17
17
  message InvitationOptions {
18
18
  enum Role {
19
- GUEST = 0;
20
- HOST = 1;
19
+ // Sentinel so neither real role is the proto3 default (which is stripped on the wire,
20
+ // causing the receiver to see `role === undefined` and reject with InvalidInvitationExtensionRoleError).
21
+ INVALID = 0;
22
+ GUEST = 1;
23
+ HOST = 2;
21
24
  }
22
25
 
23
26
  /// Role of the peer.
@@ -15,9 +15,6 @@ message StartRequest {
15
15
  string origin = 1;
16
16
  /// Key for the iframe resource lock used to determine when the service is closing.
17
17
  optional string lock_key = 2;
18
- // TODO(nf): extract or remove?
19
- optional string observabilityGroup = 3;
20
- optional bool signalTelemetryEnabled = 4;
21
18
  }
22
19
 
23
20
  /// Iframe-to-worker RPCs.
@@ -39,6 +36,7 @@ message AppContextRequest {
39
36
  /// The key of the joined space.
40
37
  optional dxos.keys.PublicKey space_key = 2;
41
38
 
39
+ // TODO(wittjosiah): Make the generated type be `SpaceId`.
42
40
  /// The id of the joined space.
43
41
  optional string space_id = 5;
44
42