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