@dxos/protocols 0.8.4-main.5ea62a8 → 0.8.4-main.66e292d

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 (316) hide show
  1. package/dist/src/FunctionProtocol.d.ts +76 -0
  2. package/dist/src/FunctionProtocol.d.ts.map +1 -0
  3. package/dist/src/FunctionProtocol.js +4 -0
  4. package/dist/src/FunctionProtocol.js.map +1 -0
  5. package/dist/src/automerge.d.ts +8 -0
  6. package/dist/src/automerge.d.ts.map +1 -1
  7. package/dist/src/automerge.js.map +1 -1
  8. package/dist/src/buf/proto/gen/dxos/agent/dashboard_pb.d.ts +1 -1
  9. package/dist/src/buf/proto/gen/dxos/agent/dashboard_pb.js +1 -1
  10. package/dist/src/buf/proto/gen/dxos/agent/echo-proxy_pb.d.ts +1 -1
  11. package/dist/src/buf/proto/gen/dxos/agent/echo-proxy_pb.js +1 -1
  12. package/dist/src/buf/proto/gen/dxos/agent/epoch_pb.d.ts +1 -1
  13. package/dist/src/buf/proto/gen/dxos/agent/epoch_pb.js +1 -1
  14. package/dist/src/buf/proto/gen/dxos/agent/functions_pb.d.ts +1 -1
  15. package/dist/src/buf/proto/gen/dxos/agent/functions_pb.js +1 -1
  16. package/dist/src/buf/proto/gen/dxos/bot_pb.d.ts +1 -1
  17. package/dist/src/buf/proto/gen/dxos/bot_pb.js +1 -1
  18. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.d.ts +1 -1
  19. package/dist/src/buf/proto/gen/dxos/client/invitation_pb.js +1 -1
  20. package/dist/src/buf/proto/gen/dxos/client/logging_pb.d.ts +1 -1
  21. package/dist/src/buf/proto/gen/dxos/client/logging_pb.js +1 -1
  22. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts +65 -19
  23. package/dist/src/buf/proto/gen/dxos/client/services_pb.d.ts.map +1 -1
  24. package/dist/src/buf/proto/gen/dxos/client/services_pb.js +28 -23
  25. package/dist/src/buf/proto/gen/dxos/client/services_pb.js.map +1 -1
  26. package/dist/src/buf/proto/gen/dxos/config_pb.d.ts +1 -1
  27. package/dist/src/buf/proto/gen/dxos/config_pb.js +1 -1
  28. package/dist/src/buf/proto/gen/dxos/devtools/diagnostics_pb.d.ts +1 -1
  29. package/dist/src/buf/proto/gen/dxos/devtools/diagnostics_pb.js +1 -1
  30. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.d.ts +1 -1
  31. package/dist/src/buf/proto/gen/dxos/devtools/host_pb.js +1 -1
  32. package/dist/src/buf/proto/gen/dxos/devtools/swarm_pb.d.ts +1 -1
  33. package/dist/src/buf/proto/gen/dxos/devtools/swarm_pb.js +1 -1
  34. package/dist/src/buf/proto/gen/dxos/echo/blob_pb.d.ts +1 -1
  35. package/dist/src/buf/proto/gen/dxos/echo/blob_pb.js +1 -1
  36. package/dist/src/buf/proto/gen/dxos/echo/feed_pb.d.ts +1 -1
  37. package/dist/src/buf/proto/gen/dxos/echo/feed_pb.js +1 -1
  38. package/dist/src/buf/proto/gen/dxos/echo/filter_pb.d.ts +1 -1
  39. package/dist/src/buf/proto/gen/dxos/echo/filter_pb.js +1 -1
  40. package/dist/src/buf/proto/gen/dxos/echo/indexing_pb.d.ts +1 -1
  41. package/dist/src/buf/proto/gen/dxos/echo/indexing_pb.js +1 -1
  42. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.d.ts +1 -1
  43. package/dist/src/buf/proto/gen/dxos/echo/metadata_pb.js +1 -1
  44. package/dist/src/buf/proto/gen/dxos/echo/model/document_pb.d.ts +1 -1
  45. package/dist/src/buf/proto/gen/dxos/echo/model/document_pb.js +1 -1
  46. package/dist/src/buf/proto/gen/dxos/echo/model/messenger_pb.d.ts +1 -1
  47. package/dist/src/buf/proto/gen/dxos/echo/model/messenger_pb.js +1 -1
  48. package/dist/src/buf/proto/gen/dxos/echo/model/text_pb.d.ts +1 -1
  49. package/dist/src/buf/proto/gen/dxos/echo/model/text_pb.js +1 -1
  50. package/dist/src/buf/proto/gen/dxos/echo/object_pb.d.ts +1 -1
  51. package/dist/src/buf/proto/gen/dxos/echo/object_pb.js +1 -1
  52. package/dist/src/buf/proto/gen/dxos/echo/query_pb.d.ts +1 -1
  53. package/dist/src/buf/proto/gen/dxos/echo/query_pb.js +1 -1
  54. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts +16 -1
  55. package/dist/src/buf/proto/gen/dxos/echo/service_pb.d.ts.map +1 -1
  56. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js +2 -2
  57. package/dist/src/buf/proto/gen/dxos/echo/service_pb.js.map +1 -1
  58. package/dist/src/buf/proto/gen/dxos/echo/snapshot_pb.d.ts +1 -1
  59. package/dist/src/buf/proto/gen/dxos/echo/snapshot_pb.js +1 -1
  60. package/dist/src/buf/proto/gen/dxos/echo/timeframe_pb.d.ts +1 -1
  61. package/dist/src/buf/proto/gen/dxos/echo/timeframe_pb.js +1 -1
  62. package/dist/src/buf/proto/gen/dxos/edge/calls_pb.d.ts +1 -1
  63. package/dist/src/buf/proto/gen/dxos/edge/calls_pb.js +1 -1
  64. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.d.ts +1 -1
  65. package/dist/src/buf/proto/gen/dxos/edge/messenger_pb.js +1 -1
  66. package/dist/src/buf/proto/gen/dxos/edge/signal_pb.d.ts +1 -1
  67. package/dist/src/buf/proto/gen/dxos/edge/signal_pb.js +1 -1
  68. package/dist/src/buf/proto/gen/dxos/error_pb.d.ts +1 -1
  69. package/dist/src/buf/proto/gen/dxos/error_pb.js +1 -1
  70. package/dist/src/buf/proto/gen/dxos/field_options_pb.d.ts +1 -1
  71. package/dist/src/buf/proto/gen/dxos/field_options_pb.js +1 -1
  72. package/dist/src/buf/proto/gen/dxos/google_pb.d.ts +1 -1
  73. package/dist/src/buf/proto/gen/dxos/google_pb.js +2 -2
  74. package/dist/src/buf/proto/gen/dxos/gravity_pb.d.ts +1 -1
  75. package/dist/src/buf/proto/gen/dxos/gravity_pb.js +1 -1
  76. package/dist/src/buf/proto/gen/dxos/halo/credentials/auth_pb.d.ts +1 -1
  77. package/dist/src/buf/proto/gen/dxos/halo/credentials/auth_pb.js +1 -1
  78. package/dist/src/buf/proto/gen/dxos/halo/credentials/greet_pb.d.ts +1 -1
  79. package/dist/src/buf/proto/gen/dxos/halo/credentials/greet_pb.js +1 -1
  80. package/dist/src/buf/proto/gen/dxos/halo/credentials/identity_pb.d.ts +1 -1
  81. package/dist/src/buf/proto/gen/dxos/halo/credentials/identity_pb.js +1 -1
  82. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.d.ts +1 -1
  83. package/dist/src/buf/proto/gen/dxos/halo/credentials_pb.js +1 -1
  84. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.d.ts +1 -1
  85. package/dist/src/buf/proto/gen/dxos/halo/invitations_pb.js +1 -1
  86. package/dist/src/buf/proto/gen/dxos/halo/keyring_pb.d.ts +1 -1
  87. package/dist/src/buf/proto/gen/dxos/halo/keyring_pb.js +1 -1
  88. package/dist/src/buf/proto/gen/dxos/halo/keys_pb.d.ts +1 -1
  89. package/dist/src/buf/proto/gen/dxos/halo/keys_pb.js +1 -1
  90. package/dist/src/buf/proto/gen/dxos/halo/signed_pb.d.ts +1 -1
  91. package/dist/src/buf/proto/gen/dxos/halo/signed_pb.js +1 -1
  92. package/dist/src/buf/proto/gen/dxos/iframe_pb.d.ts +1 -1
  93. package/dist/src/buf/proto/gen/dxos/iframe_pb.js +1 -1
  94. package/dist/src/buf/proto/gen/dxos/keys_pb.d.ts +1 -1
  95. package/dist/src/buf/proto/gen/dxos/keys_pb.js +1 -1
  96. package/dist/src/buf/proto/gen/dxos/mesh/bridge_pb.d.ts +1 -1
  97. package/dist/src/buf/proto/gen/dxos/mesh/bridge_pb.js +1 -1
  98. package/dist/src/buf/proto/gen/dxos/mesh/broadcast_pb.d.ts +1 -1
  99. package/dist/src/buf/proto/gen/dxos/mesh/broadcast_pb.js +1 -1
  100. package/dist/src/buf/proto/gen/dxos/mesh/messaging_pb.d.ts +1 -1
  101. package/dist/src/buf/proto/gen/dxos/mesh/messaging_pb.js +1 -1
  102. package/dist/src/buf/proto/gen/dxos/mesh/muxer_pb.d.ts +1 -1
  103. package/dist/src/buf/proto/gen/dxos/mesh/muxer_pb.js +1 -1
  104. package/dist/src/buf/proto/gen/dxos/mesh/presence_pb.d.ts +1 -1
  105. package/dist/src/buf/proto/gen/dxos/mesh/presence_pb.js +1 -1
  106. package/dist/src/buf/proto/gen/dxos/mesh/protocol_pb.d.ts +1 -1
  107. package/dist/src/buf/proto/gen/dxos/mesh/protocol_pb.js +1 -1
  108. package/dist/src/buf/proto/gen/dxos/mesh/replicator_pb.d.ts +1 -1
  109. package/dist/src/buf/proto/gen/dxos/mesh/replicator_pb.js +1 -1
  110. package/dist/src/buf/proto/gen/dxos/mesh/signal_pb.d.ts +1 -1
  111. package/dist/src/buf/proto/gen/dxos/mesh/signal_pb.js +1 -1
  112. package/dist/src/buf/proto/gen/dxos/mesh/swarm_pb.d.ts +1 -1
  113. package/dist/src/buf/proto/gen/dxos/mesh/swarm_pb.js +1 -1
  114. package/dist/src/buf/proto/gen/dxos/mesh/teleport/admission-discovery_pb.d.ts +1 -1
  115. package/dist/src/buf/proto/gen/dxos/mesh/teleport/admission-discovery_pb.js +1 -1
  116. package/dist/src/buf/proto/gen/dxos/mesh/teleport/auth_pb.d.ts +1 -1
  117. package/dist/src/buf/proto/gen/dxos/mesh/teleport/auth_pb.js +1 -1
  118. package/dist/src/buf/proto/gen/dxos/mesh/teleport/automerge_pb.d.ts +1 -1
  119. package/dist/src/buf/proto/gen/dxos/mesh/teleport/automerge_pb.js +1 -1
  120. package/dist/src/buf/proto/gen/dxos/mesh/teleport/blobsync_pb.d.ts +1 -1
  121. package/dist/src/buf/proto/gen/dxos/mesh/teleport/blobsync_pb.js +1 -1
  122. package/dist/src/buf/proto/gen/dxos/mesh/teleport/control_pb.d.ts +1 -1
  123. package/dist/src/buf/proto/gen/dxos/mesh/teleport/control_pb.js +1 -1
  124. package/dist/src/buf/proto/gen/dxos/mesh/teleport/gossip_pb.d.ts +1 -1
  125. package/dist/src/buf/proto/gen/dxos/mesh/teleport/gossip_pb.js +1 -1
  126. package/dist/src/buf/proto/gen/dxos/mesh/teleport/notarization_pb.d.ts +1 -1
  127. package/dist/src/buf/proto/gen/dxos/mesh/teleport/notarization_pb.js +1 -1
  128. package/dist/src/buf/proto/gen/dxos/mesh/teleport/replicator_pb.d.ts +1 -1
  129. package/dist/src/buf/proto/gen/dxos/mesh/teleport/replicator_pb.js +1 -1
  130. package/dist/src/buf/proto/gen/dxos/registry_pb.d.ts +1 -1
  131. package/dist/src/buf/proto/gen/dxos/registry_pb.js +1 -1
  132. package/dist/src/buf/proto/gen/dxos/rpc_pb.d.ts +1 -1
  133. package/dist/src/buf/proto/gen/dxos/rpc_pb.js +1 -1
  134. package/dist/src/buf/proto/gen/dxos/service/agentmanager_pb.d.ts +1 -1
  135. package/dist/src/buf/proto/gen/dxos/service/agentmanager_pb.js +1 -1
  136. package/dist/src/buf/proto/gen/dxos/service/publisher_pb.d.ts +1 -1
  137. package/dist/src/buf/proto/gen/dxos/service/publisher_pb.js +1 -1
  138. package/dist/src/buf/proto/gen/dxos/service/supervisor_pb.d.ts +1 -1
  139. package/dist/src/buf/proto/gen/dxos/service/supervisor_pb.js +1 -1
  140. package/dist/src/buf/proto/gen/dxos/service/tunnel_pb.d.ts +1 -1
  141. package/dist/src/buf/proto/gen/dxos/service/tunnel_pb.js +1 -1
  142. package/dist/src/buf/proto/gen/dxos/tracing_pb.d.ts +1 -1
  143. package/dist/src/buf/proto/gen/dxos/tracing_pb.js +2 -2
  144. package/dist/src/buf/proto/gen/dxos/type_pb.d.ts +1 -1
  145. package/dist/src/buf/proto/gen/dxos/type_pb.js +1 -1
  146. package/dist/src/buf/proto/gen/dxos/value_pb.d.ts +1 -1
  147. package/dist/src/buf/proto/gen/dxos/value_pb.js +1 -1
  148. package/dist/src/buf/proto/gen/example/testing/data_pb.d.ts +1 -1
  149. package/dist/src/buf/proto/gen/example/testing/data_pb.js +1 -1
  150. package/dist/src/buf/proto/gen/example/testing/rpc_pb.d.ts +1 -1
  151. package/dist/src/buf/proto/gen/example/testing/rpc_pb.js +1 -1
  152. package/dist/src/edge/EdgeFunctionEnv.d.ts +95 -0
  153. package/dist/src/edge/EdgeFunctionEnv.d.ts.map +1 -0
  154. package/dist/src/edge/EdgeFunctionEnv.js +4 -0
  155. package/dist/src/edge/EdgeFunctionEnv.js.map +1 -0
  156. package/dist/src/{edge.d.ts → edge/edge.d.ts} +107 -11
  157. package/dist/src/edge/edge.d.ts.map +1 -0
  158. package/dist/src/edge/edge.js +155 -0
  159. package/dist/src/edge/edge.js.map +1 -0
  160. package/dist/src/edge/errors.d.ts +29 -0
  161. package/dist/src/edge/errors.d.ts.map +1 -0
  162. package/dist/src/edge/errors.js +69 -0
  163. package/dist/src/edge/errors.js.map +1 -0
  164. package/dist/src/edge/index.d.ts +4 -0
  165. package/dist/src/edge/index.d.ts.map +1 -0
  166. package/dist/src/edge/index.js +7 -0
  167. package/dist/src/edge/index.js.map +1 -0
  168. package/dist/src/errors/base-errors.d.ts +92 -8
  169. package/dist/src/errors/base-errors.d.ts.map +1 -1
  170. package/dist/src/errors/base-errors.js +4 -20
  171. package/dist/src/errors/base-errors.js.map +1 -1
  172. package/dist/src/errors/encoding.d.ts +1 -1
  173. package/dist/src/errors/encoding.d.ts.map +1 -1
  174. package/dist/src/errors/errors.d.ts +662 -41
  175. package/dist/src/errors/errors.d.ts.map +1 -1
  176. package/dist/src/errors/errors.js +29 -83
  177. package/dist/src/errors/errors.js.map +1 -1
  178. package/dist/src/errors/errors.test.js +1 -1
  179. package/dist/src/errors/errors.test.js.map +1 -1
  180. package/dist/src/errors/helpers.d.ts +8 -4
  181. package/dist/src/errors/helpers.d.ts.map +1 -1
  182. package/dist/src/errors/helpers.js +3 -3
  183. package/dist/src/errors/helpers.js.map +1 -1
  184. package/dist/src/feed-replication.d.ts.map +1 -1
  185. package/dist/src/index.d.ts +8 -7
  186. package/dist/src/index.d.ts.map +1 -1
  187. package/dist/src/index.js +9 -6
  188. package/dist/src/index.js.map +1 -1
  189. package/dist/src/indexing.d.ts +1 -1
  190. package/dist/src/indexing.d.ts.map +1 -1
  191. package/dist/src/indexing.js +1 -1
  192. package/dist/src/indexing.js.map +1 -1
  193. package/dist/src/invitation.d.ts +1 -1
  194. package/dist/src/invitation.d.ts.map +1 -1
  195. package/dist/src/invitation.js +1 -1
  196. package/dist/src/invitation.js.map +1 -1
  197. package/dist/src/messenger.d.ts +16 -0
  198. package/dist/src/messenger.d.ts.map +1 -0
  199. package/dist/src/messenger.js +4 -0
  200. package/dist/src/messenger.js.map +1 -0
  201. package/dist/src/proto/gen/dxos/client/services.d.ts +30 -3
  202. package/dist/src/proto/gen/dxos/client/services.d.ts.map +1 -1
  203. package/dist/src/proto/gen/dxos/client/services.js +9 -6
  204. package/dist/src/proto/gen/dxos/client/services.js.map +1 -1
  205. package/dist/src/proto/gen/dxos/echo/service.d.ts +9 -0
  206. package/dist/src/proto/gen/dxos/echo/service.d.ts.map +1 -1
  207. package/dist/src/proto/gen/index.d.ts +1 -0
  208. package/dist/src/proto/gen/index.d.ts.map +1 -1
  209. package/dist/src/proto/gen/index.js +1 -1
  210. package/dist/src/proto/gen/index.js.map +1 -1
  211. package/dist/src/queue.d.ts +13 -0
  212. package/dist/src/queue.d.ts.map +1 -1
  213. package/dist/src/queue.js +4 -0
  214. package/dist/src/queue.js.map +1 -1
  215. package/dist/tsconfig.tsbuildinfo +1 -1
  216. package/package.json +13 -16
  217. package/src/FunctionProtocol.ts +100 -0
  218. package/src/automerge.ts +8 -0
  219. package/src/buf/proto/gen/dxos/agent/dashboard_pb.ts +3 -3
  220. package/src/buf/proto/gen/dxos/agent/echo-proxy_pb.ts +3 -3
  221. package/src/buf/proto/gen/dxos/agent/epoch_pb.ts +3 -3
  222. package/src/buf/proto/gen/dxos/agent/functions_pb.ts +3 -3
  223. package/src/buf/proto/gen/dxos/bot_pb.ts +3 -3
  224. package/src/buf/proto/gen/dxos/client/invitation_pb.ts +3 -3
  225. package/src/buf/proto/gen/dxos/client/logging_pb.ts +3 -3
  226. package/src/buf/proto/gen/dxos/client/services_pb.ts +84 -29
  227. package/src/buf/proto/gen/dxos/config_pb.ts +3 -3
  228. package/src/buf/proto/gen/dxos/devtools/diagnostics_pb.ts +3 -3
  229. package/src/buf/proto/gen/dxos/devtools/host_pb.ts +3 -3
  230. package/src/buf/proto/gen/dxos/devtools/swarm_pb.ts +3 -3
  231. package/src/buf/proto/gen/dxos/echo/blob_pb.ts +3 -3
  232. package/src/buf/proto/gen/dxos/echo/feed_pb.ts +3 -3
  233. package/src/buf/proto/gen/dxos/echo/filter_pb.ts +3 -3
  234. package/src/buf/proto/gen/dxos/echo/indexing_pb.ts +3 -3
  235. package/src/buf/proto/gen/dxos/echo/metadata_pb.ts +3 -3
  236. package/src/buf/proto/gen/dxos/echo/model/document_pb.ts +3 -3
  237. package/src/buf/proto/gen/dxos/echo/model/messenger_pb.ts +3 -3
  238. package/src/buf/proto/gen/dxos/echo/model/text_pb.ts +3 -3
  239. package/src/buf/proto/gen/dxos/echo/object_pb.ts +3 -3
  240. package/src/buf/proto/gen/dxos/echo/query_pb.ts +3 -3
  241. package/src/buf/proto/gen/dxos/echo/service_pb.ts +21 -4
  242. package/src/buf/proto/gen/dxos/echo/snapshot_pb.ts +3 -3
  243. package/src/buf/proto/gen/dxos/echo/timeframe_pb.ts +3 -3
  244. package/src/buf/proto/gen/dxos/edge/calls_pb.ts +3 -3
  245. package/src/buf/proto/gen/dxos/edge/messenger_pb.ts +3 -3
  246. package/src/buf/proto/gen/dxos/edge/signal_pb.ts +3 -3
  247. package/src/buf/proto/gen/dxos/error_pb.ts +3 -3
  248. package/src/buf/proto/gen/dxos/field_options_pb.ts +3 -3
  249. package/src/buf/proto/gen/dxos/google_pb.ts +3 -3
  250. package/src/buf/proto/gen/dxos/gravity_pb.ts +3 -3
  251. package/src/buf/proto/gen/dxos/halo/credentials/auth_pb.ts +3 -3
  252. package/src/buf/proto/gen/dxos/halo/credentials/greet_pb.ts +3 -3
  253. package/src/buf/proto/gen/dxos/halo/credentials/identity_pb.ts +3 -3
  254. package/src/buf/proto/gen/dxos/halo/credentials_pb.ts +3 -3
  255. package/src/buf/proto/gen/dxos/halo/invitations_pb.ts +3 -3
  256. package/src/buf/proto/gen/dxos/halo/keyring_pb.ts +3 -3
  257. package/src/buf/proto/gen/dxos/halo/keys_pb.ts +3 -3
  258. package/src/buf/proto/gen/dxos/halo/signed_pb.ts +3 -3
  259. package/src/buf/proto/gen/dxos/iframe_pb.ts +3 -3
  260. package/src/buf/proto/gen/dxos/keys_pb.ts +3 -3
  261. package/src/buf/proto/gen/dxos/mesh/bridge_pb.ts +3 -3
  262. package/src/buf/proto/gen/dxos/mesh/broadcast_pb.ts +3 -3
  263. package/src/buf/proto/gen/dxos/mesh/messaging_pb.ts +3 -3
  264. package/src/buf/proto/gen/dxos/mesh/muxer_pb.ts +3 -3
  265. package/src/buf/proto/gen/dxos/mesh/presence_pb.ts +3 -3
  266. package/src/buf/proto/gen/dxos/mesh/protocol_pb.ts +3 -3
  267. package/src/buf/proto/gen/dxos/mesh/replicator_pb.ts +3 -3
  268. package/src/buf/proto/gen/dxos/mesh/signal_pb.ts +3 -3
  269. package/src/buf/proto/gen/dxos/mesh/swarm_pb.ts +3 -3
  270. package/src/buf/proto/gen/dxos/mesh/teleport/admission-discovery_pb.ts +3 -3
  271. package/src/buf/proto/gen/dxos/mesh/teleport/auth_pb.ts +3 -3
  272. package/src/buf/proto/gen/dxos/mesh/teleport/automerge_pb.ts +3 -3
  273. package/src/buf/proto/gen/dxos/mesh/teleport/blobsync_pb.ts +3 -3
  274. package/src/buf/proto/gen/dxos/mesh/teleport/control_pb.ts +3 -3
  275. package/src/buf/proto/gen/dxos/mesh/teleport/gossip_pb.ts +3 -3
  276. package/src/buf/proto/gen/dxos/mesh/teleport/notarization_pb.ts +3 -3
  277. package/src/buf/proto/gen/dxos/mesh/teleport/replicator_pb.ts +3 -3
  278. package/src/buf/proto/gen/dxos/registry_pb.ts +3 -3
  279. package/src/buf/proto/gen/dxos/rpc_pb.ts +3 -3
  280. package/src/buf/proto/gen/dxos/service/agentmanager_pb.ts +3 -3
  281. package/src/buf/proto/gen/dxos/service/publisher_pb.ts +3 -3
  282. package/src/buf/proto/gen/dxos/service/supervisor_pb.ts +3 -3
  283. package/src/buf/proto/gen/dxos/service/tunnel_pb.ts +3 -3
  284. package/src/buf/proto/gen/dxos/tracing_pb.ts +3 -3
  285. package/src/buf/proto/gen/dxos/type_pb.ts +3 -3
  286. package/src/buf/proto/gen/dxos/value_pb.ts +3 -3
  287. package/src/buf/proto/gen/example/testing/data_pb.ts +3 -3
  288. package/src/buf/proto/gen/example/testing/rpc_pb.ts +3 -3
  289. package/src/edge/EdgeFunctionEnv.ts +165 -0
  290. package/src/edge/edge.ts +488 -0
  291. package/src/edge/errors.ts +85 -0
  292. package/src/edge/index.ts +7 -0
  293. package/src/errors/base-errors.ts +4 -21
  294. package/src/errors/errors.test.ts +1 -1
  295. package/src/errors/errors.ts +35 -101
  296. package/src/errors/helpers.ts +5 -6
  297. package/src/feed-replication.ts +1 -0
  298. package/src/index.ts +10 -7
  299. package/src/indexing.ts +1 -1
  300. package/src/invitation.ts +1 -1
  301. package/src/messenger.ts +22 -0
  302. package/src/proto/dxos/client/services.proto +20 -3
  303. package/src/proto/dxos/echo/service.proto +11 -0
  304. package/src/proto/gen/dxos/client/services.ts +30 -3
  305. package/src/proto/gen/dxos/echo/service.ts +9 -0
  306. package/src/proto/gen/index.ts +2 -1
  307. package/src/queue.ts +18 -0
  308. package/dist/src/edge-error.d.ts +0 -26
  309. package/dist/src/edge-error.d.ts.map +0 -1
  310. package/dist/src/edge-error.js +0 -100
  311. package/dist/src/edge-error.js.map +0 -1
  312. package/dist/src/edge.d.ts.map +0 -1
  313. package/dist/src/edge.js +0 -49
  314. package/dist/src/edge.js.map +0 -1
  315. package/src/edge-error.ts +0 -130
  316. package/src/edge.ts +0 -279
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2021 DXOS.org
3
3
  //
