@dxos/client-services 0.8.4-main.a4bbb77 → 0.8.4-main.abd8ff62ef

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 (229) hide show
  1. package/dist/lib/browser/{chunk-FZDVFED2.mjs → chunk-KW4WMU5R.mjs} +2698 -4599
  2. package/dist/lib/browser/chunk-KW4WMU5R.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-QCWEHHJW.mjs +24 -0
  4. package/dist/lib/browser/chunk-QCWEHHJW.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-XJRPB3GA.mjs +22 -0
  6. package/dist/lib/browser/chunk-XJRPB3GA.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +490 -228
  8. package/dist/lib/browser/index.mjs.map +4 -4
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/packlets/diagnostics/browser-diagnostics-broadcast.mjs +88 -0
  11. package/dist/lib/browser/packlets/diagnostics/browser-diagnostics-broadcast.mjs.map +7 -0
  12. package/dist/lib/browser/packlets/diagnostics/diagnostics-broadcast.mjs +11 -0
  13. package/dist/lib/browser/packlets/diagnostics/diagnostics-broadcast.mjs.map +7 -0
  14. package/dist/lib/browser/packlets/locks/browser.mjs +86 -0
  15. package/dist/lib/browser/packlets/locks/browser.mjs.map +7 -0
  16. package/dist/lib/browser/packlets/locks/node.mjs +48 -0
  17. package/dist/lib/browser/packlets/locks/node.mjs.map +7 -0
  18. package/dist/lib/browser/testing/index.mjs +60 -90
  19. package/dist/lib/browser/testing/index.mjs.map +3 -3
  20. package/dist/lib/node-esm/chunk-2DT3MZRL.mjs +22 -0
  21. package/dist/lib/node-esm/chunk-2DT3MZRL.mjs.map +7 -0
  22. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs +24 -0
  23. package/dist/lib/node-esm/chunk-2SZHAWBN.mjs.map +7 -0
  24. package/dist/lib/node-esm/{chunk-JDTIU3EP.mjs → chunk-NDMKP2CH.mjs} +2621 -4391
  25. package/dist/lib/node-esm/chunk-NDMKP2CH.mjs.map +7 -0
  26. package/dist/lib/node-esm/index.mjs +490 -228
  27. package/dist/lib/node-esm/index.mjs.map +4 -4
  28. package/dist/lib/node-esm/meta.json +1 -1
  29. package/dist/lib/node-esm/packlets/diagnostics/browser-diagnostics-broadcast.mjs +88 -0
  30. package/dist/lib/node-esm/packlets/diagnostics/browser-diagnostics-broadcast.mjs.map +7 -0
  31. package/dist/lib/node-esm/packlets/diagnostics/diagnostics-broadcast.mjs +11 -0
  32. package/dist/lib/node-esm/packlets/diagnostics/diagnostics-broadcast.mjs.map +7 -0
  33. package/dist/lib/node-esm/packlets/locks/browser.mjs +86 -0
  34. package/dist/lib/node-esm/packlets/locks/browser.mjs.map +7 -0
  35. package/dist/lib/node-esm/packlets/locks/node.mjs +48 -0
  36. package/dist/lib/node-esm/packlets/locks/node.mjs.map +7 -0
  37. package/dist/lib/node-esm/testing/index.mjs +60 -90
  38. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  39. package/dist/types/src/index.d.ts +1 -0
  40. package/dist/types/src/index.d.ts.map +1 -1
  41. package/dist/types/src/packlets/agents/edge-agent-manager.d.ts +3 -2
  42. package/dist/types/src/packlets/agents/edge-agent-manager.d.ts.map +1 -1
  43. package/dist/types/src/packlets/agents/edge-agent-service.d.ts +2 -1
  44. package/dist/types/src/packlets/agents/edge-agent-service.d.ts.map +1 -1
  45. package/dist/types/src/packlets/devices/devices-service.d.ts.map +1 -1
  46. package/dist/types/src/packlets/devtools/devtools.d.ts +2 -2
  47. package/dist/types/src/packlets/devtools/devtools.d.ts.map +1 -1
  48. package/dist/types/src/packlets/devtools/feeds.d.ts.map +1 -1
  49. package/dist/types/src/packlets/devtools/keys.d.ts.map +1 -1
  50. package/dist/types/src/packlets/devtools/metadata.d.ts.map +1 -1
  51. package/dist/types/src/packlets/devtools/network.d.ts.map +1 -1
  52. package/dist/types/src/packlets/devtools/spaces.d.ts.map +1 -1
  53. package/dist/types/src/packlets/diagnostics/browser-diagnostics-broadcast.d.ts.map +1 -1
  54. package/dist/types/src/packlets/diagnostics/diagnostics-broadcast.d.ts.map +1 -1
  55. package/dist/types/src/packlets/diagnostics/diagnostics-collector.d.ts.map +1 -1
  56. package/dist/types/src/packlets/diagnostics/diagnostics.d.ts +2 -3
  57. package/dist/types/src/packlets/diagnostics/diagnostics.d.ts.map +1 -1
  58. package/dist/types/src/packlets/diagnostics/index.d.ts +1 -1
  59. package/dist/types/src/packlets/diagnostics/index.d.ts.map +1 -1
  60. package/dist/types/src/packlets/identity/authenticator.d.ts +2 -2
  61. package/dist/types/src/packlets/identity/authenticator.d.ts.map +1 -1
  62. package/dist/types/src/packlets/identity/contacts-service.d.ts.map +1 -1
  63. package/dist/types/src/packlets/identity/identity-manager.d.ts +6 -6
  64. package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
  65. package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts +8 -7
  66. package/dist/types/src/packlets/identity/identity-recovery-manager.d.ts.map +1 -1
  67. package/dist/types/src/packlets/identity/identity-service.d.ts +6 -10
  68. package/dist/types/src/packlets/identity/identity-service.d.ts.map +1 -1
  69. package/dist/types/src/packlets/identity/identity.d.ts +8 -11
  70. package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
  71. package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts +6 -5
  72. package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts.map +1 -1
  73. package/dist/types/src/packlets/invitations/edge-invitation-handler.d.ts +1 -1
  74. package/dist/types/src/packlets/invitations/edge-invitation-handler.d.ts.map +1 -1
  75. package/dist/types/src/packlets/invitations/invitation-guest-extenstion.d.ts.map +1 -1
  76. package/dist/types/src/packlets/invitations/invitation-host-extension.d.ts.map +1 -1
  77. package/dist/types/src/packlets/invitations/invitation-protocol.d.ts +7 -4
  78. package/dist/types/src/packlets/invitations/invitation-protocol.d.ts.map +1 -1
  79. package/dist/types/src/packlets/invitations/invitation-state.d.ts.map +1 -1
  80. package/dist/types/src/packlets/invitations/invitation-topology.d.ts.map +1 -1
  81. package/dist/types/src/packlets/invitations/invitations-handler.d.ts +4 -4
  82. package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
  83. package/dist/types/src/packlets/invitations/invitations-manager.d.ts +3 -3
  84. package/dist/types/src/packlets/invitations/invitations-manager.d.ts.map +1 -1
  85. package/dist/types/src/packlets/invitations/invitations-service.d.ts +3 -3
  86. package/dist/types/src/packlets/invitations/invitations-service.d.ts.map +1 -1
  87. package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts +4 -3
  88. package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts.map +1 -1
  89. package/dist/types/src/packlets/invitations/utils.d.ts.map +1 -1
  90. package/dist/types/src/packlets/locks/browser.d.ts.map +1 -1
  91. package/dist/types/src/packlets/locks/index.d.ts +1 -1
  92. package/dist/types/src/packlets/locks/index.d.ts.map +1 -1
  93. package/dist/types/src/packlets/locks/node.d.ts.map +1 -1
  94. package/dist/types/src/packlets/logging/logging-service.d.ts +4 -0
  95. package/dist/types/src/packlets/logging/logging-service.d.ts.map +1 -1
  96. package/dist/types/src/packlets/network/network-service.d.ts +5 -4
  97. package/dist/types/src/packlets/network/network-service.d.ts.map +1 -1
  98. package/dist/types/src/packlets/services/client-rpc-server.d.ts +5 -5
  99. package/dist/types/src/packlets/services/client-rpc-server.d.ts.map +1 -1
  100. package/dist/types/src/packlets/services/feed-syncer.d.ts +59 -0
  101. package/dist/types/src/packlets/services/feed-syncer.d.ts.map +1 -0
  102. package/dist/types/src/packlets/services/feed-syncer.test.d.ts +2 -0
  103. package/dist/types/src/packlets/services/feed-syncer.test.d.ts.map +1 -0
  104. package/dist/types/src/packlets/services/platform.d.ts.map +1 -1
  105. package/dist/types/src/packlets/services/service-context.d.ts +13 -9
  106. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  107. package/dist/types/src/packlets/services/service-host.d.ts +20 -7
  108. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  109. package/dist/types/src/packlets/services/service-registry.d.ts.map +1 -1
  110. package/dist/types/src/packlets/services/util.d.ts.map +1 -1
  111. package/dist/types/src/packlets/space-export/archive-format.d.ts +9 -0
  112. package/dist/types/src/packlets/space-export/archive-format.d.ts.map +1 -0
  113. package/dist/types/src/packlets/space-export/index.d.ts +4 -1
  114. package/dist/types/src/packlets/space-export/index.d.ts.map +1 -1
  115. package/dist/types/src/packlets/space-export/serialized-space-reader.d.ts +23 -0
  116. package/dist/types/src/packlets/space-export/serialized-space-reader.d.ts.map +1 -0
  117. package/dist/types/src/packlets/space-export/serialized-space-writer.d.ts +36 -0
  118. package/dist/types/src/packlets/space-export/serialized-space-writer.d.ts.map +1 -0
  119. package/dist/types/src/packlets/space-export/space-archive-reader.d.ts +9 -1
  120. package/dist/types/src/packlets/space-export/space-archive-reader.d.ts.map +1 -1
  121. package/dist/types/src/packlets/space-export/space-archive-writer.d.ts +7 -1
  122. package/dist/types/src/packlets/space-export/space-archive-writer.d.ts.map +1 -1
  123. package/dist/types/src/packlets/space-export/space-archive.test.d.ts +2 -0
  124. package/dist/types/src/packlets/space-export/space-archive.test.d.ts.map +1 -0
  125. package/dist/types/src/packlets/spaces/automerge-space-state.d.ts.map +1 -1
  126. package/dist/types/src/packlets/spaces/data-space-manager.d.ts +28 -17
  127. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  128. package/dist/types/src/packlets/spaces/data-space.d.ts +26 -9
  129. package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
  130. package/dist/types/src/packlets/spaces/edge-feed-replicator.d.ts +2 -2
  131. package/dist/types/src/packlets/spaces/edge-feed-replicator.d.ts.map +1 -1
  132. package/dist/types/src/packlets/spaces/epoch-migrations.d.ts.map +1 -1
  133. package/dist/types/src/packlets/spaces/genesis.d.ts +2 -1
  134. package/dist/types/src/packlets/spaces/genesis.d.ts.map +1 -1
  135. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts +6 -9
  136. package/dist/types/src/packlets/spaces/notarization-plugin.d.ts.map +1 -1
  137. package/dist/types/src/packlets/spaces/spaces-service.d.ts +10 -7
  138. package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
  139. package/dist/types/src/packlets/storage/level.d.ts.map +1 -1
  140. package/dist/types/src/packlets/storage/profile-archive.d.ts.map +1 -1
  141. package/dist/types/src/packlets/storage/storage.d.ts.map +1 -1
  142. package/dist/types/src/packlets/storage/util.d.ts.map +1 -1
  143. package/dist/types/src/packlets/system/system-service.d.ts +1 -1
  144. package/dist/types/src/packlets/system/system-service.d.ts.map +1 -1
  145. package/dist/types/src/packlets/testing/credential-utils.d.ts.map +1 -1
  146. package/dist/types/src/packlets/testing/invitation-utils.d.ts +6 -3
  147. package/dist/types/src/packlets/testing/invitation-utils.d.ts.map +1 -1
  148. package/dist/types/src/packlets/testing/test-builder.d.ts +6 -5
  149. package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
  150. package/dist/types/src/packlets/worker/worker-runtime.d.ts +41 -4
  151. package/dist/types/src/packlets/worker/worker-runtime.d.ts.map +1 -1
  152. package/dist/types/src/packlets/worker/worker-session.d.ts +2 -4
  153. package/dist/types/src/packlets/worker/worker-session.d.ts.map +1 -1
  154. package/dist/types/src/testing/setup.d.ts.map +1 -1
  155. package/dist/types/src/version.d.ts +1 -1
  156. package/dist/types/src/version.d.ts.map +1 -1
  157. package/dist/types/tsconfig.tsbuildinfo +1 -1
  158. package/package.json +70 -55
  159. package/src/index.ts +1 -0
  160. package/src/packlets/agents/edge-agent-manager.ts +8 -5
  161. package/src/packlets/agents/edge-agent-service.ts +15 -3
  162. package/src/packlets/devices/devices-service.test.ts +0 -1
  163. package/src/packlets/devices/devices-service.ts +1 -1
  164. package/src/packlets/devtools/devtools.ts +2 -3
  165. package/src/packlets/diagnostics/diagnostics.ts +1 -2
  166. package/src/packlets/diagnostics/index.ts +1 -1
  167. package/src/packlets/identity/authenticator.ts +2 -2
  168. package/src/packlets/identity/contacts-service.ts +0 -1
  169. package/src/packlets/identity/identity-manager.test.ts +5 -5
  170. package/src/packlets/identity/identity-manager.ts +23 -22
  171. package/src/packlets/identity/identity-recovery-manager.ts +22 -18
  172. package/src/packlets/identity/identity-service.test.ts +6 -27
  173. package/src/packlets/identity/identity-service.ts +13 -81
  174. package/src/packlets/identity/identity.test.ts +6 -6
  175. package/src/packlets/identity/identity.ts +11 -34
  176. package/src/packlets/invitations/device-invitation-protocol.ts +8 -7
  177. package/src/packlets/invitations/edge-invitation-handler.ts +9 -5
  178. package/src/packlets/invitations/invitation-guest-extenstion.ts +6 -4
  179. package/src/packlets/invitations/invitation-host-extension.ts +13 -14
  180. package/src/packlets/invitations/invitation-protocol.ts +7 -4
  181. package/src/packlets/invitations/invitation-state.ts +1 -15
  182. package/src/packlets/invitations/invitations-handler.test.ts +4 -5
  183. package/src/packlets/invitations/invitations-handler.ts +74 -22
  184. package/src/packlets/invitations/invitations-manager.ts +40 -15
  185. package/src/packlets/invitations/invitations-service.ts +9 -9
  186. package/src/packlets/invitations/space-invitation-protocol.test.ts +17 -16
  187. package/src/packlets/invitations/space-invitation-protocol.ts +11 -16
  188. package/src/packlets/locks/index.ts +1 -1
  189. package/src/packlets/logging/logging-service.ts +20 -16
  190. package/src/packlets/network/network-service.test.ts +0 -1
  191. package/src/packlets/network/network-service.ts +10 -8
  192. package/src/packlets/services/client-rpc-server.ts +19 -16
  193. package/src/packlets/services/feed-syncer.test.ts +340 -0
  194. package/src/packlets/services/feed-syncer.ts +337 -0
  195. package/src/packlets/services/platform.ts +7 -1
  196. package/src/packlets/services/service-context.test.ts +3 -2
  197. package/src/packlets/services/service-context.ts +138 -56
  198. package/src/packlets/services/service-host.test.ts +8 -8
  199. package/src/packlets/services/service-host.ts +70 -40
  200. package/src/packlets/services/service-registry.test.ts +0 -1
  201. package/src/packlets/space-export/archive-format.ts +42 -0
  202. package/src/packlets/space-export/index.ts +4 -1
  203. package/src/packlets/space-export/serialized-space-reader.ts +111 -0
  204. package/src/packlets/space-export/serialized-space-writer.ts +253 -0
  205. package/src/packlets/space-export/space-archive-reader.ts +64 -3
  206. package/src/packlets/space-export/space-archive-writer.ts +41 -3
  207. package/src/packlets/space-export/space-archive.test.ts +461 -0
  208. package/src/packlets/spaces/data-space-manager.test.ts +79 -13
  209. package/src/packlets/spaces/data-space-manager.ts +115 -115
  210. package/src/packlets/spaces/data-space.ts +58 -33
  211. package/src/packlets/spaces/edge-feed-replicator.test.ts +2 -2
  212. package/src/packlets/spaces/edge-feed-replicator.ts +12 -10
  213. package/src/packlets/spaces/epoch-migrations.ts +5 -5
  214. package/src/packlets/spaces/genesis.ts +6 -1
  215. package/src/packlets/spaces/notarization-plugin.test.ts +2 -2
  216. package/src/packlets/spaces/notarization-plugin.ts +10 -9
  217. package/src/packlets/spaces/spaces-service.test.ts +18 -11
  218. package/src/packlets/spaces/spaces-service.ts +123 -24
  219. package/src/packlets/storage/storage.ts +4 -4
  220. package/src/packlets/testing/invitation-utils.ts +10 -6
  221. package/src/packlets/testing/test-builder.ts +36 -10
  222. package/src/packlets/worker/worker-runtime.ts +188 -17
  223. package/src/packlets/worker/worker-session.ts +12 -18
  224. package/src/version.ts +1 -1
  225. package/dist/lib/browser/chunk-FZDVFED2.mjs.map +0 -7
  226. package/dist/lib/node-esm/chunk-JDTIU3EP.mjs.map +0 -7
  227. package/dist/types/src/packlets/identity/default-space-state-machine.d.ts +0 -19
  228. package/dist/types/src/packlets/identity/default-space-state-machine.d.ts.map +0 -1
  229. package/src/packlets/identity/default-space-state-machine.ts +0 -44
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-syncer.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/feed-syncer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAMxD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWvD,UAAU,iBAAiB;IACzB,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;IAC9F,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,OAAO,EAAE,CAAC;IAE7B;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,qBAAa,UAAW,SAAQ,QAAQ;;IAmBtC,YAAY,OAAO,EAAE,iBAAiB,EAgBrC;IAED,UAAyB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAqC9C;IAED,UAAyB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/C;IAED;;OAEG;IACH,YAAY,IAAI,IAAI,CAqBnB;IAED;;OAEG;IACG,YAAY,CAChB,GAAG,EAAE,OAAO,EACZ,EACE,OAAO,EACP,WAAW,EACX,UAAiB,EACjB,UAAiB,EAClB,EAAE;QACD,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,GACA,OAAO,CAAC,IAAI,CAAC,CAqCf;CA4GF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=feed-syncer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-syncer.test.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/feed-syncer.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/platform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,eAAO,MAAM,WAAW,QAAO,QA6B9B,CAAC"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/platform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,4CAA4C,CAAC;AAEtE,eAAO,MAAM,WAAW,QAAO,QAmC9B,CAAC"}
@@ -1,7 +1,9 @@
1
+ import type * as SqlClient from '@effect/sql/SqlClient';
1
2
  import { Trigger } from '@dxos/async';
