@korajs/store 1.0.0-beta.4 → 1.0.0-beta.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.
Files changed (58) hide show
  1. package/dist/adapters/better-sqlite3.d.cts +1 -1
  2. package/dist/adapters/better-sqlite3.d.ts +1 -1
  3. package/dist/adapters/indexeddb.cjs +4 -1
  4. package/dist/adapters/indexeddb.cjs.map +1 -1
  5. package/dist/adapters/indexeddb.d.cts +2 -2
  6. package/dist/adapters/indexeddb.d.ts +2 -2
  7. package/dist/adapters/indexeddb.js +1 -1
  8. package/dist/adapters/sqlite-wasm-shared-host.cjs +292 -42
  9. package/dist/adapters/sqlite-wasm-shared-host.cjs.map +1 -1
  10. package/dist/adapters/sqlite-wasm-shared-host.d.cts +43 -25
  11. package/dist/adapters/sqlite-wasm-shared-host.d.ts +43 -25
  12. package/dist/adapters/sqlite-wasm-shared-host.js +33 -42
  13. package/dist/adapters/sqlite-wasm-shared-host.js.map +1 -1
  14. package/dist/adapters/sqlite-wasm-worker.cjs +206 -208
  15. package/dist/adapters/sqlite-wasm-worker.cjs.map +1 -1
  16. package/dist/adapters/sqlite-wasm-worker.js +8 -257
  17. package/dist/adapters/sqlite-wasm-worker.js.map +1 -1
  18. package/dist/adapters/sqlite-wasm.cjs +4 -1
  19. package/dist/adapters/sqlite-wasm.cjs.map +1 -1
  20. package/dist/adapters/sqlite-wasm.d.cts +3 -3
  21. package/dist/adapters/sqlite-wasm.d.ts +3 -3
  22. package/dist/adapters/sqlite-wasm.js +1 -1
  23. package/dist/{backup-IQE4QC7Q.js → backup-5S7K2Z35.js} +3 -3
  24. package/dist/chunk-3Y2IERBF.js +255 -0
  25. package/dist/chunk-3Y2IERBF.js.map +1 -0
  26. package/dist/{chunk-RCTG3IJG.js → chunk-CYO3YKFL.js} +2 -2
  27. package/dist/{chunk-6NKLDBTY.js → chunk-GSJ7EEUC.js} +2 -1
  28. package/dist/chunk-GSJ7EEUC.js.map +1 -0
  29. package/dist/{chunk-OCOGQRHW.js → chunk-HS6DBMST.js} +2 -2
  30. package/dist/{chunk-2ZRQGFEF.js → chunk-Q57CHIIN.js} +5 -2
  31. package/dist/chunk-Q57CHIIN.js.map +1 -0
  32. package/dist/{chunk-UXRWVXBP.js → chunk-RL43UYQZ.js} +2 -2
  33. package/dist/{export-audit-MT2LTMIN.js → export-audit-ODGQTQIK.js} +3 -3
  34. package/dist/index.cjs +120 -3
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.cts +27 -4
  37. package/dist/index.d.ts +27 -4
  38. package/dist/index.js +128 -11
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal.cjs +1 -0
  41. package/dist/internal.cjs.map +1 -1
  42. package/dist/internal.d.cts +3 -3
  43. package/dist/internal.d.ts +3 -3
  44. package/dist/internal.js +2 -2
  45. package/dist/{sqlite-wasm-channel-CNHRf-m2.d.cts → sqlite-wasm-channel-Bx57s8Cq.d.cts} +1 -1
  46. package/dist/{sqlite-wasm-channel-CNHRf-m2.d.ts → sqlite-wasm-channel-Bx57s8Cq.d.ts} +1 -1
  47. package/dist/{types-5h4Hqcwc.d.ts → types-C1kigrWz.d.ts} +1 -1
  48. package/dist/{types-k6AZgiH4.d.ts → types-D1MzKVmk.d.cts} +10 -0
  49. package/dist/{types-k6AZgiH4.d.cts → types-D1MzKVmk.d.ts} +10 -0
  50. package/dist/{types-DfPiPwKr.d.cts → types-DAo9oduO.d.cts} +1 -1
  51. package/package.json +2 -2
  52. package/dist/chunk-2ZRQGFEF.js.map +0 -1
  53. package/dist/chunk-6NKLDBTY.js.map +0 -1
  54. /package/dist/{backup-IQE4QC7Q.js.map → backup-5S7K2Z35.js.map} +0 -0
  55. /package/dist/{chunk-RCTG3IJG.js.map → chunk-CYO3YKFL.js.map} +0 -0
  56. /package/dist/{chunk-OCOGQRHW.js.map → chunk-HS6DBMST.js.map} +0 -0
  57. /package/dist/{chunk-UXRWVXBP.js.map → chunk-RL43UYQZ.js.map} +0 -0
  58. /package/dist/{export-audit-MT2LTMIN.js.map → export-audit-ODGQTQIK.js.map} +0 -0
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { C as CollectionRecord, S as StorageAdapter, Q as QueryDescriptor, c as SubscriptionCallback, W as WhereClause, d as OrderByDirection, L as LocalMutationHandler, e as StoreConfig, A as ApplyRemoteOptions, f as MaterializedRowSnapshot, g as RowVersionState } from './types-k6AZgiH4.cjs';
2
- export { M as MigrationPlan, h as OrderByClause, i as StoreIsolation, T as Transaction, j as TransactionBufferedEntry, k as TransactionCommitBatch, l as TransactionCommitResult, m as WhereOperators } from './types-k6AZgiH4.cjs';
1
+ import { C as CollectionRecord, S as StorageAdapter, Q as QueryDescriptor, c as SubscriptionCallback, W as WhereClause, d as OrderByDirection, L as LocalMutationHandler, e as StoreConfig, A as ApplyRemoteOptions, f as MaterializedRowSnapshot, g as RowVersionState } from './types-D1MzKVmk.cjs';
2
+ export { M as MigrationPlan, h as OrderByClause, i as StoreIsolation, T as Transaction, j as TransactionBufferedEntry, k as TransactionCommitBatch, l as TransactionCommitResult, m as WhereOperators } from './types-D1MzKVmk.cjs';
3
3
  import { Operation, KoraError, VersionVector, SchemaDefinition, HLCTimestamp, MergeTrace, CollectionDefinition, SequenceConfig, HybridLogicalClock, CausalTracker, OperationLog, ApplyResult, StateMachineDefinition, KoraBytesValue, KoraEvent, BlobRefMetadata, BlobRef } from '@korajs/core';