4
- import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
6
6
  /**
7
7
  * Describes the file dxos/registry.proto.
@@ -1,4 +1,4 @@
1
- import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { Any } from "@bufbuild/protobuf/wkt";
3
3
  import type { Error } from "./error_pb.js";
4
4
  import type { Message } from "@bufbuild/protobuf";
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2020 DXOS.org
3
3
  //
4
- import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_any } from "@bufbuild/protobuf/wkt";
6
6
  import { file_dxos_error } from "./error_pb.js";
7
7
  /**
@@ -1,4 +1,4 @@
1
- import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { Credential, Presentation } from "../halo/credentials_pb.js";
3
3
  import type { PublicKey } from "../keys_pb.js";
4
4
  import type { Message } from "@bufbuild/protobuf";
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
- import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_any, file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
6
6
  import { file_dxos_config } from "../config_pb.js";
7
7
  import { file_dxos_halo_credentials } from "../halo/credentials_pb.js";
@@ -1,4 +1,4 @@
1
- import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { EmptySchema } from "@bufbuild/protobuf/wkt";
3
3
  import type { Module, Package } from "../config_pb.js";
4
4
  import type { Message } from "@bufbuild/protobuf";
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
- import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
6
6
  import { file_dxos_config } from "../config_pb.js";
7
7
  /**
@@ -1,4 +1,4 @@
1
- import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { EmptySchema } from "@bufbuild/protobuf/wkt";
3
3
  import type { Config } from "../config_pb.js";
4
4
  import type { Credential, Presentation } from "../halo/credentials_pb.js";
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
- import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
6
6
  import { file_dxos_config } from "../config_pb.js";
7
7
  import { file_dxos_halo_credentials } from "../halo/credentials_pb.js";
@@ -1,4 +1,4 @@
1
- import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { EmptySchema } from "@bufbuild/protobuf/wkt";
3
3
  import type { Message } from "@bufbuild/protobuf";
4
4
  /**
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2023 DXOS.org
3
3
  //
4
- import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
6
6
  /**
7
7
  * Describes the file dxos/service/tunnel.proto.
@@ -1,4 +1,4 @@
1
- import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { EmptySchema } from "@bufbuild/protobuf/wkt";
3
3
  import type { Error } from "./error_pb.js";
4
4
  import type { LogEntry } from "./client/logging_pb.js";
@@ -1,7 +1,7 @@
1
- // @generated by protoc-gen-es v2.1.0 with parameter "target=ts,import_extension=js"
1
+ // @generated by protoc-gen-es v2.9.0 with parameter "target=ts,import_extension=js"
2
2
  // @generated from file dxos/tracing.proto (package dxos.tracing, syntax proto3)
3
3
  /* eslint-disable */
