mindoodb 0.0.3 → 0.0.4

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 (209) hide show
  1. package/README-server.md +1001 -0
  2. package/README.md +14 -26
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +19 -0
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +58 -5
  6. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  7. package/dist/appendonlystores/network/HttpTransport.d.ts +4 -0
  8. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  9. package/dist/appendonlystores/network/HttpTransport.js +43 -0
  10. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  11. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +3 -0
  12. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  13. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +15 -1
  14. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  15. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +5 -1
  16. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -1
  17. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +59 -3
  18. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -1
  19. package/dist/browser/cache/IndexedDBLocalCacheStore.d.ts +21 -0
  20. package/dist/browser/cache/IndexedDBLocalCacheStore.d.ts.map +1 -0
  21. package/dist/browser/cache/IndexedDBLocalCacheStore.js +106 -0
  22. package/dist/browser/cache/IndexedDBLocalCacheStore.js.map +1 -0
  23. package/dist/browser/index.d.ts +3 -0
  24. package/dist/browser/index.d.ts.map +1 -1
  25. package/dist/browser/index.js +9 -1
  26. package/dist/browser/index.js.map +1 -1
  27. package/dist/core/BaseMindooDB.d.ts +103 -13
  28. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  29. package/dist/core/BaseMindooDB.js +1066 -205
  30. package/dist/core/BaseMindooDB.js.map +1 -1
  31. package/dist/core/BaseMindooTenant.d.ts +30 -1
  32. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  33. package/dist/core/BaseMindooTenant.js +143 -108
  34. package/dist/core/BaseMindooTenant.js.map +1 -1
  35. package/dist/core/BaseMindooTenantDirectory.d.ts +13 -10
  36. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  37. package/dist/core/BaseMindooTenantDirectory.js +134 -27
  38. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  39. package/dist/core/BaseMindooTenantFactory.d.ts +5 -1
  40. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  41. package/dist/core/BaseMindooTenantFactory.js +46 -69
  42. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  43. package/dist/core/MindooDBServerAdmin.d.ts +238 -0
  44. package/dist/core/MindooDBServerAdmin.d.ts.map +1 -0
  45. package/dist/core/MindooDBServerAdmin.js +345 -0
  46. package/dist/core/MindooDBServerAdmin.js.map +1 -0
  47. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +3 -1
  48. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  49. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +22 -0
  50. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  51. package/dist/core/appendonlystores/MaterializationPlanner.d.ts +49 -0
  52. package/dist/core/appendonlystores/MaterializationPlanner.d.ts.map +1 -0
  53. package/dist/core/appendonlystores/MaterializationPlanner.js +325 -0
  54. package/dist/core/appendonlystores/MaterializationPlanner.js.map +1 -0
  55. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +15 -0
  56. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  57. package/dist/core/appendonlystores/network/types.d.ts +2 -0
  58. package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
  59. package/dist/core/appendonlystores/network/types.js.map +1 -1
  60. package/dist/core/appendonlystores/types.d.ts +83 -0
  61. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  62. package/dist/core/cache/CacheManager.d.ts +75 -0
  63. package/dist/core/cache/CacheManager.d.ts.map +1 -0
  64. package/dist/core/cache/CacheManager.js +101 -0
  65. package/dist/core/cache/CacheManager.js.map +1 -0
  66. package/dist/core/cache/EncryptedLocalCacheStore.d.ts +41 -0
  67. package/dist/core/cache/EncryptedLocalCacheStore.d.ts.map +1 -0
  68. package/dist/core/cache/EncryptedLocalCacheStore.js +120 -0
  69. package/dist/core/cache/EncryptedLocalCacheStore.js.map +1 -0
  70. package/dist/core/cache/LocalCacheStore.d.ts +50 -0
  71. package/dist/core/cache/LocalCacheStore.d.ts.map +1 -0
  72. package/dist/core/cache/LocalCacheStore.js +39 -0
  73. package/dist/core/cache/LocalCacheStore.js.map +1 -0
  74. package/dist/core/crypto/privateKeyEncryption.d.ts +5 -0
  75. package/dist/core/crypto/privateKeyEncryption.d.ts.map +1 -0
  76. package/dist/core/crypto/privateKeyEncryption.js +87 -0
  77. package/dist/core/crypto/privateKeyEncryption.js.map +1 -0
  78. package/dist/core/index.d.ts +13 -6
  79. package/dist/core/index.d.ts.map +1 -1
  80. package/dist/core/index.js +13 -1
  81. package/dist/core/index.js.map +1 -1
  82. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +4 -1
  83. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
  84. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +39 -11
  85. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  86. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts +1 -0
  87. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts.map +1 -1
  88. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js +3 -0
  89. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js.map +1 -1
  90. package/dist/core/indexing/virtualviews/VirtualView.d.ts +43 -0
  91. package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -1
  92. package/dist/core/indexing/virtualviews/VirtualView.js +173 -0
  93. package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -1
  94. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +7 -0
  95. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -1
  96. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +28 -0
  97. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -1
  98. package/dist/core/keys/KeyBag.d.ts +38 -14
  99. package/dist/core/keys/KeyBag.d.ts.map +1 -1
  100. package/dist/core/keys/KeyBag.js +102 -76
  101. package/dist/core/keys/KeyBag.js.map +1 -1
  102. package/dist/core/keys/KeyContext.d.ts +3 -3
  103. package/dist/core/keys/KeyContext.d.ts.map +1 -1
  104. package/dist/core/keys/KeyContext.js +10 -4
  105. package/dist/core/keys/KeyContext.js.map +1 -1
  106. package/dist/core/types.d.ts +305 -21
  107. package/dist/core/types.d.ts.map +1 -1
  108. package/dist/core/types.js +7 -1
  109. package/dist/core/types.js.map +1 -1
  110. package/dist/core/utils/idGeneration.d.ts.map +1 -1
  111. package/dist/core/utils/idGeneration.js +37 -3
  112. package/dist/core/utils/idGeneration.js.map +1 -1
  113. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +4 -1
  114. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  115. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +24 -0
  116. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  117. package/dist/node/attachments/writeAttachmentToFile.d.ts +15 -0
  118. package/dist/node/attachments/writeAttachmentToFile.d.ts.map +1 -0
  119. package/dist/node/attachments/writeAttachmentToFile.js +73 -0
  120. package/dist/node/attachments/writeAttachmentToFile.js.map +1 -0
  121. package/dist/node/cache/FileSystemLocalCacheStore.d.ts +17 -0
  122. package/dist/node/cache/FileSystemLocalCacheStore.d.ts.map +1 -0
  123. package/dist/node/cache/FileSystemLocalCacheStore.js +128 -0
  124. package/dist/node/cache/FileSystemLocalCacheStore.js.map +1 -0
  125. package/dist/node/cli/change-identity-password.d.ts +7 -0
  126. package/dist/node/cli/change-identity-password.d.ts.map +1 -0
  127. package/dist/node/cli/change-identity-password.js +67 -0
  128. package/dist/node/cli/change-identity-password.js.map +1 -0
  129. package/dist/node/cli/cli-utils.d.ts +16 -0
  130. package/dist/node/cli/cli-utils.d.ts.map +1 -0
  131. package/dist/node/cli/cli-utils.js +113 -0
  132. package/dist/node/cli/cli-utils.js.map +1 -0
  133. package/dist/node/cli/identity-export-public.d.ts +4 -0
  134. package/dist/node/cli/identity-export-public.d.ts.map +1 -0
  135. package/dist/node/cli/identity-export-public.js +55 -0
  136. package/dist/node/cli/identity-export-public.js.map +1 -0
  137. package/dist/node/cli/identity-info.d.ts +4 -0
  138. package/dist/node/cli/identity-info.d.ts.map +1 -0
  139. package/dist/node/cli/identity-info.js +57 -0
  140. package/dist/node/cli/identity-info.js.map +1 -0
  141. package/dist/node/index.d.ts +1 -0
  142. package/dist/node/index.d.ts.map +1 -1
  143. package/dist/node/index.js +4 -1
  144. package/dist/node/index.js.map +1 -1
  145. package/dist/node/server/CapabilityMatcher.d.ts +45 -0
  146. package/dist/node/server/CapabilityMatcher.d.ts.map +1 -0
  147. package/dist/node/server/CapabilityMatcher.js +117 -0
  148. package/dist/node/server/CapabilityMatcher.js.map +1 -0
  149. package/dist/node/server/MindooDBServer.d.ts +87 -0
  150. package/dist/node/server/MindooDBServer.d.ts.map +1 -0
  151. package/dist/node/server/MindooDBServer.js +1040 -0
  152. package/dist/node/server/MindooDBServer.js.map +1 -0
  153. package/dist/node/server/ServerSync.d.ts +41 -0
  154. package/dist/node/server/ServerSync.d.ts.map +1 -0
  155. package/dist/node/server/ServerSync.js +187 -0
  156. package/dist/node/server/ServerSync.js.map +1 -0
  157. package/dist/node/server/StoreFactory.d.ts +45 -0
  158. package/dist/node/server/StoreFactory.d.ts.map +1 -0
  159. package/dist/node/server/StoreFactory.js +89 -0
  160. package/dist/node/server/StoreFactory.js.map +1 -0
  161. package/dist/node/server/SystemAdminAuth.d.ts +65 -0
  162. package/dist/node/server/SystemAdminAuth.d.ts.map +1 -0
  163. package/dist/node/server/SystemAdminAuth.js +200 -0
  164. package/dist/node/server/SystemAdminAuth.js.map +1 -0
  165. package/dist/node/server/SystemIpAllowlist.d.ts +21 -0
  166. package/dist/node/server/SystemIpAllowlist.d.ts.map +1 -0
  167. package/dist/node/server/SystemIpAllowlist.js +210 -0
  168. package/dist/node/server/SystemIpAllowlist.js.map +1 -0
  169. package/dist/node/server/TenantManager.d.ts +85 -0
  170. package/dist/node/server/TenantManager.d.ts.map +1 -0
  171. package/dist/node/server/TenantManager.js +493 -0
  172. package/dist/node/server/TenantManager.js.map +1 -0
  173. package/dist/node/server/add-to-network.d.ts +20 -0
  174. package/dist/node/server/add-to-network.d.ts.map +1 -0
  175. package/dist/node/server/add-to-network.js +275 -0
  176. package/dist/node/server/add-to-network.js.map +1 -0
  177. package/dist/node/server/config.d.ts +51 -0
  178. package/dist/node/server/config.d.ts.map +1 -0
  179. package/dist/node/server/config.js +218 -0
  180. package/dist/node/server/config.js.map +1 -0
  181. package/dist/node/server/resolveServerPassword.d.ts +7 -0
  182. package/dist/node/server/resolveServerPassword.d.ts.map +1 -0
  183. package/dist/node/server/resolveServerPassword.js +25 -0
  184. package/dist/node/server/resolveServerPassword.js.map +1 -0
  185. package/dist/node/server/server.d.ts +22 -0
  186. package/dist/node/server/server.d.ts.map +1 -0
  187. package/dist/node/server/server.js +225 -0
  188. package/dist/node/server/server.js.map +1 -0
  189. package/dist/node/server/serverinit.d.ts +21 -0
  190. package/dist/node/server/serverinit.d.ts.map +1 -0
  191. package/dist/node/server/serverinit.js +317 -0
  192. package/dist/node/server/serverinit.js.map +1 -0
  193. package/dist/node/server/types.d.ts +162 -0
  194. package/dist/node/server/types.d.ts.map +1 -0
  195. package/dist/node/server/types.js +24 -0
  196. package/dist/node/server/types.js.map +1 -0
  197. package/dist/node/server/validation.d.ts +47 -0
  198. package/dist/node/server/validation.d.ts.map +1 -0
  199. package/dist/node/server/validation.js +114 -0
  200. package/dist/node/server/validation.js.map +1 -0
  201. package/dist/reactnative/cache/MMKVLocalCacheStore.d.ts +48 -0
  202. package/dist/reactnative/cache/MMKVLocalCacheStore.d.ts.map +1 -0
  203. package/dist/reactnative/cache/MMKVLocalCacheStore.js +113 -0
  204. package/dist/reactnative/cache/MMKVLocalCacheStore.js.map +1 -0
  205. package/dist/reactnative/index.d.ts +1 -0
  206. package/dist/reactnative/index.d.ts.map +1 -1
  207. package/dist/reactnative/index.js +4 -1
  208. package/dist/reactnative/index.js.map +1 -1
  209. package/package.json +14 -3
