@dxos/echo-pipeline 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 (189) hide show
  1. package/dist/lib/{browser/chunk-XGG76KKU.mjs → neutral/chunk-VIHYDCCC.mjs} +404 -963
  2. package/dist/lib/neutral/chunk-VIHYDCCC.mjs.map +7 -0
  3. package/dist/lib/{browser/chunk-BVR7OOZK.mjs → neutral/chunk-YBC6ONBZ.mjs} +23 -27
  4. package/dist/lib/neutral/chunk-YBC6ONBZ.mjs.map +7 -0
  5. package/dist/lib/{browser → neutral}/filter/index.mjs +1 -2
  6. package/dist/lib/{browser → neutral}/index.mjs +3143 -2206
  7. package/dist/lib/neutral/index.mjs.map +7 -0
  8. package/dist/lib/neutral/meta.json +1 -0
  9. package/dist/lib/{browser → neutral}/testing/index.mjs +103 -395
  10. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  11. package/dist/types/src/automerge/automerge-host.d.ts +43 -23
  12. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  13. package/dist/types/src/automerge/automerge-repo.test.d.ts +1 -1
  14. package/dist/types/src/automerge/automerge-repo.test.d.ts.map +1 -1
  15. package/dist/types/src/automerge/collection-synchronizer.d.ts +5 -3
  16. package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
  17. package/dist/types/src/automerge/echo-data-monitor.d.ts.map +1 -1
  18. package/dist/types/src/automerge/echo-network-adapter.d.ts +17 -11
  19. package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
  20. package/dist/types/src/automerge/echo-replicator.d.ts +20 -16
  21. package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
  22. package/dist/types/src/automerge/heads-store.d.ts +9 -2
  23. package/dist/types/src/automerge/heads-store.d.ts.map +1 -1
  24. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +4 -4
  25. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
  26. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +8 -8
  27. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
  28. package/dist/types/src/automerge/mesh-echo-replicator.d.ts +6 -5
  29. package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
  30. package/dist/types/src/automerge/network-protocol.d.ts.map +1 -1
  31. package/dist/types/src/automerge/space-collection.d.ts.map +1 -1
  32. package/dist/types/src/common/feeds.d.ts.map +1 -1
  33. package/dist/types/src/common/space-id.d.ts.map +1 -1
  34. package/dist/types/src/db-host/automerge-data-source.d.ts +35 -0
  35. package/dist/types/src/db-host/automerge-data-source.d.ts.map +1 -0
  36. package/dist/types/src/db-host/automerge-data-source.test.d.ts +2 -0
  37. package/dist/types/src/db-host/automerge-data-source.test.d.ts.map +1 -0
  38. package/dist/types/src/db-host/automerge-metrics.d.ts.map +1 -1
  39. package/dist/types/src/db-host/data-service.d.ts +7 -6
  40. package/dist/types/src/db-host/data-service.d.ts.map +1 -1
  41. package/dist/types/src/db-host/database-root.d.ts.map +1 -1
  42. package/dist/types/src/db-host/documents-synchronizer.d.ts +8 -7
  43. package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
  44. package/dist/types/src/db-host/echo-host.d.ts +58 -28
  45. package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
  46. package/dist/types/src/db-host/index.d.ts +2 -0
  47. package/dist/types/src/db-host/index.d.ts.map +1 -1
  48. package/dist/types/src/db-host/invalidation-hint.d.ts +19 -0
  49. package/dist/types/src/db-host/invalidation-hint.d.ts.map +1 -0
  50. package/dist/types/src/db-host/local-queue-service.d.ts +19 -0
  51. package/dist/types/src/db-host/local-queue-service.d.ts.map +1 -0
  52. package/dist/types/src/db-host/query-invalidation.test.d.ts +2 -0
  53. package/dist/types/src/db-host/query-invalidation.test.d.ts.map +1 -0
  54. package/dist/types/src/db-host/query-service.d.ts +18 -10
  55. package/dist/types/src/db-host/query-service.d.ts.map +1 -1
  56. package/dist/types/src/db-host/queue-data-source.d.ts +38 -0
  57. package/dist/types/src/db-host/queue-data-source.d.ts.map +1 -0
  58. package/dist/types/src/db-host/queue-service.test.d.ts +2 -0
  59. package/dist/types/src/db-host/queue-service.test.d.ts.map +1 -0
  60. package/dist/types/src/db-host/space-state-manager.d.ts +1 -0
  61. package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
  62. package/dist/types/src/db-host/stub.d.ts +11 -0
  63. package/dist/types/src/db-host/stub.d.ts.map +1 -0
  64. package/dist/types/src/edge/echo-edge-replicator.d.ts +7 -6
  65. package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
  66. package/dist/types/src/edge/inflight-request-limiter.d.ts.map +1 -1
  67. package/dist/types/src/filter/filter-match.d.ts +2 -2
  68. package/dist/types/src/filter/filter-match.d.ts.map +1 -1
  69. package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
  70. package/dist/types/src/pipeline/message-selector.d.ts.map +1 -1
  71. package/dist/types/src/pipeline/pipeline.d.ts +2 -2
  72. package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
  73. package/dist/types/src/pipeline/timeframe-clock.d.ts.map +1 -1
  74. package/dist/types/src/query/errors.d.ts +16 -20
  75. package/dist/types/src/query/errors.d.ts.map +1 -1
  76. package/dist/types/src/query/plan.d.ts +59 -8
  77. package/dist/types/src/query/plan.d.ts.map +1 -1
  78. package/dist/types/src/query/query-executor.d.ts +62 -10
  79. package/dist/types/src/query/query-executor.d.ts.map +1 -1
  80. package/dist/types/src/query/query-planner.d.ts +10 -1
  81. package/dist/types/src/query/query-planner.d.ts.map +1 -1
  82. package/dist/types/src/space/admission-discovery-extension.d.ts.map +1 -1
  83. package/dist/types/src/space/auth.d.ts +3 -3
  84. package/dist/types/src/space/auth.d.ts.map +1 -1
  85. package/dist/types/src/space/control-pipeline.d.ts +4 -3
  86. package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
  87. package/dist/types/src/space/space-manager.d.ts +7 -7
  88. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  89. package/dist/types/src/space/space-protocol.d.ts +9 -8
  90. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  91. package/dist/types/src/space/space.d.ts +5 -5
  92. package/dist/types/src/space/space.d.ts.map +1 -1
  93. package/dist/types/src/testing/change-metadata.d.ts.map +1 -1
  94. package/dist/types/src/testing/index.d.ts +0 -2
  95. package/dist/types/src/testing/index.d.ts.map +1 -1
  96. package/dist/types/src/testing/test-agent-builder.d.ts.map +1 -1
  97. package/dist/types/src/testing/test-feed-builder.d.ts.map +1 -1
  98. package/dist/types/src/testing/test-network-adapter.d.ts +1 -1
  99. package/dist/types/src/testing/test-network-adapter.d.ts.map +1 -1
  100. package/dist/types/src/testing/test-replicator.d.ts +13 -13
  101. package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
  102. package/dist/types/src/util.d.ts.map +1 -1
  103. package/dist/types/tsconfig.tsbuildinfo +1 -1
  104. package/package.json +51 -54
  105. package/src/automerge/automerge-host.test.ts +42 -23
  106. package/src/automerge/automerge-host.ts +163 -88
  107. package/src/automerge/automerge-repo.test.ts +149 -32
  108. package/src/automerge/collection-synchronizer.test.ts +19 -13
  109. package/src/automerge/collection-synchronizer.ts +69 -28
  110. package/src/automerge/echo-network-adapter.test.ts +2 -1
  111. package/src/automerge/echo-network-adapter.ts +40 -29
  112. package/src/automerge/echo-replicator.ts +21 -16
  113. package/src/automerge/heads-store.ts +42 -3
  114. package/src/automerge/leveldb-storage-adapter.ts +4 -4
  115. package/src/automerge/mesh-echo-replicator-connection.ts +8 -8
  116. package/src/automerge/mesh-echo-replicator.ts +14 -11
  117. package/src/db-host/automerge-data-source.test.ts +299 -0
  118. package/src/db-host/automerge-data-source.ts +186 -0
  119. package/src/db-host/data-service.ts +17 -10
  120. package/src/db-host/documents-synchronizer.test.ts +143 -14
  121. package/src/db-host/documents-synchronizer.ts +54 -51
  122. package/src/db-host/echo-host.ts +321 -86
  123. package/src/db-host/index.ts +2 -0
  124. package/src/db-host/invalidation-hint.ts +50 -0
  125. package/src/db-host/local-queue-service.ts +127 -0
  126. package/src/db-host/query-invalidation.test.ts +270 -0
  127. package/src/db-host/query-service.ts +110 -112
  128. package/src/db-host/queue-data-source.ts +159 -0
  129. package/src/db-host/queue-service.test.ts +145 -0
  130. package/src/db-host/space-state-manager.ts +5 -1
  131. package/src/db-host/stub.ts +33 -0
  132. package/src/edge/echo-edge-replicator.test.ts +9 -9
  133. package/src/edge/echo-edge-replicator.ts +76 -47
  134. package/src/filter/filter-match.test.ts +41 -25
  135. package/src/filter/filter-match.ts +33 -36
  136. package/src/metadata/metadata-store.ts +8 -5
  137. package/src/pipeline/pipeline-stress.test.ts +1 -3
  138. package/src/pipeline/pipeline.test.ts +0 -1
  139. package/src/pipeline/pipeline.ts +2 -3
  140. package/src/query/errors.ts +2 -2
  141. package/src/query/plan.ts +71 -8
  142. package/src/query/query-executor.ts +1170 -197
  143. package/src/query/query-planner.test.ts +854 -86
  144. package/src/query/query-planner.ts +408 -38
  145. package/src/space/admission-discovery-extension.ts +1 -1
  146. package/src/space/auth.ts +6 -6
  147. package/src/space/control-pipeline.test.ts +2 -2
  148. package/src/space/control-pipeline.ts +7 -7
  149. package/src/space/space-manager.ts +12 -17
  150. package/src/space/space-protocol.browser.test.ts +13 -12
  151. package/src/space/space-protocol.test.ts +13 -13
  152. package/src/space/space-protocol.ts +16 -15
  153. package/src/space/space.test.ts +2 -2
  154. package/src/space/space.ts +9 -10
  155. package/src/testing/index.ts +0 -2
  156. package/src/testing/test-agent-builder.ts +0 -1
  157. package/src/testing/test-network-adapter.ts +16 -3
  158. package/src/testing/test-replicator.ts +19 -18
  159. package/src/util.ts +7 -3
  160. package/dist/lib/browser/chunk-BVR7OOZK.mjs.map +0 -7
  161. package/dist/lib/browser/chunk-CGS2ULMK.mjs +0 -11
  162. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +0 -7
  163. package/dist/lib/browser/chunk-XGG76KKU.mjs.map +0 -7
  164. package/dist/lib/browser/index.mjs.map +0 -7
  165. package/dist/lib/browser/meta.json +0 -1
  166. package/dist/lib/browser/testing/index.mjs.map +0 -7
  167. package/dist/lib/node-esm/chunk-CHMJJ4DG.mjs +0 -2230
  168. package/dist/lib/node-esm/chunk-CHMJJ4DG.mjs.map +0 -7
  169. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  170. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  171. package/dist/lib/node-esm/chunk-L3ZEKVDR.mjs +0 -251
  172. package/dist/lib/node-esm/chunk-L3ZEKVDR.mjs.map +0 -7
  173. package/dist/lib/node-esm/filter/index.mjs +0 -13
  174. package/dist/lib/node-esm/filter/index.mjs.map +0 -7
  175. package/dist/lib/node-esm/index.mjs +0 -5560
  176. package/dist/lib/node-esm/index.mjs.map +0 -7
  177. package/dist/lib/node-esm/meta.json +0 -1
  178. package/dist/lib/node-esm/testing/index.mjs +0 -805
  179. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  180. package/dist/types/src/db-host/documents-iterator.d.ts +0 -7
  181. package/dist/types/src/db-host/documents-iterator.d.ts.map +0 -1
  182. package/dist/types/src/testing/test-data.d.ts +0 -18
  183. package/dist/types/src/testing/test-data.d.ts.map +0 -1
  184. package/dist/types/src/testing/test-schema.d.ts +0 -37
  185. package/dist/types/src/testing/test-schema.d.ts.map +0 -1
  186. package/src/db-host/documents-iterator.ts +0 -74
  187. package/src/testing/test-data.ts +0 -127
  188. package/src/testing/test-schema.ts +0 -53
  189. /package/dist/lib/{browser → neutral}/filter/index.mjs.map +0 -0