4
4
  export { ApplyResult } from '@korajs/core';
5
- import { R as RelationEnforcer, L as LocalMutationContext } from './types-DfPiPwKr.cjs';
6
- export { C as Collection } from './types-DfPiPwKr.cjs';
5
+ import { R as RelationEnforcer, L as LocalMutationContext } from './types-DAo9oduO.cjs';
6
+ export { C as Collection } from './types-DAo9oduO.cjs';
7
7
  import * as yjs from 'yjs';
8
8
  import { C as ContentAddressedBlobStore, M as MemoryBlobStore } from './content-addressed-blob-store-Dcj3SB9r.cjs';
9
9
  export { B as BlobIntegrityError } from './content-addressed-blob-store-Dcj3SB9r.cjs';
@@ -858,6 +858,23 @@ declare class Store implements OperationLog {
858
858
  * Persist or clear the delta cursor for paginated initial sync resume.
859
859
  */
860
860
  saveDeltaCursor(cursor: string | null): Promise<void>;
861
+ /**
862
+ * Load the persisted delivery watermark for a view signature (0 when none recorded).
863
+ * Defaults to the unfiltered view so existing single-watermark reads keep working.
864
+ */
865
+ loadDeliveryWatermark(signature?: string): Promise<number>;
866
+ /**
867
+ * Persist the delivery watermark for a view signature so it survives a client restart.
868
+ */
869
+ saveDeliveryWatermark(signature: string, watermark: number): Promise<void>;
870
+ /**
871
+ * Load every persisted view watermark, keyed by signature.
872
+ */
873
+ loadAllDeliveryWatermarks(): Promise<Record<string, number>>;
874
+ /**
875
+ * Delete a persisted view watermark (safe: the view back-fills from 0 when next visited).
876
+ */
877
+ deleteDeliveryWatermark(signature: string): Promise<void>;
861
878
  /**
862
879
  * Local operations not yet reflected on the server version vector.
863
880
  */
@@ -892,6 +909,12 @@ declare class Store implements OperationLog {
892
909
  * Latest operation for a record from any node (for 3-way merge when local op log is empty).
893
910
  */
894
911
  getLatestOperationForRecord(collection: string, recordId: string): Promise<Operation | null>;
912
+ /**
913
+ * All operations for a record, sorted in HLC total order (wallTime, logical,
914
+ * nodeId). Used by the apply pipeline to materialize atomic-op fields by folding
915
+ * the record's log, matching the server's materialization exactly.
916
+ */
917
+ getOperationsForRecord(collection: string, recordId: string): Promise<Operation[]>;
895
918
  /** Expose the subscription manager for direct access (e.g., by QueryBuilder) */
896
919
  getSubscriptionManager(): SubscriptionManager;
897
920
  /**
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { C as CollectionRecord, S as StorageAdapter, Q as QueryDescriptor, c as SubscriptionCallback, W as WhereClause, d as OrderByDirection, L as LocalMutationHandler, e as StoreConfig, A as ApplyRemoteOptions, f as MaterializedRowSnapshot, g as RowVersionState } from './types-k6AZgiH4.js';
2
- export { M as MigrationPlan, h as OrderByClause, i as StoreIsolation, T as Transaction, j as TransactionBufferedEntry, k as TransactionCommitBatch, l as TransactionCommitResult, m as WhereOperators } from './types-k6AZgiH4.js';
1
+ import { C as CollectionRecord, S as StorageAdapter, Q as QueryDescriptor, c as SubscriptionCallback, W as WhereClause, d as OrderByDirection, L as LocalMutationHandler, e as StoreConfig, A as ApplyRemoteOptions, f as MaterializedRowSnapshot, g as RowVersionState } from './types-D1MzKVmk.js';
2
+ export { M as MigrationPlan, h as OrderByClause, i as StoreIsolation, T as Transaction, j as TransactionBufferedEntry, k as TransactionCommitBatch, l as TransactionCommitResult, m as WhereOperators } from './types-D1MzKVmk.js';
3
3
  import { Operation, KoraError, VersionVector, SchemaDefinition, HLCTimestamp, MergeTrace, CollectionDefinition, SequenceConfig, HybridLogicalClock, CausalTracker, OperationLog, ApplyResult, StateMachineDefinition, KoraBytesValue, KoraEvent, BlobRefMetadata, BlobRef } from '@korajs/core';
4
4
  export { ApplyResult } from '@korajs/core';
5
- import { R as RelationEnforcer, L as LocalMutationContext } from './types-5h4Hqcwc.js';
6
- export { C as Collection } from './types-5h4Hqcwc.js';
5
+ import { R as RelationEnforcer, L as LocalMutationContext } from './types-C1kigrWz.js';
6
+ export { C as Collection } from './types-C1kigrWz.js';
7
7
  import * as yjs from 'yjs';
8
8
  import { C as ContentAddressedBlobStore, M as MemoryBlobStore } from './content-addressed-blob-store-Dcj3SB9r.js';
9
9
  export { B as BlobIntegrityError } from './content-addressed-blob-store-Dcj3SB9r.js';
@@ -858,6 +858,23 @@ declare class Store implements OperationLog {
858
858
  * Persist or clear the delta cursor for paginated initial sync resume.
859
859
  */
860
860
  saveDeltaCursor(cursor: string | null): Promise<void>;
861
+ /**
862
+ * Load the persisted delivery watermark for a view signature (0 when none recorded).
863
+ * Defaults to the unfiltered view so existing single-watermark reads keep working.
864
+ */
865
+ loadDeliveryWatermark(signature?: string): Promise<number>;
866
+ /**
867
+ * Persist the delivery watermark for a view signature so it survives a client restart.
868
+ */
869
+ saveDeliveryWatermark(signature: string, watermark: number): Promise<void>;
870
+ /**
871
+ * Load every persisted view watermark, keyed by signature.
872
+ */
873
+ loadAllDeliveryWatermarks(): Promise<Record<string, number>>;
874
+ /**
875
+ * Delete a persisted view watermark (safe: the view back-fills from 0 when next visited).
876
+ */
877
+ deleteDeliveryWatermark(signature: string): Promise<void>;
861
878
  /**
862
879
  * Local operations not yet reflected on the server version vector.
863
880
  */
@@ -892,6 +909,12 @@ declare class Store implements OperationLog {
892
909
  * Latest operation for a record from any node (for 3-way merge when local op log is empty).
893
910
  */
894
911
  getLatestOperationForRecord(collection: string, recordId: string): Promise<Operation | null>;
912
+ /**
913
+ * All operations for a record, sorted in HLC total order (wallTime, logical,
914
+ * nodeId). Used by the apply pipeline to materialize atomic-op fields by folding
915
+ * the record's log, matching the server's materialization exactly.
916
+ */
917
+ getOperationsForRecord(collection: string, recordId: string): Promise<Operation[]>;
895
918
  /** Expose the subscription manager for direct access (e.g., by QueryBuilder) */
896
919
  getSubscriptionManager(): SubscriptionManager;
897
920
  /**
package/dist/index.js CHANGED
@@ -3,12 +3,12 @@ import {
3
3
  readBackupManifest,
4
4
  restoreBackup,
5
5
  verifyBackupChecksum
6
- } from "./chunk-OCOGQRHW.js";
6
+ } from "./chunk-HS6DBMST.js";
7
7
  import {
8
8
  decodeAuditExport,
9
9
  readAuditExportManifest,
10
10
  verifyAuditExportChecksum
11
- } from "./chunk-RCTG3IJG.js";
11
+ } from "./chunk-CYO3YKFL.js";
12
12
  import {
13
13
  persistedAuditTraceFromEvent
14
14
  } from "./chunk-MYSJN3DF.js";
@@ -39,7 +39,7 @@ import {
39
39
  serializeRowVersion,
40
40
  validateStateTransition,
41
41
  validateUpdateStateMachine
42
- } from "./chunk-UXRWVXBP.js";
42
+ } from "./chunk-RL43UYQZ.js";
43
43
  import {
44
44
  decodeRichtext,
45
45
  decodeRichtextFieldsFromOpData,
@@ -51,7 +51,7 @@ import {
51
51
  richtextToPlainText,
52
52
  serializeOperation,
53
53
  serializeRecord
54
- } from "./chunk-6NKLDBTY.js";
54
+ } from "./chunk-GSJ7EEUC.js";
55
55
  import {
56
56
  AdapterError,
57
57
  NoLeaderError,
@@ -131,6 +131,7 @@ function buildDeleteSql(table, withAge) {
131
131
  import { createVersionVector as createVersionVector2 } from "@korajs/core";
132
132
  var LAST_ACKED_SERVER_VECTOR_META_KEY = "last_acked_server_vector";
133
133
  var DELTA_CURSOR_META_KEY = "delta_cursor";
134
+ var DELIVERY_WATERMARK_META_KEY = "delivery_watermark";
134
135
  function serializeVersionVectorToMeta(vector) {
135
136
  const record = {};
136
137
  for (const [nodeId, seq] of vector) {
@@ -203,6 +204,45 @@ async function saveDeltaCursor(adapter, cursor) {
203
204
  cursor
204
205
  ]);
205
206
  }
207
+ function deliveryWatermarkKey(signature) {
208
+ return signature === "" ? DELIVERY_WATERMARK_META_KEY : `${DELIVERY_WATERMARK_META_KEY}:${signature}`;
209
+ }
210
+ async function loadDeliveryWatermark(adapter, signature) {
211
+ const rows = await adapter.query("SELECT value FROM _kora_meta WHERE key = ?", [
212
+ deliveryWatermarkKey(signature)
213
+ ]);
214
+ const value = rows[0]?.value;
215
+ if (value === void 0 || value === null) {
216
+ return 0;
217
+ }
218
+ const parsed = Number(value);
219
+ return Number.isFinite(parsed) && parsed >= 0 ? parsed : 0;
220
+ }
221
+ async function saveDeliveryWatermark(adapter, signature, watermark) {
222
+ await adapter.execute("INSERT OR REPLACE INTO _kora_meta (key, value) VALUES (?, ?)", [
223
+ deliveryWatermarkKey(signature),
224
+ String(watermark)
225
+ ]);
226
+ }
227
+ async function deleteDeliveryWatermark(adapter, signature) {
228
+ await adapter.execute("DELETE FROM _kora_meta WHERE key = ?", [deliveryWatermarkKey(signature)]);
229
+ }
230
+ async function loadAllDeliveryWatermarks(adapter) {
231
+ const rows = await adapter.query(
232
+ "SELECT key, value FROM _kora_meta WHERE key = ? OR key LIKE ?",
233
+ [DELIVERY_WATERMARK_META_KEY, `${DELIVERY_WATERMARK_META_KEY}:%`]
234
+ );
235
+ const result = {};
236
+ const prefix = `${DELIVERY_WATERMARK_META_KEY}:`;
237
+ for (const row of rows) {
238
+ const signature = row.key === DELIVERY_WATERMARK_META_KEY ? "" : row.key.slice(prefix.length);
239
+ const parsed = Number(row.value);
240
+ if (Number.isFinite(parsed) && parsed >= 0) {
241
+ result[signature] = parsed;
242
+ }
243
+ }
244
+ return result;
245
+ }
206
246
 
207
247
  // src/store/store.ts
208
248
  import {
@@ -211,7 +251,8 @@ import {
211
251
  createVersionVector as createVersionVector3,
212
252
  generateUUIDv7 as generateUUIDv73,
213
253
  migrationStepsToSQL,
214
- quoteIdent as quoteIdent7
254
+ quoteIdent as quoteIdent7,
255
+ replayOperationsForRecord
215
256
  } from "@korajs/core";
216
257
 
217
258
  // src/collection/collection.ts
@@ -2196,7 +2237,8 @@ var Store = class {
2196
2237
  throw new OptimisticLockError(collection, op.recordId);
2197
2238
  }
2198
2239
  };
2199
- if (op.type === "insert" && materializeSource) {
2240
+ if (options?.logOnly) {
2241
+ } else if (op.type === "insert" && materializeSource) {
2200
2242
  const serializedData = serializeRecord(materializeSource, definition.fields);
2201
2243
  const existing2 = await tx.query(
2202
2244
  `SELECT _updated_at, _version, _field_versions, _deleted FROM ${collection} WHERE id = ?`,
@@ -2218,7 +2260,7 @@ var Store = class {
2218
2260
  };
2219
2261
  const insertQuery = buildInsertQuery(collection, record);
2220
2262
  await tx.execute(insertQuery.sql, insertQuery.params);
2221
- await this.foldOrphanedOperations(tx, collection, definition, op.recordId);
2263
+ await this.foldOrphanedOperations(tx, collection, definition, op.recordId, op);
2222
2264
  } else if (row._deleted === 1) {
2223
2265
  if (isIncomingNewerThanRow(materializeTimestamp, row)) {
2224
2266
  const fieldChanges = {
@@ -2370,7 +2412,7 @@ var Store = class {
2370
2412
  * necessarily an orphan (rows are soft-deleted, never removed, so a row
2371
2413
  * that is absent now was never materialized).
2372
2414
  */
2373
- async foldOrphanedOperations(tx, collection, definition, recordId) {
2415
+ async foldOrphanedOperations(tx, collection, definition, recordId, insertOp) {
2374
2416
  const orphanRows = await tx.query(
2375
2417
  `SELECT * FROM ${quoteIdent7(`_kora_ops_${collection}`)} WHERE record_id = ? AND type IN ('update', 'delete')`,
2376
2418
  [recordId]
@@ -2419,6 +2461,37 @@ var Store = class {
2419
2461
  await tx.execute(query.sql, query.params);
2420
2462
  }
2421
2463
  }
2464
+ const atomicFields = /* @__PURE__ */ new Set();
2465
+ for (const orphan of orphans) {
2466
+ if (orphan.type === "update" && orphan.atomicOps) {
2467
+ for (const field of Object.keys(orphan.atomicOps)) {
2468
+ atomicFields.add(field);
2469
+ }
2470
+ }
2471
+ }
2472
+ if (atomicFields.size > 0) {
2473
+ const ordered = [insertOp, ...orphans].sort(
2474
+ (a, b) => HybridLogicalClock3.compare(a.timestamp, b.timestamp)
2475
+ );
2476
+ const folded = replayOperationsForRecord(ordered);
2477
+ if (folded) {
2478
+ const composed = {};
2479
+ for (const field of atomicFields) {
2480
+ if (field in folded) {
2481
+ composed[field] = folded[field];
2482
+ }
2483
+ }
2484
+ const serialized = serializeRecord(composed, definition.fields);
2485
+ const cols = Object.keys(serialized);
2486
+ if (cols.length > 0) {
2487
+ const setClause = cols.map((c) => `${quoteIdent7(c)} = ?`).join(", ");
2488
+ await tx.execute(`UPDATE ${quoteIdent7(collection)} SET ${setClause} WHERE id = ?`, [
2489
+ ...cols.map((c) => serialized[c]),
2490
+ recordId
2491
+ ]);
2492
+ }
2493
+ }
2494
+ }
2422
2495
  }
2423
2496
  /**
2424
2497
  * Get operations from a node within a sequence number range.
@@ -2505,7 +2578,7 @@ var Store = class {
2505
2578
  */
2506
2579
  async exportAudit(options) {
2507
2580
  this.ensureOpen();
2508
- const { exportAudit: doExport } = await import("./export-audit-MT2LTMIN.js");
2581
+ const { exportAudit: doExport } = await import("./export-audit-ODGQTQIK.js");
2509
2582
  return doExport(this.adapter, this.schema, this.nodeId, this.schema.version, options);
2510
2583
  }
2511
2584
  /**
@@ -2632,6 +2705,35 @@ var Store = class {
2632
2705
  this.ensureOpen();
2633
2706
  await saveDeltaCursor(this.adapter, cursor);
2634
2707
  }
2708
+ /**
2709
+ * Load the persisted delivery watermark for a view signature (0 when none recorded).
2710
+ * Defaults to the unfiltered view so existing single-watermark reads keep working.
2711
+ */
2712
+ async loadDeliveryWatermark(signature = "") {
2713
+ this.ensureOpen();
2714
+ return loadDeliveryWatermark(this.adapter, signature);
2715
+ }
2716
+ /**
2717
+ * Persist the delivery watermark for a view signature so it survives a client restart.
2718
+ */
2719
+ async saveDeliveryWatermark(signature, watermark) {
2720
+ this.ensureOpen();
2721
+ await saveDeliveryWatermark(this.adapter, signature, watermark);
2722
+ }
2723
+ /**
2724
+ * Load every persisted view watermark, keyed by signature.
2725
+ */
2726
+ async loadAllDeliveryWatermarks() {
2727
+ this.ensureOpen();
2728
+ return loadAllDeliveryWatermarks(this.adapter);
2729
+ }
2730
+ /**
2731
+ * Delete a persisted view watermark (safe: the view back-fills from 0 when next visited).
2732
+ */
2733
+ async deleteDeliveryWatermark(signature) {
2734
+ this.ensureOpen();
2735
+ await deleteDeliveryWatermark(this.adapter, signature);
2736
+ }
2635
2737
  /**
2636
2738
  * Local operations not yet reflected on the server version vector.
2637
2739
  */
@@ -2722,6 +2824,21 @@ var Store = class {
2722
2824
  }
2723
2825
  return latest;
2724
2826
  }
2827
+ /**
2828
+ * All operations for a record, sorted in HLC total order (wallTime, logical,
2829
+ * nodeId). Used by the apply pipeline to materialize atomic-op fields by folding
2830
+ * the record's log, matching the server's materialization exactly.
2831
+ */
2832
+ async getOperationsForRecord(collection, recordId) {
2833
+ this.ensureOpen();
2834
+ const rows = await this.adapter.query(
2835
+ `SELECT * FROM ${quoteIdent7(`_kora_ops_${collection}`)} WHERE record_id = ?`,
2836
+ [recordId]
2837
+ );
2838
+ const ops = rows.map((row) => deserializeOperationWithCollection(row, collection));
2839
+ ops.sort((a, b) => HybridLogicalClock3.compare(a.timestamp, b.timestamp));
2840
+ return ops;
2841
+ }
2725
2842
  /** Expose the subscription manager for direct access (e.g., by QueryBuilder) */
2726
2843
  getSubscriptionManager() {
2727
2844
  return this.subscriptionManager;
@@ -2800,7 +2917,7 @@ var Store = class {
2800
2917
  */
2801
2918
  async exportBackup(options) {
2802
2919
  this.ensureOpen();
2803
- const { exportBackup: doExport } = await import("./backup-IQE4QC7Q.js");
2920
+ const { exportBackup: doExport } = await import("./backup-5S7K2Z35.js");
2804
2921
  return doExport(this.adapter, this.schema, this.nodeId, this.schema.version, options);
2805
2922
  }
2806
2923
  /**
@@ -2812,7 +2929,7 @@ var Store = class {
2812
2929
  */
2813
2930
  async importBackup(data, options) {
2814
2931
  this.ensureOpen();
2815
- const { restoreBackup: doRestore } = await import("./backup-IQE4QC7Q.js");
2932
+ const { restoreBackup: doRestore } = await import("./backup-5S7K2Z35.js");
2816
2933
  return doRestore(this.adapter, this.schema, data, options);
2817
2934
  }
2818
2935
  /**