@dxos/echo-pipeline 0.8.4-main.ae835ea → 0.8.4-main.bc2380dfbc

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 (221) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/{browser/chunk-WJJXJTNS.mjs → neutral/chunk-46DCRDA7.mjs} +44 -13
  4. package/dist/lib/neutral/chunk-46DCRDA7.mjs.map +7 -0
  5. package/dist/lib/{browser/chunk-FR6GJ4S4.mjs → neutral/chunk-LR7UFVQX.mjs} +145 -618
  6. package/dist/lib/neutral/chunk-LR7UFVQX.mjs.map +7 -0
  7. package/dist/lib/{browser → neutral}/filter/index.mjs +1 -2
  8. package/dist/lib/neutral/index.mjs +7332 -0
  9. package/dist/lib/neutral/index.mjs.map +7 -0
  10. package/dist/lib/neutral/meta.json +1 -0
  11. package/dist/lib/{browser → neutral}/testing/index.mjs +49 -292
  12. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  13. package/dist/types/src/automerge/automerge-host-subduction.test.d.ts +2 -0
  14. package/dist/types/src/automerge/automerge-host-subduction.test.d.ts.map +1 -0
  15. package/dist/types/src/automerge/automerge-host.d.ts +105 -27
  16. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  17. package/dist/types/src/automerge/automerge-repo-subduction.test.d.ts +2 -0
  18. package/dist/types/src/automerge/automerge-repo-subduction.test.d.ts.map +1 -0
  19. package/dist/types/src/automerge/automerge-repo.test.d.ts +1 -1
  20. package/dist/types/src/automerge/automerge-repo.test.d.ts.map +1 -1
  21. package/dist/types/src/automerge/automerge-subduction.test.d.ts +2 -0
  22. package/dist/types/src/automerge/automerge-subduction.test.d.ts.map +1 -0
  23. package/dist/types/src/automerge/collection-synchronizer.d.ts +22 -2
  24. package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
  25. package/dist/types/src/automerge/echo-data-monitor.d.ts.map +1 -1
  26. package/dist/types/src/automerge/echo-network-adapter.d.ts +17 -11
  27. package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
  28. package/dist/types/src/automerge/echo-replicator.d.ts +28 -16
  29. package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
  30. package/dist/types/src/automerge/errors.d.ts +35 -0
  31. package/dist/types/src/automerge/errors.d.ts.map +1 -0
  32. package/dist/types/src/automerge/handle-state.d.ts +52 -0
  33. package/dist/types/src/automerge/handle-state.d.ts.map +1 -0
  34. package/dist/types/src/automerge/heads-store.d.ts +9 -2
  35. package/dist/types/src/automerge/heads-store.d.ts.map +1 -1
  36. package/dist/types/src/automerge/index.d.ts +2 -0
  37. package/dist/types/src/automerge/index.d.ts.map +1 -1
  38. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +10 -4
  39. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
  40. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +8 -8
  41. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
  42. package/dist/types/src/automerge/mesh-echo-replicator.d.ts +6 -5
  43. package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
  44. package/dist/types/src/automerge/network-protocol.d.ts.map +1 -1
  45. package/dist/types/src/automerge/space-collection.d.ts.map +1 -1
  46. package/dist/types/src/common/feeds.d.ts.map +1 -1
  47. package/dist/types/src/common/space-id.d.ts.map +1 -1
  48. package/dist/types/src/db-host/automerge-data-source.d.ts +35 -0
  49. package/dist/types/src/db-host/automerge-data-source.d.ts.map +1 -0
  50. package/dist/types/src/db-host/automerge-data-source.test.d.ts +2 -0
  51. package/dist/types/src/db-host/automerge-data-source.test.d.ts.map +1 -0
  52. package/dist/types/src/db-host/automerge-metrics.d.ts.map +1 -1
  53. package/dist/types/src/db-host/data-service.d.ts +12 -6
  54. package/dist/types/src/db-host/data-service.d.ts.map +1 -1
  55. package/dist/types/src/db-host/database-root.d.ts +9 -3
  56. package/dist/types/src/db-host/database-root.d.ts.map +1 -1
  57. package/dist/types/src/db-host/documents-synchronizer.d.ts +30 -8
  58. package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
  59. package/dist/types/src/db-host/echo-host.d.ts +74 -28
  60. package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
  61. package/dist/types/src/db-host/index.d.ts +2 -0
  62. package/dist/types/src/db-host/index.d.ts.map +1 -1
  63. package/dist/types/src/db-host/invalidation-hint.d.ts +19 -0
  64. package/dist/types/src/db-host/invalidation-hint.d.ts.map +1 -0
  65. package/dist/types/src/db-host/local-queue-service.d.ts +19 -0
  66. package/dist/types/src/db-host/local-queue-service.d.ts.map +1 -0
  67. package/dist/types/src/db-host/query-invalidation.test.d.ts +2 -0
  68. package/dist/types/src/db-host/query-invalidation.test.d.ts.map +1 -0
  69. package/dist/types/src/db-host/query-service.d.ts +18 -10
  70. package/dist/types/src/db-host/query-service.d.ts.map +1 -1
  71. package/dist/types/src/db-host/queue-data-source.d.ts +38 -0
  72. package/dist/types/src/db-host/queue-data-source.d.ts.map +1 -0
  73. package/dist/types/src/db-host/queue-service.test.d.ts +2 -0
  74. package/dist/types/src/db-host/queue-service.test.d.ts.map +1 -0
  75. package/dist/types/src/db-host/space-state-manager.d.ts +3 -2
  76. package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
  77. package/dist/types/src/db-host/stub.d.ts +11 -0
  78. package/dist/types/src/db-host/stub.d.ts.map +1 -0
  79. package/dist/types/src/edge/echo-edge-replicator.d.ts +7 -6
  80. package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
  81. package/dist/types/src/edge/echo-edge-subduction-replicator.d.ts +39 -0
  82. package/dist/types/src/edge/echo-edge-subduction-replicator.d.ts.map +1 -0
  83. package/dist/types/src/edge/echo-edge-subduction-replicator.test.d.ts +2 -0
  84. package/dist/types/src/edge/echo-edge-subduction-replicator.test.d.ts.map +1 -0
  85. package/dist/types/src/edge/index.d.ts +1 -0
  86. package/dist/types/src/edge/index.d.ts.map +1 -1
  87. package/dist/types/src/edge/inflight-request-limiter.d.ts.map +1 -1
  88. package/dist/types/src/filter/filter-match.d.ts +1 -1
  89. package/dist/types/src/filter/filter-match.d.ts.map +1 -1
  90. package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
  91. package/dist/types/src/pipeline/message-selector.d.ts.map +1 -1
  92. package/dist/types/src/pipeline/pipeline.d.ts +2 -2
  93. package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
  94. package/dist/types/src/pipeline/timeframe-clock.d.ts.map +1 -1
  95. package/dist/types/src/query/errors.d.ts +16 -20
  96. package/dist/types/src/query/errors.d.ts.map +1 -1
  97. package/dist/types/src/query/plan.d.ts +59 -8
  98. package/dist/types/src/query/plan.d.ts.map +1 -1
  99. package/dist/types/src/query/query-executor.d.ts +55 -12
  100. package/dist/types/src/query/query-executor.d.ts.map +1 -1
  101. package/dist/types/src/query/query-planner.d.ts +10 -1
  102. package/dist/types/src/query/query-planner.d.ts.map +1 -1
  103. package/dist/types/src/space/admission-discovery-extension.d.ts.map +1 -1
  104. package/dist/types/src/space/auth.d.ts +3 -3
  105. package/dist/types/src/space/auth.d.ts.map +1 -1
  106. package/dist/types/src/space/control-pipeline.d.ts +4 -3
  107. package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
  108. package/dist/types/src/space/space-manager.d.ts +7 -7
  109. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  110. package/dist/types/src/space/space-protocol.d.ts +9 -8
  111. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  112. package/dist/types/src/space/space.d.ts +5 -5
  113. package/dist/types/src/space/space.d.ts.map +1 -1
  114. package/dist/types/src/testing/change-metadata.d.ts.map +1 -1
  115. package/dist/types/src/testing/index.d.ts +0 -2
  116. package/dist/types/src/testing/index.d.ts.map +1 -1
  117. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  118. package/dist/types/src/testing/test-feed-builder.d.ts.map +1 -1
  119. package/dist/types/src/testing/test-network-adapter.d.ts +1 -1
  120. package/dist/types/src/testing/test-network-adapter.d.ts.map +1 -1
  121. package/dist/types/src/testing/test-replicator.d.ts +13 -13
  122. package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
  123. package/dist/types/src/util.d.ts.map +1 -1
  124. package/dist/types/tsconfig.tsbuildinfo +1 -1
  125. package/package.json +56 -54
  126. package/src/automerge/automerge-host-subduction.test.ts +263 -0
  127. package/src/automerge/automerge-host.test.ts +145 -32
  128. package/src/automerge/automerge-host.ts +442 -163
  129. package/src/automerge/automerge-repo-subduction.test.ts +1054 -0
  130. package/src/automerge/automerge-repo.test.ts +284 -77
  131. package/src/automerge/automerge-subduction.test.ts +330 -0
  132. package/src/automerge/collection-synchronizer.test.ts +96 -16
  133. package/src/automerge/collection-synchronizer.ts +125 -26
  134. package/src/automerge/echo-network-adapter.test.ts +2 -1
  135. package/src/automerge/echo-network-adapter.ts +44 -32
  136. package/src/automerge/echo-replicator.ts +30 -16
  137. package/src/automerge/errors.ts +10 -0
  138. package/src/automerge/handle-state.ts +62 -0
  139. package/src/automerge/heads-store.ts +42 -3
  140. package/src/automerge/index.ts +2 -0
  141. package/src/automerge/leveldb-storage-adapter.ts +70 -4
  142. package/src/automerge/mesh-echo-replicator-connection.ts +8 -8
  143. package/src/automerge/mesh-echo-replicator.ts +14 -11
  144. package/src/db-host/automerge-data-source.test.ts +299 -0
  145. package/src/db-host/automerge-data-source.ts +187 -0
  146. package/src/db-host/data-service.ts +27 -10
  147. package/src/db-host/database-root.ts +19 -7
  148. package/src/db-host/documents-synchronizer.test.ts +145 -14
  149. package/src/db-host/documents-synchronizer.ts +158 -59
  150. package/src/db-host/echo-host.ts +376 -90
  151. package/src/db-host/index.ts +2 -0
  152. package/src/db-host/invalidation-hint.ts +50 -0
  153. package/src/db-host/local-queue-service.ts +127 -0
  154. package/src/db-host/query-invalidation.test.ts +270 -0
  155. package/src/db-host/query-service.ts +108 -111
  156. package/src/db-host/queue-data-source.ts +160 -0
  157. package/src/db-host/queue-service.test.ts +145 -0
  158. package/src/db-host/space-state-manager.ts +11 -9
  159. package/src/db-host/stub.ts +33 -0
  160. package/src/edge/echo-edge-replicator.test.ts +9 -9
  161. package/src/edge/echo-edge-replicator.ts +50 -42
  162. package/src/edge/echo-edge-subduction-replicator.test.ts +158 -0
  163. package/src/edge/echo-edge-subduction-replicator.ts +377 -0
  164. package/src/edge/index.ts +1 -0
  165. package/src/filter/filter-match.test.ts +41 -25
  166. package/src/filter/filter-match.ts +75 -20
  167. package/src/metadata/metadata-store.ts +8 -5
  168. package/src/pipeline/pipeline-stress.test.ts +1 -3
  169. package/src/pipeline/pipeline.test.ts +0 -1
  170. package/src/pipeline/pipeline.ts +2 -3
  171. package/src/query/errors.ts +2 -2
  172. package/src/query/plan.ts +73 -9
  173. package/src/query/query-executor.ts +1064 -172
  174. package/src/query/query-planner.test.ts +854 -86
  175. package/src/query/query-planner.ts +444 -38
  176. package/src/space/admission-discovery-extension.ts +1 -1
  177. package/src/space/auth.ts +6 -6
  178. package/src/space/control-pipeline.test.ts +2 -2
  179. package/src/space/control-pipeline.ts +7 -7
  180. package/src/space/space-manager.ts +12 -17
  181. package/src/space/space-protocol.browser.test.ts +13 -12
  182. package/src/space/space-protocol.test.ts +13 -13
  183. package/src/space/space-protocol.ts +16 -15
  184. package/src/space/space.test.ts +2 -2
  185. package/src/space/space.ts +9 -10
  186. package/src/testing/index.ts +0 -2
  187. package/src/testing/test-agent-builder.ts +0 -1
  188. package/src/testing/test-network-adapter.ts +24 -3
  189. package/src/testing/test-replicator.ts +15 -20
  190. package/src/util.ts +7 -3
  191. package/dist/lib/browser/chunk-CGS2ULMK.mjs +0 -11
  192. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +0 -7
  193. package/dist/lib/browser/chunk-FR6GJ4S4.mjs.map +0 -7
  194. package/dist/lib/browser/chunk-WJJXJTNS.mjs.map +0 -7
  195. package/dist/lib/browser/index.mjs +0 -5492
  196. package/dist/lib/browser/index.mjs.map +0 -7
  197. package/dist/lib/browser/meta.json +0 -1
  198. package/dist/lib/browser/testing/index.mjs.map +0 -7
  199. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  200. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  201. package/dist/lib/node-esm/chunk-JQCCVDLT.mjs +0 -2144
  202. package/dist/lib/node-esm/chunk-JQCCVDLT.mjs.map +0 -7
  203. package/dist/lib/node-esm/chunk-LEQ77KAT.mjs +0 -240
  204. package/dist/lib/node-esm/chunk-LEQ77KAT.mjs.map +0 -7
  205. package/dist/lib/node-esm/filter/index.mjs +0 -13
  206. package/dist/lib/node-esm/filter/index.mjs.map +0 -7
  207. package/dist/lib/node-esm/index.mjs +0 -5492
  208. package/dist/lib/node-esm/index.mjs.map +0 -7
  209. package/dist/lib/node-esm/meta.json +0 -1
  210. package/dist/lib/node-esm/testing/index.mjs +0 -764
  211. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  212. package/dist/types/src/db-host/documents-iterator.d.ts +0 -7
  213. package/dist/types/src/db-host/documents-iterator.d.ts.map +0 -1
  214. package/dist/types/src/testing/test-data.d.ts +0 -18
  215. package/dist/types/src/testing/test-data.d.ts.map +0 -1
  216. package/dist/types/src/testing/test-schema.d.ts +0 -37
  217. package/dist/types/src/testing/test-schema.d.ts.map +0 -1
  218. package/src/db-host/documents-iterator.ts +0 -74
  219. package/src/testing/test-data.ts +0 -127
  220. package/src/testing/test-schema.ts +0 -53
  221. /package/dist/lib/{browser → neutral}/filter/index.mjs.map +0 -0