@@ -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,CAoF1E;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,14 +20,15 @@ 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>;
32
33
  subscribeSpaceSyncState(request: GetSpaceSyncStateRequest): Stream<SpaceSyncState>;
33
34
  }
@@ -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,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAAC,cAAc,CAAC,CA4BjF;CACF"}
@@ -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,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,CAYhG;IAED,YAA6B,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAC,EAAI;IAE1E,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,10 +1,11 @@
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 DocHandle, type DocumentId } 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 {
@@ -27,12 +28,12 @@ export declare class DocumentsSynchronizer extends Resource {
27
28
  * Job that schedules if there are pending updates.
28
29
  */
29
30
  private _sendUpdatesJob?;
30
- constructor(_params: DocumentsSynchronizerParams);
31
- addDocuments(documentIds: DocumentId[], retryCounter?: number, wrapAroundRetryDelay?: number): void;
31
+ constructor(_params: DocumentsSynchronizerProps);
32
+ addDocuments(documentIds: DocumentId[]): Promise<void>;
32
33
  removeDocuments(documentIds: DocumentId[]): void;
33
34
  protected _open(): Promise<void>;
34
35
  protected _close(): Promise<void>;
35
- update(updates: DocumentUpdate[]): Promise<void>;
36
+ update(ctx: Context, updates: DocumentUpdate[]): Promise<void>;
36
37
  private _startSync;
37
38
  _subscribeForChanges(syncState: DocSyncState): void;
38
39
  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,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5E,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,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;IAEtD,YAA6B,OAAO,EAAE,0BAA0B,EAE/D;IAEK,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4B3D;IAED,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAM/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,CAQnE;IAED,OAAO,CAAC,UAAU;IAYlB,oBAAoB,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAOlD;YAEa,oBAAoB;IAqBlC,OAAO,CAAC,kBAAkB;YAgBZ,cAAc;CAiB7B"}
@@ -1,26 +1,32 @@
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>;
10
21
  /**
11
- * @default true
22
+ * This peer is allowed to assign positions (global-order) to items appended to the queue.
23
+ * @default false
12
24
  */
13
- fullText: boolean;
25
+ assignQueuePositions?: boolean;
14
26
  /**
15
- * @default false
27
+ * Callback to run blocking queue sync.
16
28
  */
17
- vector: boolean;
18
- }
19
- export type EchoHostParams = {
20
- kv: LevelDB;
21
- peerIdProvider?: PeerIdProvider;
22
- getSpaceKeyByRootDocumentId?: RootDocumentSpaceKeyProvider;
23
- indexing?: Partial<EchoHostIndexingConfig>;
29
+ syncQueue?: (ctx: Context, request: SyncQueueRequest) => Promise<void>;
24
30
  };
25
31
  /**
26
32
  * Host for the Echo database.
@@ -29,27 +35,36 @@ export type EchoHostParams = {
29
35
  * Can sync with pluggable data replicators.
30
36
  */
31
37
  export declare class EchoHost extends Resource {
32
- private readonly _indexMetadataStore;
33
- private readonly _indexer;
34
38
  private readonly _automergeHost;
35
39
  private readonly _queryService;
36
40
  private readonly _dataService;
37
41
  private readonly _spaceStateManager;
38
42
  private readonly _echoDataMonitor;
39
- constructor({ kv, indexing, peerIdProvider, getSpaceKeyByRootDocumentId }: EchoHostParams);
43
+ private readonly _automergeDataSource;
44
+ private readonly _indexEngine;
45
+ private readonly _runtime;
46
+ private readonly _feedStore;
47
+ private readonly _queueDataSource;
48
+ private _updateIndexes;
49
+ private _queuesService;
50
+ private _indexesUpToDate;
51
+ constructor({ kv, peerIdProvider, getSpaceKeyByRootDocumentId, runtime, assignQueuePositions, syncQueue }: EchoHostProps);
52
+ get spaceIds(): SpaceId[];
40
53
  get queryService(): QueryServiceImpl;
41
54
  get dataService(): DataServiceImpl;
55
+ get queuesService(): FeedProtocol.QueueService;
56
+ get roots(): ReadonlyMap<DocumentId, DatabaseRoot>;
57
+ get feedStore(): FeedStore;
42
58
  /**
43
- * @deprecated To be abstracted away.
59
+ * Index engine for queries.
44
60
  */
45
- get automergeRepo(): Repo;
46
- get roots(): ReadonlyMap<DocumentId, DatabaseRoot>;
61
+ get indexEngine(): IndexEngine;
47
62
  protected _open(ctx: Context): Promise<void>;
48
63
  protected _close(ctx: Context): Promise<void>;
49
64
  /**
50
65
  * Flush all pending writes to the underlying storage.
51
66
  */
52
- flush(): Promise<void>;
67
+ flush(ctx: Context): Promise<void>;
53
68
  /**
54
69
  * Perform any pending index updates.
55
70
  */
@@ -58,25 +73,40 @@ export declare class EchoHost extends Resource {
58
73
  * Loads the document handle from the repo and waits for it to be ready.
59
74
  */
60
75
  loadDoc<T>(ctx: Context, documentId: AnyDocumentId, opts?: LoadDocOptions): Promise<DocHandle<T>>;
61
- exportDoc(ctx: Context, id: AnyDocumentId): Promise<Uint8Array>;
76
+ exportDoc(id: AnyDocumentId): Promise<Uint8Array>;
62
77
  /**
63
78
  * Create new persisted document.
64
79
  */
65
- createDoc<T>(initialValue?: T, opts?: CreateDocOptions): DocHandle<T>;
80
+ createDoc<T>(initialValue?: T, opts?: CreateDocOptions): Promise<DocHandle<T>>;
66
81
  /**
67
82
  * Create new space root.
68
83
  */
69
- createSpaceRoot(spaceKey: PublicKey): Promise<DatabaseRoot>;
70
- openSpaceRoot(spaceId: SpaceId, automergeUrl: AutomergeUrl): Promise<DatabaseRoot>;
71
- closeSpaceRoot(automergeUrl: AutomergeUrl): Promise<void>;
84
+ createSpaceRoot(ctx: Context, spaceKey: PublicKey): Promise<DatabaseRoot>;
85
+ openSpaceRoot(ctx: Context, spaceId: SpaceId, automergeUrl: AutomergeUrl): Promise<DatabaseRoot>;
86
+ closeSpaceRoot(_automergeUrl: AutomergeUrl): Promise<void>;
72
87
  /**
73
88
  * Install data replicator.
74
89
  */
75
- addReplicator(replicator: EchoReplicator): Promise<void>;
90
+ addReplicator(ctx: Context, replicator: AutomergeReplicator): Promise<void>;
76
91
  /**
77
92
  * Remove data replicator.
78
93
  */
79
- removeReplicator(replicator: EchoReplicator): Promise<void>;
94
+ removeReplicator(replicator: AutomergeReplicator): Promise<void>;
95
+ /**
96
+ * Run collection sync for the given space.
97
+ * Does not wait for the sync to complete.
98
+ */
99
+ runCollectionSync(spaceId: SpaceId): Promise<void>;
100
+ /**
101
+ * Get all feeds and their blocks for a space.
102
+ * Used for space archive export.
103
+ */
104
+ getAllFeedsForSpace(spaceId: SpaceId): Promise<Array<{
105
+ feedId: string;
106
+ feedNamespace: string;
107
+ blocks: FeedProtocol.Block[];
108
+ }>>;
109
+ private _runUpdateIndexes;
80
110
  }
81
111
  export type { EchoDataStats };
82
112
  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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db-host/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/db-host/index.ts"],"names":[],"mappings":"AAIA,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { IndexingResult } from '@dxos/index-core';
2
+ import type { ObjectId, SpaceId } from '@dxos/keys';
3
+ export type InvalidationHint = {
4
+ spaceIds?: ReadonlySet<SpaceId>;
5
+ queueIds?: ReadonlySet<ObjectId>;
6
+ typenames?: ReadonlySet<string>;
7
+ objectIds?: ReadonlySet<ObjectId>;
8
+ };
9
+ /**
10
+ * Converts an IndexingResult to an InvalidationHint.
11
+ * Returns undefined when nothing was indexed (no need to invalidate).
12
+ */
13
+ export declare const hintFromIndexingResult: (r: IndexingResult) => InvalidationHint | undefined;
14
+ /**
15
+ * Merges two hints for the same tick.
16
+ * If either side leaves a dimension unconstrained (undefined), the merged result is also unconstrained on that dimension.
17
+ */
18
+ export declare const mergeHints: (a: InvalidationHint, b: InvalidationHint) => InvalidationHint;
19
+ //# sourceMappingURL=invalidation-hint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalidation-hint.d.ts","sourceRoot":"","sources":["../../../../src/db-host/invalidation-hint.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,MAAO,cAAc,KAAG,gBAAgB,GAAG,SAU7E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,MAAO,gBAAgB,KAAK,gBAAgB,KAAG,gBAKpE,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type * as SqlClient from '@effect/sql/SqlClient';
2
+ import { type RequestOptions } from '@dxos/codec-protobuf';
3
+ import { Context } from '@dxos/context';
4
+ import { RuntimeProvider } from '@dxos/effect';
5
+ import { type FeedStore } from '@dxos/feed';
6
+ import { type DeleteFromQueueRequest, type InsertIntoQueueRequest, type QueryQueueRequest, type QueueQueryResult, type QueueService, type SyncQueueRequest } from '@dxos/protocols/proto/dxos/client/services';
7
+ import type { SqlTransaction } from '@dxos/sql-sqlite';
8
+ /**
9
+ * Writes queue data to a local FeedStore.
10
+ */
11
+ export declare class LocalQueueServiceImpl implements QueueService {
12
+ #private;
13
+ constructor(runtime: RuntimeProvider.RuntimeProvider<SqlClient.SqlClient | SqlTransaction.SqlTransaction>, feedStore: FeedStore, syncQueue?: (ctx: Context, request: SyncQueueRequest) => Promise<void>);
14
+ queryQueue(request: QueryQueueRequest): Promise<QueueQueryResult>;
15
+ insertIntoQueue(request: InsertIntoQueueRequest): Promise<void>;
16
+ deleteFromQueue(request: DeleteFromQueueRequest): Promise<void>;
17
+ syncQueue(request: SyncQueueRequest, options?: RequestOptions): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=local-queue-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-queue-service.d.ts","sourceRoot":"","sources":["../../../../src/db-host/local-queue-service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,qBAAa,qBAAsB,YAAW,YAAY;;IAKxD,YACE,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,EAC7F,SAAS,EAAE,SAAS,EACpB,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,EAKvE;IAED,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgChE;IAED,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9D;IAED,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB9D;IAEK,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=query-invalidation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-invalidation.test.d.ts","sourceRoot":"","sources":["../../../../src/db-host/query-invalidation.test.ts"],"names":[],"mappings":""}
@@ -1,32 +1,40 @@
1
+ import type * as SqlClient from '@effect/sql/SqlClient';
1
2
  import { Stream } from '@dxos/codec-protobuf/stream';
2
3
  import { Resource } from '@dxos/context';
3
- import { type Indexer } from '@dxos/indexing';
4
- import { type IndexConfig } from '@dxos/protocols/proto/dxos/echo/indexing';
4
+ import { type RuntimeProvider } from '@dxos/effect';
5
+ import { type IndexEngine } from '@dxos/index-core';
5
6
  import { type QueryRequest, type QueryResponse, type QueryService } from '@dxos/protocols/proto/dxos/echo/query';
6
7
  import { type AutomergeHost } from '../automerge';
8
+ import { type InvalidationHint } from './invalidation-hint';
7
9
  import type { SpaceStateManager } from './space-state-manager';
8
- export type QueryServiceParams = {
9
- indexer: Indexer;
10
+ export type QueryServiceProps = {
11
+ indexEngine: IndexEngine;
12
+ runtime: RuntimeProvider.RuntimeProvider<SqlClient.SqlClient>;
10
13
  automergeHost: AutomergeHost;
11
14
  spaceStateManager: SpaceStateManager;
12
15
  };
13
16
  export declare class QueryServiceImpl extends Resource implements QueryService {
17
+ #private;
14
18
  private readonly _params;
15
19
  private readonly _queries;
16
20
  private _updateQueries;
17
- constructor(_params: QueryServiceParams);
21
+ constructor(_params: QueryServiceProps);
18
22
  _open(): Promise<void>;
19
23
  _close(): Promise<void>;
20
- setConfig(config: IndexConfig): Promise<void>;
21
- execQuery(request: QueryRequest): Stream<QueryResponse>;
22
24
  /**
23
- * Re-index all loaded documents.
25
+ * @deprecated No longer needed with SQL-based indexing.
26
+ */
27
+ setConfig(): Promise<void>;
28
+ /**
29
+ * @deprecated No longer needed with SQL-based indexing.
24
30
  */
25
31
  reindex(): Promise<void>;
32
+ execQuery(request: QueryRequest): Stream<QueryResponse>;
26
33
  /**
27
- * Schedule re-execution of all queries.
34
+ * Schedule re-execution of queries, optionally guided by a targeted hint.
35
+ * When called without a hint, all queries are marked dirty (catch-all invalidation).
28
36
  */
29
- invalidateQueries(): void;
37
+ invalidateQueries(hint?: InvalidationHint): void;
30
38
  private _createQuery;
31
39
  private _executeQueries;
32
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-service.d.ts","sourceRoot":"","sources":["../../../../src/db-host/query-service.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAW,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAkB,KAAK,OAAO,EAAuB,MAAM,gBAAgB,CAAC;AAGnF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAElB,KAAK,YAAY,EAClB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAAC;AAsBF,qBACa,gBAAiB,SAAQ,QAAS,YAAW,YAAY;IAMxD,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,OAAO,CAAC,cAAc,CAAgB;gBAGT,OAAO,EAAE,kBAAkB;IAkBzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKhC,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;IAkBvD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B;;OAEG;IACH,iBAAiB;IAOjB,OAAO,CAAC,YAAY;YAsCN,eAAe;CAyB9B"}
1
+ {"version":3,"file":"query-service.d.ts","sourceRoot":"","sources":["../../../../src/db-host/query-service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAgB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAElB,KAAK,YAAY,EAClB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,KAAK,gBAAgB,EAAc,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAAC;AAgCF,qBACa,gBAAiB,SAAQ,QAAS,YAAW,YAAY;;IAqBxD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAnBpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,OAAO,CAAC,cAAc,CAAgB;IAiBtC,YAA6B,OAAO,EAAE,iBAAiB,EAsBtD;IAEc,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpC;IAGc,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAGrC;IAED;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/B;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAG7B;IAED,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,CAUtD;IAED;;;OAGG;IACH,iBAAiB,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAY/C;IAED,OAAO,CAAC,YAAY;YAuCN,eAAe;CA2D9B"}
@@ -0,0 +1,38 @@
1
+ import type * as SqlClient from '@effect/sql/SqlClient';
2
+ import * as Effect from 'effect/Effect';
3
+ import { type Context } from '@dxos/context';
4
+ import { RuntimeProvider } from '@dxos/effect';
5
+ import { type FeedStore } from '@dxos/feed';
6
+ import { type DataSourceCursor, type IndexDataSource, type IndexerObject } from '@dxos/index-core';
7
+ import type { SpaceId } from '@dxos/keys';
8
+ export type QueueDataSourceOptions = {
9
+ feedStore: FeedStore;
10
+ runtime: RuntimeProvider.RuntimeProvider<SqlClient.SqlClient>;
11
+ /**
12
+ * Callback to get the list of space IDs that should be indexed.
13
+ */
14
+ getSpaceIds: () => SpaceId[];
15
+ /**
16
+ * Feed namespaces to index.
17
+ * @default [WellKnownNamespaces.data, WellKnownNamespaces.trace]
18
+ */
19
+ feedNamespaces?: string[];
20
+ };
21
+ export declare class QueueDataSource implements IndexDataSource {
22
+ readonly sourceName = "queue";
23
+ /**
24
+ * Feed namespaces to index.
25
+ */
26
+ private readonly _feedNamespaces;
27
+ private readonly _feedStore;
28
+ private readonly _runtime;
29
+ private readonly _getSpaceIds;
30
+ constructor(options: QueueDataSourceOptions);
31
+ getChangedObjects(_ctx: Context, cursors: DataSourceCursor[], opts?: {
32
+ limit?: number;
33
+ }): Effect.Effect<{
34
+ objects: IndexerObject[];
35
+ cursors: DataSourceCursor[];
36
+ }>;
37
+ }
38
+ //# sourceMappingURL=queue-data-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-data-source.d.ts","sourceRoot":"","sources":["../../../../src/db-host/queue-data-source.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEnG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,EAAE,CAAC;IAE7B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,UAAU,WAAW;IAE9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuD;IAChF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAE/C,YAAY,OAAO,EAAE,sBAAsB,EAQ1C;IAED,iBAAiB,CACf,IAAI,EAAE,OAAO,EACb,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,CAmG1E;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=queue-service.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-service.test.d.ts","sourceRoot":"","sources":["../../../../src/db-host/queue-service.test.ts"],"names":[],"mappings":""}
@@ -12,6 +12,7 @@ export declare class SpaceStateManager extends Resource {
12
12
  readonly spaceDocumentListUpdated: Event<SpaceDocumentListUpdatedEvent>;
13
13
  protected _close(ctx: Context): Promise<void>;
14
14
  get roots(): ReadonlyMap<DocumentId, DatabaseRoot>;
15
+ get spaceIds(): SpaceId[];
15
16
  getRootByDocumentId(documentId: DocumentId): DatabaseRoot | undefined;
16
17
  getSpaceRootDocumentId(spaceId: SpaceId): DocumentId | undefined;
17
18
  getRootBySpaceId(spaceId: SpaceId): DatabaseRoot | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"space-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/db-host/space-state-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAGnG,OAAO,EAAE,KAAK,EAAmB,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAoC;IAE3E,SAAgB,wBAAwB,uCAA8C;cAE7D,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5D,IAAI,KAAK,IAAI,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAEjD;IAED,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS;IAIrE,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS;IAIhE,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS;IAStD,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;CA+CvG;AAED,qBAAa,6BAA6B;aAEtB,OAAO,EAAE,OAAO;aAChB,WAAW,EAAE,UAAU;aACvB,cAAc,EAAE,UAAU,GAAG,SAAS;aACtC,WAAW,EAAE,UAAU,EAAE;gBAHzB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,UAAU,EACvB,cAAc,EAAE,UAAU,GAAG,SAAS,EACtC,WAAW,EAAE,UAAU,EAAE;CAE5C"}
1
+ {"version":3,"file":"space-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/db-host/space-state-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAyB,MAAM,2BAA2B,CAAC;AAGnG,OAAO,EAAE,KAAK,EAAmB,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAkB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAoC;IAE3E,SAAgB,wBAAwB,uCAA8C;IAEtF,UAAyB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3D;IAED,IAAI,KAAK,IAAI,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAEjD;IAED,IAAI,QAAQ,IAAI,OAAO,EAAE,CAExB;IAED,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAEpE;IAED,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAE/D;IAED,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAO3D;IAEK,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CA8CrG;CACF;AAED,qBAAa,6BAA6B;aAEtB,OAAO,EAAE,OAAO;aAChB,WAAW,EAAE,UAAU;aACvB,cAAc,EAAE,UAAU,GAAG,SAAS;aACtC,WAAW,EAAE,UAAU,EAAE;IAJ3C,YACkB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,UAAU,EACvB,cAAc,EAAE,UAAU,GAAG,SAAS,EACtC,WAAW,EAAE,UAAU,EAAE,EACvC;CACL"}
@@ -0,0 +1,11 @@
1
+ import type { DeleteFromQueueRequest, InsertIntoQueueRequest, QueryQueueRequest, QueueQueryResult, QueueService, SyncQueueRequest } from '@dxos/protocols/proto/dxos/client/services';
2
+ /**
3
+ * Stub implementation for when Edge is not available.
4
+ */
5
+ export declare class QueueServiceStub implements QueueService {
6
+ queryQueue(request: QueryQueueRequest): Promise<QueueQueryResult>;
7
+ insertIntoQueue(request: InsertIntoQueueRequest): Promise<void>;
8
+ deleteFromQueue(request: DeleteFromQueueRequest): Promise<void>;
9
+ syncQueue(request: SyncQueueRequest): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=stub.d.ts.map