@memberjunction/version-history 6.2.0-edge.1 → 6.2.0-edge.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -6,6 +6,9 @@ Version labeling, snapshot capture, diff, and restore for MemberJunction records
6
6
 
7
7
  The `@memberjunction/version-history` package enables developers to create named version labels that capture record state at specific points in time, compare changes between labels, and restore records to previous states while respecting entity dependency ordering.
8
8
 
9
+ > [!NOTE]
10
+ > The core record dependency traversal, topological sorting, and link resolution engine (`DependencyGraphWalker`, `SortByEntityDependencyOrder`, `SortNodesTopologically`) has been extracted into [`@memberjunction/record-graph`](../RecordGraph/README.md) so it can be shared across Version History, Record Cloning, and Metadata Sync. Version History re-exports these symbols for backward compatibility.
11
+
9
12
  ```mermaid
10
13
  graph TD
11
14
  A["VersionHistoryEngine<br/>(Facade)"] --> B["LabelManager"]
@@ -1,169 +1,6 @@
1
- import { CompositeKey, IMetadataProvider, UserInfo } from '@memberjunction/core';
2
- import { DependencyNode, WalkOptions } from './types.js';
3
1
  /**
4
- * Walks entity relationship graphs to discover records for version labeling.
5
- *
6
- * ## Two-direction traversal
7
- *
8
- * **Reverse**: Uses the entity's `RelatedEntities` (EntityRelationship metadata)
9
- * to find child records. This is curated by CodeGen and admins — only explicitly
10
- * registered One-To-Many relationships are walked.
11
- *
12
- * **Forward**: Scans the current entity's own FK fields to find records it
13
- * references (e.g., AI Agent Prompt → AI Prompt via PromptID). Skips
14
- * system/infrastructure fields (UserID, CreatedBy, etc.).
15
- *
16
- * ## Discovery mode — prevents explosion from forward references
17
- *
18
- * Records found via **reverse walk** are "owned children" and get full treatment
19
- * (both reverse + forward walks). Records found via **forward walk** are
20
- * "referenced records" and only get forward-only treatment (their own FK refs
21
- * are followed, but their EntityRelationship children are NOT discovered).
22
- *
23
- * This prevents the classic explosion pattern:
24
- * ```
25
- * Agent → AgentPrompt → Prompt → [reverse to ALL PromptModels] → Model
26
- * → [reverse to ALL AgentModels across ALL agents] → explosion!
27
- * ```
28
- *
29
- * With discovery mode:
30
- * ```
31
- * Agent → AgentPrompt(reverse,full) → Prompt(forward,forward-only)
32
- * → Model(forward,forward-only) → STOP (no reverse walk on Model)
33
- * ```
34
- *
35
- * ## Ancestor stack — prevents backtracking
36
- *
37
- * A set of entity names on the current path from root to the current node is
38
- * maintained. When evaluating any relationship, if the target entity type is
39
- * already on the ancestor stack, it is skipped. This is a secondary safety net
40
- * that prevents cycles even within full-mode walks.
41
- *
42
- * ## Filters
43
- *
44
- * - Only walks entities with `TrackRecordChanges === true`
45
- * - Skips system FK fields via regex patterns (UserID, CreatedBy, etc.)
46
- * - Respects `ExcludeEntities` and `EntityFilter` options
47
- * - Uses a global `visited` set for record-level cycle detection
2
+ * NOTE: DependencyGraphWalker has moved to @memberjunction/record-graph.
3
+ * Re-exported here for backward compatibility.
48
4
  */
49
- export declare class DependencyGraphWalker {
50
- /** Cache: entityID → reverse relationships from EntityRelationship metadata */
51
- private reverseRelCache;
52
- /** Cache: entityID → forward FK references from field metadata */
53
- private forwardRefCache;
54
- /** Optional provider override; falls back to Metadata.Provider when not set. */
55
- private _provider?;
56
- /** Returns the active provider — explicit override if set, otherwise the global default. */
57
- protected get ProviderToUse(): IMetadataProvider;
58
- /**
59
- * Walk from a root record through its relationships, building a tree of
60
- * all records that should be included in a version label.
61
- *
62
- * @param entityName - The starting entity name
63
- * @param recordKey - The starting record's primary key
64
- * @param options - Controls depth, filtering, etc.
65
- * @param contextUser - Server-side user context
66
- * @returns The root DependencyNode with all descendants populated
67
- */
68
- WalkDependents(entityName: string, recordKey: CompositeKey, options: WalkOptions, contextUser: UserInfo): Promise<DependencyNode>;
69
- /**
70
- * Flatten a dependency tree into a topologically sorted list.
71
- * Parents appear before their children, ensuring safe restore ordering.
72
- */
73
- FlattenTopological(root: DependencyNode): DependencyNode[];
74
- /**
75
- * Recursively discover and attach child nodes for a given parent node.
76
- *
77
- * The `discoveryMode` controls which directions are walked:
78
- * - `'full'`: both reverse (EntityRelationship) and forward (FK refs)
79
- * - `'forward-only'`: only forward FK refs — no reverse children discovered
80
- *
81
- * Records found via reverse walk are recursed with `'full'` mode.
82
- * Records found via forward walk are recursed with `'forward-only'` mode.
83
- */
84
- private walkChildren;
85
- /**
86
- * Walk reverse relationships: for each EntityRelationship on the parent
87
- * entity, load matching child records and recurse into them.
88
- *
89
- * Skips any child entity type that is already on the ancestor stack,
90
- * preventing backtracking (e.g., from AI Prompt back to AI Agent Prompts).
91
- *
92
- * Children found via reverse walk are recursed with 'full' discovery mode,
93
- * since they are "owned children" that may have their own children.
94
- */
95
- private walkReverseRelationships;
96
- /**
97
- * Walk forward FK references: for each FK field on the parent entity that
98
- * points to another tracked entity, load the referenced record and recurse.
99
- *
100
- * Skips system/infrastructure FKs (UserID, CreatedBy, etc.) and any target
101
- * entity type already on the ancestor stack.
102
- *
103
- * Targets found via forward walk are recursed with 'forward-only' discovery
104
- * mode — they won't discover their own reverse children, preventing graph
105
- * explosion from "hub" entities like AI Models.
106
- */
107
- private walkForwardReferences;
108
- /**
109
- * Discover reverse relationships for an entity using EntityRelationship
110
- * metadata. Only includes One-To-Many relationships to entities that have
111
- * TrackRecordChanges enabled.
112
- *
113
- * Uses EntityRelationship (already loaded in memory on EntityInfo) rather
114
- * than scanning all entities' FK fields. This means only relationships
115
- * that CodeGen or admins have explicitly registered are walked.
116
- */
117
- private discoverReverseRelationships;
118
- /**
119
- * Discover forward FK references on an entity — fields that point TO other
120
- * entities. Only includes references to entities with TrackRecordChanges
121
- * enabled, and skips system/infrastructure FK fields.
122
- */
123
- private discoverForwardReferences;
124
- /**
125
- * Load child records for a reverse relationship.
126
- * Queries the child entity where the join field matches the parent's key value.
127
- */
128
- private loadChildRecords;
129
- /**
130
- * Load a single record's data by primary key.
131
- */
132
- private loadRecordData;
133
- /**
134
- * Build a DependencyNode from record data, register it in the visited set,
135
- * and attach it as a child of the parent. Returns null if already visited.
136
- */
137
- private registerNode;
138
- /** Create an empty stats accumulator. */
139
- private createEmptyStats;
140
- /** Increment the per-entity record counter. */
141
- private incrementEntityCount;
142
- /**
143
- * Log a detailed summary of the walk: total records, per-entity counts,
144
- * skips, and suppression stats.
145
- */
146
- private logWalkSummary;
147
- /** Build a unique key for the visited set: "EntityName::recordID" */
148
- private visitKey;
149
- /**
150
- * Determine the parent key field from an EntityRelationship record.
151
- * Uses EntityKeyField if specified, otherwise falls back to the first PK.
152
- */
153
- private resolveParentKeyFieldFromRelationship;
154
- /**
155
- * Determine the target key field from a FK field definition.
156
- * Uses RelatedEntityFieldName if specified, otherwise falls back to the
157
- * target entity's first PK.
158
- */
159
- private resolveParentKeyFieldFromFK;
160
- /** Check if a field name matches a system/infrastructure FK pattern. */
161
- private isSystemFKField;
162
- /** Check if an entity should be skipped based on filter options. */
163
- private shouldSkipEntity;
164
- /** Check if an entity has a soft delete field. */
165
- private entityHasSoftDelete;
166
- /** Apply defaults to walk options. */
167
- private resolveDefaults;
168
- }
5
+ export { DependencyGraphWalker } from '@memberjunction/record-graph';
169
6
  //# sourceMappingURL=DependencyGraphWalker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyGraphWalker.d.ts","sourceRoot":"","sources":["../src/DependencyGraphWalker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuD,iBAAiB,EAAqB,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AAE9K,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA6FtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBAAa,qBAAqB;IAC9B,+EAA+E;IAC/E,OAAO,CAAC,eAAe,CAA4C;IACnE,kEAAkE;IAClE,OAAO,CAAC,eAAe,CAAyC;IAEhE,gFAAgF;IAChF,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,4FAA4F;IAC5F,SAAS,KAAK,aAAa,IAAI,iBAAiB,CAE/C;IAMD;;;;;;;;;OASG;IACU,cAAc,CACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,cAAc,CAAC;IA2C1B;;;OAGG;IACI,kBAAkB,CAAC,IAAI,EAAE,cAAc,GAAG,cAAc,EAAE;IAiBjE;;;;;;;;;OASG;YACW,YAAY;IA4B1B;;;;;;;;;OASG;YACW,wBAAwB;IAyCtC;;;;;;;;;;OAUG;YACW,qBAAqB;IAwDnC;;;;;;;;OAQG;IACH,OAAO,CAAC,4BAA4B;IA6BpC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IA+BjC;;;OAGG;YACW,gBAAgB;IAsC9B;;OAEG;YACW,cAAc;IA0B5B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAqCpB,yCAAyC;IACzC,OAAO,CAAC,gBAAgB;IAUxB,+CAA+C;IAC/C,OAAO,CAAC,oBAAoB;IAK5B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA0BtB,qEAAqE;IACrE,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;IACH,OAAO,CAAC,qCAAqC;IAU7C;;;;OAIG;IACH,OAAO,CAAC,2BAA2B;IAUnC,wEAAwE;IACxE,OAAO,CAAC,eAAe;IAIvB,oEAAoE;IACpE,OAAO,CAAC,gBAAgB;IAUxB,kDAAkD;IAClD,OAAO,CAAC,mBAAmB;IAI3B,sCAAsC;IACtC,OAAO,CAAC,eAAe;CAQ1B"}
1
+ {"version":3,"file":"DependencyGraphWalker.d.ts","sourceRoot":"","sources":["../src/DependencyGraphWalker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,506 +1,6 @@
1
- import { CompositeKey, Metadata, RunView, LogError, LogStatus } from '@memberjunction/core';
2
- import { UUIDsEqual } from '@memberjunction/global';
3
- import { BuildCompositeKeyFromRecord, escapeSqlString } from './constants.js';
4
- // =============================================================================
5
- // System FK Skip Patterns
6
- // =============================================================================
7
1
  /**
8
- * FK field name patterns that should NOT be followed during forward walking.
9
- * These reference system infrastructure (Users, audit fields, polymorphic
10
- * entity references) rather than business data. Following them would pull in
11
- * every user record, every entity definition, etc.
2
+ * NOTE: DependencyGraphWalker has moved to @memberjunction/record-graph.
3
+ * Re-exported here for backward compatibility.
12
4
  */
13
- const SYSTEM_FK_SKIP_PATTERNS = [
14
- /^CreatedByUserID$/i,
15
- /^UpdatedByUserID$/i,
16
- /^UserID$/i,
17
- /^ContextUser(ID)?$/i,
18
- /^ModifiedBy(UserID)?$/i,
19
- /^CreatedBy$/i,
20
- /^UpdatedBy$/i,
21
- /^Owner(ID|UserID)?$/i,
22
- /^AssignedTo(ID|UserID)?$/i,
23
- /^EntityID$/i, // polymorphic entity reference, not a real FK to follow
24
- ];
25
- // =============================================================================
26
- // DependencyGraphWalker
27
- // =============================================================================
28
- /**
29
- * Walks entity relationship graphs to discover records for version labeling.
30
- *
31
- * ## Two-direction traversal
32
- *
33
- * **Reverse**: Uses the entity's `RelatedEntities` (EntityRelationship metadata)
34
- * to find child records. This is curated by CodeGen and admins — only explicitly
35
- * registered One-To-Many relationships are walked.
36
- *
37
- * **Forward**: Scans the current entity's own FK fields to find records it
38
- * references (e.g., AI Agent Prompt → AI Prompt via PromptID). Skips
39
- * system/infrastructure fields (UserID, CreatedBy, etc.).
40
- *
41
- * ## Discovery mode — prevents explosion from forward references
42
- *
43
- * Records found via **reverse walk** are "owned children" and get full treatment
44
- * (both reverse + forward walks). Records found via **forward walk** are
45
- * "referenced records" and only get forward-only treatment (their own FK refs
46
- * are followed, but their EntityRelationship children are NOT discovered).
47
- *
48
- * This prevents the classic explosion pattern:
49
- * ```
50
- * Agent → AgentPrompt → Prompt → [reverse to ALL PromptModels] → Model
51
- * → [reverse to ALL AgentModels across ALL agents] → explosion!
52
- * ```
53
- *
54
- * With discovery mode:
55
- * ```
56
- * Agent → AgentPrompt(reverse,full) → Prompt(forward,forward-only)
57
- * → Model(forward,forward-only) → STOP (no reverse walk on Model)
58
- * ```
59
- *
60
- * ## Ancestor stack — prevents backtracking
61
- *
62
- * A set of entity names on the current path from root to the current node is
63
- * maintained. When evaluating any relationship, if the target entity type is
64
- * already on the ancestor stack, it is skipped. This is a secondary safety net
65
- * that prevents cycles even within full-mode walks.
66
- *
67
- * ## Filters
68
- *
69
- * - Only walks entities with `TrackRecordChanges === true`
70
- * - Skips system FK fields via regex patterns (UserID, CreatedBy, etc.)
71
- * - Respects `ExcludeEntities` and `EntityFilter` options
72
- * - Uses a global `visited` set for record-level cycle detection
73
- */
74
- export class DependencyGraphWalker {
75
- constructor() {
76
- /** Cache: entityID → reverse relationships from EntityRelationship metadata */
77
- this.reverseRelCache = new Map();
78
- /** Cache: entityID → forward FK references from field metadata */
79
- this.forwardRefCache = new Map();
80
- }
81
- /** Returns the active provider — explicit override if set, otherwise the global default. */
82
- get ProviderToUse() {
83
- return this._provider ?? Metadata.Provider;
84
- }
85
- // =========================================================================
86
- // Public API
87
- // =========================================================================
88
- /**
89
- * Walk from a root record through its relationships, building a tree of
90
- * all records that should be included in a version label.
91
- *
92
- * @param entityName - The starting entity name
93
- * @param recordKey - The starting record's primary key
94
- * @param options - Controls depth, filtering, etc.
95
- * @param contextUser - Server-side user context
96
- * @returns The root DependencyNode with all descendants populated
97
- */
98
- async WalkDependents(entityName, recordKey, options, contextUser) {
99
- const md = this.ProviderToUse;
100
- const entityInfo = md.EntityByName(entityName);
101
- if (!entityInfo) {
102
- throw new Error(`Entity '${entityName}' not found in metadata`);
103
- }
104
- const resolvedOptions = this.resolveDefaults(options);
105
- const visited = new Set();
106
- const ancestorStack = new Set();
107
- const stats = this.createEmptyStats();
108
- this.reverseRelCache.clear();
109
- this.forwardRefCache.clear();
110
- const rootData = await this.loadRecordData(entityInfo, recordKey, contextUser);
111
- const rootNode = {
112
- EntityName: entityName,
113
- EntityInfo: entityInfo,
114
- RecordKey: recordKey,
115
- RecordID: recordKey.ToConcatenatedString(),
116
- RecordData: rootData,
117
- Relationship: null,
118
- Children: [],
119
- Depth: 0,
120
- };
121
- // Mark root as visited and push its entity type onto the ancestor stack
122
- visited.add(this.visitKey(entityInfo.Name, rootNode.RecordID));
123
- ancestorStack.add(entityInfo.Name);
124
- this.incrementEntityCount(stats, entityInfo.Name);
125
- // Root always gets full discovery mode (both reverse + forward)
126
- await this.walkChildren(rootNode, 'full', resolvedOptions, visited, ancestorStack, stats, contextUser);
127
- // Pop root (cleanup)
128
- ancestorStack.delete(entityInfo.Name);
129
- this.logWalkSummary(entityName, resolvedOptions, stats);
130
- return rootNode;
131
- }
132
- /**
133
- * Flatten a dependency tree into a topologically sorted list.
134
- * Parents appear before their children, ensuring safe restore ordering.
135
- */
136
- FlattenTopological(root) {
137
- const result = [];
138
- const queue = [root];
139
- while (queue.length > 0) {
140
- const node = queue.shift();
141
- result.push(node);
142
- for (const child of node.Children) {
143
- queue.push(child);
144
- }
145
- }
146
- return result;
147
- }
148
- // =========================================================================
149
- // Core Walk Logic
150
- // =========================================================================
151
- /**
152
- * Recursively discover and attach child nodes for a given parent node.
153
- *
154
- * The `discoveryMode` controls which directions are walked:
155
- * - `'full'`: both reverse (EntityRelationship) and forward (FK refs)
156
- * - `'forward-only'`: only forward FK refs — no reverse children discovered
157
- *
158
- * Records found via reverse walk are recursed with `'full'` mode.
159
- * Records found via forward walk are recursed with `'forward-only'` mode.
160
- */
161
- async walkChildren(parentNode, discoveryMode, options, visited, ancestorStack, stats, contextUser) {
162
- if (parentNode.Depth >= options.MaxDepth) {
163
- return;
164
- }
165
- // Reverse walk: only when in full mode (root or reverse-discovered nodes)
166
- if (discoveryMode === 'full') {
167
- await this.walkReverseRelationships(parentNode, options, visited, ancestorStack, stats, contextUser);
168
- }
169
- else {
170
- stats.ForwardOnlySuppressions++;
171
- }
172
- // Forward walk: always performed regardless of discovery mode
173
- await this.walkForwardReferences(parentNode, options, visited, ancestorStack, stats, contextUser);
174
- }
175
- // =========================================================================
176
- // Reverse Walking (EntityRelationship-driven)
177
- // =========================================================================
178
- /**
179
- * Walk reverse relationships: for each EntityRelationship on the parent
180
- * entity, load matching child records and recurse into them.
181
- *
182
- * Skips any child entity type that is already on the ancestor stack,
183
- * preventing backtracking (e.g., from AI Prompt back to AI Agent Prompts).
184
- *
185
- * Children found via reverse walk are recursed with 'full' discovery mode,
186
- * since they are "owned children" that may have their own children.
187
- */
188
- async walkReverseRelationships(parentNode, options, visited, ancestorStack, stats, contextUser) {
189
- const relationships = this.discoverReverseRelationships(parentNode.EntityInfo);
190
- for (const rel of relationships) {
191
- // Ancestor check: skip if the child entity type is on our current path
192
- if (ancestorStack.has(rel.ChildEntityInfo.Name)) {
193
- stats.AncestorSkips++;
194
- continue;
195
- }
196
- if (this.shouldSkipEntity(rel.ChildEntityInfo.Name, options)) {
197
- continue;
198
- }
199
- const childRecords = await this.loadChildRecords(parentNode, rel, options, contextUser);
200
- for (const childData of childRecords) {
201
- const childNode = this.registerNode(rel.ChildEntityInfo, childData, rel.RelationshipInfo, parentNode, visited, stats);
202
- if (!childNode)
203
- continue;
204
- // Push child entity type, recurse with FULL mode, then pop
205
- ancestorStack.add(rel.ChildEntityInfo.Name);
206
- await this.walkChildren(childNode, 'full', options, visited, ancestorStack, stats, contextUser);
207
- ancestorStack.delete(rel.ChildEntityInfo.Name);
208
- }
209
- }
210
- }
211
- // =========================================================================
212
- // Forward Walking (FK field-driven)
213
- // =========================================================================
214
- /**
215
- * Walk forward FK references: for each FK field on the parent entity that
216
- * points to another tracked entity, load the referenced record and recurse.
217
- *
218
- * Skips system/infrastructure FKs (UserID, CreatedBy, etc.) and any target
219
- * entity type already on the ancestor stack.
220
- *
221
- * Targets found via forward walk are recursed with 'forward-only' discovery
222
- * mode — they won't discover their own reverse children, preventing graph
223
- * explosion from "hub" entities like AI Models.
224
- */
225
- async walkForwardReferences(parentNode, options, visited, ancestorStack, stats, contextUser) {
226
- const forwardRefs = this.discoverForwardReferences(parentNode.EntityInfo);
227
- for (const ref of forwardRefs) {
228
- // Ancestor check: skip if target entity type is on our current path
229
- if (ancestorStack.has(ref.TargetEntityInfo.Name)) {
230
- stats.AncestorSkips++;
231
- continue;
232
- }
233
- if (this.shouldSkipEntity(ref.TargetEntityInfo.Name, options)) {
234
- continue;
235
- }
236
- // Read the FK value from the record data
237
- const fkValue = parentNode.RecordData[ref.FKFieldName];
238
- if (fkValue == null)
239
- continue;
240
- const targetKey = new CompositeKey([{
241
- FieldName: ref.TargetKeyField,
242
- Value: fkValue,
243
- }]);
244
- // Skip if we've already visited this specific record
245
- const vKey = this.visitKey(ref.TargetEntityInfo.Name, targetKey.ToConcatenatedString());
246
- if (visited.has(vKey)) {
247
- stats.VisitedSkips++;
248
- continue;
249
- }
250
- const targetData = await this.loadRecordData(ref.TargetEntityInfo, targetKey, contextUser);
251
- if (!targetData || Object.keys(targetData).length === 0)
252
- continue;
253
- const targetNode = this.registerNode(ref.TargetEntityInfo, targetData, null, parentNode, visited, stats);
254
- if (!targetNode)
255
- continue;
256
- // Push target entity type, recurse with FORWARD-ONLY mode, then pop
257
- ancestorStack.add(ref.TargetEntityInfo.Name);
258
- await this.walkChildren(targetNode, 'forward-only', options, visited, ancestorStack, stats, contextUser);
259
- ancestorStack.delete(ref.TargetEntityInfo.Name);
260
- }
261
- }
262
- // =========================================================================
263
- // Relationship Discovery
264
- // =========================================================================
265
- /**
266
- * Discover reverse relationships for an entity using EntityRelationship
267
- * metadata. Only includes One-To-Many relationships to entities that have
268
- * TrackRecordChanges enabled.
269
- *
270
- * Uses EntityRelationship (already loaded in memory on EntityInfo) rather
271
- * than scanning all entities' FK fields. This means only relationships
272
- * that CodeGen or admins have explicitly registered are walked.
273
- */
274
- discoverReverseRelationships(parentEntity) {
275
- const cached = this.reverseRelCache.get(parentEntity.ID);
276
- if (cached)
277
- return cached;
278
- const md = this.ProviderToUse;
279
- const relationships = [];
280
- for (const rel of parentEntity.RelatedEntities) {
281
- // Only walk One-To-Many (parent has many children)
282
- if (rel.Type.trim() !== 'One To Many')
283
- continue;
284
- const childEntity = md.Entities.find(e => UUIDsEqual(e.ID, rel.RelatedEntityID));
285
- if (!childEntity)
286
- continue;
287
- if (!childEntity.TrackRecordChanges)
288
- continue;
289
- const parentKeyField = this.resolveParentKeyFieldFromRelationship(rel, parentEntity);
290
- relationships.push({
291
- ChildEntityInfo: childEntity,
292
- ChildJoinField: rel.RelatedEntityJoinField,
293
- ParentKeyField: parentKeyField,
294
- RelationshipInfo: rel,
295
- });
296
- }
297
- this.reverseRelCache.set(parentEntity.ID, relationships);
298
- return relationships;
299
- }
300
- /**
301
- * Discover forward FK references on an entity — fields that point TO other
302
- * entities. Only includes references to entities with TrackRecordChanges
303
- * enabled, and skips system/infrastructure FK fields.
304
- */
305
- discoverForwardReferences(entity) {
306
- const cached = this.forwardRefCache.get(entity.ID);
307
- if (cached)
308
- return cached;
309
- const md = this.ProviderToUse;
310
- const refs = [];
311
- for (const field of entity.Fields) {
312
- if (!field.RelatedEntityID)
313
- continue;
314
- if (this.isSystemFKField(field.Name))
315
- continue;
316
- if (UUIDsEqual(field.RelatedEntityID, entity.ID))
317
- continue; // skip self-referencing
318
- const targetEntity = md.Entities.find(e => UUIDsEqual(e.ID, field.RelatedEntityID));
319
- if (!targetEntity)
320
- continue;
321
- if (!targetEntity.TrackRecordChanges)
322
- continue;
323
- refs.push({
324
- TargetEntityInfo: targetEntity,
325
- FKFieldName: field.Name,
326
- TargetKeyField: this.resolveParentKeyFieldFromFK(field, targetEntity),
327
- });
328
- }
329
- this.forwardRefCache.set(entity.ID, refs);
330
- return refs;
331
- }
332
- // =========================================================================
333
- // Data Loading
334
- // =========================================================================
335
- /**
336
- * Load child records for a reverse relationship.
337
- * Queries the child entity where the join field matches the parent's key value.
338
- */
339
- async loadChildRecords(parentNode, rel, options, contextUser) {
340
- const parentKeyValue = parentNode.RecordData[rel.ParentKeyField] ?? null;
341
- if (parentKeyValue == null)
342
- return [];
343
- let extraFilter = `[${rel.ChildJoinField}] = '${escapeSqlString(String(parentKeyValue))}'`;
344
- if (!options.IncludeDeleted && this.entityHasSoftDelete(rel.ChildEntityInfo)) {
345
- extraFilter += ` AND __mj_DeletedAt IS NULL`;
346
- }
347
- try {
348
- const rv = new RunView();
349
- const result = await rv.RunView({
350
- EntityName: rel.ChildEntityInfo.Name,
351
- ExtraFilter: extraFilter,
352
- ResultType: 'simple',
353
- }, contextUser);
354
- if (!result.Success) {
355
- LogError(`DependencyGraphWalker: Failed to load children of ` +
356
- `${parentNode.EntityName} via ${rel.ChildEntityInfo.Name}.${rel.ChildJoinField}: ` +
357
- `${result.ErrorMessage}`);
358
- return [];
359
- }
360
- return result.Results;
361
- }
362
- catch (e) {
363
- const msg = e instanceof Error ? e.message : String(e);
364
- LogError(`DependencyGraphWalker: Error loading child records: ${msg}`);
365
- return [];
366
- }
367
- }
368
- /**
369
- * Load a single record's data by primary key.
370
- */
371
- async loadRecordData(entityInfo, key, contextUser) {
372
- const rv = new RunView();
373
- const result = await rv.RunView({
374
- EntityName: entityInfo.Name,
375
- ExtraFilter: key.ToWhereClause(),
376
- ResultType: 'simple',
377
- }, contextUser);
378
- if (!result.Success || result.Results.length === 0) {
379
- LogError(`DependencyGraphWalker: loadRecordData returned empty for entity ` +
380
- `'${entityInfo.Name}' with key ${key.ToConcatenatedString()}`);
381
- return {};
382
- }
383
- return result.Results[0];
384
- }
385
- // =========================================================================
386
- // Node Registration
387
- // =========================================================================
388
- /**
389
- * Build a DependencyNode from record data, register it in the visited set,
390
- * and attach it as a child of the parent. Returns null if already visited.
391
- */
392
- registerNode(entityInfo, recordData, relationship, parentNode, visited, stats) {
393
- const key = BuildCompositeKeyFromRecord(entityInfo, recordData);
394
- const vKey = this.visitKey(entityInfo.Name, key.ToConcatenatedString());
395
- if (visited.has(vKey)) {
396
- stats.VisitedSkips++;
397
- return null;
398
- }
399
- visited.add(vKey);
400
- const node = {
401
- EntityName: entityInfo.Name,
402
- EntityInfo: entityInfo,
403
- RecordKey: key,
404
- RecordID: key.ToConcatenatedString(),
405
- RecordData: recordData,
406
- Relationship: relationship,
407
- Children: [],
408
- Depth: parentNode.Depth + 1,
409
- };
410
- parentNode.Children.push(node);
411
- this.incrementEntityCount(stats, entityInfo.Name);
412
- return node;
413
- }
414
- // =========================================================================
415
- // Logging
416
- // =========================================================================
417
- /** Create an empty stats accumulator. */
418
- createEmptyStats() {
419
- return {
420
- EntityCounts: new Map(),
421
- TotalRecords: 0,
422
- AncestorSkips: 0,
423
- VisitedSkips: 0,
424
- ForwardOnlySuppressions: 0,
425
- };
426
- }
427
- /** Increment the per-entity record counter. */
428
- incrementEntityCount(stats, entityName) {
429
- stats.TotalRecords++;
430
- stats.EntityCounts.set(entityName, (stats.EntityCounts.get(entityName) ?? 0) + 1);
431
- }
432
- /**
433
- * Log a detailed summary of the walk: total records, per-entity counts,
434
- * skips, and suppression stats.
435
- */
436
- logWalkSummary(rootEntityName, options, stats) {
437
- const entityBreakdown = Array.from(stats.EntityCounts.entries())
438
- .sort((a, b) => b[1] - a[1]) // sort by count descending
439
- .map(([name, count]) => ` ${name}: ${count}`)
440
- .join('\n');
441
- LogStatus(`DependencyGraphWalker: Walk complete for '${rootEntityName}'\n` +
442
- ` Total records: ${stats.TotalRecords}\n` +
443
- ` Unique entities: ${stats.EntityCounts.size}\n` +
444
- ` Ancestor skips: ${stats.AncestorSkips}\n` +
445
- ` Visited skips: ${stats.VisitedSkips}\n` +
446
- ` Forward-only suppressions: ${stats.ForwardOnlySuppressions}\n` +
447
- ` Max depth: ${options.MaxDepth}\n` +
448
- ` Per-entity breakdown:\n${entityBreakdown}`);
449
- }
450
- // =========================================================================
451
- // Helpers
452
- // =========================================================================
453
- /** Build a unique key for the visited set: "EntityName::recordID" */
454
- visitKey(entityName, recordId) {
455
- return `${entityName}::${recordId}`;
456
- }
457
- /**
458
- * Determine the parent key field from an EntityRelationship record.
459
- * Uses EntityKeyField if specified, otherwise falls back to the first PK.
460
- */
461
- resolveParentKeyFieldFromRelationship(rel, parentEntity) {
462
- if (rel.EntityKeyField && rel.EntityKeyField.trim().length > 0) {
463
- return rel.EntityKeyField;
464
- }
465
- return parentEntity.FirstPrimaryKey.Name; // first-pk-ok: FK target — a relationship without an explicit EntityKeyField joins on the parent's single key column by design
466
- }
467
- /**
468
- * Determine the target key field from a FK field definition.
469
- * Uses RelatedEntityFieldName if specified, otherwise falls back to the
470
- * target entity's first PK.
471
- */
472
- resolveParentKeyFieldFromFK(fkField, targetEntity) {
473
- if (fkField.RelatedEntityFieldName && fkField.RelatedEntityFieldName.trim().length > 0) {
474
- return fkField.RelatedEntityFieldName;
475
- }
476
- return targetEntity.FirstPrimaryKey.Name; // first-pk-ok: FK target — a foreign key column without RelatedEntityFieldName references the target's single key column by design
477
- }
478
- /** Check if a field name matches a system/infrastructure FK pattern. */
479
- isSystemFKField(fieldName) {
480
- return SYSTEM_FK_SKIP_PATTERNS.some(pattern => pattern.test(fieldName));
481
- }
482
- /** Check if an entity should be skipped based on filter options. */
483
- shouldSkipEntity(entityName, options) {
484
- if (options.ExcludeEntities.length > 0 && options.ExcludeEntities.includes(entityName)) {
485
- return true;
486
- }
487
- if (options.EntityFilter.length > 0 && !options.EntityFilter.includes(entityName)) {
488
- return true;
489
- }
490
- return false;
491
- }
492
- /** Check if an entity has a soft delete field. */
493
- entityHasSoftDelete(entityInfo) {
494
- return entityInfo.Fields.some(f => f.Name === '__mj_DeletedAt');
495
- }
496
- /** Apply defaults to walk options. */
497
- resolveDefaults(options) {
498
- return {
499
- MaxDepth: options.MaxDepth ?? 10,
500
- EntityFilter: options.EntityFilter ?? [],
501
- ExcludeEntities: options.ExcludeEntities ?? [],
502
- IncludeDeleted: options.IncludeDeleted ?? false,
503
- };
504
- }
505
- }
5
+ export { DependencyGraphWalker } from '@memberjunction/record-graph';
506
6
  //# sourceMappingURL=DependencyGraphWalker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyGraphWalker.js","sourceRoot":"","sources":["../src/DependencyGraphWalker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DependencyGraphWalker.js","sourceRoot":"","sources":["../src/DependencyGraphWalker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -37,6 +37,7 @@ export declare class RestoreEngine {
37
37
  /**
38
38
  * Sort label items by entity dependency order so parents are restored
39
39
  * before their children.
40
+ * Delegates to SortByEntityDependencyOrder in @memberjunction/record-graph.
40
41
  */
41
42
  private sortByDependencyOrder;
42
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"RestoreEngine.d.ts","sourceRoot":"","sources":["../src/RestoreEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,iBAAiB,EAGjB,QAAQ,EAGX,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAEH,cAAc,EACd,aAAa,EAGhB,MAAM,SAAS,CAAC;AAiBjB;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,YAAY,CAAyB;IAE7C,gFAAgF;IAChF,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,4FAA4F;IAC5F,SAAS,KAAK,aAAa,IAAI,iBAAiB,CAE/C;IAED;;OAEG;IACU,cAAc,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,aAAa,CAAC;IAqEzB;;;OAGG;YACW,mBAAmB;IAsCjC;;OAEG;YACW,cAAc;IAyC5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA8C7B;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;YACW,YAAY;IAwB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;YACW,kBAAkB;IAqBhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;;OAGG;YACW,qBAAqB;IAuCnC;;OAEG;YACW,wBAAwB;IA2BtC;;OAEG;YACW,qBAAqB;IAoBnC;;OAEG;YACW,oBAAoB;IA6BlC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,WAAW;CAWtB"}
1
+ {"version":3,"file":"RestoreEngine.d.ts","sourceRoot":"","sources":["../src/RestoreEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,iBAAiB,EAGjB,QAAQ,EAGX,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAEH,cAAc,EACd,aAAa,EAGhB,MAAM,SAAS,CAAC;AAkBjB;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,YAAY,CAAyB;IAE7C,gFAAgF;IAChF,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,4FAA4F;IAC5F,SAAS,KAAK,aAAa,IAAI,iBAAiB,CAE/C;IAED;;OAEG;IACU,cAAc,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,aAAa,CAAC;IAqEzB;;;OAGG;YACW,mBAAmB;IAsCjC;;OAEG;YACW,cAAc;IAyC5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;YACW,YAAY;IAwB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;YACW,kBAAkB;IAqBhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA0B7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAMpB;;;OAGG;YACW,qBAAqB;IAuCnC;;OAEG;YACW,wBAAwB;IA2BtC;;OAEG;YACW,qBAAqB;IAoBnC;;OAEG;YACW,oBAAoB;IA6BlC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,WAAW;CAWtB"}
@@ -1,5 +1,5 @@
1
1
  import { CompositeKey, Metadata, RunView, LogError, LogStatus, } from '@memberjunction/core';
2
- import { UUIDsEqual } from '@memberjunction/global';
2
+ import { SortByEntityDependencyOrder } from '@memberjunction/record-graph';
3
3
  import { LabelManager } from './LabelManager.js';
4
4
  import { SnapshotBuilder } from './SnapshotBuilder.js';
5
5
  import { ENTITY_VERSION_LABEL_ITEMS, ENTITY_VERSION_LABEL_RESTORES, ENTITY_VERSION_LABELS, SqlEquals, SqlNotIn, LoadRecordChangeSnapshot, LoadEntityById, BuildPrimaryKeyForLoad, } from './constants.js';
@@ -159,46 +159,10 @@ export class RestoreEngine {
159
159
  /**
160
160
  * Sort label items by entity dependency order so parents are restored
161
161
  * before their children.
162
+ * Delegates to SortByEntityDependencyOrder in @memberjunction/record-graph.
162
163
  */
163
164
  sortByDependencyOrder(items) {
164
- const md = this.ProviderToUse;
165
- // Build a map of entityId -> dependency level
166
- const levelMap = new Map();
167
- const visited = new Set();
168
- const computeLevel = (entityId) => {
169
- if (levelMap.has(entityId))
170
- return levelMap.get(entityId);
171
- if (visited.has(entityId))
172
- return 0; // Cycle — break it
173
- visited.add(entityId);
174
- const entityInfo = md.EntityByID(entityId);
175
- if (!entityInfo) {
176
- levelMap.set(entityId, 0);
177
- return 0;
178
- }
179
- // Find all FK fields pointing to other entities
180
- let maxParentLevel = -1;
181
- for (const field of entityInfo.Fields) {
182
- if (field.RelatedEntityID && !UUIDsEqual(field.RelatedEntityID, entityId)) {
183
- const parentLevel = computeLevel(field.RelatedEntityID);
184
- maxParentLevel = Math.max(maxParentLevel, parentLevel);
185
- }
186
- }
187
- const level = maxParentLevel + 1;
188
- levelMap.set(entityId, level);
189
- return level;
190
- };
191
- // Compute levels for all entities in the item set
192
- const entityIds = new Set(items.map(i => i.EntityID));
193
- for (const entityId of entityIds) {
194
- computeLevel(entityId);
195
- }
196
- // Sort: lower level (parents) first
197
- return [...items].sort((a, b) => {
198
- const levelA = levelMap.get(a.EntityID) ?? 0;
199
- const levelB = levelMap.get(b.EntityID) ?? 0;
200
- return levelA - levelB;
201
- });
165
+ return SortByEntityDependencyOrder(items, i => i.EntityID, this.ProviderToUse);
202
166
  }
203
167
  /**
204
168
  * Restore a single record to its labeled state.
@@ -1 +1 @@
1
- {"version":3,"file":"RestoreEngine.js","sourceRoot":"","sources":["../src/RestoreEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,YAAY,EAGZ,QAAQ,EACR,OAAO,EAEP,QAAQ,EACR,SAAS,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAapD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,SAAS,EACT,QAAQ,EACR,wBAAwB,EACxB,cAAc,EACd,sBAAsB,GACzB,MAAM,aAAa,CAAC;AAErB,0EAA0E;AAC1E,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAa;IAA1B;QACY,aAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC9B,iBAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAmiBjD,CAAC;IA9hBG,4FAA4F;IAC5F,IAAc,aAAa;QACvB,OAAO,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CACvB,OAAe,EACf,OAAuB,EACvB,WAAqB,EACrB,QAA4B;QAE5B,IAAI,QAAQ;YAAE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEtD,wBAAwB;QACxB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAuB,qBAAqB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACtG,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,aAAa,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/B,SAAS,CAAC,8CAA8C,SAAS,MAAM,OAAO,GAAG,CAAC,CAAC;QAEnF,kCAAkC;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;QAC/E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,qCAAqC,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,kCAAkC;QAClC,IAAI,iBAAiB,GAAkB,IAAI,CAAC;QAC5C,IAAI,eAAe,CAAC,qBAAqB,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YACnE,iBAAiB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACpG,CAAC;QAED,kCAAkC;QAClC,IAAI,cAAc,GAAkB,IAAI,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC1B,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAChD,OAAO,EACP,KAAK,CAAC,MAAM,EACZ,iBAAiB,EACjB,WAAW,CACd,CAAC;QACN,CAAC;QAED,yDAAyD;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,GACvD,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAErG,4BAA4B;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxF,IAAI,cAAc,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACpG,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,SAAS,CAAC,qCAAqC,aAAa,cAAc,WAAW,YAAY,YAAY,WAAW,CAAC,CAAC;QAE1H,OAAO;YACH,SAAS,EAAE,cAAc,IAAI,SAAS;YACtC,iBAAiB,EAAE,iBAAiB;YACpC,MAAM,EAAE,WAAW;YACnB,aAAa,EAAE,aAAa;YAC5B,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,OAAO;SACnB,CAAC;IACN,CAAC;IAED,0EAA0E;IAC1E,kBAAkB;IAClB,0EAA0E;IAE1E;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAC7B,WAA2C,EAC3C,MAAe,EACf,cAA6B,EAC7B,WAAqB;QAErB,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;gBACpB,KAAK,UAAU;oBACX,aAAa,EAAE,CAAC;oBAChB,MAAM;gBACV,KAAK,QAAQ;oBACT,WAAW,EAAE,CAAC;oBACd,MAAM;gBACV,KAAK,SAAS;oBACV,YAAY,EAAE,CAAC;oBACf,MAAM;YACd,CAAC;YAED,wEAAwE;YACxE,MAAM,UAAU,GAAG,CAAC,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YAChD,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,wBAAwB,KAAK,CAAC,CAAC;YACjE,IAAI,cAAc,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAC9F,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,cAAc,CACxB,OAAe,EACf,OAAiC,EACjC,WAAqB;QAErB,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QAEzB,IAAI,WAAW,GAAG,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAEvD,yBAAyB;QACzB,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY;iBAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;iBACtC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;YAC9C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,WAAW,IAAI,QAAQ,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YAC9D,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAA+B;YAC1D,UAAU,EAAE,0BAA0B;YACtC,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,QAAQ;SACvB,EAAE,WAAW,CAAC,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,QAAQ,CAAC,8CAA8C,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC9E,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;QAE3B,gCAAgC;QAChC,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChG,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAC3B,KAAqC,EACrC,eAAgE;QAEhE,MAAM,WAAW,GAAG,IAAI,GAAG,CACvB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC7D,CAAC;QACF,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACvB,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,UAAU,GAAG,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC;YAC1C,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,UAAU,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,KAAqC;QAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAE9B,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAU,EAAE;YAC9C,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;YAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB;YACxD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEtB,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC1B,OAAO,CAAC,CAAC;YACb,CAAC;YAED,gDAAgD;YAChD,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpC,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACxE,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oBACxD,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,cAAc,GAAG,CAAC,CAAC;YACjC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QAEF,kDAAkD;QAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,oCAAoC;QACpC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,MAAM,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC3B,IAAkC,EAClC,MAAe,EACf,WAAqB;QAErB,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,WAAW,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,CAAC,QAAQ,EACnE,mBAAmB,IAAI,CAAC,QAAQ,yBAAyB,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACtF,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EACvD,2CAA2C,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YACxF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvD,QAAQ,CAAC,kCAAkC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;YACvF,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAAgB;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CACtB,UAAsB,EACtB,QAAgB,EAChB,YAAqC,EACrC,WAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,mCAAmC,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAClF,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACnF,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,UAAkB,EAAE,QAAgB,EAAE,YAAoB;QAC/E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IACxG,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC5B,UAAsB,EACtB,QAAgB,EAChB,WAAqB;QAErB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,eAAe,CAAa,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAElF,oEAAoE;QACpE,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,sBAAsB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACL,gDAAgD;QACpD,CAAC;QAED,uDAAuD;QACvD,OAAO,MAAM,EAAE,CAAC,eAAe,CAAa,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACK,qBAAqB,CACzB,MAAkB,EAClB,YAAqC,EACrC,UAAsB;QAEtB,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpC,iDAAiD;YACjD,IAAI,KAAK,CAAC,QAAQ;gBAAE,SAAS;YAC7B,IAAI,KAAK,CAAC,YAAY;gBAAE,SAAS;YACjC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,SAAS;YAE7C,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,aAAa,KAAK,SAAS;gBAAE,SAAS;YAE1C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC;gBAAE,SAAS;YAE9D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;YACtC,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,CAAU,EAAE,CAAU;QACvC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QACzC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB,CAC/B,eAAuB,EACvB,gBAAmC,EACnC,KAAqC,EACrC,WAAqB;QAErB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1C,IAAI,EAAE,gBAAgB,eAAe,KAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG;YACrE,WAAW,EAAE,gEAAgE,eAAe,GAAG;YAC/F,KAAK,EAAE,gBAAgB;SAC1B,EAAE,WAAW,CAAC,CAAC;QAEhB,MAAM,iBAAiB,GAAG,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAE9B,6DAA6D;QAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,8EAA8E;YAC9E,wFAAwF;YACxF,6EAA6E;YAC7E,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEnE,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CACjC,iBAAiB,EACjB,UAAU,CAAC,IAAI,EACf,GAAG,EACH,KAAK,EAAE,+DAA+D;YACtE,EAAE,EACF,WAAW,CACd,CAAC;QACN,CAAC;QAED,SAAS,CAAC,qDAAqD,iBAAiB,GAAG,CAAC,CAAC;QACrF,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAClC,OAAe,EACf,UAAkB,EAClB,iBAAgC,EAChC,WAAqB;QAErB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAA8B,6BAA6B,EAAE,WAAW,CAAC,CAAC;QAElH,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC;QACjC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC;QAC/B,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;QAChC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC;QAC3B,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;QACxB,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAClD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CAC/B,SAAiB,EACjB,cAAsB,EACtB,WAAmB,EACnB,WAAqB;QAErB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAA8B,6BAA6B,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YACzH,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;YACxC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;YAClC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,oEAAoE;YACpE,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvD,QAAQ,CAAC,wDAAwD,SAAS,KAAK,GAAG,EAAE,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAC9B,SAAiB,EACjB,MAAqB,EACrB,WAAmB,EACnB,OAA4B,EAC5B,WAAqB;QAErB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAA8B,6BAA6B,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YACzH,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,OAAO,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAE7B,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,UAAU,GAAG,OAAO;qBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;qBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;qBACzE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC;YAClC,CAAC;YAED,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvD,QAAQ,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED;;OAEG;IACK,oBAAoB,CACxB,QAAgB,EAChB,MAAc,EACd,MAAc;QAEd,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QACpC,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QACnC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAuB;QAC3C,OAAO;YACH,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,MAAM;YAC9B,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,EAAE;YAC9C,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;YACxC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,IAAI,IAAI;SAC/D,CAAC;IACN,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,MAAe;QAC/B,OAAO;YACH,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAClC,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"RestoreEngine.js","sourceRoot":"","sources":["../src/RestoreEngine.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { CompositeKey, UserInfo } from '@memberjunction/core';
2
2
  import { MJVersionLabelEntity } from '@memberjunction/core-entities';
3
- import { CaptureResult, CreateLabelParams, DependencyNode, DiffResult, LabelFilter, RecordSnapshot, RestoreOptions, RestoreResult, WalkOptions } from './types.js';
3
+ import { CaptureResult, CreateLabelParams, DiffResult, LabelFilter, RecordSnapshot, RestoreOptions, RestoreResult } from './types.js';
4
+ import { DependencyNode, WalkOptions } from '@memberjunction/record-graph';
4
5
  /**
5
6
  * Main facade for the MemberJunction Version History system.
6
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"VersionHistoryEngine.d.ts","sourceRoot":"","sources":["../src/VersionHistoryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,QAAQ,EAGX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACH,aAAa,EACb,iBAAiB,EAEjB,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACd,MAAM,SAAS,CAAC;AAOjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAuB;IAMvC;;;;;;;OAOG;IACU,WAAW,CACpB,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC;QAAE,KAAK,EAAE,oBAAoB,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE,CAAC;IAoFzE,uDAAuD;IACvD,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAInF;;OAEG;IACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI5F;;OAEG;IACU,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAQnG;;;OAGG;IACU,UAAU,CACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,UAAU,CAAC;IAItB;;;OAGG;IACU,uBAAuB,CAChC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,UAAU,CAAC;IAItB;;OAEG;IACU,eAAe,CACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAQjC;;;;;OAKG;IACU,cAAc,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;OAGG;IACU,wBAAwB,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,cAAc,CAAC;CAG7B"}
1
+ {"version":3,"file":"VersionHistoryEngine.d.ts","sourceRoot":"","sources":["../src/VersionHistoryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,QAAQ,EAGX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACH,aAAa,EACb,iBAAiB,EAEjB,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,aAAa,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAyB,cAAc,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAMlG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAuB;IAMvC;;;;;;;OAOG;IACU,WAAW,CACpB,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC;QAAE,KAAK,EAAE,oBAAoB,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE,CAAC;IAoFzE,uDAAuD;IACvD,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAInF;;OAEG;IACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAI5F;;OAEG;IACU,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAQnG;;;OAGG;IACU,UAAU,CACnB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,UAAU,CAAC;IAItB;;;OAGG;IACU,uBAAuB,CAChC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,UAAU,CAAC;IAItB;;OAEG;IACU,eAAe,CACxB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAQjC;;;;;OAKG;IACU,cAAc,CACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;OAGG;IACU,wBAAwB,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,YAAY,EACvB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,cAAc,CAAC;CAG7B"}
@@ -1,7 +1,7 @@
1
1
  import { LogError, LogStatus, } from '@memberjunction/core';
2
+ import { DependencyGraphWalker } from '@memberjunction/record-graph';
2
3
  import { LabelManager } from './LabelManager.js';
3
4
  import { SnapshotBuilder } from './SnapshotBuilder.js';
4
- import { DependencyGraphWalker } from './DependencyGraphWalker.js';
5
5
  import { DiffEngine } from './DiffEngine.js';
6
6
  import { RestoreEngine } from './RestoreEngine.js';
7
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"VersionHistoryEngine.js","sourceRoot":"","sources":["../src/VersionHistoryEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VersionHistoryEngine.js","sourceRoot":"","sources":["../src/VersionHistoryEngine.ts"],"names":[],"mappings":"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"}
@@ -9,68 +9,7 @@ export declare const ENTITY_VERSION_LABEL_ITEMS = "MJ: Version Label Items";
9
9
  export declare const ENTITY_VERSION_LABEL_RESTORES = "MJ: Version Label Restores";
10
10
  /** Entity name for Record Changes */
11
11
  export declare const ENTITY_RECORD_CHANGES = "MJ: Record Changes";
12
- /**
13
- * Escape a string value for safe inclusion in a SQL filter.
14
- *
15
- * @deprecated Import `EscapeSQLString` from `@memberjunction/global` instead — it is the one
16
- * canonical escaper. This alias remains only so external callers do not break; it will be
17
- * removed in the next major.
18
- */
19
- export declare const escapeSqlString: (value: string | null | undefined) => string;
20
- /**
21
- * Build a safe SQL equality filter: FieldName = 'escapedValue'
22
- */
23
- export declare function SqlEquals(fieldName: string, value: string): string;
24
- /** @deprecated Use {@link SqlEquals}. */
25
- export declare function sqlEquals(fieldName: string, value: string): string;
26
- /**
27
- * Build a safe SQL LIKE filter: FieldName LIKE '%escapedValue%'
28
- *
29
- * NOTE: `EscapeSQLString` neutralises quotes but NOT LIKE metacharacters — a `value` containing
30
- * `%`, `_` or `[` is still interpreted as a wildcard pattern rather than as literal text. That is
31
- * the long-standing behaviour of this helper and callers depend on it. If you need a literal
32
- * match, escape the metacharacters and add `ESCAPE '\'` (see `escapeLikeValue()` in
33
- * `@memberjunction/core`, `generic/runQuerySQLFilterImplementations.ts`).
34
- */
35
- export declare function SqlContains(fieldName: string, value: string): string;
36
- /** @deprecated Use {@link SqlContains}. */
37
- export declare function sqlContains(fieldName: string, value: string): string;
38
- /**
39
- * Build a safe SQL IN filter: FieldName IN ('a','b','c')
40
- */
41
- export declare function SqlIn(fieldName: string, values: string[]): string;
42
- /** @deprecated Use {@link SqlIn}. */
43
- export declare function sqlIn(fieldName: string, values: string[]): string;
44
- /**
45
- * Build a safe SQL NOT IN filter: FieldName NOT IN ('a','b','c')
46
- */
47
- export declare function SqlNotIn(fieldName: string, values: string[]): string;
48
- /** @deprecated Use {@link SqlNotIn}. */
49
- export declare function sqlNotIn(fieldName: string, values: string[]): string;
50
- import { CompositeKey, EntityInfo } from '@memberjunction/core';
51
- /**
52
- * Build a CompositeKey from entity metadata and a record data object.
53
- * Shared utility to avoid duplication across Walker and SnapshotBuilder.
54
- */
55
- export declare function BuildCompositeKeyFromRecord(entityInfo: EntityInfo, record: Record<string, unknown>): CompositeKey;
56
- /** @deprecated Use {@link BuildCompositeKeyFromRecord}. */
57
- export declare function buildCompositeKeyFromRecord(entityInfo: EntityInfo, record: Record<string, unknown>): CompositeKey;
58
- /**
59
- * Build a CompositeKey for loading from a stored record id. Accepts the bare value of a
60
- * single-column key (any column name) or the `Field1|Value1||Field2|Value2` segment Record
61
- * Changes / Version Label Items persist, so composite keys load too.
62
- */
63
- export declare function BuildPrimaryKeyForLoad(entityInfo: EntityInfo, value: string): CompositeKey;
64
- /** @deprecated Use {@link BuildPrimaryKeyForLoad}. */
65
- export declare function buildPrimaryKeyForLoad(entityInfo: EntityInfo, value: string): CompositeKey;
66
- /**
67
- * Build a CompositeKey for an entity that we know uses 'ID' as PK.
68
- * Only for MJ system entities (VersionLabel, VersionLabelItem, etc.)
69
- * where we control the schema and know the PK is always 'ID'.
70
- */
71
- export declare function BuildIdKey(id: string): CompositeKey;
72
- /** @deprecated Use {@link BuildIdKey}. */
73
- export declare function buildIdKey(id: string): CompositeKey;
12
+ export { escapeSqlString, SqlEquals, sqlEquals, SqlContains, sqlContains, SqlIn, sqlIn, SqlNotIn, sqlNotIn, BuildCompositeKeyFromRecord, buildCompositeKeyFromRecord, BuildPrimaryKeyForLoad, buildPrimaryKeyForLoad, BuildIdKey, buildIdKey, } from '@memberjunction/record-graph';
74
13
  import { BaseEntity, IMetadataProvider, UserInfo } from '@memberjunction/core';