4
- import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_empty, file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
6
6
  import { file_dxos_error } from "./error_pb.js";
7
7
  import { file_dxos_client_logging } from "./client/logging_pb.js";
@@ -1,4 +1,4 @@
1
- import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { Record_Extension } from "./registry_pb.js";
3
3
  import type { JsonObject, Message } from "@bufbuild/protobuf";
4
4
  /**
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2022 DXOS.org
3
3
  //
4
- import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
6
6
  import { file_dxos_registry } from "./registry_pb.js";
7
7
  /**
@@ -1,4 +1,4 @@
1
- import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { Message } from "@bufbuild/protobuf";
3
3
  /**
4
4
  * Describes the file dxos/value.proto.
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2021 DXOS.org
3
3
  //
4
- import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  /**
6
6
  * Describes the file dxos/value.proto.
7
7
  */
@@ -1,4 +1,4 @@
1
- import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { Message } from "@bufbuild/protobuf";
3
3
  /**
4
4
  * Describes the file example/testing/data.proto.
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2020 DXOS.org
3
3
  //
4
- import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  /**
6
6
  * Describes the file example/testing/data.proto.
7
7
  */
@@ -1,4 +1,4 @@
1
- import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
1
+ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
2
2
  import type { Any, EmptySchema } from "@bufbuild/protobuf/wkt";
