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

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 (154) hide show
  1. package/dist/lib/browser/{chunk-WJJXJTNS.mjs → chunk-FJPXA75J.mjs} +7 -12
  2. package/dist/lib/browser/chunk-FJPXA75J.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-FR6GJ4S4.mjs → chunk-WIQUYO7H.mjs} +39 -29
  4. package/dist/lib/browser/chunk-WIQUYO7H.mjs.map +7 -0
  5. package/dist/lib/browser/filter/index.mjs +1 -2
  6. package/dist/lib/browser/index.mjs +1933 -620
  7. package/dist/lib/browser/index.mjs.map +4 -4
  8. package/dist/lib/browser/meta.json +1 -1
  9. package/dist/lib/browser/testing/index.mjs +28 -201
  10. package/dist/lib/browser/testing/index.mjs.map +4 -4
  11. package/dist/lib/node-esm/{chunk-JQCCVDLT.mjs → chunk-7PL6UK4B.mjs} +39 -29
  12. package/dist/lib/node-esm/chunk-7PL6UK4B.mjs.map +7 -0
  13. package/dist/lib/node-esm/{chunk-LEQ77KAT.mjs → chunk-S5KGVQFZ.mjs} +7 -12
  14. package/dist/lib/node-esm/chunk-S5KGVQFZ.mjs.map +7 -0
  15. package/dist/lib/node-esm/filter/index.mjs +1 -2
  16. package/dist/lib/node-esm/index.mjs +1933 -620
  17. package/dist/lib/node-esm/index.mjs.map +4 -4
  18. package/dist/lib/node-esm/meta.json +1 -1
  19. package/dist/lib/node-esm/testing/index.mjs +28 -201
  20. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  21. package/dist/types/src/automerge/automerge-host.d.ts +36 -9
  22. package/dist/types/src/automerge/automerge-host.d.ts.map +1 -1
  23. package/dist/types/src/automerge/automerge-repo.test.d.ts +1 -1
  24. package/dist/types/src/automerge/automerge-repo.test.d.ts.map +1 -1
  25. package/dist/types/src/automerge/collection-synchronizer.d.ts +3 -2
  26. package/dist/types/src/automerge/collection-synchronizer.d.ts.map +1 -1
  27. package/dist/types/src/automerge/echo-network-adapter.d.ts +11 -6
  28. package/dist/types/src/automerge/echo-network-adapter.d.ts.map +1 -1
  29. package/dist/types/src/automerge/echo-replicator.d.ts +9 -6
  30. package/dist/types/src/automerge/echo-replicator.d.ts.map +1 -1
  31. package/dist/types/src/automerge/heads-store.d.ts +9 -2
  32. package/dist/types/src/automerge/heads-store.d.ts.map +1 -1
  33. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts +4 -4
  34. package/dist/types/src/automerge/leveldb-storage-adapter.d.ts.map +1 -1
  35. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts +7 -7
  36. package/dist/types/src/automerge/mesh-echo-replicator-connection.d.ts.map +1 -1
  37. package/dist/types/src/automerge/mesh-echo-replicator.d.ts.map +1 -1
  38. package/dist/types/src/db-host/automerge-data-source.d.ts +34 -0
  39. package/dist/types/src/db-host/automerge-data-source.d.ts.map +1 -0
  40. package/dist/types/src/db-host/automerge-data-source.test.d.ts +2 -0
  41. package/dist/types/src/db-host/automerge-data-source.test.d.ts.map +1 -0
  42. package/dist/types/src/db-host/data-service.d.ts +4 -3
  43. package/dist/types/src/db-host/data-service.d.ts.map +1 -1
  44. package/dist/types/src/db-host/documents-iterator.d.ts.map +1 -1
  45. package/dist/types/src/db-host/documents-synchronizer.d.ts +6 -5
  46. package/dist/types/src/db-host/documents-synchronizer.d.ts.map +1 -1
  47. package/dist/types/src/db-host/echo-host.d.ts +43 -11
  48. package/dist/types/src/db-host/echo-host.d.ts.map +1 -1
  49. package/dist/types/src/db-host/index.d.ts +1 -0
  50. package/dist/types/src/db-host/index.d.ts.map +1 -1
  51. package/dist/types/src/db-host/local-queue-service.d.ts +15 -0
  52. package/dist/types/src/db-host/local-queue-service.d.ts.map +1 -0
  53. package/dist/types/src/db-host/query-service.d.ts +7 -2
  54. package/dist/types/src/db-host/query-service.d.ts.map +1 -1
  55. package/dist/types/src/db-host/queue-data-source.d.ts +28 -0
  56. package/dist/types/src/db-host/queue-data-source.d.ts.map +1 -0
  57. package/dist/types/src/db-host/queue-service.test.d.ts +2 -0
  58. package/dist/types/src/db-host/queue-service.test.d.ts.map +1 -0
  59. package/dist/types/src/db-host/space-state-manager.d.ts +1 -0
  60. package/dist/types/src/db-host/space-state-manager.d.ts.map +1 -1
  61. package/dist/types/src/db-host/stub.d.ts +10 -0
  62. package/dist/types/src/db-host/stub.d.ts.map +1 -0
  63. package/dist/types/src/edge/echo-edge-replicator.d.ts +2 -2
  64. package/dist/types/src/edge/echo-edge-replicator.d.ts.map +1 -1
  65. package/dist/types/src/filter/filter-match.d.ts.map +1 -1
  66. package/dist/types/src/metadata/metadata-store.d.ts.map +1 -1
  67. package/dist/types/src/pipeline/pipeline.d.ts +2 -2
  68. package/dist/types/src/pipeline/pipeline.d.ts.map +1 -1
  69. package/dist/types/src/query/errors.d.ts +11 -15
  70. package/dist/types/src/query/errors.d.ts.map +1 -1
  71. package/dist/types/src/query/plan.d.ts +37 -3
  72. package/dist/types/src/query/plan.d.ts.map +1 -1
  73. package/dist/types/src/query/query-executor.d.ts +39 -3
  74. package/dist/types/src/query/query-executor.d.ts.map +1 -1
  75. package/dist/types/src/query/query-planner.d.ts +6 -0
  76. package/dist/types/src/query/query-planner.d.ts.map +1 -1
  77. package/dist/types/src/space/auth.d.ts +3 -3
  78. package/dist/types/src/space/auth.d.ts.map +1 -1
  79. package/dist/types/src/space/control-pipeline.d.ts +2 -2
  80. package/dist/types/src/space/control-pipeline.d.ts.map +1 -1
  81. package/dist/types/src/space/space-manager.d.ts +6 -6
  82. package/dist/types/src/space/space-manager.d.ts.map +1 -1
  83. package/dist/types/src/space/space-protocol.d.ts +5 -5
  84. package/dist/types/src/space/space-protocol.d.ts.map +1 -1
  85. package/dist/types/src/space/space.d.ts +3 -3
  86. package/dist/types/src/space/space.d.ts.map +1 -1
  87. package/dist/types/src/testing/index.d.ts +0 -2
  88. package/dist/types/src/testing/index.d.ts.map +1 -1
  89. package/dist/types/src/testing/test-network-adapter.d.ts +1 -1
  90. package/dist/types/src/testing/test-network-adapter.d.ts.map +1 -1
  91. package/dist/types/src/testing/test-replicator.d.ts +6 -6
  92. package/dist/types/src/testing/test-replicator.d.ts.map +1 -1
  93. package/dist/types/src/util.d.ts.map +1 -1
  94. package/dist/types/tsconfig.tsbuildinfo +1 -1
  95. package/package.json +48 -38
  96. package/src/automerge/automerge-host.test.ts +37 -14
  97. package/src/automerge/automerge-host.ts +130 -36
  98. package/src/automerge/automerge-repo.test.ts +147 -30
  99. package/src/automerge/collection-synchronizer.test.ts +16 -10
  100. package/src/automerge/collection-synchronizer.ts +41 -11
  101. package/src/automerge/echo-network-adapter.ts +23 -11
  102. package/src/automerge/echo-replicator.ts +10 -6
  103. package/src/automerge/heads-store.ts +14 -2
  104. package/src/automerge/leveldb-storage-adapter.ts +4 -4
  105. package/src/automerge/mesh-echo-replicator-connection.ts +7 -7
  106. package/src/automerge/mesh-echo-replicator.ts +2 -2
  107. package/src/db-host/automerge-data-source.test.ts +294 -0
  108. package/src/db-host/automerge-data-source.ts +144 -0
  109. package/src/db-host/data-service.ts +10 -3
  110. package/src/db-host/documents-iterator.ts +3 -1
  111. package/src/db-host/documents-synchronizer.test.ts +77 -13
  112. package/src/db-host/documents-synchronizer.ts +51 -50
  113. package/src/db-host/echo-host.ts +191 -28
  114. package/src/db-host/index.ts +1 -0
  115. package/src/db-host/local-queue-service.ts +127 -0
  116. package/src/db-host/query-service.ts +17 -4
  117. package/src/db-host/queue-data-source.ts +132 -0
  118. package/src/db-host/queue-service.test.ts +141 -0
  119. package/src/db-host/space-state-manager.ts +4 -0
  120. package/src/db-host/stub.ts +28 -0
  121. package/src/edge/echo-edge-replicator.ts +12 -8
  122. package/src/filter/filter-match.test.ts +31 -25
  123. package/src/filter/filter-match.ts +8 -14
  124. package/src/metadata/metadata-store.ts +5 -2
  125. package/src/pipeline/pipeline.ts +2 -2
  126. package/src/query/errors.ts +2 -2
  127. package/src/query/plan.ts +48 -3
  128. package/src/query/query-executor.ts +612 -131
  129. package/src/query/query-planner.test.ts +509 -35
  130. package/src/query/query-planner.ts +187 -13
  131. package/src/space/admission-discovery-extension.ts +1 -1
  132. package/src/space/auth.ts +6 -6
  133. package/src/space/control-pipeline.ts +2 -2
  134. package/src/space/space-manager.ts +6 -6
  135. package/src/space/space-protocol.ts +11 -11
  136. package/src/space/space.ts +3 -3
  137. package/src/testing/index.ts +0 -2
  138. package/src/testing/test-network-adapter.ts +16 -3
  139. package/src/testing/test-replicator.ts +8 -7
  140. package/src/util.ts +7 -3
  141. package/dist/lib/browser/chunk-CGS2ULMK.mjs +0 -11
  142. package/dist/lib/browser/chunk-CGS2ULMK.mjs.map +0 -7
  143. package/dist/lib/browser/chunk-FR6GJ4S4.mjs.map +0 -7
  144. package/dist/lib/browser/chunk-WJJXJTNS.mjs.map +0 -7
  145. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
  146. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
  147. package/dist/lib/node-esm/chunk-JQCCVDLT.mjs.map +0 -7
  148. package/dist/lib/node-esm/chunk-LEQ77KAT.mjs.map +0 -7
  149. package/dist/types/src/testing/test-data.d.ts +0 -18
  150. package/dist/types/src/testing/test-data.d.ts.map +0 -1
  151. package/dist/types/src/testing/test-schema.d.ts +0 -37
  152. package/dist/types/src/testing/test-schema.d.ts.map +0 -1
  153. package/src/testing/test-data.ts +0 -127
  154. package/src/testing/test-schema.ts +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"automerge-repo.test.d.ts","sourceRoot":"","sources":["../../../../src/automerge/automerge-repo.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"automerge-repo.test.d.ts","sourceRoot":"","sources":["../../../../src/automerge/automerge-repo.test.ts"],"names":[],"mappings":"AAu9BA,eAAO,MAAM,aAAa,QAAO,MAEhC,CAAC"}
@@ -2,7 +2,7 @@ import { type Heads } from '@automerge/automerge';
2
2
  import type { DocumentId, PeerId } from '@automerge/automerge-repo';
3
3
  import { Event } from '@dxos/async';
4
4
  import { type Context, Resource } from '@dxos/context';
5
- export type CollectionSynchronizerParams = {
5
+ export type CollectionSynchronizerProps = {
6
6
  sendCollectionState: (collectionId: string, peerId: PeerId, state: CollectionState) => void;
7
7
  queryCollectionState: (collectionId: string, peerId: PeerId) => void;
8
8
  shouldSyncCollection: (collectionId: string, peerId: PeerId) => boolean;
@@ -25,7 +25,7 @@ export declare class CollectionSynchronizer extends Resource {
25
25
  peerId: PeerId;
26
26
  newDocsAppeared: boolean;
27
27
  }>;
28
- constructor(params: CollectionSynchronizerParams);
28
+ constructor(params: CollectionSynchronizerProps);
29
29
  protected _open(ctx: Context): Promise<void>;
30
30
  getRegisteredCollectionIds(): string[];
31
31
  getLocalCollectionState(collectionId: string): CollectionState | undefined;
@@ -49,6 +49,7 @@ export declare class CollectionSynchronizer extends Resource {
49
49
  * Callback when a peer sends the state of a collection.
50
50
  */
51
51
  onRemoteStateReceived(collectionId: string, peerId: PeerId, state: CollectionState): void;
52
+ private _diffCollectionState;
52
53
  private _getOrCreatePerCollectionState;
53
54
  private _refreshInterestedPeers;
54
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collection-synchronizer.d.ts","sourceRoot":"","sources":["../../../../src/automerge/collection-synchronizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,EAAE,KAAK,EAAmD,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASvD,MAAM,MAAM,4BAA4B,GAAG;IACzC,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5F,oBAAoB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,oBAAoB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACzE,CAAC;AAEF;;GAEG;AACH,qBACa,sBAAuB,SAAQ,QAAQ;IAClD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAC3F,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;IAC7F,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;IAE7F;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyC;IAC9E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAErD,SAAgB,kBAAkB;sBAA6B,MAAM;gBAAU,MAAM;yBAAmB,OAAO;OAAM;gBAEzG,MAAM,EAAE,4BAA4B;cAOvB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3D,0BAA0B,IAAI,MAAM,EAAE;IAItC,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI1E,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAc3E,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMrD,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC;IAIrF,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAmB7C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA0BtC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACH,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQpE;;OAEG;IACH,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAyBzF,OAAO,CAAC,8BAA8B;IAStC,OAAO,CAAC,uBAAuB;CAShC;AASD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,SAAS,EAAE,UAAU,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,eAAe,EAAE,QAAQ,eAAe,KAAG,mBAwBrF,CAAC"}
1
+ {"version":3,"file":"collection-synchronizer.d.ts","sourceRoot":"","sources":["../../../../src/automerge/collection-synchronizer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,EAAE,KAAK,EAAmD,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASvD,MAAM,MAAM,2BAA2B,GAAG;IACxC,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5F,oBAAoB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,oBAAoB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACzE,CAAC;AAEF;;GAEG;AACH,qBACa,sBAAuB,SAAQ,QAAQ;IAClD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqD;IAC1F,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsD;IAC5F,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAsD;IAE5F;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAyC;IAC9E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAErD,SAAgB,kBAAkB;sBAA6B,MAAM;gBAAU,MAAM;yBAAmB,OAAO;OAAM;gBAEzG,MAAM,EAAE,2BAA2B;cAOtB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3D,0BAA0B,IAAI,MAAM,EAAE;IAItC,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI1E,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAkB3E,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAMrD,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC;IAIrF,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAmB7C;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA2BtC;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUxC;;OAEG;IACH,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQpE;;OAEG;IACH,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAQzF,OAAO,CAAC,oBAAoB;IAwC5B,OAAO,CAAC,8BAA8B;IAStC,OAAO,CAAC,uBAAuB;CAShC;AASD,MAAM,MAAM,eAAe,GAAG;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,SAAS,EAAE,UAAU,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,eAAe,EAAE,QAAQ,eAAe,KAAG,mBAwBrF,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { type DocumentId, type Heads, type Message, NetworkAdapter, type PeerId, type PeerMetadata } from '@automerge/automerge-repo';
2
+ import { Event } from '@dxos/async';
2
3
  import { type PublicKey } from '@dxos/keys';
3
- import { type EchoReplicator, type RemoteDocumentExistenceCheckParams, type ShouldAdvertiseParams, type ShouldSyncCollectionParams } from './echo-replicator';
4
+ import { type EchoReplicator, type RemoteDocumentExistenceCheckProps, type ShouldAdvertiseProps, type ShouldSyncCollectionProps } from './echo-replicator';
4
5
  export interface NetworkDataMonitor {
5
6
  recordPeerConnected(peerId: string): void;
6
7
  recordPeerDisconnected(peerId: string): void;
@@ -8,9 +9,9 @@ export interface NetworkDataMonitor {
8
9
  recordMessageReceived(message: Message): void;
9
10
  recordMessageSendingFailed(message: Message): void;
10
11
  }
11
- export type EchoNetworkAdapterParams = {
12
+ export type EchoNetworkAdapterProps = {
12
13
  getContainingSpaceForDocument: (documentId: string) => Promise<PublicKey | null>;
13
- isDocumentInRemoteCollection: (params: RemoteDocumentExistenceCheckParams) => Promise<boolean>;
14
+ isDocumentInRemoteCollection: (params: RemoteDocumentExistenceCheckProps) => Promise<boolean>;
14
15
  onCollectionStateQueried: (collectionId: string, peerId: PeerId) => void;
15
16
  onCollectionStateReceived: (collectionId: string, peerId: PeerId, state: unknown) => void;
16
17
  monitor?: NetworkDataMonitor;
@@ -28,7 +29,11 @@ export declare class EchoNetworkAdapter extends NetworkAdapter {
28
29
  private _lifecycleState;
29
30
  private readonly _connected;
30
31
  private readonly _ready;
31
- constructor(_params: EchoNetworkAdapterParams);
32
+ readonly documentRequested: Event<{
33
+ documentId: DocumentId;
34
+ peerId: PeerId;
35
+ }>;
36
+ constructor(_params: EchoNetworkAdapterProps);
32
37
  isReady(): boolean;
33
38
  whenReady(): Promise<void>;
34
39
  connect(peerId: PeerId, peerMetadata?: PeerMetadata | undefined): void;
@@ -40,8 +45,8 @@ export declare class EchoNetworkAdapter extends NetworkAdapter {
40
45
  onConnectionAuthScopeChanged(peer: PeerId): void;
41
46
  addReplicator(replicator: EchoReplicator): Promise<void>;
42
47
  removeReplicator(replicator: EchoReplicator): Promise<void>;
43
- shouldAdvertise(peerId: PeerId, params: ShouldAdvertiseParams): Promise<boolean>;
44
- shouldSyncCollection(peerId: PeerId, params: ShouldSyncCollectionParams): boolean;
48
+ shouldAdvertise(peerId: PeerId, params: ShouldAdvertiseProps): Promise<boolean>;
49
+ shouldSyncCollection(peerId: PeerId, params: ShouldSyncCollectionProps): boolean;
45
50
  queryCollectionState(collectionId: string, targetId: PeerId): void;
46
51
  sendCollectionState(collectionId: string, targetId: PeerId, state: unknown): void;
47
52
  getPeersInterestedInCollection(collectionId: string): PeerId[];
@@ -1 +1 @@
1
- {"version":3,"file":"echo-network-adapter.d.ts","sourceRoot":"","sources":["../../../../src/automerge/echo-network-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"echo-network-adapter.d.ts","sourceRoot":"","sources":["../../../../src/automerge/echo-network-adapter.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,10 @@ export interface EchoReplicatorContext {
22
22
  */
23
23
  getContainingSpaceForDocument(documentId: string): Promise<PublicKey | null>;
24
24
  getContainingSpaceIdForDocument(documentId: string): Promise<SpaceId | null>;
25
- isDocumentInRemoteCollection(params: RemoteDocumentExistenceCheckParams): Promise<boolean>;
25
+ /**
26
+ * Returns false if collection sync hasn't happened yet.
27
+ */
28
+ isDocumentInRemoteCollection(params: RemoteDocumentExistenceCheckProps): Promise<boolean>;
26
29
  onConnectionOpen(connection: ReplicatorConnection): void;
27
30
  onConnectionClosed(connection: ReplicatorConnection): void;
28
31
  onConnectionAuthScopeChanged(connection: ReplicatorConnection): void;
@@ -44,11 +47,11 @@ export interface ReplicatorConnection {
44
47
  * @returns true if the document should be advertised to this peer.
45
48
  * The remote peer can still request the document by its id bypassing this check.
46
49
  */
47
- shouldAdvertise(params: ShouldAdvertiseParams): Promise<boolean>;
50
+ shouldAdvertise(params: ShouldAdvertiseProps): Promise<boolean>;
48
51
  /**
49
52
  * @returns true if the collection should be synced to this peer.
50
53
  */
51
- shouldSyncCollection(params: ShouldSyncCollectionParams): boolean;
54
+ shouldSyncCollection(params: ShouldSyncCollectionProps): boolean;
52
55
  /**
53
56
  * Batch syncing considered enabled if ReplicatorConnection implements `pushBatch` and `pullBatch` methods.
54
57
  * @returns true if the batch syncing is enabled.
@@ -67,13 +70,13 @@ export interface ReplicatorConnection {
67
70
  */
68
71
  pullBundle?(docHeads: Record<DocumentId, Heads>): Promise<Record<DocumentId, Uint8Array>>;
69
72
  }
70
- export type ShouldAdvertiseParams = {
73
+ export type ShouldAdvertiseProps = {
71
74
  documentId: string;
72
75
  };
73
- export type ShouldSyncCollectionParams = {
76
+ export type ShouldSyncCollectionProps = {
74
77
  collectionId: string;
75
78
  };
76
- export type RemoteDocumentExistenceCheckParams = {
79
+ export type RemoteDocumentExistenceCheckProps = {
77
80
  peerId: string;
78
81
  documentId: string;
79
82
  };
@@ -1 +1 @@
1
- {"version":3,"file":"echo-replicator.d.ts","sourceRoot":"","sources":["../../../../src/automerge/echo-replicator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC7E,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC7E,4BAA4B,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3F,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzD,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3D,4BAA4B,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAEnD;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAEnD;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC;IAElE;;;OAGG;IACH,IAAI,iBAAiB,IAAI,OAAO,CAAC;IAEjC;;OAEG;IACH,UAAU,CAAC,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjG;;OAEG;IAEH,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;CAC3F;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"echo-replicator.d.ts","sourceRoot":"","sources":["../../../../src/automerge/echo-replicator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAGhE,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC7E,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAE7E;;OAEG;IACH,4BAA4B,CAAC,MAAM,EAAE,iCAAiC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1F,gBAAgB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACzD,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3D,4BAA4B,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAEnD;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAEnD;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhE;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC;IAEjE;;;OAGG;IACH,IAAI,iBAAiB,IAAI,OAAO,CAAC;IAEjC;;OAEG;IACH,UAAU,CAAC,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjG;;OAEG;IAEH,UAAU,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;CAC3F;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -1,13 +1,20 @@
1
1
  import type { Heads } from '@automerge/automerge';
2
2
  import type { DocumentId } from '@automerge/automerge-repo';
3
3
  import type { BatchLevel, SublevelDB } from '@dxos/kv-store';
4
- export type HeadsStoreParams = {
4
+ export type HeadsStoreProps = {
5
5
  db: SublevelDB;
6
6
  };
7
7
  export declare class HeadsStore {
8
8
  private readonly _db;
9
- constructor({ db }: HeadsStoreParams);
9
+ constructor({ db }: HeadsStoreProps);
10
10
  setHeads(documentId: DocumentId, heads: Heads, batch: BatchLevel): void;
11
11
  getHeads(documentIds: DocumentId[]): Promise<Array<Heads | undefined>>;
12
+ /**
13
+ * Iterate over all document IDs and their heads.
14
+ */
15
+ iterateAll(): AsyncGenerator<{
16
+ documentId: DocumentId;
17
+ heads: Heads;
18
+ }>;
12
19
  }
13
20
  //# sourceMappingURL=heads-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"heads-store.d.ts","sourceRoot":"","sources":["../../../../src/automerge/heads-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,UAAU,CAAC;CAChB,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAErB,EAAE,EAAE,EAAE,EAAE,gBAAgB;IAIpC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IASjE,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;CAM7E"}
1
+ {"version":3,"file":"heads-store.d.ts","sourceRoot":"","sources":["../../../../src/automerge/heads-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,UAAU,CAAC;CAChB,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAErB,EAAE,EAAE,EAAE,EAAE,eAAe;IAInC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IASjE,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAO5E;;OAEG;IACI,UAAU,IAAI,cAAc,CAAC;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;CAQ9E"}
@@ -9,22 +9,22 @@ export interface StorageAdapterDataMonitor {
9
9
  recordLoadDuration(durationMs: number): void;
10
10
  recordStoreDuration(durationMs: number): void;
11
11
  }
12
- export type LevelDBStorageAdapterParams = {
12
+ export type LevelDBStorageAdapterProps = {
13
13
  db: SublevelDB;
14
14
  callbacks?: StorageCallbacks;
15
15
  monitor?: StorageAdapterDataMonitor;
16
16
  };
17
- export type BeforeSaveParams = {
17
+ export type BeforeSaveProps = {
18
18
  path: StorageKey;
19
19
  batch: BatchLevel;
20
20
  };
21
21
  export interface StorageCallbacks {
22
- beforeSave(params: BeforeSaveParams): MaybePromise<void>;
22
+ beforeSave(params: BeforeSaveProps): MaybePromise<void>;
23
23
  afterSave(path: StorageKey): MaybePromise<void>;
24
24
  }
25
25
  export declare class LevelDBStorageAdapter extends Resource implements StorageAdapterInterface {
26
26
  private readonly _params;
27
- constructor(_params: LevelDBStorageAdapterParams);
27
+ constructor(_params: LevelDBStorageAdapterProps);
28
28
  load(keyArray: StorageKey): Promise<Uint8Array | undefined>;
29
29
  save(keyArray: StorageKey, binary: Uint8Array): Promise<void>;
30
30
  remove(keyArray: StorageKey): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"leveldb-storage-adapter.d.ts","sourceRoot":"","sources":["../../../../src/automerge/leveldb-storage-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,uBAAuB,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,UAAU,CAAC;IACf,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzD,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,qBAAa,qBAAsB,SAAQ,QAAS,YAAW,uBAAuB;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,2BAA2B;IAI3D,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAmB3D,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7D,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAqBlD,WAAW,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAexD;AAaD,eAAO,MAAM,eAAe;;;CAG3B,CAAC"}
1
+ {"version":3,"file":"leveldb-storage-adapter.d.ts","sourceRoot":"","sources":["../../../../src/automerge/leveldb-storage-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,uBAAuB,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,UAAU,CAAC;IACf,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACxD,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,qBAAa,qBAAsB,SAAQ,QAAS,YAAW,uBAAuB;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,0BAA0B;IAI1D,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAmB3D,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7D,MAAM,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,SAAS,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAqBlD,WAAW,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAexD;AAaD,eAAO,MAAM,eAAe;;;CAG3B,CAAC"}
@@ -2,13 +2,13 @@ import { Resource } from '@dxos/context';
2
2
  import { type PublicKey } from '@dxos/keys';
3
3
  import type { AutomergeProtocolMessage } from '@dxos/protocols';
4
4
  import { AutomergeReplicator, type AutomergeReplicatorFactory } from '@dxos/teleport-extension-automerge-replicator';
5
- import type { ReplicatorConnection, ShouldAdvertiseParams, ShouldSyncCollectionParams } from './echo-replicator';
6
- export type MeshReplicatorConnectionParams = {
5
+ import type { ReplicatorConnection, ShouldAdvertiseProps, ShouldSyncCollectionProps } from './echo-replicator';
6
+ export type MeshReplicatorConnectionProps = {
7
7
  ownPeerId: string;
8
8
  onRemoteConnected: () => void;
9
9
  onRemoteDisconnected: () => void;
10
- shouldAdvertise: (params: ShouldAdvertiseParams) => Promise<boolean>;
11
- shouldSyncCollection: (params: ShouldSyncCollectionParams) => boolean;
10
+ shouldAdvertise: (params: ShouldAdvertiseProps) => Promise<boolean>;
11
+ shouldSyncCollection: (params: ShouldSyncCollectionProps) => boolean;
12
12
  replicatorFactory?: AutomergeReplicatorFactory;
13
13
  };
14
14
  export declare class MeshReplicatorConnection extends Resource implements ReplicatorConnection {
@@ -19,13 +19,13 @@ export declare class MeshReplicatorConnection extends Resource implements Replic
19
19
  readonly replicatorExtension: AutomergeReplicator;
20
20
  private _remotePeerId;
21
21
  private _isEnabled;
22
- constructor(_params: MeshReplicatorConnectionParams);
22
+ constructor(_params: MeshReplicatorConnectionProps);
23
23
  private _disconnectIfEnabled;
24
24
  get peerId(): string;
25
25
  get isEnabled(): boolean;
26
26
  get bundleSyncEnabled(): boolean;
27
- shouldAdvertise(params: ShouldAdvertiseParams): Promise<boolean>;
28
- shouldSyncCollection(params: ShouldSyncCollectionParams): boolean;
27
+ shouldAdvertise(params: ShouldAdvertiseProps): Promise<boolean>;
28
+ shouldSyncCollection(params: ShouldSyncCollectionProps): boolean;
29
29
  /**
30
30
  * Start exchanging messages with the remote peer.
31
31
  * Call after the remote peer has connected.
@@ -1 +1 @@
1
- {"version":3,"file":"mesh-echo-replicator-connection.d.ts","sourceRoot":"","sources":["../../../../src/automerge/mesh-echo-replicator-connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAErH,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAIjH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACrE,oBAAoB,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,OAAO,CAAC;IACtE,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;CAChD,CAAC;AAEF,qBAAa,wBAAyB,SAAQ,QAAS,YAAW,oBAAoB;IAUxE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT7B,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACnD,QAAQ,EAAE,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACnD,eAAe,EAAE,SAAS,GAAG,IAAI,CAAQ;IAEhD,SAAgB,mBAAmB,EAAE,mBAAmB,CAAC;IAEzD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAAS;gBAEE,OAAO,EAAE,8BAA8B;IA6DpE,OAAO,CAAC,oBAAoB;IAM5B,IAAI,MAAM,IAAI,MAAM,CAGnB;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAEK,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,oBAAoB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO;IAIjE;;;OAGG;IACH,MAAM,IAAI,IAAI;IAKd;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"mesh-echo-replicator-connection.d.ts","sourceRoot":"","sources":["../../../../src/automerge/mesh-echo-replicator-connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAErH,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAI/G,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,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,6BAA6B;IA6DnE,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;IAIrE,oBAAoB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IAIhE;;;OAGG;IACH,MAAM,IAAI,IAAI;IAKd;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
@@ -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":"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,EAA6B,MAAM,mBAAmB,CAAC;AAM/G;;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"}
@@ -0,0 +1,34 @@
1
+ import { type Heads } from '@automerge/automerge';
2
+ import * as Effect from 'effect/Effect';
3
+ import { type DataSourceCursor, type IndexDataSource, type IndexerObject } from '@dxos/index-core';
4
+ import { type AutomergeHost } from '../automerge';
5
+ /**
6
+ * Codec for serializing/deserializing Automerge heads to cursor strings.
7
+ */
8
+ export declare const headsCodec: {
9
+ /**
10
+ * Serialize automerge heads to a cursor string.
11
+ * Heads are sorted to ensure consistent comparison.
12
+ */
13
+ encode: (heads: Heads) => string;
14
+ /**
15
+ * Deserialize a cursor string back to heads array.
16
+ */
17
+ decode: (cursor: string) => string[];
18
+ };
19
+ /**
20
+ * Data source that fetches objects from AutomergeHost.
21
+ * Iterates all documents from HeadsStore and tracks document heads as cursors to detect changes.
22
+ */
23
+ export declare class AutomergeDataSource implements IndexDataSource {
24
+ #private;
25
+ readonly sourceName = "automerge";
26
+ constructor(automergeHost: AutomergeHost);
27
+ getChangedObjects(cursors: DataSourceCursor[], opts?: {
28
+ limit?: number;
29
+ }): Effect.Effect<{
30
+ objects: IndexerObject[];
31
+ cursors: DataSourceCursor[];
32
+ }>;
33
+ }
34
+ //# 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,EAAE,KAAK,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,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;oBACa,KAAK,KAAG,MAAM;IAE9B;;OAEG;qBACc,MAAM,KAAG,MAAM,EAAE;CACnC,CAAC;AAYF;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,eAAe;;IACzD,QAAQ,CAAC,UAAU,eAAe;gBAItB,aAAa,EAAE,aAAa;IAIxC,iBAAiB,CACf,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;CAiF5E"}
@@ -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,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,9 +20,10 @@ 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
+ createDocument(request: CreateDocumentRequest): Promise<CreateDocumentResponse>;
26
27
  update(request: UpdateRequest): Promise<void>;
27
28
  flush(request: FlushRequest): Promise<void>;
28
29
  getDocumentHeads(request: GetDocumentHeadsRequest): Promise<GetDocumentHeadsResponse>;
@@ -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;AAIrD,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;AAGjF,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;gBAEzC,MAAM,EAAE,gBAAgB;IAMpC,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAAC,sBAAsB,CAAC;IAiB9D,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrE,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAK/E,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 +1 @@
1
- {"version":3,"file":"documents-iterator.d.ts","sourceRoot":"","sources":["../../../../src/db-host/documents-iterator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,eAAe,aAAa,MAK5C,SAAS,SAAS,KAAG,cAAc,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,CA+C7F,CAAC"}
1
+ {"version":3,"file":"documents-iterator.d.ts","sourceRoot":"","sources":["../../../../src/db-host/documents-iterator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKrE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAIlD;;GAEG;AACH,eAAO,MAAM,+BAA+B,GAAI,eAAe,aAAa,MAK5C,SAAS,SAAS,KAAG,cAAc,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,CAiD7F,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { type Heads } from '@automerge/automerge';
2
- import { type DocHandle, type DocumentId, type Repo } from '@automerge/automerge-repo';
2
+ import { type DocHandle, type DocumentId } from '@automerge/automerge-repo';
3
3
  import { 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,8 +28,8 @@ 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>;
@@ -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,EAA2B,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;gBAEzB,OAAO,EAAE,0BAA0B;IAI1D,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B5D,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;YAgBZ,cAAc;CAiB7B"}
@@ -1,26 +1,42 @@
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 type * as SqlClient from '@effect/sql/SqlClient';
3
+ import { Context, Resource } from '@dxos/context';
4
+ import { RuntimeProvider } from '@dxos/effect';
5
+ import { IndexEngine } from '@dxos/index-core';
3
6
  import { type PublicKey, type SpaceId } from '@dxos/keys';
4
7
  import { type LevelDB } from '@dxos/kv-store';
8
+ import type { QueueService } from '@dxos/protocols';
9
+ import type * as SqlTransaction from '@dxos/sql-sqlite/SqlTransaction';
5
10
  import { type CreateDocOptions, type EchoDataStats, type EchoReplicator, type LoadDocOptions, type PeerIdProvider, type RootDocumentSpaceKeyProvider } from '../automerge';
6
11
  import { DataServiceImpl } from './data-service';
7
12
  import { type DatabaseRoot } from './database-root';
8
13
  import { QueryServiceImpl } from './query-service';
9
14
  export interface EchoHostIndexingConfig {
10
15
  /**
11
- * @default true
16
+ * @default false
12
17
  */
13
- fullText: boolean;
18
+ sqlIndex: boolean;
14
19
  /**
15
20
  * @default false
16
21
  */
17
22
  vector: boolean;
18
23
  }
19
- export type EchoHostParams = {
24
+ export type EchoHostProps = {
20
25
  kv: LevelDB;
21
26
  peerIdProvider?: PeerIdProvider;
22
27
  getSpaceKeyByRootDocumentId?: RootDocumentSpaceKeyProvider;
23
28
  indexing?: Partial<EchoHostIndexingConfig>;
29
+ runtime: RuntimeProvider.RuntimeProvider<SqlClient.SqlClient | SqlTransaction.SqlTransaction>;
30
+ /**
31
+ * Use SQLite-backed local-first durable queues.
32
+ * Otherwise defaults to in-memory impl.
33
+ */
34
+ localQueues?: boolean;
35
+ /**
36
+ * This peer is allowed to assign positions (global-order) to items appended to the queue.
37
+ * @default false
38
+ */
39
+ assignQueuePositions?: boolean;
24
40
  };
25
41
  /**
26
42
  * Host for the Echo database.
@@ -36,14 +52,24 @@ export declare class EchoHost extends Resource {
36
52
  private readonly _dataService;
37
53
  private readonly _spaceStateManager;
38
54
  private readonly _echoDataMonitor;
39
- constructor({ kv, indexing, peerIdProvider, getSpaceKeyByRootDocumentId }: EchoHostParams);
55
+ private readonly _automergeDataSource;
56
+ private readonly _indexer2;
57
+ private readonly _indexConfig;
58
+ private readonly _runtime;
59
+ private readonly _feedStore?;
60
+ private readonly _queueDataSource?;
61
+ private _updateIndexes;
62
+ private _queuesService;
63
+ private _indexesUpToDate;
64
+ constructor({ kv, localQueues, indexing, peerIdProvider, getSpaceKeyByRootDocumentId, runtime, assignQueuePositions, }: EchoHostProps);
40
65
  get queryService(): QueryServiceImpl;
41
66
  get dataService(): DataServiceImpl;
67
+ get queuesService(): QueueService;
68
+ get roots(): ReadonlyMap<DocumentId, DatabaseRoot>;
42
69
  /**
43
- * @deprecated To be abstracted away.
70
+ * New index-core indexer for text and other queries.
44
71
  */
45
- get automergeRepo(): Repo;
46
- get roots(): ReadonlyMap<DocumentId, DatabaseRoot>;
72
+ get indexer2(): IndexEngine;
47
73
  protected _open(ctx: Context): Promise<void>;
48
74
  protected _close(ctx: Context): Promise<void>;
49
75
  /**
@@ -62,13 +88,13 @@ export declare class EchoHost extends Resource {
62
88
  /**
63
89
  * Create new persisted document.
64
90
  */
65
- createDoc<T>(initialValue?: T, opts?: CreateDocOptions): DocHandle<T>;
91
+ createDoc<T>(initialValue?: T, opts?: CreateDocOptions): Promise<DocHandle<T>>;
66
92
  /**
67
93
  * Create new space root.
68
94
  */
69
95
  createSpaceRoot(spaceKey: PublicKey): Promise<DatabaseRoot>;
70
96
  openSpaceRoot(spaceId: SpaceId, automergeUrl: AutomergeUrl): Promise<DatabaseRoot>;
71
- closeSpaceRoot(automergeUrl: AutomergeUrl): Promise<void>;
97
+ closeSpaceRoot(_automergeUrl: AutomergeUrl): Promise<void>;
72
98
  /**
73
99
  * Install data replicator.
74
100
  */
@@ -77,6 +103,12 @@ export declare class EchoHost extends Resource {
77
103
  * Remove data replicator.
78
104
  */
79
105
  removeReplicator(replicator: EchoReplicator): Promise<void>;
106
+ /**
107
+ * Run collection sync for the given space.
108
+ * Does not wait for the sync to complete.
109
+ */
110
+ runCollectionSync(spaceId: SpaceId): Promise<void>;
111
+ private _runUpdateIndexes;
80
112
  }
81
113
  export type { EchoDataStats };
82
114
  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,3 +1,4 @@
1
+ export * from './automerge-data-source';
1
2
  export * from './data-service';
2
3
  export * from './documents-synchronizer';
3
4
  export * from './echo-host';
@@ -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,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type * as SqlClient from '@effect/sql/SqlClient';
2
+ import { RuntimeProvider } from '@dxos/effect';
3
+ import { type FeedStore } from '@dxos/feed';
4
+ import { type DeleteFromQueueRequest, type InsertIntoQueueRequest, type QueryQueueRequest, type QueueQueryResult, type QueueService } from '@dxos/protocols/proto/dxos/client/services';
5
+ /**
6
+ * Writes queue data to a local FeedStore.
7
+ */
8
+ export declare class LocalQueueServiceImpl implements QueueService {
9
+ #private;
10
+ constructor(runtime: RuntimeProvider.RuntimeProvider<SqlClient.SqlClient>, feedStore: FeedStore);
11
+ queryQueue(request: QueryQueueRequest): Promise<QueueQueryResult>;
12
+ insertIntoQueue(request: InsertIntoQueueRequest): Promise<void>;
13
+ deleteFromQueue(request: DeleteFromQueueRequest): Promise<void>;
14
+ }
15
+ //# 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;AAMxD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,qBAAa,qBAAsB,YAAW,YAAY;;gBAI5C,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS;IAK/F,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqCjE,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB/D,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CAehE"}
@@ -1,12 +1,17 @@
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';
4
+ import { type RuntimeProvider } from '@dxos/effect';
5
+ import { type IndexEngine } from '@dxos/index-core';
3
6
  import { type Indexer } from '@dxos/indexing';
4
7
  import { type IndexConfig } from '@dxos/protocols/proto/dxos/echo/indexing';
5
8
  import { type QueryRequest, type QueryResponse, type QueryService } from '@dxos/protocols/proto/dxos/echo/query';
6
9
  import { type AutomergeHost } from '../automerge';
7
10
  import type { SpaceStateManager } from './space-state-manager';
8
- export type QueryServiceParams = {
11
+ export type QueryServiceProps = {
9
12
  indexer: Indexer;
13
+ indexer2?: IndexEngine;
14
+ runtime?: RuntimeProvider.RuntimeProvider<SqlClient.SqlClient>;
10
15
  automergeHost: AutomergeHost;
11
16
  spaceStateManager: SpaceStateManager;
12
17
  };
@@ -14,7 +19,7 @@ export declare class QueryServiceImpl extends Resource implements QueryService {
14
19
  private readonly _params;
15
20
  private readonly _queries;
16
21
  private _updateQueries;
17
- constructor(_params: QueryServiceParams);
22
+ constructor(_params: QueryServiceProps);
18
23
  _open(): Promise<void>;
19
24
  _close(): Promise<void>;
20
25
  setConfig(config: IndexConfig): Promise<void>;
@@ -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;IAOxD,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":"AAMA,OAAO,KAAK,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAIxD,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAW,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,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,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/D,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAAC;AAsBF,qBACa,gBAAiB,SAAQ,QAAS,YAAW,YAAY;IAOxD,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,OAAO,CAAC,cAAc,CAAgB;gBAGT,OAAO,EAAE,iBAAiB;IAkBxC,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;YAwCN,eAAe;CAyB9B"}