2
3
  import { Context, Resource } from '@dxos/context';
3
4
  import { EchoHost, MetadataStore, SpaceManager } from '@dxos/echo-pipeline';
4
5
  import type { EdgeConnection, EdgeHttpClient } from '@dxos/edge-client';
6
+ import { type RuntimeProvider } from '@dxos/effect';
5
7
  import { FeedStore } from '@dxos/feed-store';
6
8
  import { Keyring } from '@dxos/keyring';
7
9
  import { type LevelDB } from '@dxos/kv-store';
@@ -12,14 +14,15 @@ import { type Runtime } from '@dxos/protocols/proto/dxos/config';
12
14
  import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
13
15
  import { type ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
14
16
  import { type Storage } from '@dxos/random-access-storage';
17
+ import type * as SqlTransaction from '@dxos/sql-sqlite/SqlTransaction';
15
18
  import { BlobStore } from '@dxos/teleport-extension-object-sync';
16
19
  import { EdgeAgentManager } from '../agents';
17
- import { type CreateIdentityOptions, IdentityManager, type IdentityManagerParams } from '../identity';
20
+ import { type CreateIdentityOptions, type Identity, IdentityManager, type IdentityManagerProps } from '../identity';
18
21
  import { EdgeIdentityRecoveryManager } from '../identity/identity-recovery-manager';
19
- import { type InvitationConnectionParams, type InvitationProtocol, InvitationsHandler, InvitationsManager } from '../invitations';
20
- import { DataSpaceManager, type DataSpaceManagerRuntimeParams } from '../spaces';
21
- export type ServiceContextRuntimeParams = Pick<IdentityManagerParams, 'devicePresenceOfflineTimeout' | 'devicePresenceAnnounceInterval'> & DataSpaceManagerRuntimeParams & {
22
- invitationConnectionDefaultParams?: InvitationConnectionParams;
22
+ import { type InvitationConnectionProps, type InvitationProtocol, InvitationsHandler, InvitationsManager } from '../invitations';
23
+ import { DataSpaceManager, type DataSpaceManagerRuntimeProps } from '../spaces';
24
+ export type ServiceContextRuntimeProps = Pick<IdentityManagerProps, 'devicePresenceOfflineTimeout' | 'devicePresenceAnnounceInterval'> & DataSpaceManagerRuntimeProps & {
25
+ invitationConnectionDefaultProps?: InvitationConnectionProps;
23
26
  disableP2pReplication?: boolean;
24
27
  enableVectorIndexing?: boolean;
25
28
  };
@@ -33,7 +36,8 @@ export declare class ServiceContext extends Resource {
33
36
  readonly signalManager: SignalManager;
34
37
  private readonly _edgeConnection;
35
38
  private readonly _edgeHttpClient;
36
- readonly _runtimeParams?: ServiceContextRuntimeParams | undefined;
39
+ private readonly _runtime;
40
+ readonly _runtimeProps?: ServiceContextRuntimeProps | undefined;
37
41
  private readonly _edgeFeatures?;
38
42
  private readonly _edgeIdentityUpdateMutex;
39
43
  readonly initialized: Trigger<void>;
@@ -49,15 +53,15 @@ export declare class ServiceContext extends Resource {
49
53
  readonly echoHost: EchoHost;
50
54
  private readonly _meshReplicator?;
51
55
  private readonly _echoEdgeReplicator?;
56
+ private readonly _feedSyncer?;
52
57
  dataSpaceManager?: DataSpaceManager;
53
58
  edgeAgentManager?: EdgeAgentManager;
54
59
  private readonly _handlerFactories;
55
60
  private _deviceSpaceSync?;
56
- private readonly _instanceId;
57
- constructor(storage: Storage, level: LevelDB, networkManager: SwarmNetworkManager, signalManager: SignalManager, _edgeConnection: EdgeConnection | undefined, _edgeHttpClient: EdgeHttpClient | undefined, _runtimeParams?: ServiceContextRuntimeParams | undefined, _edgeFeatures?: Runtime.Client.EdgeFeatures | undefined);
61
+ constructor(storage: Storage, level: LevelDB, networkManager: SwarmNetworkManager, signalManager: SignalManager, _edgeConnection: EdgeConnection | undefined, _edgeHttpClient: EdgeHttpClient | undefined, _runtime: RuntimeProvider.RuntimeProvider<SqlClient.SqlClient | SqlTransaction.SqlTransaction>, _runtimeProps?: ServiceContextRuntimeProps | undefined, _edgeFeatures?: Runtime.Client.EdgeFeatures | undefined);
58
62
  protected _open(ctx: Context): Promise<void>;
59
63
  protected _close(ctx: Context): Promise<void>;
60
- createIdentity(params?: CreateIdentityOptions): Promise<import("../identity").Identity>;
64
+ createIdentity(params?: CreateIdentityOptions, ctx?: Context): Promise<Identity>;
61
65
  getInvitationHandler(invitation: Partial<Invitation> & Pick<Invitation, 'kind'>): InvitationProtocol;
62
66
  broadcastProfileUpdate(profile: ProfileDocument | undefined): Promise<void>;
63
67
  private _acceptIdentity;
@@ -1 +1 @@
1
- {"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-context.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-context.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
+ import * as SqlClient from '@effect/sql/SqlClient';
1
2
  import { type ClientServices } from '@dxos/client-protocol';
2
3
  import { type Config } from '@dxos/config';
3
4
  import { Context } from '@dxos/context';
5
+ import { RuntimeProvider } from '@dxos/effect';
4
6
  import { type LevelDB } from '@dxos/kv-store';
5
7
  import { type SignalManager } from '@dxos/messaging';
6
8
  import { type TransportFactory } from '@dxos/network-manager';
7
9
  import { type Storage } from '@dxos/random-access-storage';
8
- import { ServiceContext, type ServiceContextRuntimeParams } from './service-context';
10
+ import * as SqlExport from '@dxos/sql-sqlite/SqlExport';
11
+ import type * as SqlTransaction from '@dxos/sql-sqlite/SqlTransaction';
12
+ import { ServiceContext, type ServiceContextRuntimeProps } from './service-context';
9
13
  import { ServiceRegistry } from './service-registry';
10
- export type ClientServicesHostParams = {
14
+ export type ClientServicesHostProps = {
11
15
  /**
12
16
  * Can be omitted if `initialize` is later called.
13
17
  */
@@ -19,7 +23,8 @@ export type ClientServicesHostParams = {
19
23
  level?: LevelDB;
20
24
  lockKey?: string;
21
25
  callbacks?: ClientServicesHostCallbacks;
22
- runtimeParams?: ServiceContextRuntimeParams;
26
+ runtime: RuntimeProvider.RuntimeProvider<SqlClient.SqlClient | SqlExport.SqlExport | SqlTransaction.SqlTransaction>;
27
+ runtimeProps?: ServiceContextRuntimeProps;
23
28
  };
24
29
  export type ClientServicesHostCallbacks = {
25
30
  onReset?: () => Promise<void>;
@@ -38,7 +43,6 @@ export declare class ClientServicesHost {
38
43
  private readonly _serviceRegistry;
39
44
  private readonly _systemService;
40
45
  private readonly _loggingService;
41
- private readonly _tracingService;
42
46
  private readonly _statusUpdate;
43
47
  private _config?;
44
48
  private _signalManager?;
@@ -50,18 +54,27 @@ export declare class ClientServicesHost {
50
54
  private _edgeConnection?;
51
55
  private _edgeHttpClient?;
52
56
  private _serviceContext;
53
- private readonly _runtimeParams;
57
+ private readonly _runtime;
58
+ private readonly _runtimeProps;
54
59
  private diagnosticsBroadcastHandler;
55
60
  private _opening;
56
61
  private _open;
57
62
  private _resetting;
58
- constructor({ config, transportFactory, signalManager, storage, level, lockKey, callbacks, runtimeParams, }?: ClientServicesHostParams);
63
+ constructor({ config, transportFactory, signalManager, storage, level, lockKey, callbacks, runtime, runtimeProps }: ClientServicesHostProps);
59
64
  get isOpen(): boolean;
60
65
  get config(): Config | undefined;
61
66
  get context(): ServiceContext;
62
67
  get serviceRegistry(): ServiceRegistry<ClientServices>;
63
68
  get descriptors(): import("@dxos/rpc").ServiceBundle<ClientServices>;
64
69
  get services(): Partial<ClientServices>;
70
+ /**
71
+ * Debugging util.
72
+ */
73
+ exportSqliteDatabase(): Promise<Uint8Array>;
74
+ /**
75
+ * Debugging util.
76
+ */
77
+ runSqliteQuery(query: string, params?: any[]): Promise<readonly Record<string, unknown>[]>;
65
78
  /**
66
79
  * Initialize the service host with the config.
67
80
  * Config can also be provided in the constructor.
@@ -69,7 +82,7 @@ export declare class ClientServicesHost {
69
82
  */
70
83
  initialize({ config, ...options }: InitializeOptions): void;
71
84
  open(ctx: Context): Promise<void>;
72
- close(): Promise<void>;
85
+ close(ctx: Context): Promise<void>;
73
86
  reset(): Promise<void>;
74
87
  private _createIdentity;
75
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAqB,KAAK,aAAa,EAA0B,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAEL,KAAK,gBAAgB,EAGtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAsB3D,OAAO,EAAE,cAAc,EAAE,KAAK,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,wBAAwB,GAAG;IACrC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,aAAa,CAAC,EAAE,2BAA2B,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuC;IAEvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,UAAU,CAAC,CAA8B;IACjD,OAAO,CAAC,cAAc,CAAC,CAAyC;IAChE,OAAO,CAAC,eAAe,CAAC,CAA6B;IACrD,OAAO,CAAC,eAAe,CAAC,CAA6B;IAErD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAC7D,OAAO,CAAC,2BAA2B,CAAqC;IAGxE,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,UAAU,CAAS;gBAEf,EACV,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,KAAK,EAEL,OAAO,EACP,SAAS,EACT,aAAa,GACd,GAAE,wBAA6B;IA2DhC,IAAI,MAAM,YAET;IAED,IAAI,MAAM,uBAET;IAED,IAAI,OAAO,mBAEV;IAED,IAAI,eAAe,oCAElB;IAED,IAAI,WAAW,sDAEd;IAED,IAAI,QAAQ,4BAEX;IAED;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,EAAE,iBAAiB,GAAG,IAAI;IAsDrD,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAyHjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAsBd,eAAe;CAK9B"}
1
+ {"version":3,"file":"service-host.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-host.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service-registry.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,qBAAa,eAAe,CAAC,QAAQ;IAGjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,SAAS;gBADA,cAAc,EAAE,aAAa,CAAC,QAAQ,CAAC,EAChD,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAM;IAG3C,IAAI,WAAW,4BAEd;IAED,IAAI,QAAQ,sBAEX;IAED,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IAI9C,UAAU,CAAC,IAAI,EAAE,MAAM,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,QAAQ,CAAC,GAAG,IAAI;IAIzE,aAAa,CAAC,IAAI,EAAE,MAAM,QAAQ,GAAG,IAAI;CAG1C"}
1
+ {"version":3,"file":"service-registry.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/service-registry.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;GAEG;AACH,qBAAa,eAAe,CAAC,QAAQ;IAGjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,SAAS;IAFnB,YACmB,cAAc,EAAE,aAAa,CAAC,QAAQ,CAAC,EAChD,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAM,EACvC;IAEJ,IAAI,WAAW,4BAEd;IAED,IAAI,QAAQ,sBAEX;IAED,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAE7C;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,QAAQ,CAAC,GAAG,IAAI,CAExE;IAED,aAAa,CAAC,IAAI,EAAE,MAAM,QAAQ,GAAG,IAAI,CAExC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/util.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,oBAAoB,QAMtE,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/services/util.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,QAAQ,CAAC,WAAW,oBAAoB,QAMtE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';
2
+ /**
3
+ * Detect the format of a space archive.
4
+ *
5
+ * Uses filename extension as the primary signal, and falls back to sniffing
6
+ * the first bytes of the archive contents to distinguish JSON from tar.
7
+ */
8
+ export declare const detectSpaceArchiveFormat: (archive: Pick<SpaceArchive, 'filename' | 'contents'>) => SpaceArchive.Format;
9
+ //# sourceMappingURL=archive-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive-format.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/archive-format.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAK1E;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,YAAa,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,UAAU,CAAC,KAAG,YAAY,CAAC,MA0B5G,CAAC"}
@@ -1,3 +1,6 @@
1
- export * from './space-archive-writer';
1
+ export * from './archive-format';
2
+ export * from './serialized-space-reader';
3
+ export * from './serialized-space-writer';
2
4
  export * from './space-archive-reader';
5
+ export * from './space-archive-writer';
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type Obj } from '@dxos/echo';
2
+ import { type SerializedSpace } from '@dxos/echo-db';
3
+ import { type DatabaseDirectory, type ObjectStructure } from '@dxos/echo-protocol';
4
+ import { type SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';
5
+ /**
6
+ * Parse a JSON space archive.
7
+ *
8
+ * The archive contents are expected to be the UTF-8 encoding of
9
+ * `JSON.stringify(serializedSpace)`.
10
+ */
11
+ export declare const readSerializedSpaceArchive: (archive: SpaceArchive) => SerializedSpace;
12
+ /**
13
+ * Convert an {@link Obj.JSON} back into an internal {@link ObjectStructure} suitable
14
+ * for embedding into a {@link DatabaseDirectory}.
15
+ */
16
+ export declare const objJsonToObjectStructure: (obj: Obj.JSON) => ObjectStructure;
17
+ /**
18
+ * Build a new {@link DatabaseDirectory} containing every object from the archive,
19
+ * keyed by object id. The caller is responsible for stamping the `access.spaceKey`
20
+ * and version fields after the document is created.
21
+ */
22
+ export declare const buildDatabaseDirectoryFromObjects: (objects: readonly Obj.JSON[]) => DatabaseDirectory;
23
+ //# sourceMappingURL=serialized-space-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialized-space-reader.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/serialized-space-reader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAmB/E;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,YAAa,YAAY,KAAG,eAOlE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAS,GAAG,CAAC,IAAI,KAAG,eAgDxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,YAAa,SAAS,GAAG,CAAC,IAAI,EAAE,KAAG,iBAShF,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { type Obj } from '@dxos/echo';
2
+ import { type EchoHost } from '@dxos/echo-pipeline';
3
+ import { type ObjectStructure } from '@dxos/echo-protocol';
4
+ import { type IdentityDid } from '@dxos/keys';
5
+ import { SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';
6
+ import { type DataSpace } from '../spaces/data-space';
7
+ /**
8
+ * Reorder the keys of an {@link Obj.JSON} so that system fields appear first
9
+ * (`id`, `@type`, `@meta`, then any other `@*` attributes), followed by data
10
+ * fields. The returned object has identical values to the input — only the key
11
+ * iteration order changes.
12
+ */
13
+ export declare const orderObjJsonFields: (obj: Obj.JSON) => Obj.JSON;
14
+ export type WriteSerializedSpaceArchiveOptions = {
15
+ space: DataSpace;
16
+ echoHost: EchoHost;
17
+ exportedBy?: IdentityDid;
18
+ };
19
+ /**
20
+ * Write a JSON space archive from a live {@link DataSpace}.
21
+ *
22
+ * This runs entirely inside the worker and walks automerge documents directly —
23
+ * it does not require a client-side {@link EchoDatabase}. The output conforms to
24
+ * {@link SerializedSpace} and is compatible with the JSON format consumed by the
25
+ * importer in {@link readSerializedSpaceArchive}.
26
+ */
27
+ export declare const writeSerializedSpaceArchive: (options: WriteSerializedSpaceArchiveOptions) => Promise<SpaceArchive>;
28
+ /**
29
+ * Convert an internal {@link ObjectStructure} into an {@link Obj.JSON}.
30
+ *
31
+ * Unlike the equivalent helper used for indexing, this preserves the object's
32
+ * `@meta` section so archives produced by this writer can be round-tripped
33
+ * through {@link Obj.fromJSON}.
34
+ */
35
+ export declare const objectStructureToObjJson: (objectId: string, structure: ObjectStructure) => Obj.JSON;
36
+ //# sourceMappingURL=serialized-space-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialized-space-writer.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/serialized-space-writer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAO,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAG1E,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AA6BtD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QAAS,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,IAmBtD,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,YAC7B,kCAAkC,KAC1C,OAAO,CAAC,YAAY,CA6CtB,CAAC;AASF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,aAAc,MAAM,aAAa,eAAe,KAAG,GAAG,CAAC,IA2B3F,CAAC"}
@@ -1,9 +1,17 @@
1
1
  import type { DocumentId } from '@automerge/automerge-repo';
2
- import { type SpaceArchiveMetadata } from '@dxos/protocols';
2
+ import { type FeedArchiveBlock, type FeedArchiveMetadata, type SpaceArchiveMetadata } from '@dxos/protocols';
3
3
  import type { SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';
4
+ /**
5
+ * Extracted feed data from the archive.
6
+ */
7
+ export type ExtractedFeed = {
8
+ metadata: FeedArchiveMetadata;
9
+ blocks: FeedArchiveBlock[];
10
+ };
4
11
  export type ExtractedSpaceArchive = {
5
12
  metadata: SpaceArchiveMetadata;
6
13
  documents: Record<DocumentId, Uint8Array>;
14
+ feeds: Record<string, ExtractedFeed>;
7
15
  };
8
16
  export declare const extractSpaceArchive: (archive: SpaceArchive) => Promise<ExtractedSpaceArchive>;
9
17
  //# sourceMappingURL=space-archive-reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"space-archive-reader.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/space-archive-reader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,EAA6B,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,qBAAqB,CAiB9F,CAAC"}
1
+ {"version":3,"file":"space-archive-reader.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/space-archive-reader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EAExB,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAAmB,YAAY,KAAG,OAAO,CAAC,qBAAqB,CAgE9F,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { type Context, Resource } from '@dxos/context';
2
2
  import type { IdentityDid, SpaceId } from '@dxos/keys';
3
- import type { SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';
3
+ import { type FeedArchiveBlock } from '@dxos/protocols';
4
+ import { SpaceArchive } from '@dxos/protocols/proto/dxos/client/services';
4
5
  export type SpaceArchiveBeginProps = {
5
6
  spaceId?: SpaceId;
6
7
  /**
@@ -18,6 +19,11 @@ export declare class SpaceArchiveWriter extends Resource {
18
19
  begin(meta: SpaceArchiveBeginProps): Promise<void>;
19
20
  setCurrentRootUrl(url: string): Promise<void>;
20
21
  writeDocument(documentId: string, data: Uint8Array): Promise<void>;
22
+ /**
23
+ * Writes a feed with its metadata and blocks to the archive.
24
+ * Blocks are written in chunks of {@link FEED_ARCHIVE_BLOCKS_PER_CHUNK}.
25
+ */
26
+ writeFeed(feedId: string, namespace: string, blocks: FeedArchiveBlock[]): Promise<void>;
21
27
  finish(): Promise<SpaceArchive>;
22
28
  }
23
29
  //# sourceMappingURL=space-archive-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"space-archive-writer.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/space-archive-writer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAE/E,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AAIF,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAc;IAE/B,OAAO,CAAC,KAAK,CAAC,CAAqC;IACnD,OAAO,CAAC,eAAe,CAAC,CAAqB;cAEpB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cAIlC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C,KAAK,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7C,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CAwBtC"}
1
+ {"version":3,"file":"space-archive-writer.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/space-archive-writer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAEL,KAAK,gBAAgB,EAKtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAG1E,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AAIF,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAc;IAE/B,OAAO,CAAC,KAAK,CAAC,CAAqC;IACnD,OAAO,CAAC,eAAe,CAAC,CAAqB;IAE7C,UAAyB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1D;IAED,UAAyB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/C;IAEK,KAAK,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKvD;IAEK,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlD;IAEK,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;IAED;;;OAGG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB5F;IAEK,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,CAyBpC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=space-archive.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space-archive.test.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/space-export/space-archive.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"automerge-space-state.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/automerge-space-state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAE1F,qBAAa,mBAAoB,SAAQ,QAAS,YAAW,mBAAmB;IAQlE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAPhC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAa;IACxC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAa;IAEpE,SAAgB,UAAU,mCAA0C;IAEpE,OAAO,CAAC,qBAAqB,CAAS;gBAET,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI;cAIzC,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;cAElC,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9D,uBAAuB,IAAI,IAAI;IAWzB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9C"}
1
+ {"version":3,"file":"automerge-space-state.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/automerge-space-state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,KAAK,EAAE,MAAM,6CAA6C,CAAC;AAE1F,qBAAa,mBAAoB,SAAQ,QAAS,YAAW,mBAAmB;IAQlE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAPhC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAa;IACxC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,SAAS,CAAa;IAEpE,SAAgB,UAAU,mCAA0C;IAEpE,OAAO,CAAC,qBAAqB,CAAS;IAEtC,YAA6B,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAEjE;IAED,UAAyB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;IAE9D,UAAyB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;IAEK,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAe7D;IAED,uBAAuB,IAAI,IAAI,CAS9B;IAEK,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5C;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { type AutomergeUrl, type DocumentId } from '@automerge/automerge-repo';
2
2
  import { Event } from '@dxos/async';
3
- import { Resource } from '@dxos/context';
3
+ import { Context, Resource } from '@dxos/context';
4
4
  import { type CredentialSigner } from '@dxos/credentials';
5
5
  import { type EchoEdgeReplicator, type EchoHost, type MeshEchoReplicator, type MetadataStore, type SpaceManager } from '@dxos/echo-pipeline';
6
6
  import type { EdgeConnection, EdgeHttpClient } from '@dxos/edge-client';
@@ -10,7 +10,7 @@ import { PublicKey, type SpaceId } from '@dxos/keys';
10
10
  import { type Runtime } from '@dxos/protocols/proto/dxos/config';
11
11
  import { type FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
12
12
  import { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
13
- import { type Credential, type ProfileDocument, SpaceMember } from '@dxos/protocols/proto/dxos/halo/credentials';
13
+ import { type Credential, MembershipPolicy, type ProfileDocument, SpaceMember } from '@dxos/protocols/proto/dxos/halo/credentials';
14
14
  import { type Timeframe } from '@dxos/timeframe';
15
15
  import { ComplexMap } from '@dxos/util';
16
16
  import { type InvitationsManager } from '../invitations';
@@ -35,6 +35,8 @@ export type AcceptSpaceOptions = {
35
35
  * We will try to catch up to this timeframe before initializing the database.
36
36
  */
37
37
  dataTimeframe?: Timeframe;
38
+ /** Tags assigned to the space member. */
39
+ tags?: string[];
38
40
  };
39
41
  export type AdmitMemberOptions = {
40
42
  spaceKey: PublicKey;
@@ -42,8 +44,9 @@ export type AdmitMemberOptions = {
42
44
  role: SpaceMember.Role;
43
45
  profile?: ProfileDocument;
44
46
  delegationCredentialId?: PublicKey;
47
+ tags?: string[];
45
48
  };
46
- export type DataSpaceManagerParams = {
49
+ export type DataSpaceManagerProps = {
47
50
  spaceManager: SpaceManager;
48
51
  metadataStore: MetadataStore;
49
52
  keyring: Keyring;
@@ -55,23 +58,29 @@ export type DataSpaceManagerParams = {
55
58
  edgeHttpClient?: EdgeHttpClient;
56
59
  meshReplicator?: MeshEchoReplicator;
57
60
  echoEdgeReplicator?: EchoEdgeReplicator;
58
- runtimeParams?: DataSpaceManagerRuntimeParams;
61
+ runtimeProps?: DataSpaceManagerRuntimeProps;
59
62
  edgeFeatures?: Runtime.Client.EdgeFeatures;
60
63
  };
61
- export type DataSpaceManagerRuntimeParams = {
64
+ export type DataSpaceManagerRuntimeProps = {
62
65
  spaceMemberPresenceAnnounceInterval?: number;
63
66
  spaceMemberPresenceOfflineTimeout?: number;
64
67
  activeEdgeNotarizationPollingInterval?: number;
65
68
  disableP2pReplication?: boolean;
69
+ /**
70
+ * If true, spaces that were previously SPACE_ACTIVE will be automatically activated on startup.
71
+ * This is used in dedicated worker mode to restore space state after leader changeover.
72
+ */
73
+ autoActivateSpaces?: boolean;
66
74
  };
67
75
  export type CreateSpaceOptions = {
68
76
  rootUrl?: AutomergeUrl;
69
77
  documents?: Record<DocumentId, Uint8Array>;
78
+ tags?: string[];
79
+ membershipPolicy?: MembershipPolicy;
70
80
  };
71
81
  export declare class DataSpaceManager extends Resource {
72
82
  readonly updated: Event<void>;
73
83
  private readonly _spaces;
74
- private readonly _instanceId;
75
84
  private readonly _spaceManager;
76
85
  private readonly _metadataStore;
77
86
  private readonly _keyring;
@@ -84,20 +93,22 @@ export declare class DataSpaceManager extends Resource {
84
93
  private readonly _edgeFeatures?;
85
94
  private readonly _meshReplicator?;
86
95
  private readonly _echoEdgeReplicator?;
87
- private readonly _runtimeParams?;
88
- constructor(params: DataSpaceManagerParams);
96
+ private readonly _runtimeProps?;
97
+ constructor(params: DataSpaceManagerProps);
89
98
  get spaces(): ComplexMap<PublicKey, DataSpace>;
90
99
  getSpaceById(spaceId: SpaceId): DataSpace | undefined;
91
- protected _open(): Promise<void>;
92
- protected _close(): Promise<void>;
100
+ protected _open(ctx: Context): Promise<void>;
101
+ protected _close(ctx: Context): Promise<void>;
93
102
  /**
94
103
  * Creates a new space writing the genesis credentials to the control feed.
95
104
  */
96
- createSpace(options?: CreateSpaceOptions): Promise<DataSpace>;
97
- isDefaultSpace(space: DataSpace): Promise<boolean>;
98
- createDefaultSpace(): Promise<DataSpace>;
99
- private _getSpaceRootDocument;
100
- acceptSpace(opts: AcceptSpaceOptions): Promise<DataSpace>;
105
+ createSpace(ctx: Context, options?: CreateSpaceOptions): Promise<DataSpace>;
106
+ /**
107
+ * Accepts an existing space by joining its swarm and initializing the data pipeline.
108
+ * @param ctx - Caller context for cancellation and tracing.
109
+ * @param opts - Space keys and optional timeframes for catch-up.
110
+ */
111
+ acceptSpace(ctx: Context, opts: AcceptSpaceOptions): Promise<DataSpace>;
101
112
  admitMember(options: AdmitMemberOptions): Promise<Credential>;
102
113
  /**
103
114
  * Wait until the space data pipeline is fully initialized.
@@ -105,8 +116,8 @@ export declare class DataSpaceManager extends Resource {
105
116
  * TODO(dmaretskyi): Consider removing.
106
117
  */
107
118
  waitUntilSpaceReady(spaceKey: PublicKey): Promise<void>;
108
- requestSpaceAdmissionCredential(spaceKey: PublicKey): Promise<Credential>;
109
- setSpaceEdgeReplicationSetting(spaceKey: PublicKey, setting: EdgeReplicationSetting): Promise<void>;
119
+ requestSpaceAdmissionCredential(ctx: Context, spaceKey: PublicKey): Promise<Credential>;
120
+ setSpaceEdgeReplicationSetting(ctx: Context, spaceKey: PublicKey, setting: EdgeReplicationSetting): Promise<void>;
110
121
  private _constructSpace;
111
122
  private _connectEchoMeshReplicator;
112
123
  private _handleMemberRoleChanges;
@@ -1 +1 @@
1
- {"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,EAAkB,KAAK,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAEtH,OAAO,EAAE,KAAK,EAA4B,MAAM,aAAa,CAAC;AAE9D,OAAO,EAA2B,QAAQ,EAAqB,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,KAAK,gBAAgB,EAKtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EAEb,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAElB,KAAK,YAAY,EAIlB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAsB,MAAM,0CAA0C,CAAC;AACtG,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAKjH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAwC,MAAM,YAAY,CAAC;AAG9E,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,SAAS,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D,UAAU,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,SAAS,CAAC;IAE1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B;;;OAGG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,SAAS,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,sBAAsB,CAAC,EAAE,SAAS,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,aAAa,CAAC,EAAE,6BAA6B,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,qCAAqC,CAAC,EAAE,MAAM,CAAC;IAC/C,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;CAC5C,CAAC;AAEF,qBACa,gBAAiB,SAAQ,QAAQ;IAC5C,SAAgB,OAAO,cAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwD;IAEhF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAA6B;IAC9D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA0C;IACzE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAiC;IAClE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAiC;IACtE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAA4C;gBAEhE,MAAM,EAAE,sBAAsB;IAiD1C,IAAI,MAAM,qCAET;IAED,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS;cAK5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAoBtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhD;;OAEG;IAEG,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC;IA4EjE,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBlD,kBAAkB,IAAI,OAAO,CAAC,SAAS,CAAC;YA0BhC,qBAAqB;IAU7B,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqBzD,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC;IA6BnE;;;;OAIG;IACG,mBAAmB,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD,+BAA+B,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAchF,8BAA8B,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;YAoB3F,eAAe;YA4Hf,0BAA0B;IAaxC,OAAO,CAAC,wBAAwB;IAyBhC,OAAO,CAAC,uBAAuB;YAWjB,6BAA6B;YAiB7B,2BAA2B;CAqB1C"}
1
+ {"version":3,"file":"data-space-manager.d.ts","sourceRoot":"","sources":["../../../../../src/packlets/spaces/data-space-manager.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,17 @@
1
1
  import { Event } from '@dxos/async';
2
+ import { Context } from '@dxos/context';
2
3
  import type { SpecificCredential } from '@dxos/credentials';
3
4
  import { type DatabaseRoot, type EchoHost, type MetadataStore, type Space } from '@dxos/echo-pipeline';
4
5
  import type { EdgeConnection, EdgeHttpClient } from '@dxos/edge-client';
5
6
  import { type FeedStore } from '@dxos/feed-store';
6
7
  import { type Keyring } from '@dxos/keyring';
7
8
  import { PublicKey } from '@dxos/keys';
9
+ import { type FeedProtocol } from '@dxos/protocols';
8
10
  import { type CreateEpochRequest, type Space as SpaceProto, SpaceState } from '@dxos/protocols/proto/dxos/client/services';
9
11
  import { type Runtime } from '@dxos/protocols/proto/dxos/config';
10
12
  import { type FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
11
13
  import { type SpaceCache } from '@dxos/protocols/proto/dxos/echo/metadata';
12
- import { type Epoch, type ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
14
+ import { type Epoch, MembershipPolicy, type ProfileDocument } from '@dxos/protocols/proto/dxos/halo/credentials';
13
15
  import { type GossipMessage } from '@dxos/protocols/proto/dxos/mesh/teleport/gossip';
14
16
  import { type Gossip, type Presence } from '@dxos/teleport-extension-gossip';
15
17
  import { Timeframe } from '@dxos/timeframe';
@@ -32,7 +34,7 @@ export type DataSpaceCallbacks = {
32
34
  */
33
35
  beforeClose?: () => Promise<void>;
34
36
  };
35
- export type DataSpaceParams = {
37
+ export type DataSpaceProps = {
36
38
  initialState: SpaceState;
37
39
  inner: Space;
38
40
  metadataStore: MetadataStore;
@@ -44,6 +46,7 @@ export type DataSpaceParams = {
44
46
  signingContext: SigningContext;
45
47
  callbacks?: DataSpaceCallbacks;
46
48
  cache?: SpaceCache;
49
+ tags?: string[];
47
50
  edgeConnection?: EdgeConnection;
48
51
  edgeHttpClient?: EdgeHttpClient;
49
52
  edgeFeatures?: Runtime.Client.EdgeFeatures;
@@ -70,6 +73,8 @@ export declare class DataSpace {
70
73
  private readonly _automergeSpaceState;
71
74
  private readonly _epochProcessingMutex;
72
75
  private _state;
76
+ /** Immutable tags from space metadata, available immediately. */
77
+ readonly tags: string[];
73
78
  private _databaseRoot;
74
79
  /**
75
80
  * Error for _state === SpaceState.SPACE_ERROR.
@@ -80,7 +85,7 @@ export declare class DataSpace {
80
85
  readonly postOpen: CallbackCollection<AsyncCallback<void>>;
81
86
  readonly preClose: CallbackCollection<AsyncCallback<void>>;
82
87
  metrics: SpaceProto.Metrics;
83
- constructor(params: DataSpaceParams);
88
+ constructor(params: DataSpaceProps);
84
89
  get id(): import("@dxos/keys").SpaceId;
85
90
  get key(): PublicKey;
86
91
  get isOpen(): boolean;
@@ -89,12 +94,14 @@ export declare class DataSpace {
89
94
  get presence(): Presence;
90
95
  get notarizationPlugin(): NotarizationPlugin;
91
96
  get cache(): SpaceCache | undefined;
97
+ /** Membership policy from the genesis credential, defaults to INVITE. */
98
+ get membershipPolicy(): MembershipPolicy;
92
99
  get automergeSpaceState(): AutomergeSpaceState;
93
100
  get databaseRoot(): DatabaseRoot | null;
94
101
  private get _automergeInfo();
95
- open(): Promise<void>;
102
+ open(ctx: Context): Promise<void>;
96
103
  private _open;
97
- close(): Promise<void>;
104
+ close(ctx: Context): Promise<void>;
98
105
  private _close;
99
106
  postMessage(channel: string, message: any): Promise<void>;
100
107
  listen(channel: string, callback: (message: GossipMessage) => void): {
@@ -102,18 +109,28 @@ export declare class DataSpace {
102
109
  };
103
110
  /**
104
111
  * Initialize the data pipeline in a separate task.
112
+ * @param callerCtx - Trace context from the caller (e.g., activate or createSpace) for span parenting.
105
113
  */
106
- initializeDataPipelineAsync(): void;
107
- initializeDataPipeline(): Promise<void>;
114
+ initializeDataPipelineAsync(callerCtx?: Context): void;
115
+ initializeDataPipeline(ctx: Context): Promise<void>;
108
116
  getAllDocuments(): AsyncIterable<[string, Uint8Array]>;
117
+ /**
118
+ * Get all feeds and their blocks for this space.
119
+ * Used for space archive export.
120
+ */
121
+ getAllFeeds(): Promise<Array<{
122
+ feedId: string;
123
+ feedNamespace: string;
124
+ blocks: FeedProtocol.Block[];
125
+ }>>;
109
126
  private _enterReadyState;
110
127
  private _initializeAndReadControlPipeline;
111
128
  private _createWritableFeeds;
112
129
  private _onNewAutomergeRoot;
113
130
  updateOwnProfile(profile: ProfileDocument): Promise<void>;
114
131
  createEpoch(options?: CreateEpochOptions): Promise<CreateEpochResult | null>;
115
- activate(): Promise<void>;
116
- deactivate(): Promise<void>;
132
+ activate(ctx: Context): Promise<void>;
133
+ deactivate(ctx: Context): Promise<void>;
117
134
  getEdgeReplicationSetting(): import("@dxos/protocols/proto/dxos/echo/metadata").EdgeReplicationSetting | undefined;
118
135
  private _onFeedAdded;
119
136
  }