3
3
  import type { Message } from "@bufbuild/protobuf";
4
4
  /**
@@ -1,7 +1,7 @@
1
1
  //
2
2
  // Copyright 2020 DXOS.org
3
3
  //
4
- import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
4
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
5
5
  import { file_google_protobuf_any, file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
6
6
  /**
7
7
  * Describes the file example/testing/rpc.proto.
@@ -0,0 +1,95 @@
1
+ import { type SpaceId } from '@dxos/keys';
2
+ import { type QueryResult, type QueueQuery } from '../queue';
3
+ /**
4
+ * Environment available to the function running on Cloudflare.
5
+ */
6
+ export interface Env {
7
+ QUEUE_SERVICE: QueueService;
8
+ DATA_SERVICE: DataService;
9
+ }
10
+ /**
11
+ * Use to trace the execution across multiple services.
12
+ *
13
+ * NOTE: Currently unused in functions.
14
+ */
15
+ export interface ExecutionContext {
16
+ }
17
+ /**
18
+ * Database API for other CF services like functions.
19
+ */
20
+ export interface DataService {
21
+ getSpaceMeta(ctx: ExecutionContext, spaceId: SpaceId): Promise<SpaceMeta | undefined>;
22
+ getDocument(ctx: ExecutionContext, spaceId: SpaceId, documentId: string): Promise<RawDocument | undefined>;
23
+ query(ctx: ExecutionContext, request: QueryRequest): Promise<QueryResponse>;
24
+ queryDocuments(ctx: ExecutionContext, request: QueryRequest): Promise<QueryDocumentsResponse>;
25
+ queryReferences(ctx: ExecutionContext, request: QueryReferencesRequest): Promise<QueryReferencesResponse>;
26
+ changeDocument(ctx: ExecutionContext, spaceId: SpaceId, documentId: string, changes: Uint8Array): Promise<void>;
27
+ }
28
+ export interface QueueService {
29
+ query(ctx: ExecutionContext, queueDXN: string, query: Omit<QueueQuery, 'queueId'>): Promise<QueryResult>;
30
+ append(ctx: ExecutionContext, queueDXN: string, objects: unknown[]): Promise<void>;
31
+ }
32
+ export type ObjectDocumentJson = {
33
+ type?: string;
34
+ objectId: string;
35
+ documentId: string;
36
+ /** Base64 encoding of a document. */
37
+ document: string;
38
+ };
39
+ export type SpaceMeta = {
40
+ spaceKey: string;
41
+ rootDocumentId: string;
42
+ };
43
+ export type QueryRequest = {
44
+ spaceId: string;
45
+ type?: string;
46
+ where?: Record<string, any>;
47
+ objectIds?: string[];
48
+ cursor?: string;
49
+ limit?: number;
50
+ };
51
+ export type QueryResponse = {
52
+ results: ObjectSnapshot[];
53
+ cursor?: string;
54
+ };
55
+ /**
56
+ * TODO(yaroslav): make Indexer return EchoObject after create() can properly reconstruct an object
57
+ * from this structure (meta, id and type aren't handled properly)
58
+ */
59
+ export type ObjectSnapshot = {
60
+ type?: string;
61
+ documentId: string;
62
+ objectId: string;
63
+ object: unknown;
64
+ };
65
+ export type ObjectReference = {
66
+ fromId: string;
67
+ toId: string;
68
+ fieldName: string;
69
+ };
70
+ export type QueryDocumentsResponse = {
71
+ results: RawObject[];
72
+ cursor?: string;
73
+ };
74
+ export type RawDocument = {
75
+ documentId: string;
76
+ data: Uint8Array;
77
+ };
78
+ export type RawObject = {
79
+ type?: string;
80
+ objectId: string;
81
+ document: RawDocument;
82
+ };
83
+ export type QueryReferencesRequest = {
84
+ spaceId: string;
85
+ objectId: string;
86
+ referenceType: 'from' | 'to';
87
+ };
88
+ export type QueryReferencesResponse = {
89
+ references: ObjectReference[];
90
+ };
91
+ export type CreateDocumentResponse = {
92
+ /** Automerge document ID. */
93
+ documentId: string;
94
+ };
95
+ //# sourceMappingURL=EdgeFunctionEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdgeFunctionEnv.d.ts","sourceRoot":"","sources":["../../../src/edge/EdgeFunctionEnv.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+ //# sourceMappingURL=EdgeFunctionEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdgeFunctionEnv.js","sourceRoot":"","sources":["../../../src/edge/EdgeFunctionEnv.ts"],"names":[],"mappings":"AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE"}
@@ -1,4 +1,4 @@
1
- import { Schema } from 'effect';
1
+ import * as Schema from 'effect/Schema';
2
2
  import { SpaceId } from '@dxos/keys';
