mindoodb 0.0.71 → 0.0.73

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 (43) hide show
  1. package/dist/core/BaseMindooDB.d.ts +50 -1
  2. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  3. package/dist/core/BaseMindooDB.js +314 -10
  4. package/dist/core/BaseMindooDB.js.map +1 -1
  5. package/dist/core/BaseMindooTenant.d.ts +16 -0
  6. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  7. package/dist/core/BaseMindooTenant.js +43 -0
  8. package/dist/core/BaseMindooTenant.js.map +1 -1
  9. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +11 -0
  10. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
  11. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +44 -18
  12. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
  13. package/dist/core/appendonlystores/purgeDocumentHistory.d.ts +52 -0
  14. package/dist/core/appendonlystores/purgeDocumentHistory.d.ts.map +1 -0
  15. package/dist/core/appendonlystores/purgeDocumentHistory.js +107 -0
  16. package/dist/core/appendonlystores/purgeDocumentHistory.js.map +1 -0
  17. package/dist/core/appendonlystores/purgedDocumentGuard.d.ts +33 -0
  18. package/dist/core/appendonlystores/purgedDocumentGuard.d.ts.map +1 -0
  19. package/dist/core/appendonlystores/purgedDocumentGuard.js +78 -0
  20. package/dist/core/appendonlystores/purgedDocumentGuard.js.map +1 -0
  21. package/dist/core/types.d.ts +63 -0
  22. package/dist/core/types.d.ts.map +1 -1
  23. package/dist/core/types.js.map +1 -1
  24. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts +13 -0
  25. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  26. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +26 -2
  27. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  28. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  29. package/dist/node/server/MindooDBServer.js +2 -0
  30. package/dist/node/server/MindooDBServer.js.map +1 -1
  31. package/dist/node/server/TenantManager.d.ts +11 -0
  32. package/dist/node/server/TenantManager.d.ts.map +1 -1
  33. package/dist/node/server/TenantManager.js +40 -9
  34. package/dist/node/server/TenantManager.js.map +1 -1
  35. package/dist/node/server/peer/ClusterManager.d.ts +4 -0
  36. package/dist/node/server/peer/ClusterManager.d.ts.map +1 -1
  37. package/dist/node/server/peer/ClusterManager.js +2 -0
  38. package/dist/node/server/peer/ClusterManager.js.map +1 -1
  39. package/dist/node/server/peer/PeerReplicator.d.ts +12 -0
  40. package/dist/node/server/peer/PeerReplicator.d.ts.map +1 -1
  41. package/dist/node/server/peer/PeerReplicator.js +19 -1
  42. package/dist/node/server/peer/PeerReplicator.js.map +1 -1
  43. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
