mindoodb 0.0.8 → 0.0.10

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 (70) hide show
  1. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts.map +1 -1
  2. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js +3 -5
  3. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js.map +1 -1
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +6 -2
  5. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  6. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +13 -3
  7. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  8. package/dist/appendonlystores/network/HttpTransport.d.ts +4 -0
  9. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  10. package/dist/appendonlystores/network/HttpTransport.js +63 -34
  11. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  12. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts +4 -1
  13. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.d.ts.map +1 -1
  14. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js +15 -3
  15. package/dist/browser/appendonlystores/IndexedDBContentAddressedStore.js.map +1 -1
  16. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.d.ts.map +1 -1
  17. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.js +7 -3
  18. package/dist/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.js.map +1 -1
  19. package/dist/browser/index.mjs +1 -0
  20. package/dist/core/BaseMindooDB.d.ts +14 -5
  21. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  22. package/dist/core/BaseMindooDB.js +97 -21
  23. package/dist/core/BaseMindooDB.js.map +1 -1
  24. package/dist/core/BaseMindooTenant.d.ts +2 -2
  25. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  26. package/dist/core/BaseMindooTenant.js +6 -5
  27. package/dist/core/BaseMindooTenant.js.map +1 -1
  28. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +4 -2
  29. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  30. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +13 -8
  31. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  32. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +5 -1
  33. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
  34. package/dist/core/appendonlystores/types.d.ts +14 -10
  35. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  36. package/dist/core/appendonlystores/types.js +6 -0
  37. package/dist/core/appendonlystores/types.js.map +1 -1
  38. package/dist/core/types.d.ts +13 -4
  39. package/dist/core/types.d.ts.map +1 -1
  40. package/dist/core/types.js +3 -1
  41. package/dist/core/types.js.map +1 -1
  42. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +5 -2
  43. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  44. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +10 -4
  45. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  46. package/dist/node/server/MindooDBServer.d.ts +2 -0
  47. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  48. package/dist/node/server/MindooDBServer.js +59 -36
  49. package/dist/node/server/MindooDBServer.js.map +1 -1
  50. package/dist/node/server/ServerSync.d.ts +1 -1
  51. package/dist/node/server/ServerSync.d.ts.map +1 -1
  52. package/dist/node/server/ServerSync.js +2 -1
  53. package/dist/node/server/ServerSync.js.map +1 -1
  54. package/dist/node/server/StoreFactory.d.ts +3 -3
  55. package/dist/node/server/StoreFactory.d.ts.map +1 -1
  56. package/dist/node/server/StoreFactory.js +8 -8
  57. package/dist/node/server/StoreFactory.js.map +1 -1
  58. package/dist/node/server/TenantManager.d.ts +3 -3
  59. package/dist/node/server/TenantManager.d.ts.map +1 -1
  60. package/dist/node/server/TenantManager.js +12 -8
  61. package/dist/node/server/TenantManager.js.map +1 -1
  62. package/dist/node/server/config.d.ts.map +1 -1
  63. package/dist/node/server/config.js +40 -1
  64. package/dist/node/server/config.js.map +1 -1
  65. package/dist/node/server/server.js +4 -3
  66. package/dist/node/server/server.js.map +1 -1
  67. package/dist/node/server/types.d.ts +8 -0
  68. package/dist/node/server/types.d.ts.map +1 -1
  69. package/dist/node/server/types.js.map +1 -1
  70. package/package.json +1 -1
@@ -15,6 +15,7 @@
15
15
  *
16
16
  * @module IndexedDBContentAddressedStore
17
17
  */
18
+ import { StoreKind } from "../../core/appendonlystores/types";
18
19
  import type { AttachmentReadPlan, AttachmentReadPlanOptions, ContentAddressedStore, DocumentMaterializationBatchPlan, DocumentMaterializationPlan, MaterializationPlanOptions, StoreIndexBuildStatus, AwaitIndexReadyOptions, StoreScanCursor, StoreScanFilters, StoreScanResult, StoreIdBloomSummary, OpenStoreOptions } from "../../core/appendonlystores/types";