3
3
  export declare enum EdgeService {
4
4
  AUTOMERGE_REPLICATOR = "automerge-replicator",
@@ -7,19 +7,37 @@ export declare enum EdgeService {
7
7
  SIGNAL = "signal",
8
8
  STATUS = "status"
9
9
  }
10
- export type EdgeHttpSuccess<T> = {
10
+ export type EdgeSuccess<T> = {
11
11
  success: true;
12
12
  data: T;
13
13
  };
14
+ export type SerializedError = {
15
+ code?: string;
16
+ message?: string;
17
+ context?: Record<string, unknown>;
18
+ stack?: string;
19
+ cause?: SerializedError;
20
+ };
14
21
  export type EdgeErrorData = {
15
22
  type: string;
16
23
  } & Record<string, any>;
17
- export type EdgeHttpFailure = {
24
+ /**
25
+ * This is the shape of the error response from the Edge service,
26
+ * when the error is gracefully handled, the Response will be an object with this shape and have status code 200.
27
+ */
28
+ export type EdgeFailure = {
29
+ /**
30
+ * Branded Type.
31
+ */
18
32
  success: false;
19
33
  /**
20
34
  * An explanation of why the call failed. Used mostly for logging and monitoring.
21
35
  */
22
- reason: string;
36
+ message: string;
37
+ /**
38
+ * Cause Error captured on the EDGE service to aid debugging on the client.
39
+ */
40
+ error?: SerializedError;
23
41
  /**
24
42
  * Information that can be used to retry the request such that it will succeed, for example:
25
43
  * 1. { type: 'auth_required', challenge: string }
@@ -27,12 +45,62 @@ export type EdgeHttpFailure = {
27
45
  * 2. { type: 'user_confirmation_required', dialog: { title: string, message: string, confirmation_payload: string } }
28
46
  * Requires showing a confirmation dialog to a user and retrying the request with confirmation_payload included
29
47
  * if the user confirms.
30
- * When errorData is returned simply retrying the request won't have any effect.
31
- * EdgeHttpClient should parse well-known errorData into Error types and throw.
48
+ * When data is returned simply retrying the request won't have any effect.
49
+ * EdgeHttpClient should parse well-known data into Error types and throw.
32
50
  */
33
- errorData?: EdgeErrorData;
51
+ data?: EdgeErrorData;
34
52
  };
35
- export type EdgeHttpResponse<T> = EdgeHttpSuccess<T> | EdgeHttpFailure;
53
+ /**
54
+ * Represents a body response from the Edge service.
55
+ */
56
+ export type EdgeEnvelope<T> = EdgeSuccess<T> | EdgeFailure;
57
+ /**
58
+ * Use this to create a response from the Edge service.
59
+ */
60
+ export declare const EdgeResponse: Readonly<{
61
+ success: <T>(data: T, status?: number) => Response;
62
+ failure: ({ message, error, errorEncoded, data, shouldRetryAfter, status, }: {
63
+ /**
64
+ * An explanation of why the call failed. Used mostly for logging and monitoring.
65
+ */
66
+ message: string;
67
+ /**
68
+ * Error that caused the failure.
69
+ * Useful for debugging.
70
+ *
71
+ * Use only one of the fields `error` or `errorEncoded`.s
72
+ */
73
+ error?: Error;
74
+ /**
75
+ * Encoded Error that caused the failure.
76
+ * Useful for debugging.
77
+ *
78
+ * Use only one of the fields `error` or `errorEncoded`.
79
+ */
80
+ errorEncoded?: SerializedError;
81
+ /**
82
+ * Information that can be used to retry the request such that it will succeed, for example:
83
+ * 1. { type: 'auth_required', challenge: string }
84
+ * Requires retrying the request with challenge signature included.
85
+ * 2. { type: 'user_confirmation_required', dialog: { title: string, message: string, confirmation_payload: string } }
86
+ * Requires showing a confirmation dialog to a user and retrying the request with confirmation_payload included
87
+ * if the user confirms.
88
+ * When data is returned simply retrying the request won't have any effect.
89
+ * EdgeHttpClient should parse well-known data into Error types and throw.
90
+ */
91
+ data?: EdgeErrorData;
92
+ /**
93
+ * If provided, this request will be marked as retryable and the client will wait for the specified number of milliseconds before retrying.
94
+ * If not provided, the client will not retry the request.
95
+ */
96
+ shouldRetryAfter?: number;
97
+ /**
98
+ * Status code of the response.
99
+ * @default 500
100
+ */
101
+ status?: number;
102
+ }) => Response;
103
+ }>;
36
104
  export type GetNotarizationResponseBody = {
37
105
  awaitingNotarization: {
38
106
  credentials: string[];
@@ -98,7 +166,21 @@ export type UploadFunctionRequest = {
98
166
  ownerPublicKey: string;
99
167
  entryPoint: string;
100
168
  assets: Record<string, Uint8Array>;
169
+ /**
170
+ * Runtime in Edge that will be used to run the function.
171
+ * Runtime cannot be changed once the function was deployed.
172
+ * @default Runtime.WORKERS_FOR_PLATFORMS
173
+ */
174
+ runtime?: Runtime;
101
175
  };
176
+ /**
177
+ * Note: Do not change the values of these enums, this values are stored in the FunctionVersions database.
178
+ */
179
+ export declare enum Runtime {
180
+ WORKERS_FOR_PLATFORMS = "WORKERS_FOR_PLATFORMS",
181
+ WORKER_LOADER = "WORKER_LOADER",
182
+ TEST = "TEST"
183
+ }
102
184
  export type UploadFunctionResponseBody = {
103
185
  functionId: string;
104
186
  version: string;
@@ -147,7 +229,7 @@ export declare const InitiateOAuthFlowRequestSchema: Schema.Struct<{
147
229
  provider: Schema.Enums<typeof OAuthProvider>;
148
230
  spaceId: Schema.refine<string & {
149
231
  __SpaceId: true;
150
- }, Schema.Schema<string, string, never>>;
232
+ }, Schema.Schema<unknown, string, never>>;
151
233
  accessTokenId: typeof Schema.String;
152
234
  scopes: Schema.mutable<Schema.Array$<typeof Schema.String>>;
153
235
  noRefresh: Schema.optional<typeof Schema.Boolean>;
@@ -239,8 +321,22 @@ export type ExportBundleResponse = {
239
321
  mutation: string;
240
322
  }[];
241
323
  };
242
- export declare const DocumentCodec: {
324
+ export declare const DocumentCodec: Readonly<{
243
325
  encode: (doc: Uint8Array) => string;
244
326
  decode: (doc: string) => Uint8Array<ArrayBuffer>;
245
- };
327
+ }>;
328
+ /**
329
+ * Codec for serializing and deserializing Edge Errors.
330
+ */
331
+ export declare const ErrorCodec: Readonly<{
332
+ encode: (err: Error, depth?: number) => SerializedError;
333
+ decode: (serializedError: SerializedError, depth?: number) => Error;
334
+ }>;
335
+ /**
336
+ * Codec for serializing and deserializing Edge unhandled HTTP errors.
337
+ */
338
+ export declare const EdgeHttpErrorCodec: Readonly<{
339
+ encode: (err: Error) => Response;
340
+ decode: (response: Response) => Promise<Error | undefined>;
341
+ }>;
246
342
  //# sourceMappingURL=edge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../../src/edge/edge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ //
2
+ // Copyright 2024 DXOS.org
3
+ //
4
+ import * as Schema from 'effect/Schema';
5
+ import { BaseError } from '@dxos/errors';
6
+ import { invariant } from '@dxos/invariant';
7
+ import { SpaceId } from '@dxos/keys';
8
+ // TODO(burdon): Rename EdgerRouterEndpoint.
9
+ // If we would rename it, we need to be careful to not break composer production.
10
+ export var EdgeService;
11
+ (function (EdgeService) {
12
+ EdgeService["AUTOMERGE_REPLICATOR"] = "automerge-replicator";
13
+ EdgeService["FEED_REPLICATOR"] = "feed-replicator";
14
+ EdgeService["SWARM"] = "swarm";
15
+ EdgeService["SIGNAL"] = "signal";
16
+ EdgeService["STATUS"] = "status";
17
+ })(EdgeService || (EdgeService = {}));
18
+ /**
19
+ * Use this to create a response from the Edge service.
20
+ */
21
+ export const EdgeResponse = Object.freeze({
22
+ success: (data, status = 200) => {
23
+ invariant(status >= 200 && status < 300, 'Status code must be in the 2xx range');
24
+ const headers = new Headers({ 'Content-Type': 'application/json' });
25
+ return new Response(JSON.stringify({
26
+ success: true,
27
+ data,
28
+ }), {
29
+ status,
30
+ headers,
31
+ });
32
+ },
33
+ failure: ({ message, error, errorEncoded, data, shouldRetryAfter, status = 500, }) => {
34
+ const headers = new Headers({ 'Content-Type': 'application/json' });
35
+ if (shouldRetryAfter) {
36
+ headers.set('Retry-After', String(shouldRetryAfter));
37
+ }
38
+ return new Response(JSON.stringify({
39
+ success: false,
40
+ message,
41
+ data,
42
+ error: error ? ErrorCodec.encode(error) : errorEncoded,
43
+ }), {
44
+ status,
45
+ headers,
46
+ });
47
+ },
48
+ });
49
+ /**
50
+ * Note: Do not change the values of these enums, this values are stored in the FunctionVersions database.
51
+ */
52
+ export var Runtime;
53
+ (function (Runtime) {
54
+ // https://developers.cloudflare.com/cloudflare-for-platforms/workers-for-platforms/
55
+ Runtime["WORKERS_FOR_PLATFORMS"] = "WORKERS_FOR_PLATFORMS";
56
+ // https://developers.cloudflare.com/workers/runtime-apis/bindings/worker-loader/
57
+ Runtime["WORKER_LOADER"] = "WORKER_LOADER";
58
+ // Local worker dispatcher for testing.
59
+ Runtime["TEST"] = "TEST";
60
+ })(Runtime || (Runtime = {}));
61
+ export var EdgeAgentStatus;
62
+ (function (EdgeAgentStatus) {
63
+ EdgeAgentStatus["ACTIVE"] = "active";
64
+ EdgeAgentStatus["INACTIVE"] = "inactive";
65
+ EdgeAgentStatus["NOT_FOUND"] = "not_found";
66
+ })(EdgeAgentStatus || (EdgeAgentStatus = {}));
67
+ export var OAuthProvider;
68
+ (function (OAuthProvider) {
69
+ OAuthProvider["GOOGLE"] = "google";
70
+ OAuthProvider["BLUESKY"] = "bluesky";
71
+ })(OAuthProvider || (OAuthProvider = {}));
72
+ export const InitiateOAuthFlowRequestSchema = Schema.Struct({
73
+ provider: Schema.Enums(OAuthProvider),
74
+ spaceId: Schema.String.pipe(Schema.filter(SpaceId.isValid)), // TODO(burdon): Use SpaceId.
75
+ accessTokenId: Schema.String,
76
+ scopes: Schema.mutable(Schema.Array(Schema.String)),
77
+ // Set to true if we don't want periodic token refreshes in background, for cases like account connect
78
+ noRefresh: Schema.optional(Schema.Boolean),
79
+ // Provider-specific (user handle or did for bluesky) hint for auth server resolution
80
+ loginHint: Schema.optional(Schema.String),
81
+ });
82
+ export var EdgeWebsocketProtocol;
83
+ (function (EdgeWebsocketProtocol) {
84
+ EdgeWebsocketProtocol["V0"] = "edge-ws-v0";
85
+ /**
86
+ * Enables message framing and muxing by service-id.
87
+ */
88
+ EdgeWebsocketProtocol["V1"] = "edge-ws-v1";
89
+ })(EdgeWebsocketProtocol || (EdgeWebsocketProtocol = {}));
90
+ export const DocumentCodec = Object.freeze({
91
+ encode: (doc) => Buffer.from(doc).toString('base64'),
92
+ decode: (doc) => new Uint8Array(Buffer.from(doc, 'base64')),
93
+ });
94
+ const MAX_ERROR_DEPTH = 3;
95
+ /**
96
+ * Codec for serializing and deserializing Edge Errors.
97
+ */
98
+ export const ErrorCodec = Object.freeze({
99
+ encode: (err, depth = 0) => ({
100
+ code: 'code' in err ? err.code : undefined,
101
+ message: err.message,
102
+ stack: err.stack,
103
+ cause: err.cause instanceof Error && depth < MAX_ERROR_DEPTH ? ErrorCodec.encode(err.cause, depth + 1) : undefined,
104
+ }),
105
+ decode: (serializedError, depth = 0) => {
106
+ let err;
107
+ if (typeof serializedError.code === 'string') {
108
+ err = new BaseError(serializedError.code, {
109
+ message: serializedError.message ?? 'Unknown error',
110
+ cause: serializedError.cause && depth < MAX_ERROR_DEPTH
111
+ ? ErrorCodec.decode(serializedError.cause, depth + 1)
112
+ : undefined,
113
+ context: serializedError.context,
114
+ });
115
+ if (serializedError.stack) {
116
+ Object.defineProperty(err, 'stack', {
117
+ value: serializedError.stack,
118
+ });
119
+ }
120
+ }
121
+ else {
122
+ err = new Error(serializedError.message ?? 'Unknown error', {
123
+ cause: serializedError.cause && depth < MAX_ERROR_DEPTH
124
+ ? ErrorCodec.decode(serializedError.cause, depth + 1)
125
+ : undefined,
126
+ });
127
+ if (serializedError.stack) {
128
+ Object.defineProperty(err, 'stack', {
129
+ value: serializedError.stack,
130
+ });
131
+ }
132
+ }
133
+ return err;
134
+ },
135
+ });
136
+ /**
137
+ * Codec for serializing and deserializing Edge unhandled HTTP errors.
138
+ */
139
+ export const EdgeHttpErrorCodec = Object.freeze({
140
+ encode: (err) => new Response(JSON.stringify({
141
+ error: ErrorCodec.encode(err),
142
+ }), { status: 500 }),
143
+ decode: async (response) => {
144
+ if (response.headers.get('Content-Type') !== 'application/json') {
145
+ const body = await response.clone().text();
146
+ return new Error(body.slice(0, 256));
147
+ }
148
+ const body = await response.clone().json();
149
+ if (!('error' in body)) {
150
+ return undefined;
151
+ }
152
+ return ErrorCodec.decode(body.error);
153
+ },
154
+ });
155
+ //# sourceMappingURL=edge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../../src/edge/edge.ts"],"names":[],"mappings":"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"}