- import { MindooDB, CreateOptions, DeleteOptions, ListDocumentIdsOptions, InaccessibleDocumentInfo, ListDocumentCreationDatesOptions, DocumentCreationDate, IterateChangesOptions, UndeleteOptions, ChangeOptions, DocumentDagAnalysisTimestamp, DocumentDagAnalysisResult, DocumentDagBranchMaterializationResult, DocumentDagEntryDetails, DocumentConflictAnalysisEvent, DocumentConflictAnalysisOptions, DocumentConflictBaseValue, DocumentConflictBaseValueQuery, DocumentConflictReport, DocumentConflictReportOptions, ConflictScanCheckpoint, MindooDoc, MindooTenant, ProcessChangesCursor, ProcessChangesResult, DocumentHistoryResult, RevisionCursor, ChangeRevisionResult, AttachmentConfig, DocumentCacheConfig, SnapshotConfig, SigningKeyPair, PerformanceCallback, ProcessChangeSummaryResult, IncompleteAttachmentUploadReclaimResult, SyncOptions, SyncResult, DocumentHistoryPageOptions, DocumentHistoryPageResult, MindooJsonPatch, MindooTextCursorOptions, MindooTextCursorPosition, MindooTextCursorPositionsResult, MindooTextCursorsResult, MindooJsonPatchResult, MindooRichTextPatch, MindooRichTextPatchResult, MindooRichTextStepPatch, MindooRichTextSnapshot, MindooAutomergeSnapshot, MindooAutomergeChangesPatch, MindooAutomergePatchResult, MindooTextPatch, MindooTextPatchResult, StartBackgroundWarmerOptions, BackgroundWarmerProgress, DbChangeListener } from "./types";
1
+ import { MindooDB, CreateOptions, DeleteOptions, ListDocumentIdsOptions, InaccessibleDocumentInfo, ListDocumentCreationDatesOptions, DocumentCreationDate, IterateChangesOptions, UndeleteOptions, ChangeOptions, DocumentDagAnalysisTimestamp, DocumentDagAnalysisResult, DocumentDagBranchMaterializationResult, DocumentRestoreResult, DocumentDagEntryDetails, DocumentConflictAnalysisEvent, DocumentConflictAnalysisOptions, DocumentConflictBaseValue, DocumentConflictBaseValueQuery, DocumentConflictReport, DocumentConflictReportOptions, ConflictScanCheckpoint, MindooDoc, MindooTenant, ProcessChangesCursor, ProcessChangesResult, DocumentHistoryResult, RevisionCursor, ChangeRevisionResult, AttachmentConfig, DocumentCacheConfig, SnapshotConfig, SigningKeyPair, PerformanceCallback, ProcessChangeSummaryResult, IncompleteAttachmentUploadReclaimResult, SyncOptions, SyncResult, DocumentHistoryPageOptions, DocumentHistoryPageResult, MindooJsonPatch, MindooTextCursorOptions, MindooTextCursorPosition, MindooTextCursorPositionsResult, MindooTextCursorsResult, MindooJsonPatchResult, MindooRichTextPatch, MindooRichTextPatchResult, MindooRichTextStepPatch, MindooRichTextSnapshot, MindooAutomergeSnapshot, MindooAutomergeChangesPatch, MindooAutomergePatchResult, MindooTextPatch, MindooTextPatchResult, StartBackgroundWarmerOptions, BackgroundWarmerProgress, DbChangeListener } from "./types";
2
2
  import { BaseMindooTenant } from "./BaseMindooTenant";
3
3
  import type { ContentAddressedStore } from "./appendonlystores/types";
4
+ import { type DocumentHistoryPurgeOutcome } from "./appendonlystores/purgeDocumentHistory";
4
5
  import type { CopyEngineHost } from "./copy/host";
5
6
  import type { CopyDocumentOptions, CopyDocumentResult, CopyDocumentSelector, CopyDocumentsOptions, CopyDocumentsResult, CopyFeasibility } from "./copy/types";
6
7
  import { QuarantineRecord } from "./accesscontrol/materializationGuard";