19
20
  import type { StoreEntry, StoreEntryMetadata, StoreEntryType } from "../../core/types";
20
21
  import { Logger } from "../../core/logging";
@@ -35,14 +36,16 @@ import { Logger } from "../../core/logging";
35
36
  */
36
37
  export declare class IndexedDBContentAddressedStore implements ContentAddressedStore {
37
38
  private readonly storeId;
39
+ private readonly storeKind;
38
40
  private readonly idbName;
39
41
  private readonly logger;
40
42
  private db;
41
43
  private openPromise;
42
- constructor(storeId: string, logger?: Logger, options?: OpenStoreOptions);
44
+ constructor(storeId: string, storeKind?: StoreKind, logger?: Logger, options?: OpenStoreOptions);
43
45
  /** Lazily open the IDB database, creating object stores on first access. */
44
46
  private ensureOpen;
45
47
  getId(): string;
48
+ getStoreKind(): StoreKind;
46
49
  getCacheIdentity(): string;
47
50
  putEntries(entries: StoreEntry[]): Promise<void>;
48
51
  getEntries(ids: string[]): Promise<StoreEntry[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedDBContentAddressedStore.d.ts","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexedDBContentAddressedStore.d.ts","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStore.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@
18
18
  */
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.IndexedDBContentAddressedStore = void 0;
21
+ const types_1 = require("../../core/appendonlystores/types");
21
22
  const AttachmentReadPlanner_1 = require("../../core/appendonlystores/AttachmentReadPlanner");
22
23
  const MaterializationPlanner_1 = require("../../core/appendonlystores/MaterializationPlanner");
23
24
  const logging_1 = require("../../core/logging");
@@ -38,6 +39,13 @@ const IDX_CONTENT_HASH = "by_contentHash";
38
39
  // Bloom cache key
39
40
  const BLOOM_CACHE_KEY = "current";
40
41
  const RECEIPT_ORDER_COUNTER_KEY = "receiptOrderCounter";
42
+ function qualifyIndexedDbNamespace(namespace, storeKind) {
43
+ const separatorIndex = namespace.indexOf("-");
44
+ if (separatorIndex === -1) {
45
+ return `${namespace}_${storeKind}`;
46
+ }
47
+ return `${namespace.slice(0, separatorIndex)}_${storeKind}${namespace.slice(separatorIndex)}`;
48
+ }
41
49
  // ---------------------------------------------------------------------------
42
50
  // Browser-compatible bloom filter helpers (no Buffer dependency)
43
51
  // ---------------------------------------------------------------------------
@@ -198,15 +206,16 @@ function txToPromise(tx) {
198
206
  * `getIdBloomSummary()` call.
199
207
  */
200
208
  class IndexedDBContentAddressedStore {
201
- constructor(storeId, logger, options) {
209
+ constructor(storeId, storeKind = types_1.StoreKind.docs, logger, options) {
202
210
  this.db = null;
203
211
  this.openPromise = null;
204
212
  this.storeId = storeId;
213
+ this.storeKind = storeKind;
205
214
  this.logger =
206
215
  logger ??
207
- new logging_1.MindooLogger((0, logging_1.getDefaultLogLevel)(), `IndexedDBStore:${storeId}`, true);
216
+ new logging_1.MindooLogger((0, logging_1.getDefaultLogLevel)(), `IndexedDBStore:${storeId}:${storeKind}`, true);
208
217
  const prefix = options?.basePath || "default";
209
- this.idbName = `mindoodb_${prefix}_${storeId}`;
218
+ this.idbName = `mindoodb_${qualifyIndexedDbNamespace(prefix, storeKind)}_${storeId}`;
210
219
  }
211
220
  // -------------------------------------------------------------------------
212
221
  // IDB lifecycle
@@ -313,6 +322,9 @@ class IndexedDBContentAddressedStore {
313
322
  getId() {
314
323
  return this.storeId;
315
324
  }
325
+ getStoreKind() {
326
+ return this.storeKind;
327
+ }
316
328
  getCacheIdentity() {
317
329
  return `idb:${this.idbName}`;
318
330
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedDBContentAddressedStore.js","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IndexedDBContentAddressedStore.js","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedDBContentAddressedStoreFactory.d.ts","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,qBAAa,qCACX,YAAW,4BAA4B;IAEvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IAEjC;;;;;OAKG;gBACS,eAAe,GAAE,MAAkB,EAAE,MAAM,CAAC,EAAE,MAAM;IAKhE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB;CAoBzE"}
1
+ {"version":3,"file":"IndexedDBContentAddressedStoreFactory.d.ts","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD,qBAAa,qCACX,YAAW,4BAA4B;IAEvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IAEjC;;;;;OAKG;gBACS,eAAe,GAAE,MAAkB,EAAE,MAAM,CAAC,EAAE,MAAM;IAKhE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,iBAAiB;CA4BzE"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.IndexedDBContentAddressedStoreFactory = void 0;
14
+ const types_1 = require("../../core/appendonlystores/types");
14
15
  const IndexedDBContentAddressedStore_1 = require("./IndexedDBContentAddressedStore");
15
16
  class IndexedDBContentAddressedStoreFactory {
16
17
  /**
@@ -28,12 +29,15 @@ class IndexedDBContentAddressedStoreFactory {
28
29
  ...options,
29
30
  basePath: options?.basePath || this.defaultBasePath,
30
31
  };
31
- const store = new IndexedDBContentAddressedStore_1.IndexedDBContentAddressedStore(dbId, this.logger, mergedOptions);
32
+ const docStore = new IndexedDBContentAddressedStore_1.IndexedDBContentAddressedStore(dbId, types_1.StoreKind.docs, this.logger, mergedOptions);
33
+ const attachmentStore = new IndexedDBContentAddressedStore_1.IndexedDBContentAddressedStore(dbId, types_1.StoreKind.attachments, this.logger, mergedOptions);
32
34
  if (mergedOptions.clearLocalDataOnStartup) {
33
- void store.clearAllLocalData();
35
+ void docStore.clearAllLocalData();
36
+ void attachmentStore.clearAllLocalData();
34
37
  }
35
38
  return {
36
- docStore: store,
39
+ docStore,
40
+ attachmentStore,
37
41
  };
38
42
  }
39
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedDBContentAddressedStoreFactory.js","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAQH,qFAAkF;AAElF,MAAa,qCAAqC;IAMhD;;;;;OAKG;IACH,YAAY,kBAA0B,SAAS,EAAE,MAAe;QAC9D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,OAA0B;QAClD,MAAM,aAAa,GAAqB;YACtC,GAAG,OAAO;YACV,QAAQ,EAAG,OAAO,EAAE,QAAmB,IAAI,IAAI,CAAC,eAAe;SAChE,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,+DAA8B,CAC9C,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,aAAa,CACd,CAAC;QAEF,IAAI,aAAa,CAAC,uBAAuB,EAAE,CAAC;YAC1C,KAAK,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACjC,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC;CACF;AArCD,sFAqCC"}
1
+ {"version":3,"file":"IndexedDBContentAddressedStoreFactory.js","sourceRoot":"","sources":["../../../src/browser/appendonlystores/IndexedDBContentAddressedStoreFactory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,6DAE2C;AAO3C,qFAAkF;AAElF,MAAa,qCAAqC;IAMhD;;;;;OAKG;IACH,YAAY,kBAA0B,SAAS,EAAE,MAAe;QAC9D,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,OAA0B;QAClD,MAAM,aAAa,GAAqB;YACtC,GAAG,OAAO;YACV,QAAQ,EAAG,OAAO,EAAE,QAAmB,IAAI,IAAI,CAAC,eAAe;SAChE,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,+DAA8B,CACjD,IAAI,EACJ,iBAAS,CAAC,IAAI,EACd,IAAI,CAAC,MAAM,EACX,aAAa,CACd,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,+DAA8B,CACxD,IAAI,EACJ,iBAAS,CAAC,WAAW,EACrB,IAAI,CAAC,MAAM,EACX,aAAa,CACd,CAAC;QAEF,IAAI,aAAa,CAAC,uBAAuB,EAAE,CAAC;YAC1C,KAAK,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAClC,KAAK,eAAe,CAAC,iBAAiB,EAAE,CAAC;QAC3C,CAAC;QAED,OAAO;YACL,QAAQ;YACR,eAAe;SAChB,CAAC;IACJ,CAAC;CACF;AA7CD,sFA6CC"}
@@ -32,6 +32,7 @@ export const NetworkErrorType = browser["NetworkErrorType"];
32
32
  export const PUBLIC_INFOS_KEY_ID = browser["PUBLIC_INFOS_KEY_ID"];
33
33
  export const RSAEncryption = browser["RSAEncryption"];
34
34
  export const SelectedOnly = browser["SelectedOnly"];
35
+ export const StoreKind = browser["StoreKind"];
35
36
  export const SymmetricKeyNotFoundError = browser["SymmetricKeyNotFoundError"];
36
37
  export const TotalMode = browser["TotalMode"];
37
38
  export const VirtualView = browser["VirtualView"];
@@ -49,7 +49,7 @@ export declare class BaseMindooDB implements MindooDB {
49
49
  private cachePrefix;
50
50
  private dirtyDocIds;
51
51
  private cacheMetaDirty;
52
- constructor(tenant: BaseMindooTenant, store: ContentAddressedStore, attachmentStore?: ContentAddressedStore, attachmentConfig?: AttachmentConfig, documentCacheConfig?: DocumentCacheConfig, snapshotConfig?: SnapshotConfig, adminOnlyDb?: boolean, logger?: Logger, performanceCallback?: PerformanceCallback);
52
+ constructor(tenant: BaseMindooTenant, store: ContentAddressedStore, attachmentStore: ContentAddressedStore, attachmentConfig?: AttachmentConfig, documentCacheConfig?: DocumentCacheConfig, snapshotConfig?: SnapshotConfig, adminOnlyDb?: boolean, logger?: Logger, performanceCallback?: PerformanceCallback);
53
53
  /**
54
54
  * Get the admin public key from the tenant.
55
55
  * Only used when adminOnlyDb is true.
@@ -146,6 +146,7 @@ export declare class BaseMindooDB implements MindooDB {
146
146
  * unsupported or on error (callers fall back to exact checks).
147
147
  */
148
148
  private getTargetBloomSummary;
149
+ private static setSyncAbortSignalOnStore;
149
150
  /**
150
151
  * From a list of candidate IDs, return only those the target store is
151
152
  * missing. Uses bloom-filter pre-screening when available, then falls
@@ -153,6 +154,7 @@ export declare class BaseMindooDB implements MindooDB {
153
154
  */
154
155
  private filterMissingIds;
155
156
  private syncEntriesFromStore;
157
+ private syncEntriesFromStoreImpl;
156
158
  /**
157
159
  * Dense sync: transfer only the entries required to reconstruct the latest
158
160
  * state of each document, using the batch materialization planner to skip
@@ -171,7 +173,7 @@ export declare class BaseMindooDB implements MindooDB {
171
173
  */
172
174
  private syncEntriesFromStoreDense;
173
175
  getStore(): ContentAddressedStore;
174
- getAttachmentStore(): ContentAddressedStore | undefined;
176
+ getAttachmentStore(): ContentAddressedStore;
175
177
  getTenant(): MindooTenant;
176
178
  createDocument(): Promise<MindooDoc>;
177
179
  createEncryptedDocument(decryptionKeyId?: string): Promise<MindooDoc>;
@@ -313,7 +315,7 @@ export declare class BaseMindooDB implements MindooDB {
313
315
  */
314
316
  private streamAttachmentInternal;
315
317
  /**
316
- * Get the effective attachment store (attachment store if configured, otherwise doc store).
318
+ * Get the attachment store for this database.
317
319
  */
318
320
  private getEffectiveAttachmentStore;
319
321
  /**
@@ -333,6 +335,7 @@ export declare class BaseMindooDB implements MindooDB {
333
335
  * Resolve a sync target to a ContentAddressedStore.
334
336
  * Accepts either a raw store or a MindooDB instance (calls getStore()).
335
337
  */
338
+ private getStoreForKind;
336
339
  private resolveStore;
337
340
  /**
338
341
  * Apply a temporary network-auth identity override for a single sync call.
@@ -352,8 +355,11 @@ export declare class BaseMindooDB implements MindooDB {
352
355
  * 3. Stores them in our local store
353
356
  * 4. Syncs the local store to process the new entries
354
357
  *
358
+ * The optional `storeKind` sync option selects which store is synced.
359
+ * By default, this method syncs the docs store only.
360
+ *
355
361
  * @param remote The remote store or MindooDB instance to pull entries from
356
- * @param options Optional sync options for progress tracking, paging, and cancellation
362
+ * @param options Optional sync options for progress tracking, paging, cancellation, and store selection
357
363
  * @return A promise that resolves with the sync result
358
364
  */
359
365
  pullChangesFrom(remote: ContentAddressedStore | MindooDB, options?: SyncOptions): Promise<SyncResult>;
@@ -365,8 +371,11 @@ export declare class BaseMindooDB implements MindooDB {
365
371
  * 2. Retrieves those entries from our local store
366
372
  * 3. Stores them in the remote store
367
373
  *
374
+ * The optional `storeKind` sync option selects which store is synced.
375
+ * By default, this method syncs the docs store only.
376
+ *
368
377
  * @param remote The remote store or MindooDB instance to push entries to
369
- * @param options Optional sync options for progress tracking, paging, and cancellation
378
+ * @param options Optional sync options for progress tracking, paging, cancellation, and store selection
370
379
  * @return A promise that resolves with the sync result
371
380
  */
372
381
  pushChangesTo(remote: ContentAddressedStore | MindooDB, options?: SyncOptions): Promise<SyncResult>;
@@ -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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"}
@@ -6,6 +6,7 @@ exports.BaseMindooDB = void 0;
6
6
  // Browser/Node.js: WASM (@automerge/automerge/slim)
7
7
  const automerge_adapter_1 = require("./automerge-adapter");
8
8
  const uuid_1 = require("uuid");
9
+ const types_1 = require("./appendonlystores/types");
9
10
  const bloom_1 = require("./appendonlystores/bloom");
10
11
  const MaterializationPlanner_1 = require("./appendonlystores/MaterializationPlanner");
11
12
  const DocumentDagAnalysis_1 = require("./DocumentDagAnalysis");
@@ -64,6 +65,12 @@ class BaseMindooDB {
64
65
  this.cachePrefix = null;
65
66
  this.dirtyDocIds = new Set();
66
67
  this.cacheMetaDirty = false;
68
+ if (store.getStoreKind() !== types_1.StoreKind.docs) {
69
+ throw new Error(`[BaseMindooDB] Expected primary store kind ${types_1.StoreKind.docs} but received ${store.getStoreKind()}`);
70
+ }
71
+ if (attachmentStore.getStoreKind() !== types_1.StoreKind.attachments) {
72
+ throw new Error(`[BaseMindooDB] Expected attachment store kind ${types_1.StoreKind.attachments} but received ${attachmentStore.getStoreKind()}`);
73
+ }
67
74
  this.tenant = tenant;
68
75
  this.store = store;
69
76
  this.attachmentStore = attachmentStore;
@@ -738,6 +745,11 @@ class BaseMindooDB {
738
745
  return null;
739
746
  }
740
747
  }
748
+ static setSyncAbortSignalOnStore(store, signal) {
749
+ if ('setSyncAbortSignal' in store && typeof store.setSyncAbortSignal === 'function') {
750
+ store.setSyncAbortSignal(signal);
751
+ }
752
+ }
741
753
  /**
742
754
  * From a list of candidate IDs, return only those the target store is
743
755
  * missing. Uses bloom-filter pre-screening when available, then falls
@@ -767,13 +779,33 @@ class BaseMindooDB {
767
779
  return missingIds;
768
780
  }
769
781
  async syncEntriesFromStore(sourceStore, targetStore, options) {
770
- if (options?.mode === "dense") {
771
- return this.syncEntriesFromStoreDense(sourceStore, targetStore, options);
782
+ const signal = options?.signal;
783
+ BaseMindooDB.setSyncAbortSignalOnStore(sourceStore, signal);
784
+ BaseMindooDB.setSyncAbortSignalOnStore(targetStore, signal);
785
+ try {
786
+ if (options?.mode === "dense") {
787
+ return await this.syncEntriesFromStoreDense(sourceStore, targetStore, options);
788
+ }
789
+ return await this.syncEntriesFromStoreImpl(sourceStore, targetStore, options);
790
+ }
791
+ catch (error) {
792
+ if (signal?.aborted) {
793
+ this.logger.info("Sync cancelled by abort signal");
794
+ return { transferred: 0, scanned: 0, cancelled: true };
795
+ }
796
+ throw error;
797
+ }
798
+ finally {
799
+ BaseMindooDB.setSyncAbortSignalOnStore(sourceStore, undefined);
800
+ BaseMindooDB.setSyncAbortSignalOnStore(targetStore, undefined);
772
801
  }
802
+ }
803
+ async syncEntriesFromStoreImpl(sourceStore, targetStore, options) {
773
804
  let transferred = 0;
774
805
  let scanned = 0;
775
806
  const onProgress = options?.onProgress;
776
807
  const pageSize = options?.pageSize ?? 1000;
808
+ const signal = options?.signal;
777
809
  const targetBloom = await this.getTargetBloomSummary(targetStore);
778
810
  const totalSourceEstimate = targetBloom?.totalIds;
779
811
  if (this.supportsCursorScan(sourceStore)) {
@@ -787,17 +819,42 @@ class BaseMindooDB {
787
819
  let cursor = null;
788
820
  let currentPage = 0;
789
821
  while (true) {
790
- if (options?.signal?.aborted) {
822
+ if (signal?.aborted) {
791
823
  return { transferred, scanned, cancelled: true };
792
824
  }
793
825
  const page = await sourceStore.scanEntriesSince(cursor, pageSize);
794
826
  currentPage++;
795
827
  scanned += page.entries.length;
828
+ if (signal?.aborted) {
829
+ return { transferred, scanned, cancelled: true };
830
+ }
796
831
  if (page.entries.length > 0) {
832
+ onProgress?.({
833
+ phase: 'transferring',
834
+ message: `Scanned ${scanned} entries, checking for changes (page ${currentPage})...`,
835
+ transferredEntries: transferred,
836
+ scannedEntries: scanned,
837
+ totalSourceEntries: totalSourceEstimate,
838
+ currentPage,
839
+ });
797
840
  const ids = page.entries.map((m) => m.id);
798
841
  const missingIds = await this.filterMissingIds(targetStore, ids, targetBloom);
842
+ if (signal?.aborted) {
843
+ return { transferred, scanned, cancelled: true };
844
+ }
799
845
  if (missingIds.length > 0) {
846
+ onProgress?.({
847
+ phase: 'transferring',
848
+ message: `Transferring ${missingIds.length} entries (page ${currentPage}, scanned ${scanned})...`,
849
+ transferredEntries: transferred,
850
+ scannedEntries: scanned,
851
+ totalSourceEntries: totalSourceEstimate,
852
+ currentPage,
853
+ });
800
854
  const missingEntries = await sourceStore.getEntries(missingIds);
855
+ if (signal?.aborted) {
856
+ return { transferred, scanned, cancelled: true };
857
+ }
801
858
  await targetStore.putEntries(missingEntries);
802
859
  transferred += missingEntries.length;
803
860
  }
@@ -1851,6 +1908,7 @@ class BaseMindooDB {
1851
1908
  getId: () => docId,
1852
1909
  getCreatedAt: () => internalDoc.createdAt,
1853
1910
  getLastModified: () => internalDoc.lastModified,
1911
+ getDecryptionKeyId: () => internalDoc.decryptionKeyId,
1854
1912
  isDeleted: () => false,
1855
1913
  getData: () => {
1856
1914
  // Return a proxy that collects property assignments and deletions
@@ -3100,6 +3158,7 @@ class BaseMindooDB {
3100
3158
  getId: () => docId,
3101
3159
  getCreatedAt: () => internalDoc.createdAt,
3102
3160
  getLastModified: () => internalDoc.lastModified,
3161
+ getDecryptionKeyId: () => internalDoc.decryptionKeyId,
3103
3162
  isDeleted: () => internalDoc.isDeleted,
3104
3163
  getData: () => {
3105
3164
  // Convert Automerge document to plain JS object, converting Text objects to strings
@@ -3284,10 +3343,10 @@ class BaseMindooDB {
3284
3343
  this.logger.debug(`Finished streaming attachment ${attachmentId}`);
3285
3344
  }
3286
3345
  /**
3287
- * Get the effective attachment store (attachment store if configured, otherwise doc store).
3346
+ * Get the attachment store for this database.
3288
3347
  */
3289
3348
  getEffectiveAttachmentStore() {
3290
- return this.attachmentStore || this.store;
3349
+ return this.attachmentStore;
3291
3350
  }
3292
3351
  /**
3293
3352
  * Internal method to add an attachment by chunking the file and storing chunks.
@@ -3482,9 +3541,14 @@ class BaseMindooDB {
3482
3541
  * Resolve a sync target to a ContentAddressedStore.
3483
3542
  * Accepts either a raw store or a MindooDB instance (calls getStore()).
3484
3543
  */
3485
- resolveStore(remote) {
3544
+ getStoreForKind(storeKind = types_1.StoreKind.docs) {
3545
+ return storeKind === types_1.StoreKind.attachments ? this.attachmentStore : this.store;
3546
+ }
3547
+ resolveStore(remote, storeKind = types_1.StoreKind.docs) {
3486
3548
  if ('getStore' in remote && typeof remote.getStore === 'function') {
3487
- return remote.getStore();
3549
+ return storeKind === types_1.StoreKind.attachments
3550
+ ? remote.getAttachmentStore()
3551
+ : remote.getStore();
3488
3552
  }
3489
3553
  return remote;
3490
3554
  }
@@ -3544,19 +3608,24 @@ class BaseMindooDB {
3544
3608
  * 3. Stores them in our local store
3545
3609
  * 4. Syncs the local store to process the new entries
3546
3610
  *
3611
+ * The optional `storeKind` sync option selects which store is synced.
3612
+ * By default, this method syncs the docs store only.
3613
+ *
3547
3614
  * @param remote The remote store or MindooDB instance to pull entries from
3548
- * @param options Optional sync options for progress tracking, paging, and cancellation
3615
+ * @param options Optional sync options for progress tracking, paging, cancellation, and store selection
3549
3616
  * @return A promise that resolves with the sync result
3550
3617
  */
3551
3618
  async pullChangesFrom(remote, options) {
3552
- const remoteStore = this.resolveStore(remote);
3553
- if (this.store.getId() !== remoteStore.getId()) {
3554
- throw new Error(`[BaseMindooDB] Cannot pull entries from the incompatible store ${this.store.getId()}`);
3619
+ const storeKind = options?.storeKind ?? types_1.StoreKind.docs;
3620
+ const localStore = this.getStoreForKind(storeKind);
3621
+ const remoteStore = this.resolveStore(remote, storeKind);
3622
+ if (localStore.getId() !== remoteStore.getId() || localStore.getStoreKind() !== remoteStore.getStoreKind()) {
3623
+ throw new Error(`[BaseMindooDB] Cannot pull entries from the incompatible store ${localStore.getId()}/${localStore.getStoreKind()}`);
3555
3624
  }
3556
- this.logger.info(`Pulling entries from remote store ${remoteStore.getId()}`);
3625
+ this.logger.info(`Pulling entries from remote store ${remoteStore.getId()}/${remoteStore.getStoreKind()}`);
3557
3626
  const restoreAuthOverride = await this.applyNetworkAuthOverrideForSync(remoteStore, options);
3558
3627
  try {
3559
- const syncResult = await this.syncEntriesFromStore(remoteStore, this.store, options);
3628
+ const syncResult = await this.syncEntriesFromStore(remoteStore, localStore, options);
3560
3629
  this.logger.debug(`Transferred ${syncResult.transferred} entries from remote store`);
3561
3630
  if (syncResult.cancelled) {
3562
3631
  this.logger.info(`Pull cancelled after transferring ${syncResult.transferred} entries`);
@@ -3578,11 +3647,13 @@ class BaseMindooDB {
3578
3647
  });
3579
3648
  // Sync the local store to process the new entries
3580
3649
  // This will update the index, cache, and processedEntryIds
3581
- await this.syncStoreChanges();
3650
+ if (storeKind === types_1.StoreKind.docs) {
3651
+ await this.syncStoreChanges();
3652
+ }
3582
3653
  this.logger.info(`Pull complete, synced ${syncResult.transferred} entries`);
3583
3654
  options?.onProgress?.({
3584
3655
  phase: 'complete',
3585
- message: `Pull complete: ${syncResult.transferred} entries synced`,
3656
+ message: `Pull complete: ${syncResult.transferred} ${storeKind} entries synced`,
3586
3657
  transferredEntries: syncResult.transferred,
3587
3658
  scannedEntries: syncResult.transferred,
3588
3659
  });
@@ -3604,19 +3675,24 @@ class BaseMindooDB {
3604
3675
  * 2. Retrieves those entries from our local store
3605
3676
  * 3. Stores them in the remote store
3606
3677
  *
3678
+ * The optional `storeKind` sync option selects which store is synced.
3679
+ * By default, this method syncs the docs store only.
3680
+ *
3607
3681
  * @param remote The remote store or MindooDB instance to push entries to
3608
- * @param options Optional sync options for progress tracking, paging, and cancellation
3682
+ * @param options Optional sync options for progress tracking, paging, cancellation, and store selection
3609
3683
  * @return A promise that resolves with the sync result
3610
3684
  */
3611
3685
  async pushChangesTo(remote, options) {
3612
- const remoteStore = this.resolveStore(remote);
3613
- if (this.store.getId() !== remoteStore.getId()) {
3614
- throw new Error(`[BaseMindooDB] Cannot push entries to the incompatible store ${this.store.getId()}`);
3686
+ const storeKind = options?.storeKind ?? types_1.StoreKind.docs;
3687
+ const localStore = this.getStoreForKind(storeKind);
3688
+ const remoteStore = this.resolveStore(remote, storeKind);
3689
+ if (localStore.getId() !== remoteStore.getId() || localStore.getStoreKind() !== remoteStore.getStoreKind()) {
3690
+ throw new Error(`[BaseMindooDB] Cannot push entries to the incompatible store ${localStore.getId()}/${localStore.getStoreKind()}`);
3615
3691
  }
3616
- this.logger.info(`Pushing entries to remote store ${remoteStore.getId()}`);
3692
+ this.logger.info(`Pushing entries to remote store ${remoteStore.getId()}/${remoteStore.getStoreKind()}`);
3617
3693
  const restoreAuthOverride = await this.applyNetworkAuthOverrideForSync(remoteStore, options);
3618
3694
  try {
3619
- const syncResult = await this.syncEntriesFromStore(this.store, remoteStore, options);
3695
+ const syncResult = await this.syncEntriesFromStore(localStore, remoteStore, options);
3620
3696
  this.logger.debug(`Transferred ${syncResult.transferred} entries to remote store`);
3621
3697
  if (syncResult.cancelled) {
3622
3698
  this.logger.info(`Push cancelled after transferring ${syncResult.transferred} entries`);