@dxos/echo-pipeline 0.8.3 → 0.8.4-main.1c7ec43d41

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 (239) hide show
  1. package/dist/lib/{browser/chunk-35I6ERLG.mjs → neutral/chunk-VIHYDCCC.mjs} +313 -709
  2. package/dist/lib/neutral/chunk-VIHYDCCC.mjs.map +7 -0
  3. package/dist/lib/neutral/chunk-YBC6ONBZ.mjs +247 -0
  4. package/dist/lib/neutral/chunk-YBC6ONBZ.mjs.map +7 -0
  5. package/dist/lib/{browser → neutral}/filter/index.mjs +3 -2
  6. package/dist/lib/neutral/index.mjs +7065 -0
  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 +90 -311
  10. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  11. package/dist/types/src/automerge/automerge-host-subduction.test.d.ts +2 -0
  12. package/dist/types/src/automerge/automerge-host-subduction.test.d.ts.map +1 -0
  13. package/dist/types/src/automerge/automerge-host.d.ts +99 -54
  14. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  15. package/dist/types/src/automerge/automerge-repo-subduction.test.d.ts +2 -0
  16. package/dist/types/src/automerge/automerge-repo-subduction.test.d.ts.map +1 -0
  17. package/dist/types/src/automerge/automerge-repo.test.d.ts +1 -1
  18. package/dist/types/src/automerge/automerge-repo.test.d.ts.map +1 -1
  19. package/dist/types/src/automerge/automerge-subduction.test.d.ts +2 -0
  20. package/dist/types/src/automerge/automerge-subduction.test.d.ts.map +1 -0
  21. package/dist/types/src/automerge/collection-synchronizer.d.ts +25 -4
  22. package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
  23. package/dist/types/src/automerge/echo-data-monitor.d.ts.map +1 -1
  24. package/dist/types/src/automerge/echo-network-adapter.d.ts +23 -10
  25. package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
  26. package/dist/types/src/automerge/echo-replicator.d.ts +38 -15
  27. package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
  28. package/dist/types/src/automerge/handle-state.d.ts +52 -0
  29. package/dist/types/src/automerge/handle-state.d.ts.map +1 -0
  30. package/dist/types/src/automerge/heads-store.d.ts +9 -2
  31. package/dist/types/src/automerge/heads-store.d.ts.map +1 -1
  32. package/dist/types/src/automerge/index.d.ts +2 -1
  33. package/dist/types/src/automerge/index.d.ts.map +1 -1
  34. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +9 -5
  35. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
  36. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +9 -8
  37. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
  38. package/dist/types/src/automerge/mesh-echo-replicator.d.ts +6 -5
  39. package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
  40. package/dist/types/src/automerge/network-protocol.d.ts.map +1 -1
  41. package/dist/types/src/automerge/space-collection.d.ts.map +1 -1
  42. package/dist/types/src/common/codec.d.ts +1 -1
  43. package/dist/types/src/common/codec.d.ts.map +1 -1
  44. package/dist/types/src/common/feeds.d.ts.map +1 -1
  45. package/dist/types/src/common/space-id.d.ts.map +1 -1
  46. package/dist/types/src/db-host/automerge-data-source.d.ts +35 -0
  47. package/dist/types/src/db-host/automerge-data-source.d.ts.map +1 -0
  48. package/dist/types/src/db-host/automerge-data-source.test.d.ts +2 -0
  49. package/dist/types/src/db-host/automerge-data-source.test.d.ts.map +1 -0
  50. package/dist/types/src/db-host/automerge-metrics.d.ts.map +1 -1
  51. package/dist/types/src/db-host/data-service.d.ts +8 -7
  52. package/dist/types/src/db-host/data-service.d.ts.map +1 -1
  53. package/dist/types/src/db-host/database-root.d.ts +9 -3
  54. package/dist/types/src/db-host/database-root.d.ts.map +1 -1
  55. package/dist/types/src/db-host/documents-synchronizer.d.ts +9 -8
  56. package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
  57. package/dist/types/src/db-host/echo-host.d.ts +62 -27
  58. package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
  59. package/dist/types/src/db-host/index.d.ts +2 -0
  60. package/dist/types/src/db-host/index.d.ts.map +1 -1
  61. package/dist/types/src/db-host/invalidation-hint.d.ts +19 -0
  62. package/dist/types/src/db-host/invalidation-hint.d.ts.map +1 -0
  63. package/dist/types/src/db-host/local-queue-service.d.ts +19 -0
  64. package/dist/types/src/db-host/local-queue-service.d.ts.map +1 -0
  65. package/dist/types/src/db-host/query-invalidation.test.d.ts +2 -0
  66. package/dist/types/src/db-host/query-invalidation.test.d.ts.map +1 -0
  67. package/dist/types/src/db-host/query-service.d.ts +19 -11
  68. package/dist/types/src/db-host/query-service.d.ts.map +1 -1
  69. package/dist/types/src/db-host/queue-data-source.d.ts +38 -0
  70. package/dist/types/src/db-host/queue-data-source.d.ts.map +1 -0
  71. package/dist/types/src/db-host/queue-service.test.d.ts +2 -0
  72. package/dist/types/src/db-host/queue-service.test.d.ts.map +1 -0
  73. package/dist/types/src/db-host/space-state-manager.d.ts +4 -3
  74. package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
  75. package/dist/types/src/db-host/stub.d.ts +11 -0
  76. package/dist/types/src/db-host/stub.d.ts.map +1 -0
  77. package/dist/types/src/edge/echo-edge-replicator.d.ts +10 -7
  78. package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
  79. package/dist/types/src/edge/echo-edge-subduction-replicator.d.ts +39 -0
  80. package/dist/types/src/edge/echo-edge-subduction-replicator.d.ts.map +1 -0
  81. package/dist/types/src/edge/echo-edge-subduction-replicator.test.d.ts +2 -0
  82. package/dist/types/src/edge/echo-edge-subduction-replicator.test.d.ts.map +1 -0
  83. package/dist/types/src/edge/index.d.ts +1 -0
  84. package/dist/types/src/edge/index.d.ts.map +1 -1
  85. package/dist/types/src/edge/inflight-request-limiter.d.ts.map +1 -1
  86. package/dist/types/src/filter/filter-match.d.ts +4 -1
  87. package/dist/types/src/filter/filter-match.d.ts.map +1 -1
  88. package/dist/types/src/metadata/metadata-store.d.ts +1 -1
  89. package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
  90. package/dist/types/src/pipeline/message-selector.d.ts.map +1 -1
  91. package/dist/types/src/pipeline/pipeline.d.ts +3 -3
  92. package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
  93. package/dist/types/src/pipeline/timeframe-clock.d.ts.map +1 -1
  94. package/dist/types/src/query/errors.d.ts +22 -10
  95. package/dist/types/src/query/errors.d.ts.map +1 -1
  96. package/dist/types/src/query/plan.d.ts +66 -8
  97. package/dist/types/src/query/plan.d.ts.map +1 -1
  98. package/dist/types/src/query/query-executor.d.ts +66 -11
  99. package/dist/types/src/query/query-executor.d.ts.map +1 -1
  100. package/dist/types/src/query/query-planner.d.ts +12 -1
  101. package/dist/types/src/query/query-planner.d.ts.map +1 -1
  102. package/dist/types/src/space/admission-discovery-extension.d.ts.map +1 -1
  103. package/dist/types/src/space/auth.d.ts +3 -3
  104. package/dist/types/src/space/auth.d.ts.map +1 -1
  105. package/dist/types/src/space/control-pipeline.d.ts +5 -4
  106. package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
  107. package/dist/types/src/space/space-manager.d.ts +8 -8
  108. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  109. package/dist/types/src/space/space-protocol.d.ts +10 -9
  110. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  111. package/dist/types/src/space/space.d.ts +6 -6
  112. package/dist/types/src/space/space.d.ts.map +1 -1
  113. package/dist/types/src/testing/change-metadata.d.ts.map +1 -1
  114. package/dist/types/src/testing/index.d.ts +0 -2
  115. package/dist/types/src/testing/index.d.ts.map +1 -1
  116. package/dist/types/src/testing/test-agent-builder.d.ts +2 -2
  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 +14 -13
  122. package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
  123. package/dist/types/src/util.d.ts +1 -1
  124. package/dist/types/src/util.d.ts.map +1 -1
  125. package/dist/types/tsconfig.tsbuildinfo +1 -1
  126. package/package.json +56 -54
  127. package/src/automerge/automerge-host-subduction.test.ts +247 -0
  128. package/src/automerge/automerge-host.test.ts +65 -39
  129. package/src/automerge/automerge-host.ts +589 -206
  130. package/src/automerge/automerge-repo-subduction.test.ts +1049 -0
  131. package/src/automerge/automerge-repo.test.ts +349 -91
  132. package/src/automerge/automerge-subduction.test.ts +330 -0
  133. package/src/automerge/collection-synchronizer.test.ts +53 -17
  134. package/src/automerge/collection-synchronizer.ts +119 -36
  135. package/src/automerge/echo-data-monitor.ts +1 -1
  136. package/src/automerge/echo-network-adapter.test.ts +5 -4
  137. package/src/automerge/echo-network-adapter.ts +74 -30
  138. package/src/automerge/echo-replicator.ts +41 -15
  139. package/src/automerge/handle-state.ts +62 -0
  140. package/src/automerge/heads-store.ts +42 -3
  141. package/src/automerge/index.ts +2 -1
  142. package/src/automerge/leveldb-storage-adapter.ts +40 -11
  143. package/src/automerge/mesh-echo-replicator-connection.ts +12 -8
  144. package/src/automerge/mesh-echo-replicator.ts +15 -11
  145. package/src/automerge/storage-adapter.test.ts +1 -1
  146. package/src/common/space-id.ts +1 -1
  147. package/src/db-host/automerge-data-source.test.ts +299 -0
  148. package/src/db-host/automerge-data-source.ts +187 -0
  149. package/src/db-host/data-service.ts +25 -26
  150. package/src/db-host/database-root.ts +20 -8
  151. package/src/db-host/documents-synchronizer.test.ts +143 -14
  152. package/src/db-host/documents-synchronizer.ts +72 -55
  153. package/src/db-host/echo-host.ts +348 -96
  154. package/src/db-host/index.ts +2 -0
  155. package/src/db-host/invalidation-hint.ts +50 -0
  156. package/src/db-host/local-queue-service.ts +127 -0
  157. package/src/db-host/query-invalidation.test.ts +270 -0
  158. package/src/db-host/query-service.ts +111 -106
  159. package/src/db-host/queue-data-source.ts +160 -0
  160. package/src/db-host/queue-service.test.ts +145 -0
  161. package/src/db-host/space-state-manager.ts +12 -10
  162. package/src/db-host/stub.ts +33 -0
  163. package/src/edge/echo-edge-replicator.test.ts +12 -10
  164. package/src/edge/echo-edge-replicator.ts +144 -58
  165. package/src/edge/echo-edge-subduction-replicator.test.ts +158 -0
  166. package/src/edge/echo-edge-subduction-replicator.ts +377 -0
  167. package/src/edge/index.ts +1 -0
  168. package/src/filter/filter-match.test.ts +68 -32
  169. package/src/filter/filter-match.ts +184 -20
  170. package/src/metadata/metadata-store.ts +11 -8
  171. package/src/pipeline/pipeline-stress.test.ts +1 -1
  172. package/src/pipeline/pipeline.test.ts +2 -2
  173. package/src/pipeline/pipeline.ts +9 -7
  174. package/src/query/errors.ts +3 -1
  175. package/src/query/plan.ts +82 -8
  176. package/src/query/query-executor.ts +1199 -164
  177. package/src/query/query-planner.test.ts +993 -81
  178. package/src/query/query-planner.ts +467 -27
  179. package/src/space/admission-discovery-extension.ts +3 -3
  180. package/src/space/auth.ts +6 -6
  181. package/src/space/control-pipeline.test.ts +5 -4
  182. package/src/space/control-pipeline.ts +16 -13
  183. package/src/space/space-manager.browser.test.ts +1 -1
  184. package/src/space/space-manager.ts +16 -20
  185. package/src/space/space-protocol.browser.test.ts +15 -14
  186. package/src/space/space-protocol.test.ts +15 -14
  187. package/src/space/space-protocol.ts +22 -18
  188. package/src/space/space.test.ts +3 -3
  189. package/src/space/space.ts +11 -11
  190. package/src/testing/index.ts +0 -2
  191. package/src/testing/test-agent-builder.ts +3 -3
  192. package/src/testing/test-network-adapter.ts +24 -3
  193. package/src/testing/test-replicator.ts +19 -20
  194. package/src/util.ts +7 -3
  195. package/dist/lib/browser/chunk-35I6ERLG.mjs.map +0 -7
  196. package/dist/lib/browser/chunk-CGS2ULMK.mjs +0 -11
  197. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +0 -7
  198. package/dist/lib/browser/chunk-TQJTKNMS.mjs +0 -126
  199. package/dist/lib/browser/chunk-TQJTKNMS.mjs.map +0 -7
  200. package/dist/lib/browser/index.mjs +0 -4743
  201. package/dist/lib/browser/index.mjs.map +0 -7
  202. package/dist/lib/browser/meta.json +0 -1
  203. package/dist/lib/browser/testing/index.mjs.map +0 -7
  204. package/dist/lib/node/chunk-HOPOFWAL.cjs +0 -147
  205. package/dist/lib/node/chunk-HOPOFWAL.cjs.map +0 -7
  206. package/dist/lib/node/chunk-JXX6LF5U.cjs +0 -2084
  207. package/dist/lib/node/chunk-JXX6LF5U.cjs.map +0 -7
  208. package/dist/lib/node/chunk-Q7SFCCGT.cjs +0 -33
  209. package/dist/lib/node/chunk-Q7SFCCGT.cjs.map +0 -7
  210. package/dist/lib/node/filter/index.cjs +0 -32
  211. package/dist/lib/node/filter/index.cjs.map +0 -7
  212. package/dist/lib/node/index.cjs +0 -4699
  213. package/dist/lib/node/index.cjs.map +0 -7
  214. package/dist/lib/node/meta.json +0 -1
  215. package/dist/lib/node/testing/index.cjs +0 -753
  216. package/dist/lib/node/testing/index.cjs.map +0 -7
  217. package/dist/lib/node-esm/chunk-5BHLPT24.mjs +0 -2067
  218. package/dist/lib/node-esm/chunk-5BHLPT24.mjs.map +0 -7
  219. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  220. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  221. package/dist/lib/node-esm/chunk-RVK35BS7.mjs +0 -126
  222. package/dist/lib/node-esm/chunk-RVK35BS7.mjs.map +0 -7
  223. package/dist/lib/node-esm/filter/index.mjs +0 -11
  224. package/dist/lib/node-esm/filter/index.mjs.map +0 -7
  225. package/dist/lib/node-esm/index.mjs +0 -4743
  226. package/dist/lib/node-esm/index.mjs.map +0 -7
  227. package/dist/lib/node-esm/meta.json +0 -1
  228. package/dist/lib/node-esm/testing/index.mjs +0 -742
  229. package/dist/lib/node-esm/testing/index.mjs.map +0 -7
  230. package/dist/types/src/db-host/documents-iterator.d.ts +0 -7
  231. package/dist/types/src/db-host/documents-iterator.d.ts.map +0 -1
  232. package/dist/types/src/testing/test-data.d.ts +0 -18
  233. package/dist/types/src/testing/test-data.d.ts.map +0 -1
  234. package/dist/types/src/testing/test-schema.d.ts +0 -37
  235. package/dist/types/src/testing/test-schema.d.ts.map +0 -1
  236. package/src/db-host/documents-iterator.ts +0 -74
  237. package/src/testing/test-data.ts +0 -127
  238. package/src/testing/test-schema.ts +0 -53
  239. /package/dist/lib/{browser → neutral}/filter/index.mjs.map +0 -0