@@ -1,7 +1,9 @@
1
- import { MindooDB, MindooDoc, MindooTenant, ProcessChangesCursor, ProcessChangesResult, DocumentHistoryResult, AttachmentConfig, SigningKeyPair, PerformanceCallback } from "./types";
1
+ import { MindooDB, MindooDoc, MindooTenant, ProcessChangesCursor, ProcessChangesResult, DocumentHistoryResult, AttachmentConfig, DocumentCacheConfig, SnapshotConfig, SigningKeyPair, PerformanceCallback, ProcessChangeSummaryResult, SyncOptions, SyncResult, DocumentHistoryPageOptions, DocumentHistoryPageResult } from "./types";
2
2
  import { BaseMindooTenant } from "./BaseMindooTenant";
3
3
  import type { ContentAddressedStore } from "./appendonlystores/types";
4
4
  import { Logger } from "./logging";
5
+ import type { LocalCacheStore } from "./cache/LocalCacheStore";
6
+ import type { CacheManager } from "./cache/CacheManager";
5
7
  /**
6
8
  * BaseMindooDB is a platform-agnostic implementation of MindooDB
7
9
  * that works in both browser and server environments.
@@ -29,20 +31,52 @@ export declare class BaseMindooDB implements MindooDB {
29
31
  private _isAdminOnlyDb;
30
32
  private index;
31
33
  private indexLookup;
34
+ private nextChangeSeq;
32
35
  private docCache;
36
+ private readonly maxCachedDocs;
37
+ private readonly iteratePrefetchWindowDocs;
38
+ private readonly cacheRestoreLimit;
39
+ private readonly snapshotMinChanges;
40
+ private readonly snapshotCooldownMs;
33
41
  private processedEntryIds;
34
42
  private processedEntryCursor;
35
43
  private automergeHashToEntryId;
36
44
  private logger;
37
45
  private performanceCallback?;
38
46
  private publicKeyCache;
39
- constructor(tenant: BaseMindooTenant, store: ContentAddressedStore, attachmentStore?: ContentAddressedStore, attachmentConfig?: AttachmentConfig, adminOnlyDb?: boolean, logger?: Logger, performanceCallback?: PerformanceCallback);
47
+ private cacheManager;
48
+ private cachePrefix;
49
+ private dirtyDocIds;
50
+ private cacheMetaDirty;
51
+ constructor(tenant: BaseMindooTenant, store: ContentAddressedStore, attachmentStore?: ContentAddressedStore, attachmentConfig?: AttachmentConfig, documentCacheConfig?: DocumentCacheConfig, snapshotConfig?: SnapshotConfig, adminOnlyDb?: boolean, logger?: Logger, performanceCallback?: PerformanceCallback);
40
52
  /**
41
53
  * Get the admin public key from the tenant.
42
54
  * Only used when adminOnlyDb is true.
43
55
  */