@@ -1,13 +1,20 @@
1
1
  import type { Heads } from '@automerge/automerge';
2
2
  import type { DocumentId } from '@automerge/automerge-repo';
3
3
  import type { BatchLevel, SublevelDB } from '@dxos/kv-store';
4
- export type HeadsStoreParams = {
4
+ export type HeadsStoreProps = {
5
5
  db: SublevelDB;
6
6
  };
7
7
  export declare class HeadsStore {
8
8
  private readonly _db;
9
- constructor({ db }: HeadsStoreParams);
9
+ constructor({ db }: HeadsStoreProps);
10
10
  setHeads(documentId: DocumentId, heads: Heads, batch: BatchLevel): void;
11
11
  getHeads(documentIds: DocumentId[]): Promise<Array<Heads | undefined>>;
12
+ /**
13
+ * Iterate over all document IDs and their heads.
14
+ */
15
+ iterateAll(): AsyncGenerator<{
16
+ documentId: DocumentId;
17
+ heads: Heads;
18
+ }>;
12
19
  }
13
20
  //# sourceMappingURL=heads-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"heads-store.d.ts","sourceRoot":"","sources":["../../../../src/automerge/heads-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,UAAU,CAAC;CAChB,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAErB,EAAE,EAAE,EAAE,EAAE,gBAAgB;IAIpC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IASjE,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;CAM7E"}
1
+ {"version":3,"file":"heads-store.d.ts","sourceRoot":"","sources":["../../../../src/automerge/heads-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA4B7D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,UAAU,CAAC;CAChB,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IAEjC,YAAY,EAAE,EAAE,EAAE,EAAE,eAAe,EAElC;IAED,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAMtE;IAGK,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAK3E;IAED;;OAEG;IACI,UAAU,IAAI,cAAc,CAAC;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAO5E;CACF"}
@@ -1,8 +1,10 @@
1
1
  export * from './automerge-host';
2
+ export * from './handle-state';
2
3
  export * from './leveldb-storage-adapter';
3
4
  export * from './mesh-echo-replicator';
4
5
  export type * from './echo-replicator';
5
6
  export { diffCollectionState } from './collection-synchronizer';
6
7
  export * from './space-collection';
7
8
  export * from './echo-data-monitor';
9
+ export * from './errors';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/automerge/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,mBAAmB,mBAAmB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/automerge/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,mBAAmB,mBAAmB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC"}
@@ -9,24 +9,30 @@ export interface StorageAdapterDataMonitor {
9
9
  recordLoadDuration(durationMs: number): void;
10
10
  recordStoreDuration(durationMs: number): void;
11
11
  }
12
- export type LevelDBStorageAdapterParams = {
12
+ export type LevelDBStorageAdapterProps = {
13
13
  db: SublevelDB;
14
14
  callbacks?: StorageCallbacks;
15
15
  monitor?: StorageAdapterDataMonitor;
16
16
  };
17
- export type BeforeSaveParams = {
17
+ export type BeforeSaveProps = {
18
18
  path: StorageKey;
19
19
  batch: BatchLevel;
20
20
  };
21
21
  export interface StorageCallbacks {
22
- beforeSave(params: BeforeSaveParams): MaybePromise<void>;
22
+ beforeSave(params: BeforeSaveProps): MaybePromise<void>;
23
23
  afterSave(path: StorageKey): MaybePromise<void>;
24
24
  }
25
25
  export declare class LevelDBStorageAdapter extends Resource implements StorageAdapterInterface {
26
+ #private;
26
27
  private readonly _params;
27
- constructor(_params: LevelDBStorageAdapterParams);
28
+ constructor(_params: LevelDBStorageAdapterProps);
29
+ protected _close(): Promise<void>;
28
30
  load(keyArray: StorageKey): Promise<Uint8Array | undefined>;
29
31
  save(keyArray: StorageKey, binary: Uint8Array): Promise<void>;
32
+ /**
33
+ * Atomically persist multiple key/value entries in a single LevelDB batch write.
34
+ */
35
+ saveBatch(entries: Array<[StorageKey, Uint8Array]>): Promise<void>;
30
36
  remove(keyArray: StorageKey): Promise<void>;
31
37
  loadRange(keyPrefix: StorageKey): Promise<Chunk[]>;
32
38
  removeRange(keyPrefix: StorageKey): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"leveldb-storage-adapter.d.ts","sourceRoot":"","sources":["../../../../src/automerge/leveldb-storage-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,uBAAuB,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,UAAU,CAAC;IACf,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzD,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,qBAAa,qBAAsB,SAAQ,QAAS,YAAW,uBAAuB;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,2BAA2B;IAI3D,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAmB3D,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7D,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAqBlD,WAAW,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAexD;AAaD,eAAO,MAAM,eAAe;;;CAG3B,CAAC"}
1
+ {"version":3,"file":"leveldb-storage-adapter.d.ts","sourceRoot":"","sources":["../../../../src/automerge/leveldb-storage-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,uBAAuB,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,UAAU,CAAC;IACf,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACxD,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,qBAAa,qBAAsB,SAAQ,QAAS,YAAW,uBAAuB;;IAaxE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAApC,YAA6B,OAAO,EAAE,0BAA0B,EAE/D;IAED,UAAyB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ/C;IASK,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAiBhE;IAEK,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlE;IAED;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBvE;IAEK,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAKhD;IAEK,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAKvD;IAoBK,WAAW,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtD;CAcF;AAaD,eAAO,MAAM,eAAe;IAC1B,WAAW;IACX,aAAa;CACd,CAAC"}
@@ -2,16 +2,16 @@ import { Resource } from '@dxos/context';
2
2
  import { type PublicKey } from '@dxos/keys';
3
3
  import type { AutomergeProtocolMessage } from '@dxos/protocols';
4
4
  import { AutomergeReplicator, type AutomergeReplicatorFactory } from '@dxos/teleport-extension-automerge-replicator';
5
- import type { ReplicatorConnection, ShouldAdvertiseParams, ShouldSyncCollectionParams } from './echo-replicator';
6
- export type MeshReplicatorConnectionParams = {
5
+ import type { AutomergeReplicatorConnection, ShouldAdvertiseProps, ShouldSyncCollectionProps } from './echo-replicator';
6
+ export type MeshReplicatorConnectionProps = {
7
7
  ownPeerId: string;
8
8
  onRemoteConnected: () => void;
9
9
  onRemoteDisconnected: () => void;
10
- shouldAdvertise: (params: ShouldAdvertiseParams) => Promise<boolean>;
11
- shouldSyncCollection: (params: ShouldSyncCollectionParams) => boolean;
10
+ shouldAdvertise: (params: ShouldAdvertiseProps) => Promise<boolean>;
11
+ shouldSyncCollection: (params: ShouldSyncCollectionProps) => boolean;
12
12
  replicatorFactory?: AutomergeReplicatorFactory;
13
13
  };
14
- export declare class MeshReplicatorConnection extends Resource implements ReplicatorConnection {
14
+ export declare class MeshReplicatorConnection extends Resource implements AutomergeReplicatorConnection {
15
15
  private readonly _params;
16
16
  readable: ReadableStream<AutomergeProtocolMessage>;
17
17
  writable: WritableStream<AutomergeProtocolMessage>;
@@ -19,13 +19,13 @@ export declare class MeshReplicatorConnection extends Resource implements Replic
19
19
  readonly replicatorExtension: AutomergeReplicator;
20
20
  private _remotePeerId;
21
21
  private _isEnabled;
22
- constructor(_params: MeshReplicatorConnectionParams);
22
+ constructor(_params: MeshReplicatorConnectionProps);
23
23
  private _disconnectIfEnabled;
24
24
  get peerId(): string;
25
25
  get isEnabled(): boolean;
26
26
  get bundleSyncEnabled(): boolean;
27
- shouldAdvertise(params: ShouldAdvertiseParams): Promise<boolean>;
28
- shouldSyncCollection(params: ShouldSyncCollectionParams): boolean;
27
+ shouldAdvertise(params: ShouldAdvertiseProps): Promise<boolean>;
28
+ shouldSyncCollection(params: ShouldSyncCollectionProps): boolean;
29
29
  /**
30
30
  * Start exchanging messages with the remote peer.
31
31
  * Call after the remote peer has connected.
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-echo-replicator-connection.d.ts","sourceRoot":"","sources":["../../../../src/automerge/mesh-echo-replicator-connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAErH,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAIjH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,oBAAoB,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,OAAO,CAAC;IACtE,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;CAChD,CAAC;AAEF,qBAAa,wBAAyB,SAAQ,QAAS,YAAW,oBAAoB;IAUxE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT7B,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACnD,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACnD,eAAe,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEhD,SAAgB,mBAAmB,EAAE,mBAAmB,CAAC;IAEzD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAAS;gBAEE,OAAO,EAAE,8BAA8B;IA6DpE,OAAO,CAAC,oBAAoB;IAM5B,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAEK,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO;IAIjE;;;OAGG;IACH,MAAM,IAAI,IAAI;IAKd;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"mesh-echo-replicator-connection.d.ts","sourceRoot":"","sources":["../../../../src/automerge/mesh-echo-replicator-connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAErH,OAAO,KAAK,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAIxH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpE,oBAAoB,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,OAAO,CAAC;IACrE,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;CAChD,CAAC;AAEF,qBAAa,wBAAyB,SAAQ,QAAS,YAAW,6BAA6B;IAUjF,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT7B,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACnD,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACnD,eAAe,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEhD,SAAgB,mBAAmB,EAAE,mBAAmB,CAAC;IAEzD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAAS;IAE3B,YAA6B,OAAO,EAAE,6BAA6B,EA2DlE;IAED,OAAO,CAAC,oBAAoB;IAM5B,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAEK,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpE;IAED,oBAAoB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAE/D;IAED;;;OAGG;IACH,MAAM,IAAI,IAAI,CAGb;IAED;;OAEG;IACH,OAAO,IAAI,IAAI,CAEd;CACF"}
@@ -1,10 +1,11 @@
1
+ import { type Context } from '@dxos/context';
1
2
  import { PublicKey } from '@dxos/keys';
2
- import { type AutomergeReplicator, type AutomergeReplicatorFactory } from '@dxos/teleport-extension-automerge-replicator';
3
- import { type EchoReplicator, type EchoReplicatorContext } from './echo-replicator';
3
+ import type * as TeleportAutomergeReplicator from '@dxos/teleport-extension-automerge-replicator';
4
+ import { type AutomergeReplicator, type AutomergeReplicatorContext } from './echo-replicator';
4
5
  /**
5
6
  * Used to replicate with other peers over the network.
6
7
  */
7
- export declare class MeshEchoReplicator implements EchoReplicator {
8
+ export declare class MeshEchoReplicator implements AutomergeReplicator {
8
9
  /**
9
10
  * We might have multiple connections open with a peer (one per space), but there'll be only one enabled
10
11
  * connection at any given moment, because there's a single repo for all the spaces.
@@ -21,9 +22,9 @@ export declare class MeshEchoReplicator implements EchoReplicator {
21
22
  */
22
23
  private readonly _authorizedDevices;
23
24
  private _context;
24
- connect(context: EchoReplicatorContext): Promise<void>;
25
+ connect(_ctx: Context, context: AutomergeReplicatorContext): Promise<void>;
25
26
  disconnect(): Promise<void>;
26
- createExtension(extensionFactory?: AutomergeReplicatorFactory): AutomergeReplicator;
27
+ createExtension(extensionFactory?: TeleportAutomergeReplicator.AutomergeReplicatorFactory): TeleportAutomergeReplicator.AutomergeReplicator;
27
28
  authorizeDevice(spaceKey: PublicKey, deviceKey: PublicKey): Promise<void>;
28
29
  }
29
30
  //# sourceMappingURL=mesh-echo-replicator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-echo-replicator.d.ts","sourceRoot":"","sources":["../../../../src/automerge/mesh-echo-replicator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAErD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAChC,MAAM,+CAA+C,CAAC;AAKvD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAA8B,MAAM,mBAAmB,CAAC;AAMhH;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiD;IACrF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IAEpE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;IAEhF,OAAO,CAAC,QAAQ,CAAsC;IAEhD,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBjC,eAAe,CAAC,gBAAgB,CAAC,EAAE,0BAA0B,GAAG,mBAAmB;IAsH7E,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAYhF"}
1
+ {"version":3,"file":"mesh-echo-replicator.d.ts","sourceRoot":"","sources":["../../../../src/automerge/mesh-echo-replicator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAErD,OAAO,KAAK,KAAK,2BAA2B,MAAM,+CAA+C,CAAC;AAIlG,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAEhC,MAAM,mBAAmB,CAAC;AAM3B;;GAEG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC5D;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiD;IACrF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IAEpE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;IAEhF,OAAO,CAAC,QAAQ,CAA2C;IAErD,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/E;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAehC;IAED,eAAe,CACb,gBAAgB,CAAC,EAAE,2BAA2B,CAAC,0BAA0B,GACxE,2BAA2B,CAAC,mBAAmB,CAoHjD;IAEK,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAW9E;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"network-protocol.d.ts","sourceRoot":"","sources":["../../../../src/automerge/network-protocol.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAG5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,CAAC;AAEpE,eAAO,MAAM,wBAAwB,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,sBACvB,CAAC;AAEjD,eAAO,MAAM,wBAAwB,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,sBACvB,CAAC"}
1
+ {"version":3,"file":"network-protocol.d.ts","sourceRoot":"","sources":["../../../../src/automerge/network-protocol.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAG5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,sBAAsB,EAAE,CAAC;AAEpE,eAAO,MAAM,wBAAwB,YAAa,OAAO,KAAG,OAAO,IAAI,sBACvB,CAAC;AAEjD,eAAO,MAAM,wBAAwB,YAAa,OAAO,KAAG,OAAO,IAAI,sBACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"space-collection.d.ts","sourceRoot":"","sources":["../../../../src/automerge/space-collection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,eAAO,MAAM,6BAA6B,GAAI,SAAS,OAAO,EAAE,iBAAiB,UAAU,KAAG,YACA,CAAC;AAE/F,eAAO,MAAM,0BAA0B,GAAI,cAAc,YAAY,KAAG,OAIvE,CAAC"}
1
+ {"version":3,"file":"space-collection.d.ts","sourceRoot":"","sources":["../../../../src/automerge/space-collection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,eAAO,MAAM,6BAA6B,YAAa,OAAO,mBAAmB,UAAU,KAAG,YACA,CAAC;AAE/F,eAAO,MAAM,0BAA0B,iBAAkB,YAAY,KAAG,OAIvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../src/common/feeds.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,EAAE,EAAE,MAAM,SAAS,EAAE,EACzE,QAAQ,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC,EAC7C,QAAQ,UAAU,CAAC,MAAM,CAAC,KACzB,UAAU,CAAC,MAAM,CAOnB,CAAC"}
1
+ {"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../../../../src/common/feeds.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,SAAS,EAAE,EAAE,MAAM,SAAS,EAAE,UACjE,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC,UACrC,UAAU,CAAC,MAAM,CAAC,KACzB,UAAU,CAAC,MAAM,CAOnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"space-id.d.ts","sourceRoot":"","sources":["../../../../src/common/space-id.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKhD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,UAAU,SAAS,KAAG,OAAO,CAAC,OAAO,CAY/E,CAAC"}
1
+ {"version":3,"file":"space-id.d.ts","sourceRoot":"","sources":["../../../../src/common/space-id.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKhD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aAAoB,SAAS,KAAG,OAAO,CAAC,OAAO,CAY/E,CAAC"}
@@ -0,0 +1,35 @@
1
+ import * as A from '@automerge/automerge';
2
+ import * as Effect from 'effect/Effect';
3
+ import { type Context } from '@dxos/context';
4
+ import { type DataSourceCursor, type IndexDataSource, type IndexerObject } from '@dxos/index-core';
5
+ import { type AutomergeHost } from '../automerge';
6
+ /**
7
+ * Codec for serializing/deserializing Automerge heads to cursor strings.
8
+ */
9
+ export declare const headsCodec: {
10
+ /**
11
+ * Serialize automerge heads to a cursor string.
12
+ * Heads are sorted to ensure consistent comparison.
13
+ */
14
+ encode: (heads: A.Heads) => string;
15
+ /**
16
+ * Deserialize a cursor string back to heads array.
17
+ */
18
+ decode: (cursor: string) => string[];
19
+ };
20
+ /**
21
+ * Data source that fetches objects from AutomergeHost.
22
+ * Iterates all documents from HeadsStore and tracks document heads as cursors to detect changes.
23
+ */
24
+ export declare class AutomergeDataSource implements IndexDataSource {
25
+ #private;
26
+ readonly sourceName = "automerge";
27
+ constructor(automergeHost: AutomergeHost);
28
+ getChangedObjects(ctx: Context, cursors: DataSourceCursor[], opts?: {
29
+ limit?: number;
30
+ }): Effect.Effect<{
31
+ objects: IndexerObject[];
32
+ cursors: DataSourceCursor[];
33
+ }>;
34
+ }
35
+ //# sourceMappingURL=automerge-data-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automerge-data-source.d.ts","sourceRoot":"","sources":["../../../../src/db-host/automerge-data-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAInG,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAKlD;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB;;;OAGG;IACH,MAAM,UAAU,CAAC,CAAC,KAAK,KAAG,MAAM;IAEhC;;OAEG;IACH,MAAM,WAAW,MAAM,KAAG,MAAM,EAAE;CACnC,CAAC;AAYF;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,eAAe;;IACzD,QAAQ,CAAC,UAAU,eAAe;IAIlC,YAAY,aAAa,EAAE,aAAa,EAEvC;IAED,iBAAiB,CACf,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,gBAAgB,EAAE,EAC3B,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACxB,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAAC,OAAO,EAAE,gBAAgB,EAAE,CAAA;KAAE,CAAC,CAqF1E;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=automerge-data-source.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automerge-data-source.test.d.ts","sourceRoot":"","sources":["../../../../src/db-host/automerge-data-source.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"automerge-metrics.d.ts","sourceRoot":"","sources":["../../../../src/db-host/automerge-metrics.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAI1C,MAAM,MAAM,UAAU,GAAG;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAG,UAqBnD,CAAC"}
1
+ {"version":3,"file":"automerge-metrics.d.ts","sourceRoot":"","sources":["../../../../src/db-host/automerge-metrics.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAI1C,MAAM,MAAM,UAAU,GAAG;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAG,UAqBnD,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { type RequestOptions } from '@dxos/codec-protobuf';
2
2
  import { Stream } from '@dxos/codec-protobuf/stream';
3
- import { type BatchedDocumentUpdates, type DataService, type FlushRequest, type GetDocumentHeadsRequest, type GetDocumentHeadsResponse, type GetSpaceSyncStateRequest, type ReIndexHeadsRequest, type SpaceSyncState, type SubscribeRequest, type UpdateRequest, type UpdateSubscriptionRequest, type WaitUntilHeadsReplicatedRequest } from '@dxos/protocols/proto/dxos/echo/service';
3
+ import { type BatchedDocumentUpdates, type CreateDocumentRequest, type CreateDocumentResponse, type DataService, type FlushRequest, type GetDocumentHeadsRequest, type GetDocumentHeadsResponse, type GetSpaceSyncStateRequest, type ReIndexHeadsRequest, type SpaceSyncState, type SubscribeRequest, type UpdateRequest, type UpdateSubscriptionRequest, type WaitUntilHeadsReplicatedRequest } from '@dxos/protocols/proto/dxos/echo/service';
4
4
  import { type AutomergeHost } from '../automerge';
5
5
  import { type SpaceStateManager } from './space-state-manager';
6
- export type DataServiceParams = {
6
+ export type DataServiceProps = {
7
7
  automergeHost: AutomergeHost;
8
8
  spaceStateManager: SpaceStateManager;
9
9
  updateIndexes: () => Promise<void>;
@@ -20,15 +20,21 @@ export declare class DataServiceImpl implements DataService {
20
20
  private readonly _automergeHost;
21
21
  private readonly _spaceStateManager;
22
22
  private readonly _updateIndexes;
23
- constructor(params: DataServiceParams);
23
+ constructor(params: DataServiceProps);
24
24
  subscribe(request: SubscribeRequest): Stream<BatchedDocumentUpdates>;
25
25
  updateSubscription(request: UpdateSubscriptionRequest): Promise<void>;
26
- update(request: UpdateRequest): Promise<void>;
27
- flush(request: FlushRequest): Promise<void>;
26
+ createDocument(request: CreateDocumentRequest): Promise<CreateDocumentResponse>;
27
+ update(request: UpdateRequest, options?: RequestOptions): Promise<void>;
28
+ flush(request: FlushRequest, options?: RequestOptions): Promise<void>;
28
29
  getDocumentHeads(request: GetDocumentHeadsRequest): Promise<GetDocumentHeadsResponse>;
29
30
  waitUntilHeadsReplicated(request: WaitUntilHeadsReplicatedRequest, options?: RequestOptions | undefined): Promise<void>;
30
- reIndexHeads(request: ReIndexHeadsRequest, options?: RequestOptions): Promise<void>;
31
+ reIndexHeads(request: ReIndexHeadsRequest, _options?: RequestOptions): Promise<void>;
31
32
  updateIndexes(): Promise<void>;
33
+ /**
34
+ * Test affordance: pause/resume flushing of document updates on every
35
+ * active subscription. See `DocumentsSynchronizer.setSendUpdatesPaused`.
36
+ */
37
+ setAllSubscriptionsSendUpdatesPaused(paused: boolean): void;
32
38
  subscribeSpaceSyncState(request: GetSpaceSyncStateRequest): Stream<SpaceSyncState>;
33
39
  }
34
40
  //# sourceMappingURL=data-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../../../../src/db-host/data-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAIrD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACrC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,KAAK,aAAa,EAAiC,MAAM,cAAc,CAAC;AAGjF,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAEF;;GAEG;AAEH,qBAAa,eAAgB,YAAW,WAAW;IACjD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAE3E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;gBAEzC,MAAM,EAAE,iBAAiB;IAMrC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,sBAAsB,CAAC;IAiB9D,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrE,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAarF,wBAAwB,CAC5B,OAAO,EAAE,+BAA+B,EACxC,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,GACnC,OAAO,CAAC,IAAI,CAAC;IAIV,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAInF,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAC,cAAc,CAAC;CA6BnF"}
1
+ {"version":3,"file":"data-service.d.ts","sourceRoot":"","sources":["../../../../src/db-host/data-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAKrD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,+BAA+B,EACrC,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,KAAK,aAAa,EAAiC,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAEF;;GAEG;AAEH,qBAAa,eAAgB,YAAW,WAAW;IACjD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAE3E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAErD,YAAY,MAAM,EAAE,gBAAgB,EAInC;IAED,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAenE;IAEK,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU1E;IAEK,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAGpF;IAEK,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E;IAEK,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;IAEK,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAW1F;IAEK,wBAAwB,CAC5B,OAAO,EAAE,+BAA+B,EACxC,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf;IAEK,YAAY,CAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;IAEK,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAEnC;IAED;;;OAGG;IACH,oCAAoC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAI1D;IAED,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAC,cAAc,CAAC,CA4BjF;CACF"}
@@ -1,11 +1,17 @@
1
1
  import type * as A from '@automerge/automerge';
2
- import { type AutomergeUrl, type DocHandle, type DocumentId } from '@automerge/automerge-repo';
2
+ import { type AutomergeUrl, type DocHandle, type DocumentId, type DocumentQuery } from '@automerge/automerge-repo';
3
3
  import { DatabaseDirectory, SpaceDocVersion } from '@dxos/echo-protocol';
4
4
  import { type DocMetrics } from './automerge-metrics';
5
5
  export declare class DatabaseRoot {
6
- private readonly _rootHandle;
6
+ private readonly _query;
7
7
  static mapLinks(doc: DocHandle<DatabaseDirectory>, mapping: Record<DocumentId, DocumentId>): void;
8
- constructor(_rootHandle: DocHandle<DatabaseDirectory>);
8
+ /**
9
+ * @param _query - Live `DocumentQuery` for the root doc. Carries both the
10
+ * `DocHandle` (synchronously created with the query) and the actual
11
+ * readiness state. See `getHandleState` in `@dxos/echo-pipeline` for why
12
+ * we read liveness off the query rather than `DocHandle.*` predicates.
13
+ */
14
+ constructor(_query: DocumentQuery<DatabaseDirectory>);
9
15
  get documentId(): DocumentId;
10
16
  get url(): AutomergeUrl;
11
17
  get isLoaded(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"database-root.d.ts","sourceRoot":"","sources":["../../../../src/db-host/database-root.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAEtH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,qBAAqB,CAAC;AAEzE,qBAAa,YAAY;IAeX,OAAO,CAAC,QAAQ,CAAC,WAAW;IAdxC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,IAAI;gBAcpE,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAC;IAEtE,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,GAAG,iBAEN;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAEzC;IAED,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAItC,UAAU,IAAI,eAAe,GAAG,IAAI;IASpC,WAAW,IAAI,MAAM,GAAG,IAAI;IAS5B,oBAAoB,IAAI,MAAM,GAAG,IAAI;IASrC,oBAAoB,IAAI,MAAM,GAAG,IAAI;IASrC,qBAAqB,IAAI,YAAY,EAAE;IAQvC,cAAc,IAAI,UAAU,GAAG,IAAI;CAOpC"}
1
+ {"version":3,"file":"database-root.d.ts","sourceRoot":"","sources":["../../../../src/db-host/database-root.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,CAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAEnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,qBAAqB,CAAC;AAEzE,qBAAa,YAAY;IAqBX,OAAO,CAAC,QAAQ,CAAC,MAAM;IApBnC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,IAAI,CAYhG;IAED;;;;;OAKG;IACH,YAA6B,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAAI;IAEzE,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,GAAG,iBAEN;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAEzC;IAED,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAErC;IAED,UAAU,IAAI,eAAe,GAAG,IAAI,CAOnC;IAED,WAAW,IAAI,MAAM,GAAG,IAAI,CAO3B;IAED,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAOpC;IAED,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAOpC;IAED,qBAAqB,IAAI,YAAY,EAAE,CAMtC;IAED,cAAc,IAAI,UAAU,GAAG,IAAI,CAMlC;CACF"}
@@ -1,14 +1,15 @@
1
1
  import { type Heads } from '@automerge/automerge';
2
- import { type DocHandle, type DocumentId, type Repo } from '@automerge/automerge-repo';
3
- import { Resource } from '@dxos/context';
2
+ import { type DocumentId, type DocumentQuery } from '@automerge/automerge-repo';
3
+ import { Context, Resource } from '@dxos/context';
4
4
  import { type DatabaseDirectory } from '@dxos/echo-protocol';
5
5
  import { type BatchedDocumentUpdates, type DocumentUpdate } from '@dxos/protocols/proto/dxos/echo/service';
6
- export type DocumentsSynchronizerParams = {
7
- repo: Repo;
6
+ import type { AutomergeHost } from '../automerge';
7
+ export type DocumentsSynchronizerProps = {
8
+ automergeHost: AutomergeHost;
8
9
  sendUpdates: (updates: BatchedDocumentUpdates) => void;
9
10
  };
10
11
  interface DocSyncState {
11
- handle: DocHandle<DatabaseDirectory>;
12
+ docQuery: DocumentQuery<DatabaseDirectory>;
12
13
  lastSentHead?: Heads;
13
14
  clearSubscriptions?: () => void;
14
15
  }
@@ -16,6 +17,7 @@ interface DocSyncState {
16
17
  * Manages a connection and replication between worker's Automerge Repo and the client's Repo.
17
18
  */
18
19
  export declare class DocumentsSynchronizer extends Resource {
20
+ #private;
19
21
  private readonly _params;
20
22
  private readonly _syncStates;
21
23
  /**
@@ -23,16 +25,36 @@ export declare class DocumentsSynchronizer extends Resource {
23
25
  * Used to batch updates.
24
26
  */
25
27
  private readonly _pendingUpdates;
28
+ /**
29
+ * Documents whose on-disk probe completed negative and that need a
30
+ * mutation-less `requesting: true` transition update sent to the client.
31
+ * Cleared per-flush in `_checkAndSendUpdates`.
32
+ */
33
+ private readonly _pendingRequesting;
26
34
  /**
27
35
  * Job that schedules if there are pending updates.
28
36
  */
29
37
  private _sendUpdatesJob?;
30
- constructor(_params: DocumentsSynchronizerParams);
31
- addDocuments(documentIds: DocumentId[], retryCounter?: number, wrapAroundRetryDelay?: number): void;
38
+ constructor(_params: DocumentsSynchronizerProps);
39
+ /**
40
+ * Test affordance: pause/resume flushing of document updates to the client.
41
+ * See `#sendUpdatesPaused` for details. Idempotent.
42
+ */
43
+ setSendUpdatesPaused(paused: boolean): void;
44
+ addDocuments(documentIds: DocumentId[]): Promise<void>;
45
+ /**
46
+ * Probe local storage for the document; if not present, enqueue a
47
+ * `requesting: true` transition update so the client moves the handle
48
+ * from `'pending'` to `'requesting'` and disk-only callers can give up
49
+ * without waiting on the network. If the doc became `ready` before the
50
+ * probe completes (e.g. delivered concurrently by network/peer), no
51
+ * transition update is sent.
52
+ */
53
+ private _scheduleDiskProbe;
32
54
  removeDocuments(documentIds: DocumentId[]): void;
33
55
  protected _open(): Promise<void>;
34
56
  protected _close(): Promise<void>;
35
- update(updates: DocumentUpdate[]): Promise<void>;
57
+ update(ctx: Context, updates: DocumentUpdate[]): Promise<void>;
36
58
  private _startSync;
37
59
  _subscribeForChanges(syncState: DocSyncState): void;
38
60
  private _checkAndSendUpdates;
@@ -1 +1 @@
1
- {"version":3,"file":"documents-synchronizer.d.ts","sourceRoot":"","sources":["../../../../src/db-host/documents-synchronizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAGvF,OAAO,EAAkB,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAI3G,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACxD,CAAC;AAEF,UAAU,YAAY;IACpB,MAAM,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAKD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;IAarC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD;;OAEG;IACH,OAAO,CAAC,eAAe,CAAC,CAA8B;gBAEzB,OAAO,EAAE,2BAA2B;IAIjE,YAAY,CACV,WAAW,EAAE,UAAU,EAAE,EACzB,YAAY,SAAI,EAChB,oBAAoB,SAAkC,GACrD,IAAI;IAwBP,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;cAQvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAMtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD,OAAO,CAAC,UAAU;IAYlB,oBAAoB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;YASrC,oBAAoB;IAqBlC,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,cAAc;CAqBvB"}
1
+ {"version":3,"file":"documents-synchronizer.d.ts","sourceRoot":"","sources":["../../../../src/db-host/documents-synchronizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAGhF,OAAO,EAAE,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAG3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACxD,CAAC;AAEF,UAAU,YAAY;IACpB,QAAQ,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAKD;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,QAAQ;;IA+BrC,OAAO,CAAC,QAAQ,CAAC,OAAO;IA9BpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IACnE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IAEzD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyB;IAE5D;;OAEG;IACH,OAAO,CAAC,eAAe,CAAC,CAA8B;IAatD,YAA6B,OAAO,EAAE,0BAA0B,EAE/D;IAED;;;OAGG;IACH,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAQ1C;IAEK,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B3D;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAuB1B,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAO/C;IAED,UAAyB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAI9C;IAED,UAAyB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/C;IAEK,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAenE;IAED,OAAO,CAAC,UAAU;IAYlB,oBAAoB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAOlD;YAEa,oBAAoB;IAyClC,OAAO,CAAC,kBAAkB;YAmBZ,cAAc;CAiB7B"}
@@ -1,26 +1,37 @@
1
- import { type AnyDocumentId, type AutomergeUrl, type DocHandle, type DocumentId, type Repo } from '@automerge/automerge-repo';
2
- import { type Context, Resource } from '@dxos/context';
1
+ import { type AnyDocumentId, type AutomergeUrl, type DocHandle, type DocumentId } from '@automerge/automerge-repo';
2
+ import * as SqlClient from '@effect/sql/SqlClient';
3
+ import { Context, Resource } from '@dxos/context';
4
+ import { RuntimeProvider } from '@dxos/effect';
5
+ import { FeedStore } from '@dxos/feed';
6
+ import { IndexEngine } from '@dxos/index-core';
3
7
  import { type PublicKey, type SpaceId } from '@dxos/keys';
4
8
  import { type LevelDB } from '@dxos/kv-store';
5
- import { type CreateDocOptions, type EchoDataStats, type EchoReplicator, type LoadDocOptions, type PeerIdProvider, type RootDocumentSpaceKeyProvider } from '../automerge';
9
+ import { type FeedProtocol } from '@dxos/protocols';
10
+ import type { SyncQueueRequest } from '@dxos/protocols/proto/dxos/client/services';
11
+ import type * as SqlTransaction from '@dxos/sql-sqlite/SqlTransaction';
12
+ import { type AutomergeReplicator, type CreateDocOptions, type EchoDataStats, type LoadDocOptions, type PeerIdProvider, type RootDocumentSpaceKeyProvider } from '../automerge';
6
13
  import { DataServiceImpl } from './data-service';
7
14
  import { type DatabaseRoot } from './database-root';
8
15
  import { QueryServiceImpl } from './query-service';
9
- export interface EchoHostIndexingConfig {
16
+ export type EchoHostProps = {
17
+ kv: LevelDB;
18
+ peerIdProvider?: PeerIdProvider;
19
+ getSpaceKeyByRootDocumentId?: RootDocumentSpaceKeyProvider;
20
+ runtime: RuntimeProvider.RuntimeProvider<SqlClient.SqlClient | SqlTransaction.SqlTransaction>;
21
+ /**
22
+ * This peer is allowed to assign positions (global-order) to items appended to the queue.
23
+ * @default false
24
+ */
25
+ assignQueuePositions?: boolean;
10
26
  /**
11
- * @default true
27
+ * Callback to run blocking queue sync.
12
28
  */
13
- fullText: boolean;
29
+ syncQueue?: (ctx: Context, request: SyncQueueRequest) => Promise<void>;
14
30
  /**
31
+ * Enable Subduction sedimentree transport for Automerge document replication.
15
32
  * @default false
16
33
  */
17
- vector: boolean;
18
- }
19
- export type EchoHostParams = {
20
- kv: LevelDB;
21
- peerIdProvider?: PeerIdProvider;
22
- getSpaceKeyByRootDocumentId?: RootDocumentSpaceKeyProvider;
23
- indexing?: Partial<EchoHostIndexingConfig>;
34
+ useSubduction?: boolean;
24
35
  };
25
36
  /**
26
37
  * Host for the Echo database.
@@ -29,54 +40,89 @@ export type EchoHostParams = {
29
40
  * Can sync with pluggable data replicators.
30
41
  */
31
42
  export declare class EchoHost extends Resource {
32
- private readonly _indexMetadataStore;
33
- private readonly _indexer;
34
43
  private readonly _automergeHost;
35
44
  private readonly _queryService;
36
45
  private readonly _dataService;
37
46
  private readonly _spaceStateManager;
38
47
  private readonly _echoDataMonitor;
39
- constructor({ kv, indexing, peerIdProvider, getSpaceKeyByRootDocumentId }: EchoHostParams);
48
+ private readonly _automergeDataSource;
49
+ private readonly _indexEngine;
50
+ private readonly _runtime;
51
+ private readonly _feedStore;
52
+ private readonly _queueDataSource;
53
+ private _updateIndexes;
54
+ private _queuesService;
55
+ private _indexesUpToDate;
56
+ constructor({ kv, peerIdProvider, getSpaceKeyByRootDocumentId, runtime, assignQueuePositions, syncQueue, useSubduction }: EchoHostProps);
57
+ get spaceIds(): SpaceId[];
40
58
  get queryService(): QueryServiceImpl;
41
59
  get dataService(): DataServiceImpl;
60
+ get queuesService(): FeedProtocol.QueueService;
61
+ get roots(): ReadonlyMap<DocumentId, DatabaseRoot>;
62
+ get feedStore(): FeedStore;
42
63
  /**
43
- * @deprecated To be abstracted away.
64
+ * Index engine for queries.
44
65
  */
45
- get automergeRepo(): Repo;
46
- get roots(): ReadonlyMap<DocumentId, DatabaseRoot>;
66
+ get indexEngine(): IndexEngine;
47
67
  protected _open(ctx: Context): Promise<void>;
48
68
  protected _close(ctx: Context): Promise<void>;
49
69
  /**
50
70
  * Flush all pending writes to the underlying storage.
51
71
  */
52
- flush(): Promise<void>;
72
+ flush(ctx: Context): Promise<void>;
53
73
  /**
54
74
  * Perform any pending index updates.
75
+ *
76
+ * Bails as a no-op when the host has been closed: a late `db.flush()` RPC
77
+ * (client still has an open service ref while the host is in/post-teardown)
78
+ * has nothing to update against. The pre-loop and post-iteration
79
+ * `_ctx.disposed` checks prevent `runBlocking` from being entered against a
80
+ * disposed context — which would throw `ContextDisposedError` and escape as
81
+ * an unhandled rejection at the fire-and-forget originating caller. Other
82
+ * `Resource` methods in this codebase (e.g. `LevelDBStorageAdapter.load`)
83
+ * follow the same closed-host early-out pattern.
55
84
  */
56
85
  updateIndexes(): Promise<void>;
57
86
  /**
58
87
  * Loads the document handle from the repo and waits for it to be ready.
88
+ *
89
+ * @returns `null` when the document is not available yet (e.g. storage-only load with no local chunks).
59
90
  */
60
- loadDoc<T>(ctx: Context, documentId: AnyDocumentId, opts?: LoadDocOptions): Promise<DocHandle<T>>;
61
- exportDoc(ctx: Context, id: AnyDocumentId): Promise<Uint8Array>;
91
+ loadDoc<T>(ctx: Context, documentId: AnyDocumentId, opts?: LoadDocOptions): Promise<DocHandle<T> | null>;
92
+ exportDoc(id: AnyDocumentId): Promise<Uint8Array>;
62
93
  /**
63
94
  * Create new persisted document.
64
95
  */
65
- createDoc<T>(initialValue?: T, opts?: CreateDocOptions): DocHandle<T>;
96
+ createDoc<T>(initialValue?: T, opts?: CreateDocOptions): Promise<DocHandle<T>>;
66
97
  /**
67
98
  * Create new space root.
68
99
  */
69
- createSpaceRoot(spaceKey: PublicKey): Promise<DatabaseRoot>;
70
- openSpaceRoot(spaceId: SpaceId, automergeUrl: AutomergeUrl): Promise<DatabaseRoot>;
71
- closeSpaceRoot(automergeUrl: AutomergeUrl): Promise<void>;
100
+ createSpaceRoot(ctx: Context, spaceKey: PublicKey): Promise<DatabaseRoot>;
101
+ openSpaceRoot(ctx: Context, spaceId: SpaceId, automergeUrl: AutomergeUrl): Promise<DatabaseRoot>;
102
+ closeSpaceRoot(_automergeUrl: AutomergeUrl): Promise<void>;
72
103
  /**
73
104
  * Install data replicator.
74
105
  */
75
- addReplicator(replicator: EchoReplicator): Promise<void>;
106
+ addReplicator(ctx: Context, replicator: AutomergeReplicator): Promise<void>;
76
107
  /**
77
108
  * Remove data replicator.
78
109
  */
79
- removeReplicator(replicator: EchoReplicator): Promise<void>;
110
+ removeReplicator(replicator: AutomergeReplicator): Promise<void>;
111
+ /**
112
+ * Run collection sync for the given space.
113
+ * Does not wait for the sync to complete.
114
+ */
115
+ runCollectionSync(spaceId: SpaceId): Promise<void>;
116
+ /**
117
+ * Get all feeds and their blocks for a space.
118
+ * Used for space archive export.
119
+ */
120
+ getAllFeedsForSpace(spaceId: SpaceId): Promise<Array<{
121
+ feedId: string;
122
+ feedNamespace: string;
123
+ blocks: FeedProtocol.Block[];
124
+ }>>;
125
+ private _runUpdateIndexes;
80
126
  }
81
127
  export type { EchoDataStats };
82
128
  export type EchoStatsDiagnostic = {
@@ -1 +1 @@
1
- {"version":3,"file":"echo-host.d.ts","sourceRoot":"","sources":["../../../../src/db-host/echo-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"echo-host.d.ts","sourceRoot":"","sources":["../../../../src/db-host/echo-host.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
+ export * from './automerge-data-source';
1
2
  export * from './data-service';
2
3
  export * from './documents-synchronizer';
3
4
  export * from './echo-host';
4
5
  export * from './database-root';
6
+ export * from './invalidation-hint';
5
7
  export * from './query-service';
6
8
  export * from './space-state-manager';
7
9
  //# sourceMappingURL=index.d.ts.map