@dxos/protocols 0.8.4-main.ef1bc66f44 → 0.8.4-main.effb148878

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 (364) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/src/FeedProtocol.d.ts +6 -6
  4. package/dist/src/FeedProtocol.d.ts.map +1 -1
  5. package/dist/src/FeedProtocol.js +1 -1
  6. package/dist/src/FeedProtocol.js.map +1 -1
  7. package/dist/src/FunctionProtocol.d.ts +7 -0
  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/buf/proto/gen/dxos/client/queue_pb.d.ts +127 -5
  14. package/dist/src/buf/proto/gen/dxos/client/queue_pb.d.ts.map +1 -1
  15. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js +22 -2
  16. package/dist/src/buf/proto/gen/dxos/client/queue_pb.js.map +1 -1
  17. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts +65 -2
  18. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  19. package/dist/src/buf/proto/gen/dxos/client/services_pb.js +64 -37
  20. package/dist/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  21. package/dist/src/buf/proto/gen/dxos/config_pb.d.ts +110 -2
  22. package/dist/src/buf/proto/gen/dxos/config_pb.d.ts.map +1 -1
  23. package/dist/src/buf/proto/gen/dxos/config_pb.js +72 -1
  24. package/dist/src/buf/proto/gen/dxos/config_pb.js.map +1 -1
  25. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.d.ts +6 -0
  26. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.d.ts.map +1 -1
  27. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.js +1 -1
  28. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.js.map +1 -1
  29. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts +17 -2
  30. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts.map +1 -1
  31. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js +1 -1
  32. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js.map +1 -1
  33. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.d.ts +28 -0
  34. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.d.ts.map +1 -1
  35. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.js +10 -5
  36. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.js.map +1 -1
  37. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts +39 -0
  38. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts.map +1 -1
  39. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.js +27 -2
  40. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.js.map +1 -1
  41. package/dist/src/buf/proto/gen/dxos/iframe_pb.d.ts +0 -10
  42. package/dist/src/buf/proto/gen/dxos/iframe_pb.d.ts.map +1 -1
  43. package/dist/src/buf/proto/gen/dxos/iframe_pb.js +1 -1
  44. package/dist/src/buf/proto/gen/dxos/iframe_pb.js.map +1 -1
  45. package/dist/src/buf/proto/gen/dxos/rpc_pb.d.ts +24 -0
  46. package/dist/src/buf/proto/gen/dxos/rpc_pb.d.ts.map +1 -1
  47. package/dist/src/buf/proto/gen/dxos/rpc_pb.js +12 -7
  48. package/dist/src/buf/proto/gen/dxos/rpc_pb.js.map +1 -1
  49. package/dist/src/buf/proto/gen/dxos/tracing_pb.d.ts +1 -139
  50. package/dist/src/buf/proto/gen/dxos/tracing_pb.d.ts.map +1 -1
  51. package/dist/src/buf/proto/gen/dxos/tracing_pb.js +10 -44
  52. package/dist/src/buf/proto/gen/dxos/tracing_pb.js.map +1 -1
  53. package/dist/src/codec.test.js +1 -1
  54. package/dist/src/edge/EdgeFunctionEnv.d.ts +39 -25
  55. package/dist/src/edge/EdgeFunctionEnv.d.ts.map +1 -1
  56. package/dist/src/edge/edge.d.ts +169 -1
  57. package/dist/src/edge/edge.d.ts.map +1 -1
  58. package/dist/src/edge/edge.js +15 -1
  59. package/dist/src/edge/edge.js.map +1 -1
  60. package/dist/src/edge/errors.d.ts.map +1 -1
  61. package/dist/src/edge/errors.js +1 -1
  62. package/dist/src/edge/errors.js.map +1 -1
  63. package/dist/src/edge/index.d.ts +1 -0
  64. package/dist/src/edge/index.d.ts.map +1 -1
  65. package/dist/src/edge/index.js +4 -3
  66. package/dist/src/edge/index.js.map +1 -1
  67. package/dist/src/edge/registry.d.ts +212 -0
  68. package/dist/src/edge/registry.d.ts.map +1 -0
  69. package/dist/src/edge/registry.js +139 -0
  70. package/dist/src/edge/registry.js.map +1 -0
  71. package/dist/src/errors/base-errors.d.ts +18 -18
  72. package/dist/src/errors/base-errors.d.ts.map +1 -1
  73. package/dist/src/errors/encoding.d.ts +1 -1
  74. package/dist/src/errors/encoding.d.ts.map +1 -1
  75. package/dist/src/errors/encoding.js +1 -1
  76. package/dist/src/errors/encoding.js.map +1 -1
  77. package/dist/src/errors/errors.d.ts +132 -132
  78. package/dist/src/errors/errors.d.ts.map +1 -1
  79. package/dist/src/errors/errors.js +1 -1
  80. package/dist/src/errors/errors.js.map +1 -1
  81. package/dist/src/errors/errors.test.js +1 -1
  82. package/dist/src/errors/helpers.d.ts +2 -2
  83. package/dist/src/errors/helpers.d.ts.map +1 -1
  84. package/dist/src/errors/index.js +5 -5
  85. package/dist/src/errors/parameter.d.ts.map +1 -1
  86. package/dist/src/index.d.ts +1 -1
  87. package/dist/src/index.d.ts.map +1 -1
  88. package/dist/src/index.js +11 -11
  89. package/dist/src/index.js.map +1 -1
  90. package/dist/src/indexing.d.ts.map +1 -1
  91. package/dist/src/indexing.test.js +1 -1
  92. package/dist/src/proto/gen/dxos/agent/dashboard.d.ts +3 -6
  93. package/dist/src/proto/gen/dxos/agent/dashboard.d.ts.map +1 -1
  94. package/dist/src/proto/gen/dxos/agent/dashboard.js.map +1 -1
  95. package/dist/src/proto/gen/dxos/agent/echoproxy.d.ts +1 -2
  96. package/dist/src/proto/gen/dxos/agent/echoproxy.d.ts.map +1 -1
  97. package/dist/src/proto/gen/dxos/agent/epoch.d.ts +1 -2
  98. package/dist/src/proto/gen/dxos/agent/epoch.d.ts.map +1 -1
  99. package/dist/src/proto/gen/dxos/agent/functions.d.ts +6 -12
  100. package/dist/src/proto/gen/dxos/agent/functions.d.ts.map +1 -1
  101. package/dist/src/proto/gen/dxos/bot.d.ts +12 -24
  102. package/dist/src/proto/gen/dxos/bot.d.ts.map +1 -1
  103. package/dist/src/proto/gen/dxos/bot.js.map +1 -1
  104. package/dist/src/proto/gen/dxos/client/services.d.ts +1051 -1026
  105. package/dist/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  106. package/dist/src/proto/gen/dxos/client/services.js +106 -94
  107. package/dist/src/proto/gen/dxos/client/services.js.map +1 -1
  108. package/dist/src/proto/gen/dxos/config.d.ts +111 -101
  109. package/dist/src/proto/gen/dxos/config.d.ts.map +1 -1
  110. package/dist/src/proto/gen/dxos/config.js +26 -0
  111. package/dist/src/proto/gen/dxos/config.js.map +1 -1
  112. package/dist/src/proto/gen/dxos/devtools/host.d.ts +48 -96
  113. package/dist/src/proto/gen/dxos/devtools/host.d.ts.map +1 -1
  114. package/dist/src/proto/gen/dxos/devtools/swarm.d.ts +4 -8
  115. package/dist/src/proto/gen/dxos/devtools/swarm.d.ts.map +1 -1
  116. package/dist/src/proto/gen/dxos/echo/blob.d.ts +1 -2
  117. package/dist/src/proto/gen/dxos/echo/blob.d.ts.map +1 -1
  118. package/dist/src/proto/gen/dxos/echo/blob.js.map +1 -1
  119. package/dist/src/proto/gen/dxos/echo/feed.d.ts +4 -8
  120. package/dist/src/proto/gen/dxos/echo/feed.d.ts.map +1 -1
  121. package/dist/src/proto/gen/dxos/echo/filter.d.ts +2 -4
  122. package/dist/src/proto/gen/dxos/echo/filter.d.ts.map +1 -1
  123. package/dist/src/proto/gen/dxos/echo/filter.js.map +1 -1
  124. package/dist/src/proto/gen/dxos/echo/indexing.d.ts +2 -4
  125. package/dist/src/proto/gen/dxos/echo/indexing.d.ts.map +1 -1
  126. package/dist/src/proto/gen/dxos/echo/indexing.js.map +1 -1
  127. package/dist/src/proto/gen/dxos/echo/metadata.d.ts +12 -16
  128. package/dist/src/proto/gen/dxos/echo/metadata.d.ts.map +1 -1
  129. package/dist/src/proto/gen/dxos/echo/metadata.js.map +1 -1
  130. package/dist/src/proto/gen/dxos/echo/model/document.d.ts +11 -22
  131. package/dist/src/proto/gen/dxos/echo/model/document.d.ts.map +1 -1
  132. package/dist/src/proto/gen/dxos/echo/model/document.js.map +1 -1
  133. package/dist/src/proto/gen/dxos/echo/model/messenger.d.ts +1 -2
  134. package/dist/src/proto/gen/dxos/echo/model/messenger.d.ts.map +1 -1
  135. package/dist/src/proto/gen/dxos/echo/model/text.d.ts +2 -4
  136. package/dist/src/proto/gen/dxos/echo/model/text.d.ts.map +1 -1
  137. package/dist/src/proto/gen/dxos/echo/object.d.ts +6 -12
  138. package/dist/src/proto/gen/dxos/echo/object.d.ts.map +1 -1
  139. package/dist/src/proto/gen/dxos/echo/object.js.map +1 -1
  140. package/dist/src/proto/gen/dxos/echo/query.d.ts +4 -8
  141. package/dist/src/proto/gen/dxos/echo/query.d.ts.map +1 -1
  142. package/dist/src/proto/gen/dxos/echo/query.js.map +1 -1
  143. package/dist/src/proto/gen/dxos/echo/service.d.ts +36 -35
  144. package/dist/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  145. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts +2 -4
  146. package/dist/src/proto/gen/dxos/echo/snapshot.d.ts.map +1 -1
  147. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts +2 -4
  148. package/dist/src/proto/gen/dxos/echo/timeframe.d.ts.map +1 -1
  149. package/dist/src/proto/gen/dxos/edge/calls.d.ts +5 -10
  150. package/dist/src/proto/gen/dxos/edge/calls.d.ts.map +1 -1
  151. package/dist/src/proto/gen/dxos/edge/messenger.d.ts +28 -10
  152. package/dist/src/proto/gen/dxos/edge/messenger.d.ts.map +1 -1
  153. package/dist/src/proto/gen/dxos/edge/messenger.js.map +1 -1
  154. package/dist/src/proto/gen/dxos/edge/signal.d.ts +7 -14
  155. package/dist/src/proto/gen/dxos/edge/signal.d.ts.map +1 -1
  156. package/dist/src/proto/gen/dxos/error.d.ts +1 -2
  157. package/dist/src/proto/gen/dxos/error.d.ts.map +1 -1
  158. package/dist/src/proto/gen/dxos/gravity.d.ts +10 -20
  159. package/dist/src/proto/gen/dxos/gravity.d.ts.map +1 -1
  160. package/dist/src/proto/gen/dxos/halo/credentials/auth.d.ts +1 -2
  161. package/dist/src/proto/gen/dxos/halo/credentials/auth.d.ts.map +1 -1
  162. package/dist/src/proto/gen/dxos/halo/credentials/greet.d.ts +6 -12
  163. package/dist/src/proto/gen/dxos/halo/credentials/greet.d.ts.map +1 -1
  164. package/dist/src/proto/gen/dxos/halo/credentials/greet.js.map +1 -1
  165. package/dist/src/proto/gen/dxos/halo/credentials/identity.d.ts +2 -4
  166. package/dist/src/proto/gen/dxos/halo/credentials/identity.d.ts.map +1 -1
  167. package/dist/src/proto/gen/dxos/halo/credentials.d.ts +35 -43
  168. package/dist/src/proto/gen/dxos/halo/credentials.d.ts.map +1 -1
  169. package/dist/src/proto/gen/dxos/halo/credentials.js +9 -0
  170. package/dist/src/proto/gen/dxos/halo/credentials.js.map +1 -1
  171. package/dist/src/proto/gen/dxos/halo/invitations.d.ts +13 -26
  172. package/dist/src/proto/gen/dxos/halo/invitations.d.ts.map +1 -1
  173. package/dist/src/proto/gen/dxos/halo/invitations.js.map +1 -1
  174. package/dist/src/proto/gen/dxos/halo/keyring.d.ts +1 -2
  175. package/dist/src/proto/gen/dxos/halo/keyring.d.ts.map +1 -1
  176. package/dist/src/proto/gen/dxos/halo/keys.d.ts +2 -4
  177. package/dist/src/proto/gen/dxos/halo/keys.d.ts.map +1 -1
  178. package/dist/src/proto/gen/dxos/halo/signed.d.ts +4 -8
  179. package/dist/src/proto/gen/dxos/halo/signed.d.ts.map +1 -1
  180. package/dist/src/proto/gen/dxos/iframe.d.ts +4 -18
  181. package/dist/src/proto/gen/dxos/iframe.d.ts.map +1 -1
  182. package/dist/src/proto/gen/dxos/iframe.js.map +1 -1
  183. package/dist/src/proto/gen/dxos/keys.d.ts +2 -4
  184. package/dist/src/proto/gen/dxos/keys.d.ts.map +1 -1
  185. package/dist/src/proto/gen/dxos/mesh/bridge.d.ts +12 -24
  186. package/dist/src/proto/gen/dxos/mesh/bridge.d.ts.map +1 -1
  187. package/dist/src/proto/gen/dxos/mesh/broadcast.d.ts +1 -2
  188. package/dist/src/proto/gen/dxos/mesh/broadcast.d.ts.map +1 -1
  189. package/dist/src/proto/gen/dxos/mesh/messaging.d.ts +2 -4
  190. package/dist/src/proto/gen/dxos/mesh/messaging.d.ts.map +1 -1
  191. package/dist/src/proto/gen/dxos/mesh/muxer.d.ts +5 -10
  192. package/dist/src/proto/gen/dxos/mesh/muxer.d.ts.map +1 -1
  193. package/dist/src/proto/gen/dxos/mesh/presence.d.ts +1 -2
  194. package/dist/src/proto/gen/dxos/mesh/presence.d.ts.map +1 -1
  195. package/dist/src/proto/gen/dxos/mesh/protocol.d.ts +3 -6
  196. package/dist/src/proto/gen/dxos/mesh/protocol.d.ts.map +1 -1
  197. package/dist/src/proto/gen/dxos/mesh/replicator.d.ts +2 -4
  198. package/dist/src/proto/gen/dxos/mesh/replicator.d.ts.map +1 -1
  199. package/dist/src/proto/gen/dxos/mesh/signal.d.ts +9 -18
  200. package/dist/src/proto/gen/dxos/mesh/signal.d.ts.map +1 -1
  201. package/dist/src/proto/gen/dxos/mesh/signal.js.map +1 -1
  202. package/dist/src/proto/gen/dxos/mesh/swarm.d.ts +6 -12
  203. package/dist/src/proto/gen/dxos/mesh/swarm.d.ts.map +1 -1
  204. package/dist/src/proto/gen/dxos/mesh/teleport/auth.d.ts +2 -4
  205. package/dist/src/proto/gen/dxos/mesh/teleport/auth.d.ts.map +1 -1
  206. package/dist/src/proto/gen/dxos/mesh/teleport/automerge.d.ts +2 -4
  207. package/dist/src/proto/gen/dxos/mesh/teleport/automerge.d.ts.map +1 -1
  208. package/dist/src/proto/gen/dxos/mesh/teleport/blobsync.d.ts +3 -6
  209. package/dist/src/proto/gen/dxos/mesh/teleport/blobsync.d.ts.map +1 -1
  210. package/dist/src/proto/gen/dxos/mesh/teleport/control.d.ts +3 -6
  211. package/dist/src/proto/gen/dxos/mesh/teleport/control.d.ts.map +1 -1
  212. package/dist/src/proto/gen/dxos/mesh/teleport/gossip.d.ts +1 -2
  213. package/dist/src/proto/gen/dxos/mesh/teleport/gossip.d.ts.map +1 -1
  214. package/dist/src/proto/gen/dxos/mesh/teleport/notarization.d.ts +1 -2
  215. package/dist/src/proto/gen/dxos/mesh/teleport/notarization.d.ts.map +1 -1
  216. package/dist/src/proto/gen/dxos/mesh/teleport/replicator.d.ts +5 -10
  217. package/dist/src/proto/gen/dxos/mesh/teleport/replicator.d.ts.map +1 -1
  218. package/dist/src/proto/gen/dxos/mesh/teleport.d.ts +2 -4
  219. package/dist/src/proto/gen/dxos/mesh/teleport.d.ts.map +1 -1
  220. package/dist/src/proto/gen/dxos/registry.d.ts +3 -6
  221. package/dist/src/proto/gen/dxos/registry.d.ts.map +1 -1
  222. package/dist/src/proto/gen/dxos/rpc.d.ts +24 -12
  223. package/dist/src/proto/gen/dxos/rpc.d.ts.map +1 -1
  224. package/dist/src/proto/gen/dxos/rpc.js.map +1 -1
  225. package/dist/src/proto/gen/dxos/service/agentmanager.d.ts +4 -8
  226. package/dist/src/proto/gen/dxos/service/agentmanager.d.ts.map +1 -1
  227. package/dist/src/proto/gen/dxos/service/agentmanager.js.map +1 -1
  228. package/dist/src/proto/gen/dxos/service/publisher.d.ts +5 -10
  229. package/dist/src/proto/gen/dxos/service/publisher.d.ts.map +1 -1
  230. package/dist/src/proto/gen/dxos/service/supervisor.d.ts +12 -24
  231. package/dist/src/proto/gen/dxos/service/supervisor.d.ts.map +1 -1
  232. package/dist/src/proto/gen/dxos/service/supervisor.js.map +1 -1
  233. package/dist/src/proto/gen/dxos/service/tunnel.d.ts +3 -6
  234. package/dist/src/proto/gen/dxos/service/tunnel.d.ts.map +1 -1
  235. package/dist/src/proto/gen/dxos/tracing.d.ts +10 -99
  236. package/dist/src/proto/gen/dxos/tracing.d.ts.map +1 -1
  237. package/dist/src/proto/gen/dxos/type.d.ts +12 -24
  238. package/dist/src/proto/gen/dxos/type.d.ts.map +1 -1
  239. package/dist/src/proto/gen/dxos/value.d.ts +2 -4
  240. package/dist/src/proto/gen/dxos/value.d.ts.map +1 -1
  241. package/dist/src/proto/gen/example/testing/data.d.ts +4 -8
  242. package/dist/src/proto/gen/example/testing/data.d.ts.map +1 -1
  243. package/dist/src/proto/gen/example/testing/rpc.d.ts +7 -14
  244. package/dist/src/proto/gen/example/testing/rpc.d.ts.map +1 -1
  245. package/dist/src/proto/gen/google/protobuf.d.ts +326 -40
  246. package/dist/src/proto/gen/google/protobuf.d.ts.map +1 -1
  247. package/dist/src/proto/gen/google/protobuf.js +127 -1
  248. package/dist/src/proto/gen/google/protobuf.js.map +1 -1
  249. package/dist/src/proto/gen/index.d.ts +35 -7
  250. package/dist/src/proto/gen/index.d.ts.map +1 -1
  251. package/dist/src/proto/gen/index.js +1 -1
  252. package/dist/src/proto/gen/index.js.map +1 -1
  253. package/dist/src/proto/index.js +1 -1
  254. package/dist/src/proto/substitutions.d.ts +8 -8
  255. package/dist/src/proto/substitutions.d.ts.map +1 -1
  256. package/dist/src/space-archive.d.ts +62 -3
  257. package/dist/src/space-archive.d.ts.map +1 -1
  258. package/dist/src/space-archive.js +13 -1
  259. package/dist/src/space-archive.js.map +1 -1
  260. package/dist/tsconfig.tsbuildinfo +1 -1
  261. package/package.json +13 -31
  262. package/src/FeedProtocol.ts +5 -1
  263. package/src/FunctionProtocol.ts +9 -2
  264. package/src/TraceProtocol.ts +21 -0
  265. package/src/buf/proto/gen/dxos/client/queue_pb.ts +150 -8
  266. package/src/buf/proto/gen/dxos/client/services_pb.ts +115 -39
  267. package/src/buf/proto/gen/dxos/config_pb.ts +128 -3
  268. package/src/buf/proto/gen/dxos/echo/metadata_pb.ts +8 -1
  269. package/src/buf/proto/gen/dxos/echo/service_pb.ts +19 -3
  270. package/src/buf/proto/gen/dxos/edge/messenger_pb.ts +38 -5
  271. package/src/buf/proto/gen/dxos/halo/credentials_pb.ts +48 -2
  272. package/src/buf/proto/gen/dxos/iframe_pb.ts +1 -13
  273. package/src/buf/proto/gen/dxos/rpc_pb.ts +36 -7
  274. package/src/buf/proto/gen/dxos/tracing_pb.ts +11 -178
  275. package/src/edge/EdgeFunctionEnv.ts +63 -28
  276. package/src/edge/edge.ts +122 -1
  277. package/src/edge/index.ts +1 -0
  278. package/src/edge/registry.ts +164 -0
  279. package/src/errors/encoding.ts +0 -1
  280. package/src/errors/errors.ts +0 -1
  281. package/src/index.ts +1 -1
  282. package/src/proto/dxos/client/queue.proto +39 -4
  283. package/src/proto/dxos/client/services.proto +20 -1
  284. package/src/proto/dxos/config.proto +49 -2
  285. package/src/proto/dxos/echo/metadata.proto +3 -0
  286. package/src/proto/dxos/echo/service.proto +14 -1
  287. package/src/proto/dxos/edge/messenger.proto +10 -0
  288. package/src/proto/dxos/halo/credentials.proto +15 -0
  289. package/src/proto/dxos/iframe.proto +0 -3
  290. package/src/proto/dxos/rpc.proto +7 -0
  291. package/src/proto/dxos/tracing.proto +0 -40
  292. package/src/proto/gen/dxos/agent/dashboard.ts +3 -6
  293. package/src/proto/gen/dxos/agent/echoproxy.ts +1 -2
  294. package/src/proto/gen/dxos/agent/epoch.ts +1 -2
  295. package/src/proto/gen/dxos/agent/functions.ts +6 -12
  296. package/src/proto/gen/dxos/bot.ts +12 -24
  297. package/src/proto/gen/dxos/client/services.ts +1051 -1026
  298. package/src/proto/gen/dxos/config.ts +111 -101
  299. package/src/proto/gen/dxos/devtools/host.ts +48 -96
  300. package/src/proto/gen/dxos/devtools/swarm.ts +4 -8
  301. package/src/proto/gen/dxos/echo/blob.ts +1 -2
  302. package/src/proto/gen/dxos/echo/feed.ts +4 -8
  303. package/src/proto/gen/dxos/echo/filter.ts +2 -4
  304. package/src/proto/gen/dxos/echo/indexing.ts +2 -4
  305. package/src/proto/gen/dxos/echo/metadata.ts +12 -16
  306. package/src/proto/gen/dxos/echo/model/document.ts +11 -22
  307. package/src/proto/gen/dxos/echo/model/messenger.ts +1 -2
  308. package/src/proto/gen/dxos/echo/model/text.ts +2 -4
  309. package/src/proto/gen/dxos/echo/object.ts +6 -12
  310. package/src/proto/gen/dxos/echo/query.ts +4 -8
  311. package/src/proto/gen/dxos/echo/service.ts +36 -35
  312. package/src/proto/gen/dxos/echo/snapshot.ts +2 -4
  313. package/src/proto/gen/dxos/echo/timeframe.ts +2 -4
  314. package/src/proto/gen/dxos/edge/calls.ts +5 -10
  315. package/src/proto/gen/dxos/edge/messenger.ts +28 -10
  316. package/src/proto/gen/dxos/edge/signal.ts +7 -14
  317. package/src/proto/gen/dxos/error.ts +1 -2
  318. package/src/proto/gen/dxos/gravity.ts +10 -20
  319. package/src/proto/gen/dxos/halo/credentials/auth.ts +1 -2
  320. package/src/proto/gen/dxos/halo/credentials/greet.ts +6 -12
  321. package/src/proto/gen/dxos/halo/credentials/identity.ts +2 -4
  322. package/src/proto/gen/dxos/halo/credentials.ts +35 -43
  323. package/src/proto/gen/dxos/halo/invitations.ts +13 -26
  324. package/src/proto/gen/dxos/halo/keyring.ts +1 -2
  325. package/src/proto/gen/dxos/halo/keys.ts +2 -4
  326. package/src/proto/gen/dxos/halo/signed.ts +4 -8
  327. package/src/proto/gen/dxos/iframe.ts +4 -18
  328. package/src/proto/gen/dxos/keys.ts +2 -4
  329. package/src/proto/gen/dxos/mesh/bridge.ts +12 -24
  330. package/src/proto/gen/dxos/mesh/broadcast.ts +1 -2
  331. package/src/proto/gen/dxos/mesh/messaging.ts +2 -4
  332. package/src/proto/gen/dxos/mesh/muxer.ts +5 -10
  333. package/src/proto/gen/dxos/mesh/presence.ts +1 -2
  334. package/src/proto/gen/dxos/mesh/protocol.ts +3 -6
  335. package/src/proto/gen/dxos/mesh/replicator.ts +2 -4
  336. package/src/proto/gen/dxos/mesh/signal.ts +9 -18
  337. package/src/proto/gen/dxos/mesh/swarm.ts +6 -12
  338. package/src/proto/gen/dxos/mesh/teleport/auth.ts +2 -4
  339. package/src/proto/gen/dxos/mesh/teleport/automerge.ts +2 -4
  340. package/src/proto/gen/dxos/mesh/teleport/blobsync.ts +3 -6
  341. package/src/proto/gen/dxos/mesh/teleport/control.ts +3 -6
  342. package/src/proto/gen/dxos/mesh/teleport/gossip.ts +1 -2
  343. package/src/proto/gen/dxos/mesh/teleport/notarization.ts +1 -2
  344. package/src/proto/gen/dxos/mesh/teleport/replicator.ts +5 -10
  345. package/src/proto/gen/dxos/mesh/teleport.ts +2 -4
  346. package/src/proto/gen/dxos/registry.ts +3 -6
  347. package/src/proto/gen/dxos/rpc.ts +24 -12
  348. package/src/proto/gen/dxos/service/agentmanager.ts +4 -8
  349. package/src/proto/gen/dxos/service/publisher.ts +5 -10
  350. package/src/proto/gen/dxos/service/supervisor.ts +12 -24
  351. package/src/proto/gen/dxos/service/tunnel.ts +3 -6
  352. package/src/proto/gen/dxos/tracing.ts +10 -96
  353. package/src/proto/gen/dxos/type.ts +12 -24
  354. package/src/proto/gen/dxos/value.ts +2 -4
  355. package/src/proto/gen/example/testing/data.ts +4 -8
  356. package/src/proto/gen/example/testing/rpc.ts +7 -14
  357. package/src/proto/gen/google/protobuf.ts +326 -40
  358. package/src/proto/gen/index.ts +36 -8
  359. package/src/space-archive.ts +70 -1
  360. package/dist/src/tracing.d.ts +0 -40
  361. package/dist/src/tracing.d.ts.map +0 -1
  362. package/dist/src/tracing.js +0 -50
  363. package/dist/src/tracing.js.map +0 -1
  364. package/src/tracing.ts +0 -86
