mindoodb 0.0.7 → 0.0.9

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.
@@ -42,14 +42,10 @@ class BaseMindooTenant {
42
42
  this.keyBag = keyBag;
43
43
  this.storeFactory = storeFactory;
44
44
  this.additionalTrustedKeys = additionalTrustedKeys;
45
- // Import createCryptoAdapter dynamically to avoid issues in browser environments
46
45
  if (!cryptoAdapter) {
47
- const { createCryptoAdapter } = require("./crypto/CryptoAdapter");
48
- this.cryptoAdapter = createCryptoAdapter();
49
- }
50
- else {
51
- this.cryptoAdapter = cryptoAdapter;
46
+ throw new Error("BaseMindooTenant requires a CryptoAdapter instance.");
52
47
  }
48
+ this.cryptoAdapter = cryptoAdapter;
53
49
  // Create logger if not provided (for backward compatibility)
54
50
  this.logger =
55
51
  logger ||
@@ -1 +1 @@
1
- {"version":3,"file":"BaseMindooTenant.js","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseMindooTenant.js","sourceRoot":"","sources":["../../src/core/BaseMindooTenant.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { DocumentDagAnalysisResult, StoreEntryMetadata } from "./types";
2
+ /**
3
+ * Returns true for metadata that belongs in the document DAG analysis view.
4
+ */
5
+ export declare function isDagEntry(entry: StoreEntryMetadata): boolean;
6
+ /**
7
+ * Chooses the best snapshot that can serve as the starting point for a branch replay.
8
+ *
9
+ * Only snapshots whose roots are part of the branch are eligible. Among those, the
10
+ * snapshot with the highest coverage wins, with newer snapshots breaking ties.
11
+ */
12
+ export declare function chooseBestBranchSnapshot(snapshots: StoreEntryMetadata[], replayById: Map<string, StoreEntryMetadata>, branchAncestors: Set<string>): StoreEntryMetadata | null;
13
+ /**
14
+ * Computes the full DAG analysis payload used by Haven's explorer.
15
+ *
16
+ * The result intentionally contains both:
17
+ * - current-head-derived branch information for reconstruction/materialization
18
+ * - dependency-graph-derived lane information for historical visualization
19
+ */
20
+ export declare function computeDocumentDagAnalysis(docId: string, allEntriesForDoc: StoreEntryMetadata[], timestamp: number): DocumentDagAnalysisResult;
21
+ /**
22
+ * Materialization instructions for reconstructing the document state of one branch head.
23
+ */
24
+ export interface DocumentDagBranchPlan {
25
+ docId: string;
26
+ headEntryId: string;
27
+ headCreatedAt: number;
28
+ headCreatedByPublicKey: string;
29
+ snapshotEntryId: string | null;
30
+ entryIdsToApply: string[];
31
+ branchEntryIds: string[];
32
+ }
33
+ /**
34
+ * Builds the replay plan needed to reconstruct one branch-local document state.
35
+ *
36
+ * The plan identifies an optional compatible snapshot, the uncovered replay entries
37
+ * that still need to be applied, and the full ordered ancestor set for the branch.
38
+ */
39
+ export declare function computeBranchMaterializationPlan(docId: string, allEntriesForDoc: StoreEntryMetadata[], headEntryId: string): DocumentDagBranchPlan | null;
40
+ //# sourceMappingURL=DocumentDagAnalysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentDagAnalysis.d.ts","sourceRoot":"","sources":["../../src/core/DocumentDagAnalysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EAGzB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAiBjB;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAE7D;AA8QD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,kBAAkB,EAAE,EAC/B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC3C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,kBAAkB,GAAG,IAAI,CA0B3B;AA+BD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,kBAAkB,EAAE,EACtC,SAAS,EAAE,MAAM,GAChB,yBAAyB,CAoE3B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,kBAAkB,EAAE,EACtC,WAAW,EAAE,MAAM,GAClB,qBAAqB,GAAG,IAAI,CAmC9B"}
@@ -0,0 +1,401 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isDagEntry = isDagEntry;
4
+ exports.chooseBestBranchSnapshot = chooseBestBranchSnapshot;
5
+ exports.computeDocumentDagAnalysis = computeDocumentDagAnalysis;
6
+ exports.computeBranchMaterializationPlan = computeBranchMaterializationPlan;
7
+ const idGeneration_1 = require("./utils/idGeneration");
8
+ const MaterializationPlanner_1 = require("./appendonlystores/MaterializationPlanner");
9
+ const REPLAY_ENTRY_TYPES = new Set(["doc_create", "doc_change", "doc_delete"]);
10
+ const DAG_ENTRY_TYPES = new Set(["doc_create", "doc_change", "doc_delete", "doc_snapshot"]);
11
+ /**
12
+ * Returns true when the entry participates in replaying a document state.
13
+ *
14
+ * Snapshots are DAG nodes too, but they are not replay entries because they act as
15
+ * materialization shortcuts instead of incremental changes.
16
+ */
17
+ function isReplayEntry(entry) {
18
+ return REPLAY_ENTRY_TYPES.has(entry.entryType);
19
+ }
20
+ /**
21
+ * Returns true for metadata that belongs in the document DAG analysis view.
22
+ */
23
+ function isDagEntry(entry) {
24
+ return DAG_ENTRY_TYPES.has(entry.entryType);
25
+ }
26
+ /**
27
+ * Stable chronological ordering used throughout DAG analysis and branch planning.
28
+ */
29
+ function compareByCreatedAtThenId(left, right) {
30
+ if (left.createdAt !== right.createdAt) {
31
+ return left.createdAt - right.createdAt;
32
+ }
33
+ return left.id.localeCompare(right.id);
34
+ }
35
+ /**
36
+ * Orders entry ids using their metadata when available, falling back to lexical order.
37
+ */
38
+ function compareEntryIdsByMetadata(replayById, leftId, rightId) {
39
+ const left = replayById.get(leftId);
40
+ const right = replayById.get(rightId);
41
+ if (left && right) {
42
+ return compareByCreatedAtThenId(left, right);
43
+ }
44
+ return leftId.localeCompare(rightId);
45
+ }
46
+ /**
47
+ * Resolves the replay roots covered by a snapshot.
48
+ *
49
+ * Newer snapshots store explicit root entry ids. Older metadata may only expose
50
+ * `dependencyIds`, so this helper keeps both shapes working.
51
+ */
52
+ function getSnapshotRoots(entry) {
53
+ if (entry.snapshotHeadEntryIds && entry.snapshotHeadEntryIds.length > 0) {
54
+ return [...entry.snapshotHeadEntryIds];
55
+ }
56
+ return [...entry.dependencyIds];
57
+ }
58
+ /**
59
+ * Collects the full ancestor set for one replay head by walking dependencies upward.
60
+ */
61
+ function collectReplayAncestors(replayById, startEntryId) {
62
+ const visited = new Set();
63
+ const stack = [startEntryId];
64
+ while (stack.length > 0) {
65
+ const currentId = stack.pop();
66
+ if (visited.has(currentId)) {
67
+ continue;
68
+ }
69
+ const entry = replayById.get(currentId);
70
+ if (!entry) {
71
+ continue;
72
+ }
73
+ visited.add(currentId);
74
+ for (const depId of entry.dependencyIds) {
75
+ if (!visited.has(depId)) {
76
+ stack.push(depId);
77
+ }
78
+ }
79
+ }
80
+ return visited;
81
+ }
82
+ /**
83
+ * Finds the replay heads that are still active at the selected timestamp.
84
+ *
85
+ * A replay head is any replay entry that is not referenced as a dependency by
86
+ * another replay entry in the filtered slice.
87
+ */
88
+ function findActiveReplayHeads(replayEntries) {
89
+ const replayIds = new Set(replayEntries.map((entry) => entry.id));
90
+ const referenced = new Set();
91
+ for (const entry of replayEntries) {
92
+ for (const depId of entry.dependencyIds) {
93
+ if (replayIds.has(depId)) {
94
+ referenced.add(depId);
95
+ }
96
+ }
97
+ }
98
+ return replayEntries
99
+ .filter((entry) => !referenced.has(entry.id))
100
+ .sort(compareByCreatedAtThenId)
101
+ .map((entry) => entry.id);
102
+ }
103
+ /**
104
+ * Builds `entryId -> childEntryIds` for replay entries so the visualization layer can
105
+ * traverse the graph in both directions.
106
+ */
107
+ function buildReplayChildIds(replayEntries, replayById) {
108
+ const childIdsByEntryId = new Map();
109
+ for (const entry of replayEntries) {
110
+ childIdsByEntryId.set(entry.id, []);
111
+ }
112
+ for (const entry of replayEntries) {
113
+ for (const dependencyId of entry.dependencyIds) {
114
+ if (!replayById.has(dependencyId)) {
115
+ continue;
116
+ }
117
+ const childIds = childIdsByEntryId.get(dependencyId);
118
+ if (!childIds) {
119
+ continue;
120
+ }
121
+ childIds.push(entry.id);
122
+ }
123
+ }
124
+ for (const [entryId, childIds] of childIdsByEntryId.entries()) {
125
+ childIds.sort((leftId, rightId) => compareEntryIdsByMetadata(replayById, leftId, rightId));
126
+ childIdsByEntryId.set(entryId, childIds);
127
+ }
128
+ return childIdsByEntryId;
129
+ }
130
+ /**
131
+ * Assigns stable visual lanes to the replay graph.
132
+ *
133
+ * The planner starts from surviving heads, walks backwards through the dependency
134
+ * graph, and keeps lane membership for merge/fork history so Haven can render
135
+ * Git-like strands instead of collapsing everything into current-head lanes.
136
+ */
137
+ function buildHistoricalLanePlan(replayEntries, replayById, activeHeadEntryIds) {
138
+ const childEntryIdsByEntryId = buildReplayChildIds(replayEntries, replayById);
139
+ const primaryGraphLaneIdByEntryId = new Map();
140
+ const laneMembershipByEntryId = new Map();
141
+ const mergeEntryIds = new Set();
142
+ const forkEntryIds = new Set();
143
+ const graphLaneIds = [];
144
+ let nextLaneIndex = 0;
145
+ const createLaneId = () => {
146
+ const laneId = `lane-${nextLaneIndex++}`;
147
+ graphLaneIds.push(laneId);
148
+ return laneId;
149
+ };
150
+ const ensureLaneMembership = (entryId, laneId) => {
151
+ let membership = laneMembershipByEntryId.get(entryId);
152
+ if (!membership) {
153
+ membership = new Set();
154
+ laneMembershipByEntryId.set(entryId, membership);
155
+ }
156
+ membership.add(laneId);
157
+ if (!primaryGraphLaneIdByEntryId.has(entryId)) {
158
+ primaryGraphLaneIdByEntryId.set(entryId, laneId);
159
+ }
160
+ };
161
+ const sortedHeadEntryIds = [...activeHeadEntryIds].sort((leftId, rightId) => compareEntryIdsByMetadata(replayById, leftId, rightId));
162
+ for (const headEntryId of sortedHeadEntryIds) {
163
+ ensureLaneMembership(headEntryId, createLaneId());
164
+ }
165
+ const reverseChronologicalReplayEntries = [...replayEntries].sort((left, right) => compareByCreatedAtThenId(right, left));
166
+ for (const entry of reverseChronologicalReplayEntries) {
167
+ if (!primaryGraphLaneIdByEntryId.has(entry.id)) {
168
+ ensureLaneMembership(entry.id, createLaneId());
169
+ }
170
+ const dependencyEntryIds = entry.dependencyIds
171
+ .filter((dependencyId) => replayById.has(dependencyId))
172
+ .sort((leftId, rightId) => compareEntryIdsByMetadata(replayById, leftId, rightId));
173
+ const childEntryIds = childEntryIdsByEntryId.get(entry.id) ?? [];
174
+ if (dependencyEntryIds.length > 1) {
175
+ mergeEntryIds.add(entry.id);
176
+ }
177
+ if (childEntryIds.length > 1) {
178
+ forkEntryIds.add(entry.id);
179
+ }
180
+ const primaryLaneId = primaryGraphLaneIdByEntryId.get(entry.id);
181
+ dependencyEntryIds.forEach((dependencyId, index) => {
182
+ const laneId = index === 0
183
+ ? primaryLaneId
184
+ : primaryGraphLaneIdByEntryId.get(dependencyId) ?? createLaneId();
185
+ ensureLaneMembership(dependencyId, laneId);
186
+ if (index > 0) {
187
+ ensureLaneMembership(entry.id, laneId);
188
+ }
189
+ });
190
+ }
191
+ return {
192
+ graphLaneIds,
193
+ childEntryIdsByEntryId,
194
+ primaryGraphLaneIdByEntryId,
195
+ graphLaneIdsByEntryId: new Map(Array.from(laneMembershipByEntryId.entries()).map(([entryId, memberships]) => [
196
+ entryId,
197
+ [...memberships].sort((leftId, rightId) => graphLaneIds.indexOf(leftId) - graphLaneIds.indexOf(rightId)),
198
+ ])),
199
+ mergeEntryIds,
200
+ forkEntryIds,
201
+ };
202
+ }
203
+ /**
204
+ * Scores a snapshot by how many entries of a branch it covers.
205
+ */
206
+ function scoreSnapshotCoverage(snapshot, replayById, branchAncestors) {
207
+ return collectSnapshotCoveredIds(snapshot, replayById, branchAncestors).size;
208
+ }
209
+ /**
210
+ * Returns the subset of branch entries that are already represented by a snapshot.
211
+ */
212
+ function collectSnapshotCoveredIds(snapshot, replayById, branchAncestors) {
213
+ const covered = new Set();
214
+ const stack = getSnapshotRoots(snapshot);
215
+ while (stack.length > 0) {
216
+ const currentId = stack.pop();
217
+ if (covered.has(currentId) || !branchAncestors.has(currentId)) {
218
+ continue;
219
+ }
220
+ const entry = replayById.get(currentId);
221
+ if (!entry) {
222
+ continue;
223
+ }
224
+ covered.add(currentId);
225
+ for (const depId of entry.dependencyIds) {
226
+ if (!covered.has(depId)) {
227
+ stack.push(depId);
228
+ }
229
+ }
230
+ }
231
+ return covered;
232
+ }
233
+ /**
234
+ * Chooses the best snapshot that can serve as the starting point for a branch replay.
235
+ *
236
+ * Only snapshots whose roots are part of the branch are eligible. Among those, the
237
+ * snapshot with the highest coverage wins, with newer snapshots breaking ties.
238
+ */
239
+ function chooseBestBranchSnapshot(snapshots, replayById, branchAncestors) {
240
+ let bestSnapshot = null;
241
+ let bestCoveredCount = -1;
242
+ for (const snapshot of snapshots) {
243
+ const roots = getSnapshotRoots(snapshot);
244
+ if (roots.length === 0 || !roots.every((rootId) => branchAncestors.has(rootId))) {
245
+ continue;
246
+ }
247
+ const coveredCount = scoreSnapshotCoverage(snapshot, replayById, branchAncestors);
248
+ if (coveredCount > bestCoveredCount
249
+ || (coveredCount === bestCoveredCount
250
+ && bestSnapshot !== null
251
+ && snapshot.createdAt > bestSnapshot.createdAt)) {
252
+ bestSnapshot = snapshot;
253
+ bestCoveredCount = coveredCount;
254
+ }
255
+ if (bestSnapshot === null) {
256
+ bestSnapshot = snapshot;
257
+ bestCoveredCount = coveredCount;
258
+ }
259
+ }
260
+ return bestSnapshot;
261
+ }
262
+ /**
263
+ * Summarizes one active branch/head for the DAG sidebar and branch materialization UI.
264
+ */
265
+ function buildBranchSummary(headEntryId, replayById, snapshots) {
266
+ const headEntry = replayById.get(headEntryId);
267
+ if (!headEntry) {
268
+ return null;
269
+ }
270
+ const branchAncestors = collectReplayAncestors(replayById, headEntryId);
271
+ const compatibleSnapshot = chooseBestBranchSnapshot(snapshots, replayById, branchAncestors);
272
+ const orderedAncestors = Array.from(branchAncestors)
273
+ .map((entryId) => replayById.get(entryId))
274
+ .filter((entry) => entry !== undefined)
275
+ .sort(compareByCreatedAtThenId)
276
+ .map((entry) => entry.id);
277
+ return {
278
+ headEntryId,
279
+ headCreatedAt: headEntry.createdAt,
280
+ headCreatedByPublicKey: headEntry.createdByPublicKey,
281
+ ancestorEntryIds: orderedAncestors,
282
+ compatibleSnapshotEntryId: compatibleSnapshot?.id ?? null,
283
+ compatibleSnapshotCreatedAt: compatibleSnapshot?.createdAt ?? null,
284
+ };
285
+ }
286
+ /**
287
+ * Computes the full DAG analysis payload used by Haven's explorer.
288
+ *
289
+ * The result intentionally contains both:
290
+ * - current-head-derived branch information for reconstruction/materialization
291
+ * - dependency-graph-derived lane information for historical visualization
292
+ */
293
+ function computeDocumentDagAnalysis(docId, allEntriesForDoc, timestamp) {
294
+ const dagEntries = allEntriesForDoc
295
+ .filter(isDagEntry)
296
+ .sort(compareByCreatedAtThenId);
297
+ const replayEntries = dagEntries.filter(isReplayEntry);
298
+ const replayById = new Map(replayEntries.map((entry) => [entry.id, entry]));
299
+ const snapshots = dagEntries.filter((entry) => entry.entryType === "doc_snapshot");
300
+ const activeHeadEntryIds = findActiveReplayHeads(replayEntries);
301
+ const historicalLanePlan = buildHistoricalLanePlan(replayEntries, replayById, activeHeadEntryIds);
302
+ const ancestorSetsByHead = new Map();
303
+ for (const headEntryId of activeHeadEntryIds) {
304
+ ancestorSetsByHead.set(headEntryId, collectReplayAncestors(replayById, headEntryId));
305
+ }
306
+ const entries = dagEntries.map((entry) => {
307
+ const parsed = (0, idGeneration_1.parseDocEntryId)(entry.id);
308
+ const branchHeadEntryIds = activeHeadEntryIds.filter((headEntryId) => {
309
+ if (entry.entryType === "doc_snapshot") {
310
+ const roots = getSnapshotRoots(entry);
311
+ return roots.length > 0 && roots.every((rootId) => ancestorSetsByHead.get(headEntryId)?.has(rootId));
312
+ }
313
+ return ancestorSetsByHead.get(headEntryId)?.has(entry.id) ?? false;
314
+ });
315
+ return {
316
+ entryId: entry.id,
317
+ entryType: entry.entryType,
318
+ createdAt: entry.createdAt,
319
+ createdByPublicKey: entry.createdByPublicKey,
320
+ automergeActorId: null,
321
+ dependencyIds: [...entry.dependencyIds],
322
+ childEntryIds: historicalLanePlan.childEntryIdsByEntryId.get(entry.id) ?? [],
323
+ snapshotHeadEntryIds: [...(entry.snapshotHeadEntryIds ?? [])],
324
+ snapshotHeadHashes: [...(entry.snapshotHeadHashes ?? [])],
325
+ automergeHash: parsed?.automergeHash ?? null,
326
+ isActiveHead: activeHeadEntryIds.includes(entry.id),
327
+ isDeleted: entry.entryType === "doc_delete",
328
+ branchHeadEntryIds,
329
+ graphLaneIds: entry.entryType === "doc_snapshot"
330
+ ? getSnapshotRoots(entry)
331
+ .map((rootEntryId) => historicalLanePlan.primaryGraphLaneIdByEntryId.get(rootEntryId))
332
+ .filter((laneId) => laneId !== undefined)
333
+ : historicalLanePlan.graphLaneIdsByEntryId.get(entry.id) ?? [],
334
+ primaryGraphLaneId: entry.entryType === "doc_snapshot"
335
+ ? getSnapshotRoots(entry)
336
+ .map((rootEntryId) => historicalLanePlan.primaryGraphLaneIdByEntryId.get(rootEntryId))
337
+ .find((laneId) => laneId !== undefined) ?? null
338
+ : historicalLanePlan.primaryGraphLaneIdByEntryId.get(entry.id) ?? null,
339
+ isMergePoint: entry.entryType === "doc_snapshot"
340
+ ? getSnapshotRoots(entry).filter((rootEntryId) => replayById.has(rootEntryId)).length > 1
341
+ : historicalLanePlan.mergeEntryIds.has(entry.id),
342
+ isForkPoint: entry.entryType === "doc_snapshot"
343
+ ? false
344
+ : historicalLanePlan.forkEntryIds.has(entry.id),
345
+ };
346
+ });
347
+ const branches = activeHeadEntryIds
348
+ .map((headEntryId) => buildBranchSummary(headEntryId, replayById, snapshots))
349
+ .filter((branch) => branch !== null);
350
+ return {
351
+ docId,
352
+ timestamp,
353
+ activeHeadEntryIds,
354
+ graphLaneIds: historicalLanePlan.graphLaneIds,
355
+ entries,
356
+ branches,
357
+ };
358
+ }
359
+ /**
360
+ * Builds the replay plan needed to reconstruct one branch-local document state.
361
+ *
362
+ * The plan identifies an optional compatible snapshot, the uncovered replay entries
363
+ * that still need to be applied, and the full ordered ancestor set for the branch.
364
+ */
365
+ function computeBranchMaterializationPlan(docId, allEntriesForDoc, headEntryId) {
366
+ const dagEntries = allEntriesForDoc.filter(isDagEntry);
367
+ const replayEntries = dagEntries.filter(isReplayEntry);
368
+ const replayById = new Map(replayEntries.map((entry) => [entry.id, entry]));
369
+ const headEntry = replayById.get(headEntryId);
370
+ if (!headEntry) {
371
+ return null;
372
+ }
373
+ const branchAncestors = collectReplayAncestors(replayById, headEntryId);
374
+ const snapshots = dagEntries.filter((entry) => entry.entryType === "doc_snapshot");
375
+ const bestSnapshot = chooseBestBranchSnapshot(snapshots, replayById, branchAncestors);
376
+ const coveredIds = bestSnapshot
377
+ ? collectSnapshotCoveredIds(bestSnapshot, replayById, branchAncestors)
378
+ : new Set();
379
+ const uncoveredIds = new Set();
380
+ for (const entryId of branchAncestors) {
381
+ if (!coveredIds.has(entryId)) {
382
+ uncoveredIds.add(entryId);
383
+ }
384
+ }
385
+ const entryIdsToApply = (0, MaterializationPlanner_1.topologicalByDependencies)(uncoveredIds, replayById);
386
+ const branchEntryIds = Array.from(branchAncestors)
387
+ .map((entryId) => replayById.get(entryId))
388
+ .filter((entry) => entry !== undefined)
389
+ .sort(compareByCreatedAtThenId)
390
+ .map((entry) => entry.id);
391
+ return {
392
+ docId,
393
+ headEntryId,
394
+ headCreatedAt: headEntry.createdAt,
395
+ headCreatedByPublicKey: headEntry.createdByPublicKey,
396
+ snapshotEntryId: bestSnapshot?.id ?? null,
397
+ entryIdsToApply,
398
+ branchEntryIds,
399
+ };
400
+ }
401
+ //# sourceMappingURL=DocumentDagAnalysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentDagAnalysis.js","sourceRoot":"","sources":["../../src/core/DocumentDagAnalysis.ts"],"names":[],"mappings":"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"}