75
14
  /**
76
15
  * Load a FullRecordJSON snapshot from a RecordChange entry.
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,qCAAqC;AACrC,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,0CAA0C;AAC1C,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AAEpE,6CAA6C;AAC7C,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAE1E,qCAAqC;AACrC,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAO1D,OAAO,EACH,eAAe,EACf,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,2BAA2B,EAC3B,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,UAAU,EACV,UAAU,GACb,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAqB,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAE5G;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC1C,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAmCzC;AAED,wDAAwD;AACxD,wBAAsB,wBAAwB,CAC1C,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAEzC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAClE,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAanB;AAED,8CAA8C;AAC9C,wBAAsB,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAClE,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAEnB"}
package/dist/constants.js CHANGED
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Shared constants and utilities for the version-history package.
3
3
  */
4
- import { EscapeSQLString } from '@memberjunction/global';
5
4
  // ---------------------------------------------------------------------------
6
5
  // Entity name constants
7
6
  // ---------------------------------------------------------------------------
@@ -14,103 +13,11 @@ export const ENTITY_VERSION_LABEL_RESTORES = 'MJ: Version Label Restores';
14
13
  /** Entity name for Record Changes */
15
14
  export const ENTITY_RECORD_CHANGES = 'MJ: Record Changes';
16
15
  // ---------------------------------------------------------------------------