44
56
  private getAdminPublicKey;
45
57
  isAdminOnlyDb(): boolean;
58
+ /**
59
+ * Attach a CacheManager so this DB participates in periodic cache flushing.
60
+ */
61
+ setCacheManager(cacheManager: CacheManager): void;
62
+ getCachePrefix(): string;
63
+ hasDirtyState(): boolean;
64
+ clearDirty(): void;
65
+ private markDocDirty;
66
+ private getCachedDocument;
67
+ private touchCachedDocument;
68
+ private storeCachedDocument;
69
+ private evictCachedDocsIfNeeded;
70
+ /**
71
+ * Flush dirty documents and metadata to the cache store.
72
+ */
73
+ flushToCache(store: LocalCacheStore): Promise<number>;
74
+ private exportMetadataCheckpoint;
75
+ /**
76
+ * Attempt to restore state from cache. Returns true on success.
77
+ */
78
+ restoreFromCache(store: LocalCacheStore): Promise<boolean>;
79
+ private deserializeDoc;
46
80
  /**
47
81
  * Get or import a CryptoKey for signature verification, with caching.
48
82
  * This avoids re-importing the same public key multiple times.
@@ -56,13 +90,13 @@ export declare class BaseMindooDB implements MindooDB {
56
90
  /**
57
91
  * Compare two index entries for sorting.
58
92
  * Returns negative if a < b, positive if a > b, 0 if equal.
59
- * Sorts by lastModified first, then by docId for uniqueness.
93
+ * Sorts by deterministic changeSeq first, then by docId for uniqueness.
60
94
  */