@@ -0,0 +1,164 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import * as Schema from 'effect/Schema';
6
+
7
+ /**
8
+ * Hydrated plugin metadata, mirroring the @dxos/app-framework `Plugin.Meta` shape.
9
+ *
10
+ * Defined locally rather than imported from @dxos/app-framework to keep the protocols
11
+ * package free of UI/runtime dependencies. Consumers can treat decoded values as
12
+ * `Plugin.Meta` directly.
13
+ */
14
+ export const PluginMetaSchema = Schema.Struct({
15
+ id: Schema.String.pipe(Schema.nonEmptyString()),
16
+ name: Schema.String.pipe(Schema.nonEmptyString()),
17
+ description: Schema.optional(Schema.String),
18
+ author: Schema.optional(Schema.String),
19
+ homePage: Schema.optional(Schema.String),
20
+ source: Schema.optional(Schema.String),
21
+ screenshots: Schema.optional(Schema.Array(Schema.String)),
22
+ tags: Schema.optional(Schema.Array(Schema.String)),
23
+ icon: Schema.optional(Schema.String),
24
+ iconHue: Schema.optional(Schema.String),
25
+ });
26
+ export type PluginMeta = Schema.Schema.Type<typeof PluginMetaSchema>;
27
+
28
+ /**
29
+ * Health signal the registry service attaches to a hydrated entry when a refresh fails.
30
+ * Clients surface the appropriate badge or filter entries based on this field.
31
+ */
32
+ export const PluginHealthSchema = Schema.Literal('ok', 'release-missing', 'manifest-invalid', 'repo-unavailable');
33
+ export type PluginHealth = Schema.Schema.Type<typeof PluginHealthSchema>;
34
+
35
+ /**
36
+ * Filename of the entry module every plugin must publish at the root of its bundle.
37
+ * The host dynamic-imports `<manifest URL base>/index.mjs` directly — no per-plugin
38
+ * configuration. `composerPlugin` outputs the bundle under this name so plugin authors
39
+ * never have to think about it.
40
+ */
41
+ export const PLUGIN_ENTRY_FILENAME = 'index.mjs';
42
+
43
+ /**
44
+ * Shape of the manifest-asset JSON the registry service fetches from each plugin's latest release.
45
+ *
46
+ * Emitted by `@dxos/app-framework/vite-plugin`'s `composerPlugin` (see
47
+ * `MANIFEST_ASSET_NAME`). Lists every file the plugin needs at runtime — the entry
48
+ * module ({@link PLUGIN_ENTRY_FILENAME}) plus any sibling CSS, code-split chunks,
49
+ * fonts, etc. — so the host can eagerly precache the whole bundle for offline use.
50
+ * Paths in `assets` are relative to the manifest's URL.
51
+ */
52
+ export const PluginManifestSchema = Schema.Struct({
53
+ ...PluginMetaSchema.fields,
54
+ /** Plugin version (semver). Sourced from the publishing project's `package.json`. */
55
+ version: Schema.String.pipe(Schema.nonEmptyString()),
56
+ /**
57
+ * Relative paths of every file the plugin needs at runtime, including the entry.
58
+ * Must include {@link PLUGIN_ENTRY_FILENAME}; consumers verify on parse.
59
+ */
60
+ assets: Schema.Array(Schema.String).pipe(Schema.minItems(1)),
61
+ });
62
+ export type PluginManifest = Schema.Schema.Type<typeof PluginManifestSchema>;
63
+
64
+ /**
65
+ * Single hydrated plugin entry returned by the registry service.
66
+ */
67
+ export const PluginEntrySchema = Schema.Struct({
68
+ /** GitHub repository in `owner/name` form. Empty string for entries sourced from a `manifestUrl`. */
69
+ repo: Schema.String,
70
+ /** Plugin metadata from the repo's latest-release `manifest.json`. */
71
+ meta: PluginMetaSchema,
72
+ /**
73
+ * URL of the plugin's `manifest.json`. Composer's URL loader fetches this, eagerly caches
74
+ * every declared asset via the platform `PluginAssetCache`, then dynamic-imports the entry.
75
+ * The URL must be CORS-safe and have its declared assets reachable as siblings.
76
+ */
77
+ moduleUrl: Schema.String,
78
+ /** Release tag the entry was resolved from (e.g. `v0.1.0`). Empty string for `manifestUrl` entries. */
79
+ releaseTag: Schema.String,
80
+ /** Health signal set by the service when an entry fails to refresh. */
81
+ health: PluginHealthSchema,
82
+ /** Unix ms when this entry was last successfully hydrated. */
83
+ hydratedAt: Schema.Number,
84
+ });
85
+ export type PluginEntry = Schema.Schema.Type<typeof PluginEntrySchema>;
86
+
87
+ /**
88
+ * Response body of `GET /registry/plugins`.
89
+ */
90
+ export const GetPluginsResponseBodySchema = Schema.Struct({
91
+ /** Wire-format schema version, pinned to 1. */
92
+ version: Schema.Literal(1),
93
+ /** Hydrated entries. Order matches the order in the upstream catalog manifest. */
94
+ plugins: Schema.Array(PluginEntrySchema),
95
+ /** Unix ms timestamp of the most recent successful refresh cycle. */
96
+ refreshedAt: Schema.Number,
97
+ });
98
+ export type GetPluginsResponseBody = Schema.Schema.Type<typeof GetPluginsResponseBodySchema>;
99
+
100
+ /**
101
+ * A single published version of a plugin, as returned by the registry service's
102
+ * versions endpoint. Sourced from the publishing project's GitHub releases.
103
+ *
104
+ * The host treats `tag` opaquely; ordering — newest first — is the service's
105
+ * responsibility (typically reverse-chronological by release date).
106
+ */
107
+ export const PluginVersionSchema = Schema.Struct({
108
+ /** Release tag (e.g. `v0.1.21`). Stable identifier for this version. */
109
+ tag: Schema.String.pipe(Schema.nonEmptyString()),
110
+ /**
111
+ * URL of this version's `manifest.json`. Matches the shape of {@link PluginEntrySchema.fields.moduleUrl}
112
+ * but pinned to a specific release rather than the latest. Composer's URL loader fetches
113
+ * this when the user installs / rolls back to this version.
114
+ */
115
+ moduleUrl: Schema.String.pipe(Schema.nonEmptyString()),
116
+ /** Unix ms when the version was released. Optional — services that lack this signal can omit. */
117
+ releasedAt: Schema.optional(Schema.Number),
118
+ });
119
+ export type PluginVersion = Schema.Schema.Type<typeof PluginVersionSchema>;
120
+
121
+ /**
122
+ * Response body of `GET /registry/plugins/:repo/versions`.
123
+ *
124
+ * `:repo` is the GitHub `owner/name` form, URL-encoded (so `/` is escaped).
125
+ * Returns all hydratable releases for the repo, newest first; clients display them
126
+ * in the version picker for install / roll-back. Unauthenticated; same surface area
127
+ * as `GET /registry/plugins`.
128
+ */
129
+ export const GetPluginVersionsResponseBodySchema = Schema.Struct({
130
+ /** Wire-format schema version, pinned to 1. */
131
+ version: Schema.Literal(1),
132
+ /** Available versions for the requested repo, newest first. */
133
+ versions: Schema.Array(PluginVersionSchema),
134
+ /** Unix ms timestamp of the most recent successful refresh cycle for this repo. */
135
+ refreshedAt: Schema.Number,
136
+ });
137
+ export type GetPluginVersionsResponseBody = Schema.Schema.Type<typeof GetPluginVersionsResponseBodySchema>;
138
+
139
+ /**
140
+ * A catalog entry. Two flavours:
141
+ * - `{ repo }`: the registry service hydrates from the GitHub repo's latest release.
142
+ * Used by the production catalog.
143
+ * - `{ manifestUrl }`: the registry service skips GitHub and fetches the manifest directly.
144
+ * Used for local development against an in-progress plugin (e.g. served by `vite preview`)
145
+ * so authors can iterate without publishing a release.
146
+ */
147
+ export const RegistryEntrySchema = Schema.Union(
148
+ Schema.Struct({ repo: Schema.String.pipe(Schema.nonEmptyString()) }),
149
+ Schema.Struct({ manifestUrl: Schema.String.pipe(Schema.nonEmptyString()) }),
150
+ );
151
+ export type RegistryEntry = Schema.Schema.Type<typeof RegistryEntrySchema>;
152
+
153
+ /**
154
+ * Shape of the catalog manifest published in the upstream community-plugins repo.
155
+ * Extra keys (e.g. `$schema`) are permitted.
156
+ */
157
+ export const RegistryManifestSchema = Schema.Struct(
158
+ {
159
+ version: Schema.Literal(1),
160
+ plugins: Schema.Array(RegistryEntrySchema),
161
+ },
162
+ Schema.Record({ key: Schema.String, value: Schema.Unknown }),
163
+ );
164
+ export type RegistryManifest = Schema.Schema.Type<typeof RegistryManifestSchema>;
@@ -3,7 +3,6 @@
3
3
  //