@@ -1,26 +1,37 @@
1
- import { type AnyDocumentId, type AutomergeUrl, type DocHandle, type DocumentId, type Repo } from '@automerge/automerge-repo';
2
- import { Resource, type Context } 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';
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';
5
13
  import { DataServiceImpl } from './data-service';
6
14
  import { type DatabaseRoot } from './database-root';
7
15
  import { QueryServiceImpl } from './query-service';
8
- import { type LoadDocOptions, type CreateDocOptions, type EchoReplicator, type EchoDataStats, type PeerIdProvider, type RootDocumentSpaceKeyProvider } from '../automerge';
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,27 +40,36 @@ 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.
55
75
  */
@@ -58,25 +78,40 @@ export declare class EchoHost extends Resource {
58
78
  * Loads the document handle from the repo and waits for it to be ready.
59
79
  */
60
80
  loadDoc<T>(ctx: Context, documentId: AnyDocumentId, opts?: LoadDocOptions): Promise<DocHandle<T>>;
61
- exportDoc(ctx: Context, id: AnyDocumentId): Promise<Uint8Array>;
81
+ exportDoc(id: AnyDocumentId): Promise<Uint8Array>;
62
82
  /**
63
83
  * Create new persisted document.
64
84
  */
65
- createDoc<T>(initialValue?: T, opts?: CreateDocOptions): DocHandle<T>;
85
+ createDoc<T>(initialValue?: T, opts?: CreateDocOptions): Promise<DocHandle<T>>;
66
86
  /**
67
87
  * Create new space root.
68
88
  */
69
- createSpaceRoot(spaceKey: PublicKey): Promise<DatabaseRoot>;
70
- openSpaceRoot(spaceId: SpaceId, automergeUrl: AutomergeUrl): Promise<DatabaseRoot>;
71
- closeSpaceRoot(automergeUrl: AutomergeUrl): Promise<void>;
89
+ createSpaceRoot(ctx: Context, spaceKey: PublicKey): Promise<DatabaseRoot>;
90
+ openSpaceRoot(ctx: Context, spaceId: SpaceId, automergeUrl: AutomergeUrl): Promise<DatabaseRoot>;
91
+ closeSpaceRoot(_automergeUrl: AutomergeUrl): Promise<void>;
72
92
  /**
73
93
  * Install data replicator.
74
94
  */
75
- addReplicator(replicator: EchoReplicator): Promise<void>;
95
+ addReplicator(ctx: Context, replicator: AutomergeReplicator): Promise<void>;
76
96
  /**
77
97
  * Remove data replicator.
78
98
  */
79
- removeReplicator(replicator: EchoReplicator): Promise<void>;
99
+ removeReplicator(replicator: AutomergeReplicator): Promise<void>;
100
+ /**
101
+ * Run collection sync for the given space.
102
+ * Does not wait for the sync to complete.
103
+ */
104
+ runCollectionSync(spaceId: SpaceId): Promise<void>;
105
+ /**
106
+ * Get all feeds and their blocks for a space.
107
+ * Used for space archive export.
108
+ */
109
+ getAllFeedsForSpace(spaceId: SpaceId): Promise<Array<{
110
+ feedId: string;
111
+ feedNamespace: string;
112
+ blocks: FeedProtocol.Block[];
113
+ }>>;
114
+ private _runUpdateIndexes;
80
115
  }