61
95
  private compareIndexEntries;
62
96
  /**
63
97
  * Update the index entry for a document.
64
- * When a document changes, it's removed from its current position and inserted
65
- * at the correct sorted position to maintain order by (lastModified, docId).
98
+ * When a document changes, it gets a new monotonic sequence and is moved to
99
+ * maintain order by (changeSeq, docId).
66
100
  *
67
101
  * Optimized to only update lookup map for entries that actually moved.
68
102
  *
@@ -92,6 +126,8 @@ export declare class BaseMindooDB implements MindooDB {
92
126
  private getSubtle;
93
127
  /**
94
128
  * Initialize the database instance.
129
+ * If a cache store is available, attempts to restore from cache first,
130
+ * then processes only the delta. Falls back to full rebuild on cache miss.
95
131
  */
96
132
  initialize(): Promise<void>;
97
133
  /**
@@ -103,7 +139,35 @@ export declare class BaseMindooDB implements MindooDB {
103
139
  private supportsCursorScan;
104
140
  private scanAllMetadata;
105
141
  private getNewEntryMetadataForSync;
142
+ /**
143
+ * Fetch the target store's bloom filter summary, returning null if
144
+ * unsupported or on error (callers fall back to exact checks).
145
+ */
146
+ private getTargetBloomSummary;
147
+ /**
148
+ * From a list of candidate IDs, return only those the target store is
149
+ * missing. Uses bloom-filter pre-screening when available, then falls
150
+ * back to exact `hasEntries` for the uncertain set.
151
+ */
152
+ private filterMissingIds;
106
153
  private syncEntriesFromStore;