4
4
 
5
5
  import { type Error as SerializedErrorProto } from '../proto/gen/dxos/error.ts';
6
-
7
6
  import { reconstructError } from './helpers.ts';
8
7
 
9
8
  export const encodeError = (err: any): SerializedErrorProto => {
@@ -6,7 +6,6 @@ import { BaseError } from '@dxos/errors';
6
6
  import { PublicKey } from '@dxos/keys';
7
7
 
8
8
  import type { ObjectId } from '../types.ts';
9
-
10
9
  import { registerError, registerErrorMessageContext, registerErrorNoArgs } from './helpers.ts';
11
10
 
12
11
  /**
package/src/index.ts CHANGED
@@ -10,7 +10,7 @@ export * from './messenger.ts';
10
10
  export * from './profile-archive.ts';
11
11
  export * from './space-archive.ts';
12
12
  export * from './storage.ts';
13
- export * from './tracing.ts';
14
13
  export type * from './types.ts';
15
14
  export * as FunctionProtocol from './FunctionProtocol.ts';
16
15
  export * as FeedProtocol from './FeedProtocol.ts';
16
+ export * as TraceProtocol from './TraceProtocol.ts';
@@ -2,7 +2,6 @@ syntax = "proto3";
2
2
 
3
3
  package dxos.client.services;
4
4
 
5
- import "google/protobuf/struct.proto";
6
5
  import "google/protobuf/empty.proto";
7
6
 
8
7
 
@@ -34,9 +33,12 @@ message QueueQuery {
34
33
  }
35
34
 
36
35
  message QueueQueryResult {
37
- repeated google.protobuf.Struct objects = 1;
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;
38
40
 
39
- /// Cursor to query the next items. Can be passed to `after` in query to keep querying.
41
+ /// Cursor to query the next items. Can be passed to `after` in query to keep querying.
40
42
  string next_cursor = 2;
41
43
 
42
44
  string prev_cursor = 3;
@@ -50,7 +52,8 @@ message InsertIntoQueueRequest {
50
52
  string subspace_tag = 1;
51
53
  string space_id = 2;
52
54
  string queue_id = 3;
53
- repeated google.protobuf.Struct objects = 4;
55
+ /// JSON-encoded object payloads. Each entry is a serialized ObjectJSON.
56
+ repeated string objects = 4;
54
57
  }
55
58
 
56
59
  message DeleteFromQueueRequest {
@@ -60,8 +63,40 @@ message DeleteFromQueueRequest {
60
63
  repeated string object_ids = 4;
61
64
  }
62
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
+
63
96
  service QueueService {
64
97
  rpc QueryQueue(QueryQueueRequest) returns (QueueQueryResult);
65
98
  rpc InsertIntoQueue(InsertIntoQueueRequest) returns (google.protobuf.Empty);
66
99
  rpc DeleteFromQueue(DeleteFromQueueRequest) returns (google.protobuf.Empty);
100
+ rpc SyncQueue(SyncQueueRequest) returns (google.protobuf.Empty);
101
+ rpc GetSyncState(GetSyncStateRequest) returns (GetSyncStateResponse);
67
102
  }
@@ -332,6 +332,8 @@ message Space {
332
332
  optional PipelineState pipeline = 3;
333
333
  optional dxos.error.Error error = 4;
334
334
  optional dxos.echo.metadata.EdgeReplicationSetting edge_replication = 6;
335
+ repeated string tags = 7;
336
+ dxos.halo.credentials.MembershipPolicy membership_policy = 8;
335
337
 
336
338
  repeated SpaceMember members = 10;
337
339
  optional dxos.keys.PublicKey creator = 11;
@@ -342,6 +344,11 @@ message Space {
342
344
 
343
345
  // TODO(burdon): Create type for epoch?
344
346
 
347
+ message CreateSpaceRequest {
348
+ repeated string tags = 1;
349
+ dxos.halo.credentials.MembershipPolicy membership_policy = 2;
350
+ }
351
+
345
352
  message UpdateSpaceRequest {
346
353
  dxos.keys.PublicKey space_key = 1;
347
354
 
@@ -436,12 +443,22 @@ message JoinBySpaceKeyRequest {
436
443
  }
437
444
 
438
445
  message SpaceArchive {
446
+ enum Format {
447
+ // Tar-based binary archive (default).
448
+ BINARY = 0;
449
+ // JSON encoding of {@link dxos.echo.db.SerializedSpace}.
450
+ JSON = 1;
451
+ }
452
+
439
453
  string filename = 1;
440
454
  bytes contents = 2;
455
+ optional Format format = 3;
441
456
  }
442
457
 
443
458
  message ExportSpaceRequest {
444
459
  string space_id = 1;
460
+ // Archive format to produce. Defaults to BINARY.
461
+ optional SpaceArchive.Format format = 2;
445
462
  }
446
463
 
447
464
  message ExportSpaceResponse {
@@ -450,6 +467,8 @@ message ExportSpaceResponse {
450
467
 
451
468
  message ImportSpaceRequest {
452
469
  SpaceArchive archive = 1;
470
+ /// Immutable tags to set on the imported space at creation time.
471
+ repeated string tags = 2;
453
472
  }
454
473
 
455
474
  message ImportSpaceResponse {
@@ -458,7 +477,7 @@ message ImportSpaceResponse {
458
477
  }
459
478
 
460
479
  service SpacesService {
461
- rpc CreateSpace(google.protobuf.Empty) returns (Space);
480
+ rpc CreateSpace(CreateSpaceRequest) returns (Space);
462
481
  rpc UpdateSpace(UpdateSpaceRequest) returns (google.protobuf.Empty);
463
482
  rpc QuerySpaces(google.protobuf.Empty) returns (stream QuerySpacesResponse);
464
483
 
@@ -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
  }
@@ -156,7 +186,24 @@ message Runtime {
156
186
 
157
187
  optional EdgeFeatures edge_features = 11;
158
188
 
159
- optional bool enable_local_queues = 13;
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;
160
207
  }
161
208
 
162
209
  message App {
@@ -54,6 +54,9 @@ message SpaceMetadata {
54
54
  /// Space key.
55
55
  dxos.keys.PublicKey key = 1;
56
56
 
57
+ /// Immutable tags assigned at space creation time.
58
+ repeated string tags = 12;
59
+
57
60
  /// ACTIVE, INACTIVE, etc.
58
61
  optional dxos.client.services.SpaceState state = 10;
59
62
 
@@ -60,8 +60,21 @@ message DocumentUpdate {
60
60
  /**
61
61
  * Automerge document incremental update.
62
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.
63
65
  */
64
- bytes mutation = 2;
66
+ optional bytes mutation = 2;
67
+
68
+ /**
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.
76
+ */
77
+ optional bool requesting = 3;
65
78
  }