17
- // SQL safety utilities
16
+ // SQL safety & Composite key utilities
17
+ // NOTE: Moved to @memberjunction/record-graph. Re-exported here for backward compatibility.
18
18
  // ---------------------------------------------------------------------------
19
- /**
20
- * Escape a string value for safe inclusion in a SQL filter.
21
- *
22
- * @deprecated Import `EscapeSQLString` from `@memberjunction/global` instead — it is the one
23
- * canonical escaper. This alias remains only so external callers do not break; it will be
24
- * removed in the next major.
25
- */
26
- export const escapeSqlString = (value) => EscapeSQLString(value);
27
- /**
28
- * Build a safe SQL equality filter: FieldName = 'escapedValue'
29
- */
30
- export function SqlEquals(fieldName, value) {
31
- return `${fieldName} = '${EscapeSQLString(value)}'`;
32
- }
33
- /** @deprecated Use {@link SqlEquals}. */
34
- export function sqlEquals(fieldName, value) {
35
- return SqlEquals(fieldName, value);
36
- }
37
- /**
38
- * Build a safe SQL LIKE filter: FieldName LIKE '%escapedValue%'
39
- *
40
- * NOTE: `EscapeSQLString` neutralises quotes but NOT LIKE metacharacters — a `value` containing
41
- * `%`, `_` or `[` is still interpreted as a wildcard pattern rather than as literal text. That is
42
- * the long-standing behaviour of this helper and callers depend on it. If you need a literal
43
- * match, escape the metacharacters and add `ESCAPE '\'` (see `escapeLikeValue()` in
44
- * `@memberjunction/core`, `generic/runQuerySQLFilterImplementations.ts`).
45
- */
46
- export function SqlContains(fieldName, value) {
47
- return `${fieldName} LIKE '%${EscapeSQLString(value)}%'`;
48
- }
49
- /** @deprecated Use {@link SqlContains}. */
50
- export function sqlContains(fieldName, value) {
51
- return SqlContains(fieldName, value);
52
- }
53
- /**
54
- * Build a safe SQL IN filter: FieldName IN ('a','b','c')
55
- */
56
- export function SqlIn(fieldName, values) {
57
- const escaped = values.map(v => `'${EscapeSQLString(v)}'`).join(', ');
58
- return `${fieldName} IN (${escaped})`;
59
- }
60
- /** @deprecated Use {@link SqlIn}. */
61
- export function sqlIn(fieldName, values) {
62
- return SqlIn(fieldName, values);
63
- }
64
- /**
65
- * Build a safe SQL NOT IN filter: FieldName NOT IN ('a','b','c')
66
- */
67
- export function SqlNotIn(fieldName, values) {
68
- const escaped = values.map(v => `'${EscapeSQLString(v)}'`).join(', ');
69
- return `${fieldName} NOT IN (${escaped})`;
70
- }
71
- /** @deprecated Use {@link SqlNotIn}. */
72
- export function sqlNotIn(fieldName, values) {
73
- return SqlNotIn(fieldName, values);
74
- }
75
- // ---------------------------------------------------------------------------
76
- // Composite key utilities
77
- // ---------------------------------------------------------------------------
78
- import { CompositeKey } from '@memberjunction/core';
79
- /**
80
- * Build a CompositeKey from entity metadata and a record data object.
81
- * Shared utility to avoid duplication across Walker and SnapshotBuilder.
82
- */
83
- export function BuildCompositeKeyFromRecord(entityInfo, record) {
84
- return CompositeKey.FromEntityRecord(entityInfo, record);
85
- }
86
- /** @deprecated Use {@link BuildCompositeKeyFromRecord}. */
87
- export function buildCompositeKeyFromRecord(entityInfo, record) {
88
- return BuildCompositeKeyFromRecord(entityInfo, record);
89
- }
90
- /**
91
- * Build a CompositeKey for loading from a stored record id. Accepts the bare value of a
92
- * single-column key (any column name) or the `Field1|Value1||Field2|Value2` segment Record
93
- * Changes / Version Label Items persist, so composite keys load too.
94
- */
95
- export function BuildPrimaryKeyForLoad(entityInfo, value) {
96
- return CompositeKey.FromURLSegment(entityInfo, value);
97
- }
98
- /** @deprecated Use {@link BuildPrimaryKeyForLoad}. */
99
- export function buildPrimaryKeyForLoad(entityInfo, value) {
100
- return BuildPrimaryKeyForLoad(entityInfo, value);
101
- }
102
- /**
103
- * Build a CompositeKey for an entity that we know uses 'ID' as PK.
104
- * Only for MJ system entities (VersionLabel, VersionLabelItem, etc.)
105
- * where we control the schema and know the PK is always 'ID'.
106
- */
107
- export function BuildIdKey(id) {
108
- return CompositeKey.FromID(id); // first-pk-ok: documented for MJ system entities only (Version Labels / Label Items / Restores / Record Changes), whose key is ID
109
- }
110
- /** @deprecated Use {@link BuildIdKey}. */
111
- export function buildIdKey(id) {
112
- return BuildIdKey(id);
113
- }
19
+ export { escapeSqlString, SqlEquals, sqlEquals, SqlContains, sqlContains, SqlIn, sqlIn, SqlNotIn, sqlNotIn, BuildCompositeKeyFromRecord, buildCompositeKeyFromRecord, BuildPrimaryKeyForLoad, buildPrimaryKeyForLoad, BuildIdKey, buildIdKey, } from '@memberjunction/record-graph';
20
+ import { SqlEquals, BuildPrimaryKeyForLoad } from '@memberjunction/record-graph';
114
21
  // ---------------------------------------------------------------------------