81
116
  export type { EchoDataStats };
82
117
  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
- import type { SpaceStateManager } from './space-state-manager';
7
7
  import { type AutomergeHost } from '../automerge';
8
- export type QueryServiceParams = {
9
- indexer: Indexer;
8
+ import { type InvalidationHint } from './invalidation-hint';
9
+ import type { SpaceStateManager } from './space-state-manager';
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,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,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;IAYvD;;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,CAoG1E;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":""}
@@ -1,6 +1,6 @@
1
- import { type DocHandle, type DocumentId } from '@automerge/automerge-repo';
1
+ import { type DocumentId, type DocumentQuery } from '@automerge/automerge-repo';
2
2
  import { Event } from '@dxos/async';
3
- import { Resource, Context } from '@dxos/context';
3
+ import { Context, Resource } from '@dxos/context';
4
4
  import { type DatabaseDirectory } from '@dxos/echo-protocol';
5
5
  import { type SpaceId } from '@dxos/keys';
6
6
  import { DatabaseRoot } from './database-root';
@@ -12,10 +12,11 @@ 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;
18
- assignRootToSpace(spaceId: SpaceId, handle: DocHandle<DatabaseDirectory>): Promise<DatabaseRoot>;
19
+ assignRootToSpace(spaceId: SpaceId, query: DocumentQuery<DatabaseDirectory>): Promise<DatabaseRoot>;
19
20
  }