66
79
 
67
80
  message DocHeadsList {
@@ -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
 
@@ -163,6 +175,8 @@ enum DeviceType {
163
175
  UNKNOWN = 0;
164
176
  BROWSER = 1;
165
177
  NATIVE = 2;
178
+ // TODO(wittjosiah): Rename "agent" to avoid naming collision with AI agents.
179
+ // TODO(wittjosiah): Unknown, Browser, CLI, Desktop, Mobile, Custodian?
166
180
  AGENT = 3;
167
181
  AGENT_MANAGED = 4;
168
182
  MOBILE = 5;
@@ -188,6 +202,7 @@ message DeviceProfile {
188
202
  }
189
203
 
190
204
  /// [ASSERTION]: Sets default space for identity.
205
+ /// @deprecated Default space is no longer managed by the SDK. Existing credentials are ignored.
191
206
  message DefaultSpace {
192
207
  string space_id = 1;
193
208
  }
@@ -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.
@@ -29,11 +29,18 @@ message RpcMessage {
29
29
  }
30
30
  }
31
31
 
32
+ /// W3C trace context carried across RPC boundaries.
33
+ message TraceContext {
34
+ string traceparent = 1;
35
+ optional string tracestate = 2;
36
+ }
37
+
32
38
  message Request {
33
39
  int32 id = 1;
34
40
  string method = 2;
35
41
  google.protobuf.Any payload = 3;
36
42
  bool stream = 4;
43
+ optional TraceContext trace_context = 5;
37
44
  }
38
45
 
39
46
  message Response {
@@ -30,42 +30,6 @@ message ResourceLink {
30
30
  google.protobuf.Struct attributes = 4;
31
31
  }
32
32
 
33
- message Span {
34
- int32 id = 1;
35
- optional int32 parent_id = 2;
36
- optional int32 resource_id = 3;
37
- string method_name = 4;
38
-
39
- // TODO(dmaretskyi): Figure out proper sub-millisecond timestamp type.
40
- string start_ts = 5;
41
- optional string end_ts = 6;
42
-
43
- optional dxos.error.Error error = 11;
44
- }
45
-
46
- message StreamTraceEvent {
47
- message ResourceAdded {
48
- Resource resource = 1;
49
- }
50
-
51
- message ResourceRemoved {
52
- int32 id = 1;
53
- }
54
-
55
- message SpanAdded {
56
- Span span = 1;
57
- }
58
-
59
- message LogAdded {
60
- dxos.client.services.LogEntry log = 1;
61
- }
62
-
63
- repeated ResourceAdded resource_added = 1;
64
- repeated ResourceRemoved resource_removed = 2;
65
- repeated SpanAdded span_added = 3;
66
- repeated LogAdded log_added = 4;
67
- }
68
-
69
33
  message Metric {
70
34
  message Counter {
71
35
  double value = 1;
@@ -110,7 +74,3 @@ message Metric {
110
74
  Custom custom = 199;
111
75
  }
112
76
  }
113
-
114
- service TracingService {
115
- rpc StreamTrace(google.protobuf.Empty) returns (stream StreamTraceEvent);
116
- }
@@ -66,8 +66,7 @@ import * as example_testing_data from "../../example/testing/data.js";
66
66
  import * as example_testing_rpc from "../../example/testing/rpc.js";
67
67
  import * as google_protobuf from "../../google/protobuf.js";
68
68
  /**
69
- * Defined in:
70
- * {@link file://./../../../dxos/agent/dashboard.proto}
69
+ * Defined in: `../../../dxos/agent/dashboard.proto`
71
70
  */
72
71
  export interface AgentStatus {
73
72
  status: AgentStatus.Status;
@@ -88,8 +87,7 @@ export namespace AgentStatus {
88
87
  OFF = 1
89
88
  }
90
89
  /**
91
- * Defined in:
92
- * {@link file://./../../../dxos/agent/dashboard.proto}
90
+ * Defined in: `../../../dxos/agent/dashboard.proto`
93
91
  */
94
92
  export interface Memory {
95
93
  /**
@@ -104,8 +102,7 @@ export namespace AgentStatus {
104
102
  }
105
103
  }
106
104
  /**
107
- * Defined in:
108
- * {@link file://./../../../dxos/agent/dashboard.proto}
105
+ * Defined in: `../../../dxos/agent/dashboard.proto`
109
106
  */
110
107
  export interface PluginState {
111
108
  id: string;
@@ -66,8 +66,7 @@ import * as example_testing_data from "../../example/testing/data.js";
66
66
  import * as example_testing_rpc from "../../example/testing/rpc.js";
67
67
  import * as google_protobuf from "../../google/protobuf.js";
68
68
  /**
69
- * Defined in:
70
- * {@link file://./../../../dxos/agent/echo-proxy.proto}
69
+ * Defined in: `../../../dxos/agent/echo-proxy.proto`
71
70
  */
72
71
  export interface Config {
73
72
  /**
@@ -66,8 +66,7 @@ import * as example_testing_data from "../../example/testing/data.js";
66
66
  import * as example_testing_rpc from "../../example/testing/rpc.js";
67
67
  import * as google_protobuf from "../../google/protobuf.js";
68
68
  /**
69
- * Defined in:
70
- * {@link file://./../../../dxos/agent/epoch.proto}
69
+ * Defined in: `../../../dxos/agent/epoch.proto`
71
70
  */
72
71
  export interface EpochMonitorConfig {
73
72
  /**