@@ -1015,6 +1016,22 @@ export declare class BaseMindooDB implements MindooDB {
1015
1016
  * path that triggered the purge.
1016
1017
  */
1017
1018
  private purgeMaterializedDocument;
1019
+ /**
1020
+ * Physically purge a document's history from this database (see
1021
+ * {@link MindooDB.purgeDocumentHistory}).
1022
+ */
1023
+ purgeDocumentHistory(docId: string): Promise<DocumentHistoryPurgeOutcome>;
1024
+ /**
1025
+ * Drop everything this instance derived from a document whose store entries
1026
+ * were purged: the L1/L2 caches, summary values and full-text tokens (via
1027
+ * {@link purgeMaterializedDocument}), and the live index entry, which turns
1028
+ * into a deleted tombstone so changefeed consumers and views remove the
1029
+ * document. Safe to call on time-travel snapshots and when nothing is known
1030
+ * about the document.
1031
+ *
1032
+ * @internal Called by {@link purgeDocumentHistory} and the tenant.
1033
+ */
1034
+ forgetPurgedDocument(docId: string): Promise<void>;
1018
1035
  /**
1019
1036
  * Reconcile the in-memory index with the current tenant KeyBag.
1020
1037
  *
@@ -1401,6 +1418,38 @@ export declare class BaseMindooDB implements MindooDB {
1401
1418
  */
1402
1419
  private decodeAutomergeActorIds;
1403
1420
  materializeDocumentBranchAtEntry(docId: string, headEntryId: string): Promise<DocumentDagBranchMaterializationResult | null>;
1421
+ /**
1422
+ * {@link materializeDocumentBranchAtEntry} without the public wrapper: the
1423
+ * raw Automerge state (counters, immutable strings and dates intact), for
1424
+ * callers that copy it into another document.
1425
+ */
1426
+ private materializeBranchInternalAtEntry;
1427
+ /**
1428
+ * Restore a document to an earlier state (see
1429
+ * {@link MindooDB.restoreDocumentToEntry}).
1430
+ */
1431
+ restoreDocumentToEntry(docId: string, entryId: string, options?: ChangeOptions): Promise<DocumentRestoreResult>;
1432
+ /** True for a nested map: not a list, and none of the Automerge/JS scalar objects. */
1433
+ private isPlainRestoreRecord;
1434
+ /**
1435
+ * Comparable key of a value inside an Automerge document. Text is keyed by
1436
+ * its spans, so a change of formatting or block structure counts as a
1437
+ * change even when the characters are the same.
1438
+ */
1439
+ private restoreValueKey;
1440
+ /**
1441
+ * Inside an `Automerge.change`: make `parent[key]` (at `path`) equal to the
1442
+ * value at the same path in `sourceDoc`. Maps are merged key by key, text is
1443
+ * brought over with `updateSpans` (characters, marks and block markers,
1444
+ * as a diff, so it stays collaborative text), lists and scalars are
1445
+ * replaced. Counters, dates, immutable strings and bytes keep their type.
1446
+ */
1447
+ private restoreValueAt;
1448
+ private forEachTextPath;
1449
+ /** Copy a text field's spans (characters, marks, blocks) from `sourceDoc`. */
1450
+ private restoreTextAt;
1451
+ /** The current document, deleted or not, for {@link restoreDocumentToEntry}. */
1452
+ private getInternalDocumentForRestore;
1404
1453
  materializeDocumentAtHeads(docId: string, headEntryIds: string[]): Promise<DocumentDagBranchMaterializationResult | null>;
1405
1454
  materializeDocumentBranchAtTimestamp(docId: string, timestamp: DocumentDagAnalysisTimestamp, headEntryId: string): Promise<DocumentDagBranchMaterializationResult | null>;
1406
1455
  describeDocumentDagEntry(docId: string, entryId: string): Promise<DocumentDagEntryDetails | null>;
@@ -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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"}
@@ -15,6 +15,8 @@ const MaterializationPlanner_1 = require("./appendonlystores/MaterializationPlan
15
15
  const DocumentDagAnalysis_1 = require("./DocumentDagAnalysis");
16
16
  const DocumentConflictAnalysis_1 = require("./DocumentConflictAnalysis");
17
17
  const AttachmentReadPlanner_1 = require("./appendonlystores/AttachmentReadPlanner");
18
+ const purgedDocumentGuard_1 = require("./appendonlystores/purgedDocumentGuard");
19
+ const purgeDocumentHistory_1 = require("./appendonlystores/purgeDocumentHistory");
18
20
  const idGeneration_1 = require("./utils/idGeneration");
19
21
  const timeSource_1 = require("./utils/timeSource");
20
22
  const errors_1 = require("./errors");
@@ -2749,6 +2751,46 @@ class BaseMindooDB {
2749
2751
  }
2750
2752
  }
2751
2753
  }