154
+ /**
155
+ * Dense sync: transfer only the entries required to reconstruct the latest
156
+ * state of each document, using the batch materialization planner to skip
157
+ * historical entries already superseded by snapshots.
158
+ *
159
+ * Algorithm:
160
+ * 1. Discover all documents on the source via `doc_create` metadata.
161
+ * 2. Also fetch `doc_delete` metadata so deletion markers are transferred.
162
+ * 3. Ask the source's batch planner for the optimal replay set per document.
163
+ * 4. Merge all entry IDs: doc_create + doc_delete + snapshot + uncovered changes.
164
+ * 5. Filter out IDs the target already has (bloom + exact check).
165
+ * 6. Transfer only the missing entries.
166
+ *
167
+ * Attachment chunks are intentionally skipped — they are not part of the
168
+ * Automerge document DAG and can be fetched on demand when accessed.
169
+ */
170
+ private syncEntriesFromStoreDense;
107
171
  getStore(): ContentAddressedStore;
108
172
  getAttachmentStore(): ContentAddressedStore | undefined;
109
173
  getTenant(): MindooTenant;
@@ -119,6 +183,7 @@ export declare class BaseMindooDB implements MindooDB {
119
183
  getDocument(docId: string): Promise<MindooDoc>;
120
184
  getDocumentAtTimestamp(docId: string, timestamp: number): Promise<MindooDoc | null>;
121
185
  iterateDocumentHistory(docId: string): AsyncGenerator<DocumentHistoryResult, void, unknown>;
186
+ getDocumentHistoryPage(docId: string, options?: DocumentHistoryPageOptions): Promise<DocumentHistoryPageResult>;
122
187
  getAllDocumentIds(): Promise<string[]>;
123
188
  getAllDocumentIdsAtTimestamp(timestamp: number): Promise<string[]>;
124
189
  deleteDocument(docId: string): Promise<void>;
@@ -132,6 +197,15 @@ export declare class BaseMindooDB implements MindooDB {
132
197
  changeDoc(doc: MindooDoc, changeFunc: (doc: MindooDoc) => void | Promise<void>): Promise<void>;
133
198
  changeDocWithSigningKey(doc: MindooDoc, changeFunc: (doc: MindooDoc) => void | Promise<void>, signingKeyPair: SigningKeyPair, signingKeyPassword: string): Promise<void>;
134
199
  private changeDocInternal;
200
+ /**
201
+ * Best-effort snapshot scheduling and writing.
202
+ * A snapshot is written only when enough replay history has accumulated and
203
+ * a cooldown window has elapsed, to avoid snapshot churn on hot documents.
204
+ */
205
+ private maybeWriteSnapshotForDocument;
206
+ private prefetchIterationWindow;
207
+ private getStartIndexForCursor;
208
+ iterateChangeMetadataSince(cursor: ProcessChangesCursor | null): AsyncGenerator<ProcessChangeSummaryResult, void, unknown>;
135
209
  iterateChangesSince(cursor: ProcessChangesCursor | null): AsyncGenerator<ProcessChangesResult, void, unknown>;
136
210
  /**
137
211
  * Incrementally update a cached document with new entries.
@@ -188,7 +262,21 @@ export declare class BaseMindooDB implements MindooDB {
188
262
  */
189
263
  private appendToAttachmentInternal;
190
264
  /**
191
- * Pull changes from a remote content-addressed store.
265
+ * Resolve a sync target to a ContentAddressedStore.
266
+ * Accepts either a raw store or a MindooDB instance (calls getStore()).
267
+ */
268
+ private resolveStore;
269
+ /**
270
+ * Apply a temporary network-auth identity override for a single sync call.
271
+ *
272
+ * Purpose:
273
+ * - Allows per-call authentication as a different user (for example admin bootstrap)
274
+ * without changing the tenant's default connected user.
275
+ * - Returns a cleanup callback so caller can always restore default auth state in `finally`.
276
+ */
277
+ private applyNetworkAuthOverrideForSync;
278
+ /**
279
+ * Pull changes from a remote content-addressed store or another MindooDB instance.
192
280
  *
193
281
  * This method:
194
282
  * 1. Finds entries in the remote store that we don't have locally
@@ -196,21 +284,23 @@ export declare class BaseMindooDB implements MindooDB {
196
284
  * 3. Stores them in our local store
197
285
  * 4. Syncs the local store to process the new entries
198
286
  *
199
- * @param remoteStore The remote store to pull entries from
200
- * @return A promise that resolves when the pull is complete
287
+ * @param remote The remote store or MindooDB instance to pull entries from
288
+ * @param options Optional sync options for progress tracking, paging, and cancellation
289
+ * @return A promise that resolves with the sync result
201
290
  */
202
- pullChangesFrom(remoteStore: ContentAddressedStore): Promise<void>;
291
+ pullChangesFrom(remote: ContentAddressedStore | MindooDB, options?: SyncOptions): Promise<SyncResult>;
203
292
  /**
204
- * Push changes to a remote content-addressed store.
293
+ * Push changes to a remote content-addressed store or another MindooDB instance.
205
294
  *
206
295
  * This method:
207
296
  * 1. Finds entries in our local store that the remote doesn't have
208
297
  * 2. Retrieves those entries from our local store
209
298
  * 3. Stores them in the remote store
210
299
  *
211
- * @param remoteStore The remote store to push entries to
212
- * @return A promise that resolves when the push is complete
300
+ * @param remote The remote store or MindooDB instance to push entries to
301
+ * @param options Optional sync options for progress tracking, paging, and cancellation
302
+ * @return A promise that resolves with the sync result
213
303
  */
214
- pushChangesTo(remoteStore: ContentAddressedStore): Promise<void>;
304
+ pushChangesTo(remote: ContentAddressedStore | MindooDB, options?: SyncOptions): Promise<SyncResult>;
215
305
  }
216
306
  //# sourceMappingURL=BaseMindooDB.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMindooDB.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooDB.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMindooDB.d.ts","sourceRoot":"","sources":["../../src/core/BaseMindooDB.ts"],"names":[],"mappings":"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"}