115
22
  // Record change utilities
116
23
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CompositeKey, EntityInfo, EntityRelationshipInfo } from '@memberjunction/core';
1
+ import { CompositeKey } from '@memberjunction/core';
2
2
  /**
3
3
  * The breadth of a version label.
4
4
  * - System: captures all tracked entities
@@ -112,40 +112,7 @@ export interface RecordSnapshot {
112
112
  /** Full record data as parsed JSON */
113
113
  FullRecordJSON: Record<string, unknown>;
114
114
  }
115
- /**
116
- * A node in a record dependency graph.
117
- */
118
- export interface DependencyNode {
119
- /** Entity name */
120
- EntityName: string;
121
- /** Entity metadata */
122
- EntityInfo: EntityInfo;
123
- /** The record's primary key */
124
- RecordKey: CompositeKey;
125
- /** The record's primary key as a concatenated string */
126
- RecordID: string;
127
- /** Current field values of the record */
128
- RecordData: Record<string, unknown>;
129
- /** Relationship from parent to this node (null for root) */
130
- Relationship: EntityRelationshipInfo | null;
131
- /** Child/dependent record nodes */
132
- Children: DependencyNode[];
133
- /** Depth in the graph (0 = root) */
134
- Depth: number;
135
- }
136
- /**
137
- * Options for walking the dependency graph.
138
- */
139
- export interface WalkOptions {
140
- /** Maximum recursion depth (default: 10) */
141
- MaxDepth?: number;
142
- /** Only include these entities */
143
- EntityFilter?: string[];
144
- /** Skip these entities */
145
- ExcludeEntities?: string[];
146
- /** Include soft-deleted records (default: false) */
147
- IncludeDeleted?: boolean;
148
- }
115
+ export type { DependencyNode, GraphNode, WalkOptions, WalkStats, GraphEdge, EdgeKind, } from '@memberjunction/record-graph';
149
116
  /**
150
117
  * The result of comparing two labels or a label to the current state.
151
118
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/version-history",
3
3
  "type": "module",
4
- "version": "6.2.0-edge.1",
4
+ "version": "6.2.0-edge.3",
5
5
  "description": "Server-side version history engine providing label-based versioning, dependency-graph snapshots, cross-entity diffs, and point-in-time restore for MemberJunction record changes",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -14,9 +14,10 @@
14
14
  "typescript": "^5.9.3"
15
15
  },
16
16
  "dependencies": {
17
- "@memberjunction/core": "6.2.0-edge.1",
18
- "@memberjunction/core-entities": "6.2.0-edge.1",
19
- "@memberjunction/global": "6.2.0-edge.1"
17
+ "@memberjunction/core": "6.2.0-edge.3",
18
+ "@memberjunction/core-entities": "6.2.0-edge.3",
19
+ "@memberjunction/global": "6.2.0-edge.3",
20
+ "@memberjunction/record-graph": "6.2.0-edge.3"
20
21
  },
21
22
  "repository": {
22
23
  "type": "git",