2754
+ /**
2755
+ * Physically purge a document's history from this database (see
2756
+ * {@link MindooDB.purgeDocumentHistory}).
2757
+ */
2758
+ async purgeDocumentHistory(docId) {
2759
+ this.assertWritable("purgeDocumentHistory");
2760
+ const outcome = await (0, purgeDocumentHistory_1.purgeDocumentHistoryFromStores)({ docsStore: this.store, attachmentStore: this.attachmentStore }, docId);
2761
+ await this.forgetPurgedDocument(docId);
2762
+ // Open time-travel snapshots and persisted snapshot caches hold their own
2763
+ // plaintext copies of the document. Skipped on a repeated purge (callers
2764
+ // re-apply all purge requests on every directory sync), which would
2765
+ // otherwise wipe every snapshot cache each time.
2766
+ if (outcome.docEntriesPurged > 0 || outcome.attachmentChunksPurged > 0) {
2767
+ await this.tenant.forgetPurgedDocumentInSnapshots(this.store.getId(), docId);
2768
+ }
2769
+ return outcome;
2770
+ }
2771
+ /**
2772
+ * Drop everything this instance derived from a document whose store entries
2773
+ * were purged: the L1/L2 caches, summary values and full-text tokens (via
2774
+ * {@link purgeMaterializedDocument}), and the live index entry, which turns
2775
+ * into a deleted tombstone so changefeed consumers and views remove the
2776
+ * document. Safe to call on time-travel snapshots and when nothing is known
2777
+ * about the document.
2778
+ *
2779
+ * @internal Called by {@link purgeDocumentHistory} and the tenant.
2780
+ */
2781
+ async forgetPurgedDocument(docId) {
2782
+ await this.purgeMaterializedDocument(docId);
2783
+ const position = this.getDocIndexPosition(docId);
2784
+ // Already a tombstone (soft-deleted earlier, or purged before): views have
2785
+ // removed it, and bumping it again on every repeated purge would only
2786
+ // churn the changefeed.
2787
+ if (position !== undefined && !this.index[position].isDeleted) {
2788
+ const existing = this.index[position];
2789
+ this.updateIndex(docId, Math.max(existing.lastModified, (0, timeSource_1.semanticNow)()), true, existing.decryptionKeyId, existing.accessState, false, false, true);
2790
+ }
2791
+ this.cacheMetaDirty = true;
2792
+ this.cacheManager?.markDirty();
2793
+ }
2752
2794
  /**
2753
2795
  * Reconcile the in-memory index with the current tenant KeyBag.
2754
2796
  *
@@ -5428,6 +5470,28 @@ class BaseMindooDB {
5428
5470
  return result;
5429
5471
  }
5430
5472
  async materializeDocumentBranchAtEntry(docId, headEntryId) {
5473
+ const materialized = await this.materializeBranchInternalAtEntry(docId, headEntryId);
5474
+ if (!materialized) {
5475
+ return null;
5476
+ }
5477
+ const { plan, internalDoc } = materialized;
5478
+ return {
5479
+ docId,
5480
+ headEntryId: plan.headEntryId,
5481
+ headCreatedAt: plan.headCreatedAt,
5482
+ headCreatedByPublicKey: plan.headCreatedByPublicKey,
5483
+ snapshotEntryId: plan.snapshotEntryId,
5484
+ entryIdsApplied: [...plan.entryIdsToApply],
5485
+ branchEntryIds: [...plan.branchEntryIds],
5486
+ doc: this.wrapDocument(internalDoc),
5487
+ };
5488
+ }
5489
+ /**
5490
+ * {@link materializeDocumentBranchAtEntry} without the public wrapper: the
5491
+ * raw Automerge state (counters, immutable strings and dates intact), for
5492
+ * callers that copy it into another document.
5493
+ */
5494
+ async materializeBranchInternalAtEntry(docId, headEntryId) {
5431
5495
  const startedAt = Date.now();
5432
5496
  const allEntryMetadata = await this.scanAllMetadata(this.store, { docId });
5433
5497
  const plan = (0, DocumentDagAnalysis_1.computeBranchMaterializationPlan)(docId, allEntryMetadata, headEntryId);
@@ -5458,17 +5522,203 @@ class BaseMindooDB {
5458
5522
  if (!internalDoc) {
5459
5523
  return null;
5460
5524
  }
5525
+ return { plan, internalDoc };
5526
+ }
5527
+ /**
5528
+ * Restore a document to an earlier state (see
5529
+ * {@link MindooDB.restoreDocumentToEntry}).
5530
+ */
5531
+ async restoreDocumentToEntry(docId, entryId, options = {}) {
5532
+ this.assertWritable("restoreDocumentToEntry");
5533
+ const materialized = await this.materializeBranchInternalAtEntry(docId, entryId);
5534
+ if (!materialized) {
5535
+ throw new Error(`restoreDocumentToEntry: no state of document ${docId} at entry ${entryId}`);
5536
+ }
5537
+ const { plan, internalDoc: source } = materialized;
5538
+ if (source.isDeleted) {
5539
+ throw new Error(`restoreDocumentToEntry: document ${docId} is deleted at entry ${entryId}; delete the document instead`);
5540
+ }
5541
+ const sourceData = source.doc;
5542
+ const sourceAttachments = sourceData._attachments ?? [];
5543
+ // Every chunk chain the restored state points at must still be stored
5544
+ // (a history purge can have removed it).
5545
+ for (const ref of sourceAttachments) {
5546
+ const head = await this.attachmentStore.getEntryMetadata(ref.lastChunkId);
5547
+ if (!head || head.docId !== docId) {
5548
+ throw new Error(`restoreDocumentToEntry: attachment ${ref.attachmentId} of document ${docId} is no longer stored`);
5549
+ }
5550
+ }
5551
+ let undeleted = false;
5552
+ let target = await this.getInternalDocumentForRestore(docId);
5553
+ if (target.isDeleted) {
5554
+ await this.undeleteDocument(docId, {
5555
+ signingKeyPair: options.signingKeyPair,
5556
+ signingKeyPassword: options.signingKeyPassword,
5557
+ bypassAccessControlPrecheck: options.bypassAccessControlPrecheck,
5558
+ });
5559
+ undeleted = true;
5560
+ target = await this.getInternalDocumentForRestore(docId);
5561
+ }
5562
+ // Compare raw Automerge values on both sides, so an unchanged counter or
5563
+ // immutable string is not rewritten, and text compares with its marks and
5564
+ // block markers rather than just its characters.
5565
+ const sourceDoc = source.doc;
5566
+ const targetDoc = target.doc;
5567
+ const targetData = targetDoc;
5568
+ const changedFields = Object.keys(sourceData).filter((key) => !key.startsWith("_") &&
5569
+ (!(key in targetData) ||
5570
+ this.restoreValueKey(targetDoc, [key], targetData[key]) !==
5571
+ this.restoreValueKey(sourceDoc, [key], sourceData[key])));
5572
+ const removedFields = Object.keys(targetData).filter((key) => !key.startsWith("_") && !(key in sourceData));
5573
+ const targetAttachments = targetData._attachments ?? [];
5574
+ const restoredAttachments = sourceAttachments.filter((ref) => {
5575
+ const now = targetAttachments.find((a) => a.attachmentId === ref.attachmentId);
5576
+ return !now || stableValueKey(now) !== stableValueKey(ref);
5577
+ });
5578
+ const sourceAttachmentIds = new Set(sourceAttachments.map((ref) => ref.attachmentId));
5579
+ const removedAttachmentIds = targetAttachments
5580
+ .map((ref) => ref.attachmentId)
5581
+ .filter((id) => !sourceAttachmentIds.has(id));
5582
+ if (changedFields.length > 0 ||
5583
+ removedFields.length > 0 ||
5584
+ restoredAttachments.length > 0 ||
5585
+ removedAttachmentIds.length > 0) {
5586
+ await this.changeDocInternal(this.wrapDocument(target), async (draft) => {
5587
+ // Fields starting with "_" are managed by MindooDB; attachments are
5588
+ // restored separately. Field values are written in the mutation
5589
+ // below, at Automerge level.
5590
+ for (const attachmentId of removedAttachmentIds) {
5591
+ await draft.removeAttachment(attachmentId);
5592
+ }
5593
+ }, options.signingKeyPair, options.signingKeyPassword, options.bypassAccessControlPrecheck, restoredAttachments, (automergeDoc) => {
5594
+ const data = automergeDoc;
5595
+ for (const key of changedFields) {
5596
+ this.restoreValueAt(automergeDoc, sourceDoc, data, key, [key]);
5597
+ }
5598
+ for (const key of removedFields) {
5599
+ delete data[key];
5600
+ }
5601
+ });
5602
+ }
5461
5603
  return {
5462
5604
  docId,
5463
- headEntryId: plan.headEntryId,
5464
- headCreatedAt: plan.headCreatedAt,
5465
- headCreatedByPublicKey: plan.headCreatedByPublicKey,
5466
- snapshotEntryId: plan.snapshotEntryId,
5467
- entryIdsApplied: [...plan.entryIdsToApply],
5468
- branchEntryIds: [...plan.branchEntryIds],
5469
- doc: this.wrapDocument(internalDoc),
5605
+ restoredFromEntryId: plan.headEntryId,
5606
+ undeleted,
5607
+ changedFields,
5608
+ removedFields,
5609
+ restoredAttachmentIds: restoredAttachments.map((ref) => ref.attachmentId),
5610
+ removedAttachmentIds,
5470
5611
  };
5471
5612
  }
5613
+ /** True for a nested map: not a list, and none of the Automerge/JS scalar objects. */
5614
+ isPlainRestoreRecord(value) {
5615
+ return (value !== null &&
5616
+ typeof value === "object" &&
5617
+ !Array.isArray(value) &&
5618
+ !(value instanceof Date) &&
5619
+ !(value instanceof Uint8Array) &&
5620
+ !this.isAutomergeCounter(value) &&
5621
+ !this.isAutomergeImmutableString(value));
5622
+ }
5623
+ /**
5624
+ * Comparable key of a value inside an Automerge document. Text is keyed by
5625
+ * its spans, so a change of formatting or block structure counts as a
5626
+ * change even when the characters are the same.
5627
+ */
5628
+ restoreValueKey(doc, path, value) {
5629
+ if (typeof value === "string") {
5630
+ return JSON.stringify({ $text: automerge_adapter_1.Automerge.spans(doc, path) });
5631
+ }
5632
+ if (Array.isArray(value)) {
5633
+ return `[${value.map((entry, index) => this.restoreValueKey(doc, [...path, index], entry)).join(",")}]`;
5634
+ }
5635
+ if (this.isPlainRestoreRecord(value)) {
5636
+ return `{${Object.keys(value)
5637
+ .sort()
5638
+ .map((key) => `${JSON.stringify(key)}:${this.restoreValueKey(doc, [...path, key], value[key])}`)
5639
+ .join(",")}}`;
5640
+ }
5641
+ return stableValueKey(value);
5642
+ }
5643
+ /**
5644
+ * Inside an `Automerge.change`: make `parent[key]` (at `path`) equal to the
5645
+ * value at the same path in `sourceDoc`. Maps are merged key by key, text is
5646
+ * brought over with `updateSpans` (characters, marks and block markers,
5647
+ * as a diff, so it stays collaborative text), lists and scalars are
5648
+ * replaced. Counters, dates, immutable strings and bytes keep their type.
5649
+ */
5650
+ restoreValueAt(targetDoc, sourceDoc, parent, key, path) {
5651
+ const sourceValue = this.readValueAtPath(sourceDoc, path);
5652
+ const container = parent;
5653
+ if (typeof sourceValue === "string") {
5654
+ if (typeof container[key] !== "string") {
5655
+ container[key] = "";
5656
+ }
5657
+ this.restoreTextAt(targetDoc, sourceDoc, path);
5658
+ return;
5659
+ }
5660
+ if (this.isPlainRestoreRecord(sourceValue)) {
5661
+ if (!this.isPlainRestoreRecord(container[key])) {
5662
+ container[key] = {};
5663
+ }
5664
+ const targetRecord = container[key];
5665
+ for (const childKey of Object.keys(sourceValue)) {
5666
+ const childPath = [...path, childKey];
5667
+ if (!(childKey in targetRecord) ||
5668
+ this.restoreValueKey(targetDoc, childPath, targetRecord[childKey]) !==
5669
+ this.restoreValueKey(sourceDoc, childPath, sourceValue[childKey])) {
5670
+ this.restoreValueAt(targetDoc, sourceDoc, targetRecord, childKey, childPath);
5671
+ }
5672
+ }
5673
+ for (const childKey of Object.keys(targetRecord)) {
5674
+ if (!(childKey in sourceValue)) {
5675
+ delete targetRecord[childKey];
5676
+ }
5677
+ }
5678
+ return;
5679
+ }
5680
+ container[key] = this.hydrateTypedValues(sourceValue);
5681
+ if (Array.isArray(sourceValue)) {
5682
+ // The copied list holds plain strings; bring their marks along.
5683
+ this.forEachTextPath(sourceValue, path, (textPath) => this.restoreTextAt(targetDoc, sourceDoc, textPath));
5684
+ }
5685
+ }
5686
+ forEachTextPath(value, path, visit) {
5687
+ if (typeof value === "string") {
5688
+ visit(path);
5689
+ }
5690
+ else if (Array.isArray(value)) {
5691
+ value.forEach((entry, index) => this.forEachTextPath(entry, [...path, index], visit));
5692
+ }
5693
+ else if (this.isPlainRestoreRecord(value)) {
5694
+ for (const key of Object.keys(value)) {
5695
+ this.forEachTextPath(value[key], [...path, key], visit);
5696
+ }
5697
+ }
5698
+ }
5699
+ /** Copy a text field's spans (characters, marks, blocks) from `sourceDoc`. */
5700
+ restoreTextAt(targetDoc, sourceDoc, path) {
5701
+ const spans = automerge_adapter_1.Automerge.spans(sourceDoc, path);
5702
+ try {
5703
+ automerge_adapter_1.Automerge.updateSpans(targetDoc, path, spans);
5704
+ }
5705
+ catch (error) {
5706
+ if (!this.isRichTextUpdateSpansBoundsError(error)) {
5707
+ throw error;
5708
+ }
5709
+ // Same recovery as applyRichTextPatch: start the field from scratch.
5710
+ this.setJsonValueAtPath(targetDoc, path, "");
5711
+ automerge_adapter_1.Automerge.updateSpans(targetDoc, path, spans);
5712
+ }
5713
+ }
5714
+ /** The current document, deleted or not, for {@link restoreDocumentToEntry}. */
5715
+ async getInternalDocumentForRestore(docId) {
5716
+ const internalDoc = this.getCachedDocument(docId) ?? (await this.loadDocumentInternal(docId));
5717
+ if (!internalDoc) {
5718
+ throw new errors_1.DocumentNotFoundError(docId);
5719
+ }
5720
+ return internalDoc;
5721
+ }
5472
5722
  async materializeDocumentAtHeads(docId, headEntryIds) {
5473
5723
  const startedAt = Date.now();
5474
5724
  const allEntryMetadata = await this.scanAllMetadata(this.store, { docId });
@@ -7604,7 +7854,7 @@ class BaseMindooDB {
7604
7854
  data: wrapped.getData(),
7605
7855
  };
7606
7856
  }
7607
- async changeDocInternal(doc, changeFunc, signingKeyPair, signingKeyPassword, bypassPrecheck) {
7857
+ async changeDocInternal(doc, changeFunc, signingKeyPair, signingKeyPassword, bypassPrecheck, restoredAttachments = [], internalMutation) {
7608
7858
  this.assertWritable("changeDoc");
7609
7859
  const docId = doc.getId();
7610
7860
  if ((signingKeyPair !== undefined) !== (signingKeyPassword !== undefined)) {
@@ -7897,6 +8147,9 @@ class BaseMindooDB {
7897
8147
  for (const key of pendingDeletions) {
7898
8148
  delete automergeDoc[key];
7899
8149
  }
8150
+ // Engine-internal edits that need the raw Automerge document, e.g.
8151
+ // restoreDocumentToEntry's rich-text spans.
8152
+ internalMutation?.(automergeDoc);
7900
8153
  for (const { path, delta } of pendingCounterIncrements) {
7901
8154
  this.incrementCounterAtPath(automergeDoc, path, delta);
7902
8155
  }
@@ -7904,7 +8157,8 @@ class BaseMindooDB {
7904
8157
  if (pendingAttachmentAdditions.length > 0 ||
7905
8158
  pendingAttachmentRemovals.size > 0 ||
7906
8159
  pendingAttachmentAppends.size > 0 ||
7907
- pendingAttachmentTextUpdates.size > 0) {
8160
+ pendingAttachmentTextUpdates.size > 0 ||
8161
+ restoredAttachments.length > 0) {
7908
8162
  // Initialize _attachments array if needed
7909
8163
  if (!automergeDoc._attachments) {
7910
8164
  automergeDoc._attachments = [];
@@ -7925,6 +8179,17 @@ class BaseMindooDB {
7925
8179
  attachment.size += sizeIncrease;
7926
8180
  }
7927
8181
  }
8182
+ // Re-point at earlier attachment states whose chunks are already
8183
+ // stored (restoreDocumentToEntry). Kept out of the pending
8184
+ // additions on purpose: a failed change cleans up the pending
8185
+ // additions' chunks, and these chunks are part of the history.
8186
+ for (const ref of restoredAttachments) {
8187
+ const index = attachments.findIndex((a) => a.attachmentId === ref.attachmentId);
8188
+ if (index >= 0) {
8189
+ attachments.splice(index, 1);
8190
+ }
8191
+ attachments.push(JSON.parse(JSON.stringify(ref)));
8192
+ }
7928
8193
  // Add new attachments
7929
8194
  for (const ref of pendingAttachmentAdditions) {
7930
8195
  attachments.push(ref);
@@ -12523,8 +12788,15 @@ class BaseMindooDB {
12523
12788
  async pullChangesFrom(remote, options) {
12524
12789
  this.assertWritable("pullChangesFrom");
12525
12790
  const storeKind = options?.storeKind ?? types_2.StoreKind.docs;
12526
- const localStore = this.getStoreForKind(storeKind);
12527
12791
  const remoteStore = this.resolveStore(remote, storeKind);
12792
+ // Entries of documents purged by an admin-signed request are refused on the
12793
+ // way in, so a replica that has not executed the purge yet cannot hand the
12794
+ // erased history back (docs/accesscontrol.md §13). Never applied to the
12795
+ // directory, which carries the purge requests themselves.
12796
+ const dbId = this.store.getId();
12797
+ const localStore = dbId === "directory"
12798
+ ? this.getStoreForKind(storeKind)
12799
+ : (0, purgedDocumentGuard_1.guardStoreAgainstPurgedDocuments)(this.getStoreForKind(storeKind), () => this.tenant.getPurgedDocumentIds(dbId), this.logger);
12528
12800
  if (localStore.getId() !== remoteStore.getId() ||
12529
12801
  localStore.getStoreKind() !== remoteStore.getStoreKind()) {
12530
12802
  throw new Error(`[BaseMindooDB] Cannot pull entries from the incompatible store ${localStore.getId()}/${localStore.getStoreKind()}`);
@@ -12712,4 +12984,36 @@ BaseMindooDB.ACL_NOT_ENFORCED_DECISION = {
12712
12984
  reason: "access control not enforced",
12713
12985
  tier: "tier1",
12714
12986
  };
12987
+ /**
12988
+ * Comparable serialization of a document value: Automerge counters, immutable
12989
+ * strings, dates and byte arrays included, key order ignored. Used to restore
12990
+ * only the fields that actually differ.
12991
+ */
12992
+ function stableValueKey(value) {
12993
+ const normalize = (input) => {
12994
+ if (input === null || input === undefined)
12995
+ return input ?? null;
12996
+ if (input instanceof Uint8Array)
12997
+ return { $bytes: Array.from(input) };
12998
+ if (input instanceof Date)
12999
+ return { $date: input.getTime() };
13000
+ if (typeof input !== "object")
13001
+ return input;
13002
+ if (input instanceof automerge_adapter_1.Automerge.Counter)
13003
+ return { $counter: input.value };
13004
+ const immutable = automerge_adapter_1.Automerge.ImmutableString;
13005
+ if (immutable && input instanceof immutable) {
13006
+ return { $atomic: String(input.val) };
13007
+ }
13008
+ if (Array.isArray(input))
13009
+ return input.map(normalize);
13010
+ const record = input;
13011
+ const out = {};
13012
+ for (const key of Object.keys(record).sort()) {
13013
+ out[key] = normalize(record[key]);
13014
+ }
13015
+ return out;
13016
+ };
13017
+ return JSON.stringify(normalize(value));
13018
+ }
12715
13019
  //# sourceMappingURL=BaseMindooDB.js.map