20
21
  export declare class SpaceDocumentListUpdatedEvent {
21
22
  readonly spaceId: SpaceId;
@@ -1 +1 @@
1
- {"version":3,"file":"space-state-manager.d.ts","sourceRoot":"","sources":["../../../../src/db-host/space-state-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyB,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGnG,OAAO,EAAE,KAAK,EAAmB,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAkB,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,UAAU,EAAE,KAAK,aAAa,EAAyB,MAAM,2BAA2B,CAAC;AAGvG,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,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CA4CxG;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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stub.d.ts","sourceRoot":"","sources":["../../../../src/db-host/stub.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EACjB,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEhE;IAED,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;IAED,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;IAED,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAElD;CACF"}
@@ -1,23 +1,26 @@
1
- import { type EdgeConnection } from '@dxos/edge-client';
1
+ import { Context } from '@dxos/context';
2
+ import { type EdgeConnection, type EdgeHttpClient } from '@dxos/edge-client';
2
3
  import type { SpaceId } from '@dxos/keys';
3
- import { type EchoReplicator, type EchoReplicatorContext } from '../automerge';
4
- export type EchoEdgeReplicatorParams = {
4
+ import { type AutomergeReplicator, type AutomergeReplicatorContext } from '../automerge';
5
+ export type EchoEdgeReplicatorProps = {
5
6
  edgeConnection: EdgeConnection;
7
+ edgeHttpClient: EdgeHttpClient;
6
8
  disableSharePolicy?: boolean;
7
9
  };
8
- export declare class EchoEdgeReplicator implements EchoReplicator {
10
+ export declare class EchoEdgeReplicator implements AutomergeReplicator {
9
11
  private readonly _edgeConnection;
12
+ private readonly _edgeHttpClient;
10
13
  private readonly _mutex;
11
14
  private _ctx?;
12
15
  private _context;
13
16
  private _connectedSpaces;
14
17
  private _connections;
15
18
  private _sharePolicyEnabled;
16
- constructor({ edgeConnection, disableSharePolicy }: EchoEdgeReplicatorParams);
17
- connect(context: EchoReplicatorContext): Promise<void>;
19
+ constructor({ edgeConnection, edgeHttpClient, disableSharePolicy }: EchoEdgeReplicatorProps);
20
+ connect(ctx: Context, context: AutomergeReplicatorContext): Promise<void>;
18
21
  private _handleReconnect;
19
22
  disconnect(): Promise<void>;
20
- connectToSpace(spaceId: SpaceId): Promise<void>;
23
+ connectToSpace(ctx: Context, spaceId: SpaceId): Promise<void>;
21
24
  disconnectFromSpace(spaceId: SpaceId): Promise<void>;
22
25
  private _openConnection;
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"echo-edge-replicator.d.ts","sourceRoot":"","sources":["../../../../src/edge/echo-edge-replicator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAW1C,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAI3B,MAAM,cAAc,CAAC;AAStB,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,OAAO,CAAC,IAAI,CAAC,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,YAAY,CAAgD;IACpE,OAAO,CAAC,mBAAmB,CAAQ;gBAEvB,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,wBAAwB;IAKtE,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;YAW9C,gBAAgB;IAgBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/C,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAY5C,eAAe;CAoD9B"}
1
+ {"version":3,"file":"echo-edge-replicator.d.ts","sourceRoot":"","sources":["../../../../src/edge/echo-edge-replicator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAY,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAmB1C,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,0BAA0B,EAIhC,MAAM,cAAc,CAAC;AAUtB,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,qBACa,kBAAmB,YAAW,mBAAmB;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,OAAO,CAAC,IAAI,CAAC,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,YAAY,CAAgD;IACpE,OAAO,CAAC,mBAAmB,CAAQ;IAEnC,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,uBAAuB,EAI1F;IAEK,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9E;YAEa,gBAAgB;IAgBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhC;IAGK,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlE;IAEK,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzD;YAGa,eAAe;CAwD9B"}
@@ -0,0 +1,39 @@
1
+ import { Context } from '@dxos/context';
2
+ import { type EdgeConnection, type EdgeHttpClient } from '@dxos/edge-client';
3
+ import type { SpaceId } from '@dxos/keys';
4
+ import { type AutomergeReplicator, type AutomergeReplicatorContext } from '../automerge';
5
+ export type EchoEdgeSubductionReplicatorProps = {
6
+ edgeConnection: EdgeConnection;
7
+ edgeHttpClient: EdgeHttpClient;
8
+ disableSharePolicy?: boolean;
9
+ };
10
+ /**
11
+ * Edge replicator for the Subduction transport.
12
+ *
13
+ * Subduction byte tunnel over the Edge router WebSocket. Every inbound router message
14
+ * targeting the subduction service is forwarded verbatim to the local Repo via an
15
+ * {@link AutomergeReplicatorConnection}. Outbound repo messages are wrapped in a router
16
+ * frame and sent to the edge.
17
+ *
18
+ * No classical automerge-repo sync, collection-query/state, bundle sync, or rate-limiting
19
+ * runs through this class — Subduction's sedimentree protocol replaces those
20
+ * responsibilities. For the classical sync path see {@link EchoEdgeReplicator}.
21
+ */
22
+ export declare class EchoEdgeSubductionReplicator implements AutomergeReplicator {
23
+ private readonly _edgeConnection;
24
+ private readonly _edgeHttpClient;
25
+ private readonly _mutex;
26
+ private readonly _disableSharePolicy;
27
+ private _ctx?;
28
+ private _context;
29
+ private _connectedSpaces;
30
+ private _connections;
31
+ constructor({ edgeConnection, edgeHttpClient, disableSharePolicy }: EchoEdgeSubductionReplicatorProps);
32
+ connect(ctx: Context, context: AutomergeReplicatorContext): Promise<void>;
33
+ private _handleReconnect;
34
+ disconnect(): Promise<void>;
35
+ connectToSpace(ctx: Context, spaceId: SpaceId): Promise<void>;
36
+ disconnectFromSpace(spaceId: SpaceId): Promise<void>;
37
+ private _openConnection;
38
+ }
39
+ //# sourceMappingURL=echo-edge-subduction-replicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo-edge-subduction-replicator.d.ts","sourceRoot":"","sources":["../../../../src/edge/echo-edge-subduction-replicator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAY,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAW1C,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,0BAA0B,EAIhC,MAAM,cAAc,CAAC;AAStB,MAAM,MAAM,iCAAiC,GAAG;IAC9C,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qBACa,4BAA6B,YAAW,mBAAmB;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAE9C,OAAO,CAAC,IAAI,CAAC,CAAsB;IACnC,OAAO,CAAC,QAAQ,CAA2C;IAC3D,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,YAAY,CAA0D;IAE9E,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,iCAAiC,EAIpG;IAEK,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9E;YAEa,gBAAgB;IAgBxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAQhC;IAGK,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlE;IAEK,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzD;YAEa,eAAe;CAuD9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=echo-edge-subduction-replicator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo-edge-subduction-replicator.test.d.ts","sourceRoot":"","sources":["../../../../src/edge/echo-edge-subduction-replicator.test.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  export * from './echo-edge-replicator';
2
+ export * from './echo-edge-subduction-replicator';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/edge/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/edge/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC;AACvC,cAAc,mCAAmC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inflight-request-limiter.d.ts","sourceRoot":"","sources":["../../../../src/edge/inflight-request-limiter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,KAAK,4BAA4B,GAAG;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,QAAQ;IAUtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,oBAAoB,CAA6B;gBAE5B,OAAO,EAAE,4BAA4B;cAIzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAMtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC,SAAS,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjE,cAAc,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;CAU/D"}
1
+ {"version":3,"file":"inflight-request-limiter.d.ts","sourceRoot":"","sources":["../../../../src/edge/inflight-request-limiter.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,KAAK,4BAA4B,GAAG;IAClC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,QAAQ;IAUtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IATpC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,oBAAoB,CAA6B;IAEzD,YAA6B,OAAO,EAAE,4BAA4B,EAEjE;IAED,UAAyB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAI9C;IAED,UAAyB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAI/C;IAEY,SAAS,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvE;IAEM,cAAc,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAS7D;CACF"}
@@ -1,4 +1,5 @@
1
- import { type QueryAST, type ObjectStructure } from '@dxos/echo-protocol';
1
+ import { ObjectStructure, type QueryAST } from '@dxos/echo-protocol';
2
+ import { type ObjectJSON } from '@dxos/echo/internal';
2
3
  import { type ObjectId, type SpaceId } from '@dxos/keys';
3
4
  export type MatchedObject = {
4
5
  id: ObjectId;
@@ -7,7 +8,9 @@ export type MatchedObject = {
7
8
  };
8
9
  /**
9
10
  * Matches an object against a filter AST.
11
+ * @param obj object structure as stored in automerge.
10
12
  */
11
13
  export declare const filterMatchObject: (filter: QueryAST.Filter, obj: MatchedObject) => boolean;
14
+ export declare const filterMatchObjectJSON: (filter: QueryAST.Filter, obj: ObjectJSON) => boolean;
12
15
  export declare const filterMatchValue: (filter: QueryAST.Filter, value: unknown) => boolean;
13
16
  //# sourceMappingURL=filter-match.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-match.d.ts","sourceRoot":"","sources":["../../../../src/filter/filter-match.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuC,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE/G,OAAO,EAAO,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,QAAQ,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,KAAK,aAAa,KAAG,OAsE/E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,OAAO,OAAO,KAAG,OA4C1E,CAAC"}
1
+ {"version":3,"file":"filter-match.d.ts","sourceRoot":"","sources":["../../../../src/filter/filter-match.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,eAAe,EAAE,KAAK,QAAQ,EAAsB,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAO,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,QAAQ,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,eAAe,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,WAAY,QAAQ,CAAC,MAAM,OAAO,aAAa,KAAG,OA+E/E,CAAC;AAGF,eAAO,MAAM,qBAAqB,WAAY,QAAQ,CAAC,MAAM,OAAO,UAAU,KAAG,OAmFhF,CAAC;AAsCF,eAAO,MAAM,gBAAgB,WAAY,QAAQ,CAAC,MAAM,SAAS,OAAO,KAAG,OA4E1E,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { Event } from '@dxos/async';
2
2
  import { PublicKey } from '@dxos/keys';
3
3
  import { Invitation, SpaceState } from '@dxos/protocols/proto/dxos/client/services';
4
- import { type ControlPipelineSnapshot, type EchoMetadata, type SpaceMetadata, type IdentityRecord, type SpaceCache, type EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';
4
+ import { type ControlPipelineSnapshot, type EchoMetadata, type EdgeReplicationSetting, type IdentityRecord, type SpaceCache, type SpaceMetadata } from '@dxos/protocols/proto/dxos/echo/metadata';
5
5
  import { type Directory } from '@dxos/random-access-storage';
6
6
  import { type Timeframe } from '@dxos/timeframe';
7
7
  export interface AddSpaceOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../../src/metadata/metadata-store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAsC,MAAM,aAAa,CAAC;AAIxE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EAEf,KAAK,sBAAsB,EAC5B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,SAAS,CAAC;IACf,WAAW,EAAE,SAAS,CAAC;CACxB;AAWD,QAAA,MAAM,YAAY,yDAA4D,CAAC;AAG/E,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,mBAAmB,CAAiE;IAE5F,OAAO,CAAC,aAAa,CAAC,CAAmB;IAEzC,SAAgB,MAAM,sBAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;gBAO3C,SAAS,EAAE,SAAS;IAIhC,IAAI,QAAQ,IAAI,YAAY,CAE3B;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,aAAa,EAAE,CAE5B;YAEa,SAAS;IA+CjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;OAEG;IAEG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAgDb,KAAK;YAcL,uBAAuB;YAavB,uBAAuB;IAM/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,aAAa;IAW7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO;IAStC,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,iBAAiB,IAAI,cAAc,GAAG,SAAS;IAIzC,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9D,cAAc,IAAI,UAAU,EAAE;IAIxB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpD,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,2BAA2B,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrF,8BAA8B,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxF,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1G,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAM1E,+BAA+B,CAAC,QAAQ,EAAE,SAAS,GAAG,uBAAuB,GAAG,SAAS;IAInF,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5G,8BAA8B,CAAC,QAAQ,EAAE,SAAS,GAAG,sBAAsB,GAAG,SAAS;IAIjF,8BAA8B,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CAK1G;AAID,eAAO,MAAM,oBAAoB,GAAI,YAAY,UAAU,KAAG,OAO7D,CAAC"}
1
+ {"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../../src/metadata/metadata-store.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAsC,MAAM,aAAa,CAAC;AAIxE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EAEnB,KAAK,UAAU,EACf,KAAK,aAAa,EACnB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,SAAS,CAAC;IACf,WAAW,EAAE,SAAS,CAAC;CACxB;AAWD,QAAA,MAAM,YAAY,yDAA4D,CAAC;AAG/E,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,mBAAmB,CAAiE;IAE5F,OAAO,CAAC,aAAa,CAAC,CAAmB;IAEzC,SAAgB,MAAM,sBAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAOvD,YAAY,SAAS,EAAE,SAAS,EAE/B;IAED,IAAI,QAAQ,IAAI,YAAY,CAE3B;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,aAAa,EAAE,CAE5B;YAEa,SAAS;IAkDjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3B;IAED;;OAEG;IAEG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA6C1B;YAGa,KAAK;YAcL,uBAAuB;YAavB,uBAAuB;IAM/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,aAAa,CAS5C;IAED,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAOrC;IAED,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAI3B;IAED,iBAAiB,IAAI,cAAc,GAAG,SAAS,CAE9C;IAEK,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7D;IAED,cAAc,IAAI,UAAU,EAAE,CAE7B;IAEK,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAQzD;IAEK,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI1D;IAEK,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CASnD;IAEK,2BAA2B,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1F;IAEK,8BAA8B,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7F;IAEK,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpE;IAEK,mBAAmB,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/G;IAEK,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzE;IAED,+BAA+B,CAAC,QAAQ,EAAE,SAAS,GAAG,uBAAuB,GAAG,SAAS,CAExF;IAEK,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3G;IAED,8BAA8B,CAAC,QAAQ,EAAE,SAAS,GAAG,sBAAsB,GAAG,SAAS,CAEtF;IAEK,8BAA8B,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxG;CACF;AAID,eAAO,MAAM,oBAAoB,eAAgB,UAAU,KAAG,OAO7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-selector.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/message-selector.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAAI,gBAAgB,cAAc,KAAG,iBAAiB,CAAC,WAAW,CAiBnG,CAAC"}
1
+ {"version":3,"file":"message-selector.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/message-selector.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,mBAAoB,cAAc,KAAG,iBAAiB,CAAC,WAAW,CAiBnG,CAAC"}
@@ -7,7 +7,7 @@ import type { FeedMessage } from '@dxos/protocols/proto/dxos/echo/feed';
7
7
  import { Timeframe } from '@dxos/timeframe';
8
8
  import { ComplexMap } from '@dxos/util';
9
9
  import { TimeframeClock } from './timeframe-clock';
10
- export type WaitUntilReachedTargetParams = {
10
+ export type WaitUntilReachedTargetProps = {
11
11
  /**
12
12
  * For cancellation.
13
13
  */
@@ -24,7 +24,7 @@ export type WaitUntilReachedTargetParams = {
24
24
  export declare class PipelineState {
25
25
  private _feeds;
26
26
  private _timeframeClock;
27
- readonly timeframeUpdate: Event<Timeframe>;
27
+ get timeframeUpdate(): Event<Timeframe>;
28
28
  readonly stalled: Event<void>;
29
29
  /**
30
30
  * Target timeframe we are waiting to reach.
@@ -51,7 +51,7 @@ export declare class PipelineState {
51
51
  *
52
52
  * @param timeout Timeout in milliseconds to specify the maximum wait time.
53
53
  */
54
- waitUntilReachedTargetTimeframe({ ctx, timeout, breakOnStall, }?: WaitUntilReachedTargetParams): Promise<void>;
54
+ waitUntilReachedTargetTimeframe({ ctx, timeout, breakOnStall }?: WaitUntilReachedTargetProps): Promise<void>;
55
55
  }
56
56
  export interface PipelineAccessor {
57
57
  state: PipelineState;