@memberjunction/metadata-sync 6.2.0-edge.0 → 6.2.0-edge.1
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/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -4
- package/dist/config.js.map +1 -1
- package/dist/constants/metadata-keywords.d.ts +16 -0
- package/dist/constants/metadata-keywords.d.ts.map +1 -1
- package/dist/constants/metadata-keywords.js +42 -10
- package/dist/constants/metadata-keywords.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/EntityPropertyExtractor.d.ts +4 -0
- package/dist/lib/EntityPropertyExtractor.d.ts.map +1 -1
- package/dist/lib/EntityPropertyExtractor.js +11 -3
- package/dist/lib/EntityPropertyExtractor.js.map +1 -1
- package/dist/lib/FieldExternalizer.d.ts +2 -0
- package/dist/lib/FieldExternalizer.d.ts.map +1 -1
- package/dist/lib/FieldExternalizer.js +9 -5
- package/dist/lib/FieldExternalizer.js.map +1 -1
- package/dist/lib/RecordProcessor.d.ts +4 -0
- package/dist/lib/RecordProcessor.d.ts.map +1 -1
- package/dist/lib/RecordProcessor.js +17 -9
- package/dist/lib/RecordProcessor.js.map +1 -1
- package/dist/lib/RelatedEntityHandler.d.ts +6 -0
- package/dist/lib/RelatedEntityHandler.d.ts.map +1 -1
- package/dist/lib/RelatedEntityHandler.js +15 -3
- package/dist/lib/RelatedEntityHandler.js.map +1 -1
- package/dist/lib/batch-context-index.d.ts +17 -0
- package/dist/lib/batch-context-index.d.ts.map +1 -1
- package/dist/lib/batch-context-index.js +35 -7
- package/dist/lib/batch-context-index.js.map +1 -1
- package/dist/lib/collection-resolver.d.ts +2 -0
- package/dist/lib/collection-resolver.d.ts.map +1 -1
- package/dist/lib/collection-resolver.js +5 -1
- package/dist/lib/collection-resolver.js.map +1 -1
- package/dist/lib/config-manager.d.ts +8 -0
- package/dist/lib/config-manager.d.ts.map +1 -1
- package/dist/lib/config-manager.js +25 -9
- package/dist/lib/config-manager.js.map +1 -1
- package/dist/lib/database-reference-scanner.d.ts +6 -0
- package/dist/lib/database-reference-scanner.d.ts.map +1 -1
- package/dist/lib/database-reference-scanner.js +15 -3
- package/dist/lib/database-reference-scanner.js.map +1 -1
- package/dist/lib/deletion-auditor.d.ts +6 -0
- package/dist/lib/deletion-auditor.d.ts.map +1 -1
- package/dist/lib/deletion-auditor.js +15 -3
- package/dist/lib/deletion-auditor.js.map +1 -1
- package/dist/lib/deletion-report-generator.d.ts +4 -0
- package/dist/lib/deletion-report-generator.d.ts.map +1 -1
- package/dist/lib/deletion-report-generator.js +10 -2
- package/dist/lib/deletion-report-generator.js.map +1 -1
- package/dist/lib/entity-foreign-key-helper.d.ts +8 -0
- package/dist/lib/entity-foreign-key-helper.d.ts.map +1 -1
- package/dist/lib/entity-foreign-key-helper.js +20 -4
- package/dist/lib/entity-foreign-key-helper.js.map +1 -1
- package/dist/lib/entity-subclass-guard.d.ts +6 -0
- package/dist/lib/entity-subclass-guard.d.ts.map +1 -1
- package/dist/lib/entity-subclass-guard.js +10 -2
- package/dist/lib/entity-subclass-guard.js.map +1 -1
- package/dist/lib/existing-record-files.d.ts +2 -0
- package/dist/lib/existing-record-files.d.ts.map +1 -1
- package/dist/lib/existing-record-files.js +5 -1
- package/dist/lib/existing-record-files.js.map +1 -1
- package/dist/lib/file-backup-manager.d.ts +16 -0
- package/dist/lib/file-backup-manager.d.ts.map +1 -1
- package/dist/lib/file-backup-manager.js +31 -7
- package/dist/lib/file-backup-manager.js.map +1 -1
- package/dist/lib/file-write-batch.d.ts +14 -0
- package/dist/lib/file-write-batch.d.ts.map +1 -1
- package/dist/lib/file-write-batch.js +39 -11
- package/dist/lib/file-write-batch.js.map +1 -1
- package/dist/lib/graph-provider-pool.d.ts +16 -0
- package/dist/lib/graph-provider-pool.d.ts.map +1 -1
- package/dist/lib/graph-provider-pool.js +35 -7
- package/dist/lib/graph-provider-pool.js.map +1 -1
- package/dist/lib/json-preprocessor.d.ts +4 -0
- package/dist/lib/json-preprocessor.d.ts.map +1 -1
- package/dist/lib/json-preprocessor.js +12 -4
- package/dist/lib/json-preprocessor.js.map +1 -1
- package/dist/lib/json-subproperty-externalization.d.ts +14 -1
- package/dist/lib/json-subproperty-externalization.d.ts.map +1 -1
- package/dist/lib/json-subproperty-externalization.js +29 -9
- package/dist/lib/json-subproperty-externalization.js.map +1 -1
- package/dist/lib/json-write-helper.d.ts +9 -0
- package/dist/lib/json-write-helper.d.ts.map +1 -1
- package/dist/lib/json-write-helper.js +15 -3
- package/dist/lib/json-write-helper.js.map +1 -1
- package/dist/lib/provider-utils.d.ts +10 -0
- package/dist/lib/provider-utils.d.ts.map +1 -1
- package/dist/lib/provider-utils.js +27 -7
- package/dist/lib/provider-utils.js.map +1 -1
- package/dist/lib/push-outcome.d.ts +6 -0
- package/dist/lib/push-outcome.d.ts.map +1 -1
- package/dist/lib/push-outcome.js +17 -5
- package/dist/lib/push-outcome.js.map +1 -1
- package/dist/lib/push-write-mode.d.ts +8 -0
- package/dist/lib/push-write-mode.d.ts.map +1 -1
- package/dist/lib/push-write-mode.js +20 -4
- package/dist/lib/push-write-mode.js.map +1 -1
- package/dist/lib/record-dependency-analyzer.d.ts +14 -0
- package/dist/lib/record-dependency-analyzer.d.ts.map +1 -1
- package/dist/lib/record-dependency-analyzer.js +36 -8
- package/dist/lib/record-dependency-analyzer.js.map +1 -1
- package/dist/lib/record-primary-key.d.ts +6 -0
- package/dist/lib/record-primary-key.d.ts.map +1 -1
- package/dist/lib/record-primary-key.js +15 -3
- package/dist/lib/record-primary-key.js.map +1 -1
- package/dist/lib/reference-parser.d.ts +2 -0
- package/dist/lib/reference-parser.d.ts.map +1 -1
- package/dist/lib/reference-parser.js +5 -1
- package/dist/lib/reference-parser.js.map +1 -1
- package/dist/lib/singleton-manager.d.ts +4 -0
- package/dist/lib/singleton-manager.d.ts.map +1 -1
- package/dist/lib/singleton-manager.js +10 -2
- package/dist/lib/singleton-manager.js.map +1 -1
- package/dist/lib/sql-logger.d.ts +12 -0
- package/dist/lib/sql-logger.d.ts.map +1 -1
- package/dist/lib/sql-logger.js +31 -7
- package/dist/lib/sql-logger.js.map +1 -1
- package/dist/lib/sync-engine.d.ts +27 -0
- package/dist/lib/sync-engine.d.ts.map +1 -1
- package/dist/lib/sync-engine.js +83 -35
- package/dist/lib/sync-engine.js.map +1 -1
- package/dist/lib/sync-metadata-engine.d.ts +54 -0
- package/dist/lib/sync-metadata-engine.d.ts.map +1 -1
- package/dist/lib/sync-metadata-engine.js +142 -46
- package/dist/lib/sync-metadata-engine.js.map +1 -1
- package/dist/lib/sync-state-manager.d.ts +18 -0
- package/dist/lib/sync-state-manager.d.ts.map +1 -1
- package/dist/lib/sync-state-manager.js +45 -9
- package/dist/lib/sync-state-manager.js.map +1 -1
- package/dist/lib/transaction-manager.d.ts +10 -0
- package/dist/lib/transaction-manager.d.ts.map +1 -1
- package/dist/lib/transaction-manager.js +28 -8
- package/dist/lib/transaction-manager.js.map +1 -1
- package/dist/plugins/index.d.ts +10 -2
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +18 -2
- package/dist/plugins/index.js.map +1 -1
- package/dist/services/FileResetService.d.ts +2 -0
- package/dist/services/FileResetService.d.ts.map +1 -1
- package/dist/services/FileResetService.js +7 -3
- package/dist/services/FileResetService.js.map +1 -1
- package/dist/services/FormattingService.d.ts +25 -0
- package/dist/services/FormattingService.d.ts.map +1 -1
- package/dist/services/FormattingService.js +44 -12
- package/dist/services/FormattingService.js.map +1 -1
- package/dist/services/InitService.d.ts +6 -0
- package/dist/services/InitService.d.ts.map +1 -1
- package/dist/services/InitService.js +15 -3
- package/dist/services/InitService.js.map +1 -1
- package/dist/services/PullService.d.ts +8 -0
- package/dist/services/PullService.d.ts.map +1 -1
- package/dist/services/PullService.js +23 -7
- package/dist/services/PullService.js.map +1 -1
- package/dist/services/PushService.d.ts +5 -1
- package/dist/services/PushService.d.ts.map +1 -1
- package/dist/services/PushService.js +23 -15
- package/dist/services/PushService.js.map +1 -1
- package/dist/services/StatusService.d.ts +5 -0
- package/dist/services/StatusService.d.ts.map +1 -1
- package/dist/services/StatusService.js +10 -6
- package/dist/services/StatusService.js.map +1 -1
- package/dist/services/ValidationService.d.ts +2 -0
- package/dist/services/ValidationService.d.ts.map +1 -1
- package/dist/services/ValidationService.js +18 -14
- package/dist/services/ValidationService.js.map +1 -1
- package/dist/services/WatchService.d.ts +2 -0
- package/dist/services/WatchService.d.ts.map +1 -1
- package/dist/services/WatchService.js +10 -6
- package/dist/services/WatchService.js.map +1 -1
- package/dist/types/validation.d.ts +10 -2
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/types/validation.js +20 -4
- package/dist/types/validation.js.map +1 -1
- package/package.json +14 -14
package/dist/lib/sync-engine.js
CHANGED
|
@@ -15,9 +15,9 @@ import { Metadata, RunView, CompositeKey } from '@memberjunction/core';
|
|
|
15
15
|
import { resolveDbPlatformFromEnv } from '@memberjunction/generic-database-provider';
|
|
16
16
|
import { GetDialect, IsDateSQLType, IsUuidSQLType } from '@memberjunction/sql-dialect';
|
|
17
17
|
import { JsonPreprocessor } from './json-preprocessor.js';
|
|
18
|
-
import {
|
|
18
|
+
import { DescribeMissingEntitySubclass } from './entity-subclass-guard.js';
|
|
19
19
|
import { BatchContextIndex } from './batch-context-index.js';
|
|
20
|
-
import { METADATA_KEYWORDS,
|
|
20
|
+
import { METADATA_KEYWORDS, IsMetadataKeyword, IsNonKeywordAtSymbol, ExtractKeywordValue } from '../constants/metadata-keywords.js';
|
|
21
21
|
/**
|
|
22
22
|
* Custom error class for lookup failures that can be deferred.
|
|
23
23
|
* When a lookup with `?allowDefer` flag fails, this error is thrown instead of a regular Error.
|
|
@@ -48,9 +48,13 @@ export class DeferrableLookupError extends Error {
|
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
50
|
export class SyncEngine {
|
|
51
|
-
|
|
51
|
+
SetMetadataEngine(engine) {
|
|
52
52
|
this.syncMetadataEngine = engine;
|
|
53
53
|
}
|
|
54
|
+
/** @deprecated Use {@link SetMetadataEngine}. */
|
|
55
|
+
setMetadataEngine(engine) {
|
|
56
|
+
return this.SetMetadataEngine(engine);
|
|
57
|
+
}
|
|
54
58
|
/** Routes a warning through {@link WarningSink}, else the console. Never throws. */
|
|
55
59
|
warn(message) {
|
|
56
60
|
if (this.WarningSink) {
|
|
@@ -60,9 +64,13 @@ export class SyncEngine {
|
|
|
60
64
|
console.warn(`⚠️ ${message}`);
|
|
61
65
|
}
|
|
62
66
|
}
|
|
63
|
-
|
|
67
|
+
GetMetadataEngine() {
|
|
64
68
|
return this.syncMetadataEngine;
|
|
65
69
|
}
|
|
70
|
+
/** @deprecated Use {@link GetMetadataEngine}. */
|
|
71
|
+
getMetadataEngine() {
|
|
72
|
+
return this.GetMetadataEngine();
|
|
73
|
+
}
|
|
66
74
|
/**
|
|
67
75
|
* Returns the metadata provider this engine is using.
|
|
68
76
|
*
|
|
@@ -72,9 +80,13 @@ export class SyncEngine {
|
|
|
72
80
|
* keeps callers from reaching for `Metadata.Provider` directly and makes
|
|
73
81
|
* it obvious which provider the sync is bound to.
|
|
74
82
|
*/
|
|
75
|
-
|
|
83
|
+
GetProvider() {
|
|
76
84
|
return Metadata.Provider; // global-provider-ok: CLI single-process; see class doc
|
|
77
85
|
}
|
|
86
|
+
/** @deprecated Use {@link GetProvider}. */
|
|
87
|
+
getProvider() {
|
|
88
|
+
return this.GetProvider();
|
|
89
|
+
}
|
|
78
90
|
/**
|
|
79
91
|
* Creates a new SyncEngine instance
|
|
80
92
|
* @param contextUser - The user context for database operations
|
|
@@ -94,10 +106,14 @@ export class SyncEngine {
|
|
|
94
106
|
* Initializes the sync engine by refreshing metadata cache
|
|
95
107
|
* @returns Promise that resolves when initialization is complete
|
|
96
108
|
*/
|
|
97
|
-
async
|
|
109
|
+
async Initialize() {
|
|
98
110
|
// Currently no initialization needed as metadata is managed globally
|
|
99
111
|
// Keeping this method for backward compatibility and future use
|
|
100
112
|
}
|
|
113
|
+
/** @deprecated Use {@link Initialize}. */
|
|
114
|
+
async initialize() {
|
|
115
|
+
return this.Initialize();
|
|
116
|
+
}
|
|
101
117
|
/**
|
|
102
118
|
* Process special references in field values and handle complex objects
|
|
103
119
|
*
|
|
@@ -142,7 +158,7 @@ export class SyncEngine {
|
|
|
142
158
|
* // collector.notes will contain the resolution info
|
|
143
159
|
* ```
|
|
144
160
|
*/
|
|
145
|
-
async
|
|
161
|
+
async ProcessFieldValue(value, baseDir, parentRecord, rootRecord, depth = 0, batchContext, resolutionCollector, fieldName, recordProvider, ownerRecord) {
|
|
146
162
|
// Check recursion depth limit
|
|
147
163
|
const MAX_RECURSION_DEPTH = 50;
|
|
148
164
|
if (depth > MAX_RECURSION_DEPTH) {
|
|
@@ -166,7 +182,7 @@ export class SyncEngine {
|
|
|
166
182
|
}
|
|
167
183
|
// If string starts with @ but isn't one of our known reference types, return as-is
|
|
168
184
|
// This handles cases like npm package names (@mui/material, @angular/core, etc.)
|
|
169
|
-
if (
|
|
185
|
+
if (IsNonKeywordAtSymbol(value)) {
|
|
170
186
|
return value; // Not a MetadataSync reference, just a string that happens to start with @
|
|
171
187
|
}
|
|
172
188
|
// Check for @owner: reference
|
|
@@ -174,7 +190,7 @@ export class SyncEngine {
|
|
|
174
190
|
if (!ownerRecord) {
|
|
175
191
|
throw new Error(`@owner reference used but no owner record available: ${value}`);
|
|
176
192
|
}
|
|
177
|
-
const ownerFieldName =
|
|
193
|
+
const ownerFieldName = ExtractKeywordValue(value) || '';
|
|
178
194
|
const resolvedValue = ownerRecord.Get(ownerFieldName);
|
|
179
195
|
if (resolvedValue === undefined) {
|
|
180
196
|
const ownerName = ownerRecord.EntityInfo?.Name || 'unknown';
|
|
@@ -196,7 +212,7 @@ export class SyncEngine {
|
|
|
196
212
|
if (!parentRecord) {
|
|
197
213
|
throw new Error(`@parent reference used but no parent record available: ${value}`);
|
|
198
214
|
}
|
|
199
|
-
const parentFieldName =
|
|
215
|
+
const parentFieldName = ExtractKeywordValue(value) || '';
|
|
200
216
|
const resolvedValue = parentRecord.Get(parentFieldName);
|
|
201
217
|
// Track the resolution if collector is provided
|
|
202
218
|
if (resolutionCollector && fieldName) {
|
|
@@ -214,12 +230,12 @@ export class SyncEngine {
|
|
|
214
230
|
if (!rootRecord) {
|
|
215
231
|
throw new Error(`@root reference used but no root record available: ${value}`);
|
|
216
232
|
}
|
|
217
|
-
const fieldName =
|
|
233
|
+
const fieldName = ExtractKeywordValue(value) || '';
|
|
218
234
|
return rootRecord.Get(fieldName);
|
|
219
235
|
}
|
|
220
236
|
// Check for @file: reference
|
|
221
237
|
if (value.startsWith(METADATA_KEYWORDS.FILE)) {
|
|
222
|
-
const filePath =
|
|
238
|
+
const filePath = ExtractKeywordValue(value);
|
|
223
239
|
const fullPath = path.resolve(baseDir, filePath);
|
|
224
240
|
if (await fs.pathExists(fullPath)) {
|
|
225
241
|
// Check if this is a JSON file that might contain @include directives
|
|
@@ -267,7 +283,7 @@ export class SyncEngine {
|
|
|
267
283
|
}
|
|
268
284
|
// Check for @url: reference
|
|
269
285
|
if (value.startsWith(METADATA_KEYWORDS.URL)) {
|
|
270
|
-
const url =
|
|
286
|
+
const url = ExtractKeywordValue(value);
|
|
271
287
|
try {
|
|
272
288
|
// A developer-authored `@url:` reference in a local metadata file — it may legitimately
|
|
273
289
|
// point at an internal host, so this is deliberately not SSRF-guarded.
|
|
@@ -280,7 +296,7 @@ export class SyncEngine {
|
|
|
280
296
|
}
|
|
281
297
|
// Check for @lookup: reference
|
|
282
298
|
if (value.startsWith(METADATA_KEYWORDS.LOOKUP)) {
|
|
283
|
-
const lookupStr =
|
|
299
|
+
const lookupStr = ExtractKeywordValue(value);
|
|
284
300
|
// Parse lookup with optional flags: ?create, ?allowDefer
|
|
285
301
|
// Format: EntityName.Field1=Value1&Field2=Value2?create&allowDefer&OtherField=Value
|
|
286
302
|
const entityMatch = lookupStr.match(/^([^.]+)\./);
|
|
@@ -312,7 +328,7 @@ export class SyncEngine {
|
|
|
312
328
|
// Recursively process the field value to resolve any nested @ commands
|
|
313
329
|
// Create a temporary collector to capture nested resolutions
|
|
314
330
|
const nestedCollector = { notes: [], fieldPrefix: '' };
|
|
315
|
-
const processedValue = await this.
|
|
331
|
+
const processedValue = await this.ProcessFieldValue(rawFieldValue, baseDir, parentRecord, rootRecord, depth + 1, batchContext, nestedCollector, lookupFieldName, // Pass field name for tracking
|
|
316
332
|
recordProvider);
|
|
317
333
|
// If the raw value was a lookup expression that got resolved, track it as nested
|
|
318
334
|
if (rawFieldValue.startsWith(METADATA_KEYWORDS.LOOKUP) && rawFieldValue !== processedValue) {
|
|
@@ -340,11 +356,11 @@ export class SyncEngine {
|
|
|
340
356
|
if (key && val) {
|
|
341
357
|
const decodedVal = decodeURIComponent(val);
|
|
342
358
|
// Recursively process the field value to resolve any nested @ commands
|
|
343
|
-
createFields[key] = await this.
|
|
359
|
+
createFields[key] = await this.ProcessFieldValue(decodedVal, baseDir, parentRecord, rootRecord, depth + 1, batchContext, undefined, undefined, recordProvider);
|
|
344
360
|
}
|
|
345
361
|
}
|
|
346
362
|
}
|
|
347
|
-
const resolvedValue = await this.
|
|
363
|
+
const resolvedValue = await this.ResolveLookup(entityName, lookupFields, hasCreate, createFields, batchContext, allowDefer, value, recordProvider);
|
|
348
364
|
// Track the resolution if collector is provided
|
|
349
365
|
if (resolutionCollector && fieldName) {
|
|
350
366
|
const note = {
|
|
@@ -363,7 +379,7 @@ export class SyncEngine {
|
|
|
363
379
|
}
|
|
364
380
|
// Check for @env: reference
|
|
365
381
|
if (value.startsWith(METADATA_KEYWORDS.ENV)) {
|
|
366
|
-
const envVar =
|
|
382
|
+
const envVar = ExtractKeywordValue(value);
|
|
367
383
|
const envValue = process.env[envVar];
|
|
368
384
|
if (envValue === undefined) {
|
|
369
385
|
throw new Error(`Environment variable not found: ${envVar}`);
|
|
@@ -372,6 +388,10 @@ export class SyncEngine {
|
|
|
372
388
|
}
|
|
373
389
|
return value;
|
|
374
390
|
}
|
|
391
|
+
/** @deprecated Use {@link ProcessFieldValue}. */
|
|
392
|
+
async processFieldValue(value, baseDir, parentRecord, rootRecord, depth = 0, batchContext, resolutionCollector, fieldName, recordProvider, ownerRecord) {
|
|
393
|
+
return this.ProcessFieldValue(value, baseDir, parentRecord, rootRecord, depth, batchContext, resolutionCollector, fieldName, recordProvider, ownerRecord);
|
|
394
|
+
}
|
|
375
395
|
/**
|
|
376
396
|
* Resolve a lookup reference to an ID, optionally creating the record if it doesn't exist
|
|
377
397
|
*
|
|
@@ -423,7 +443,7 @@ export class SyncEngine {
|
|
|
423
443
|
});
|
|
424
444
|
return `${encodeURIComponent(entityName.toLowerCase())}|${parts.join('&')}`;
|
|
425
445
|
}
|
|
426
|
-
async
|
|
446
|
+
async ResolveLookup(entityName, lookupFields, autoCreate = false, createFields = {}, batchContext, allowDefer = false, originalValue, recordProvider) {
|
|
427
447
|
const lookupCacheKey = this.buildLookupCacheKey(entityName, lookupFields);
|
|
428
448
|
if (this.syncMetadataEngine) {
|
|
429
449
|
const cachedId = this.syncMetadataEngine.getCachedLookup(lookupCacheKey);
|
|
@@ -573,7 +593,7 @@ export class SyncEngine {
|
|
|
573
593
|
// If not found and auto-create is enabled, create the record
|
|
574
594
|
if (autoCreate) {
|
|
575
595
|
// Same silent-fallback hazard as PushService (issue #4199), on the lookup auto-create path.
|
|
576
|
-
const subclassWarning =
|
|
596
|
+
const subclassWarning = DescribeMissingEntitySubclass(entityName);
|
|
577
597
|
if (subclassWarning) {
|
|
578
598
|
this.warn(subclassWarning);
|
|
579
599
|
}
|
|
@@ -634,6 +654,10 @@ export class SyncEngine {
|
|
|
634
654
|
}
|
|
635
655
|
throw new Error(errorMessage);
|
|
636
656
|
}
|
|
657
|
+
/** @deprecated Use {@link ResolveLookup}. */
|
|
658
|
+
async resolveLookup(entityName, lookupFields, autoCreate = false, createFields = {}, batchContext, allowDefer = false, originalValue, recordProvider) {
|
|
659
|
+
return this.ResolveLookup(entityName, lookupFields, autoCreate, createFields, batchContext, allowDefer, originalValue, recordProvider);
|
|
660
|
+
}
|
|
637
661
|
/**
|
|
638
662
|
* Build cascading defaults for a file path and process field values
|
|
639
663
|
*
|
|
@@ -646,7 +670,7 @@ export class SyncEngine {
|
|
|
646
670
|
* @returns Processed defaults with all references resolved
|
|
647
671
|
* @throws Error if any default value processing fails
|
|
648
672
|
*/
|
|
649
|
-
async
|
|
673
|
+
async BuildDefaults(filePath, entityConfig) {
|
|
650
674
|
const parts = path.dirname(filePath).split(path.sep);
|
|
651
675
|
let defaults = { ...entityConfig.defaults };
|
|
652
676
|
// Walk up the directory tree building defaults
|
|
@@ -663,7 +687,7 @@ export class SyncEngine {
|
|
|
663
687
|
const baseDir = path.dirname(filePath);
|
|
664
688
|
for (const [field, value] of Object.entries(defaults)) {
|
|
665
689
|
try {
|
|
666
|
-
processedDefaults[field] = await this.
|
|
690
|
+
processedDefaults[field] = await this.ProcessFieldValue(value, baseDir, null, null, 0);
|
|
667
691
|
}
|
|
668
692
|
catch (error) {
|
|
669
693
|
throw new Error(`Failed to process default for field '${field}': ${error}`);
|
|
@@ -671,6 +695,10 @@ export class SyncEngine {
|
|
|
671
695
|
}
|
|
672
696
|
return processedDefaults;
|
|
673
697
|
}
|
|
698
|
+
/** @deprecated Use {@link BuildDefaults}. */
|
|
699
|
+
async buildDefaults(filePath, entityConfig) {
|
|
700
|
+
return this.BuildDefaults(filePath, entityConfig);
|
|
701
|
+
}
|
|
674
702
|
/**
|
|
675
703
|
* Load folder configuration from .mj-folder.json file
|
|
676
704
|
*
|
|
@@ -711,13 +739,17 @@ export class SyncEngine {
|
|
|
711
739
|
* // Returns consistent hash for same data structure
|
|
712
740
|
* ```
|
|
713
741
|
*/
|
|
714
|
-
|
|
742
|
+
CalculateChecksum(data) {
|
|
715
743
|
const hash = crypto.createHash('sha256');
|
|
716
744
|
// Use a replacer function to ensure consistent key ordering for deterministic checksums
|
|
717
745
|
const sortedJson = JSON.stringify(data, this.sortedReplacer, 2);
|
|
718
746
|
hash.update(sortedJson);
|
|
719
747
|
return hash.digest('hex');
|
|
720
748
|
}
|
|
749
|
+
/** @deprecated Use {@link CalculateChecksum}. */
|
|
750
|
+
calculateChecksum(data) {
|
|
751
|
+
return this.CalculateChecksum(data);
|
|
752
|
+
}
|
|
721
753
|
/**
|
|
722
754
|
* Replacer function for JSON.stringify that sorts object keys alphabetically
|
|
723
755
|
* Ensures deterministic checksums regardless of property order
|
|
@@ -745,9 +777,13 @@ export class SyncEngine {
|
|
|
745
777
|
* @param entityDir - Directory for resolving relative file paths
|
|
746
778
|
* @returns Promise resolving to checksum string
|
|
747
779
|
*/
|
|
748
|
-
async
|
|
780
|
+
async CalculateChecksumWithFileContent(data, entityDir) {
|
|
749
781
|
const processedData = await this.resolveFileReferencesForChecksum(data, entityDir);
|
|
750
|
-
return this.
|
|
782
|
+
return this.CalculateChecksum(processedData);
|
|
783
|
+
}
|
|
784
|
+
/** @deprecated Use {@link CalculateChecksumWithFileContent}. */
|
|
785
|
+
async calculateChecksumWithFileContent(data, entityDir) {
|
|
786
|
+
return this.CalculateChecksumWithFileContent(data, entityDir);
|
|
751
787
|
}
|
|
752
788
|
/**
|
|
753
789
|
* Resolve @file references for checksum calculation
|
|
@@ -773,7 +809,7 @@ export class SyncEngine {
|
|
|
773
809
|
if (typeof value === 'string' && value.startsWith(METADATA_KEYWORDS.FILE)) {
|
|
774
810
|
// Process @file reference and include actual content
|
|
775
811
|
try {
|
|
776
|
-
const filePath =
|
|
812
|
+
const filePath = ExtractKeywordValue(value);
|
|
777
813
|
const fullPath = path.isAbsolute(filePath) ? filePath : path.join(entityDir, filePath);
|
|
778
814
|
if (await fs.pathExists(fullPath)) {
|
|
779
815
|
let processedContent;
|
|
@@ -850,9 +886,13 @@ export class SyncEngine {
|
|
|
850
886
|
* }
|
|
851
887
|
* ```
|
|
852
888
|
*/
|
|
853
|
-
|
|
889
|
+
GetEntityInfo(entityName) {
|
|
854
890
|
return this.metadata.EntityByName(entityName);
|
|
855
891
|
}
|
|
892
|
+
/** @deprecated Use {@link GetEntityInfo}. */
|
|
893
|
+
getEntityInfo(entityName) {
|
|
894
|
+
return this.GetEntityInfo(entityName);
|
|
895
|
+
}
|
|
856
896
|
/**
|
|
857
897
|
* Create a new entity object instance
|
|
858
898
|
*
|
|
@@ -871,7 +911,7 @@ export class SyncEngine {
|
|
|
871
911
|
* await entity.Save();
|
|
872
912
|
* ```
|
|
873
913
|
*/
|
|
874
|
-
async
|
|
914
|
+
async CreateEntityObject(entityName, recordProvider) {
|
|
875
915
|
const entity = recordProvider
|
|
876
916
|
? await recordProvider.GetEntityObject(entityName, this.contextUser)
|
|
877
917
|
: await this.metadata.GetEntityObject(entityName, this.contextUser);
|
|
@@ -880,6 +920,10 @@ export class SyncEngine {
|
|
|
880
920
|
}
|
|
881
921
|
return entity;
|
|
882
922
|
}
|
|
923
|
+
/** @deprecated Use {@link CreateEntityObject}. */
|
|
924
|
+
async createEntityObject(entityName, recordProvider) {
|
|
925
|
+
return this.CreateEntityObject(entityName, recordProvider);
|
|
926
|
+
}
|
|
883
927
|
/**
|
|
884
928
|
* Load an entity record by primary key
|
|
885
929
|
*
|
|
@@ -903,8 +947,8 @@ export class SyncEngine {
|
|
|
903
947
|
* });
|
|
904
948
|
* ```
|
|
905
949
|
*/
|
|
906
|
-
async
|
|
907
|
-
const entityInfo = this.
|
|
950
|
+
async LoadEntity(entityName, primaryKey, recordProvider) {
|
|
951
|
+
const entityInfo = this.GetEntityInfo(entityName);
|
|
908
952
|
if (!entityInfo) {
|
|
909
953
|
throw new Error(`Entity not found: ${entityName}`);
|
|
910
954
|
}
|
|
@@ -952,7 +996,7 @@ export class SyncEngine {
|
|
|
952
996
|
return null;
|
|
953
997
|
}
|
|
954
998
|
// Record exists, now load it properly through the entity
|
|
955
|
-
const entity = await this.
|
|
999
|
+
const entity = await this.CreateEntityObject(entityName, recordProvider);
|
|
956
1000
|
const compositeKey = new CompositeKey();
|
|
957
1001
|
compositeKey.LoadFromSimpleObject(primaryKey);
|
|
958
1002
|
const loaded = await entity.InnerLoad(compositeKey);
|
|
@@ -962,6 +1006,10 @@ export class SyncEngine {
|
|
|
962
1006
|
}
|
|
963
1007
|
return loadedEntity;
|
|
964
1008
|
}
|
|
1009
|
+
/** @deprecated Use {@link LoadEntity}. */
|
|
1010
|
+
async loadEntity(entityName, primaryKey, recordProvider) {
|
|
1011
|
+
return this.LoadEntity(entityName, primaryKey, recordProvider);
|
|
1012
|
+
}
|
|
965
1013
|
/**
|
|
966
1014
|
* Process file content with `{@include}` references
|
|
967
1015
|
*
|
|
@@ -1054,8 +1102,8 @@ export class SyncEngine {
|
|
|
1054
1102
|
}
|
|
1055
1103
|
// Handle top-level strings (important for array elements that are strings with @ syntax)
|
|
1056
1104
|
if (typeof obj === 'string') {
|
|
1057
|
-
if (
|
|
1058
|
-
return this.
|
|
1105
|
+
if (IsMetadataKeyword(obj)) {
|
|
1106
|
+
return this.ProcessFieldValue(obj, baseDir, parentRecord, rootRecord, depth, batchContext, undefined, undefined, recordProvider, ownerRecord);
|
|
1059
1107
|
}
|
|
1060
1108
|
return obj;
|
|
1061
1109
|
}
|
|
@@ -1071,8 +1119,8 @@ export class SyncEngine {
|
|
|
1071
1119
|
if (typeof value === 'string') {
|
|
1072
1120
|
// Check if this looks like a reference that needs processing
|
|
1073
1121
|
// Only process known reference types, ignore other @ strings (like npm packages)
|
|
1074
|
-
if (
|
|
1075
|
-
result[key] = await this.
|
|
1122
|
+
if (IsMetadataKeyword(value)) {
|
|
1123
|
+
result[key] = await this.ProcessFieldValue(value, baseDir, parentRecord, rootRecord, depth, batchContext, undefined, undefined, recordProvider, ownerRecord);
|
|
1076
1124
|
}
|
|
1077
1125
|
else {
|
|
1078
1126
|
result[key] = value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/lib/sync-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/lib/sync-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,15 +120,23 @@ export declare class SyncMetadataEngine extends BaseEngine<SyncMetadataEngine> {
|
|
|
120
120
|
[key: `cached_${string}`]: BaseEntity[] | undefined;
|
|
121
121
|
/** Non-fatal warnings collected during preload (malformed shapes, oversized entities). Drained by the caller after `Config()`. */
|
|
122
122
|
private warnings;
|
|
123
|
+
InitializeEngine(syncEngine: SyncEngine): void;
|
|
124
|
+
/** @deprecated Use {@link InitializeEngine}. */
|
|
123
125
|
initializeEngine(syncEngine: SyncEngine): void;
|
|
126
|
+
SetEntityDirs(dirs: string[]): void;
|
|
127
|
+
/** @deprecated Use {@link SetEntityDirs}. */
|
|
124
128
|
setEntityDirs(dirs: string[]): void;
|
|
125
129
|
/** Returns and clears the warnings collected during the last preload run. */
|
|
130
|
+
DrainWarnings(): string[];
|
|
131
|
+
/** @deprecated Use {@link DrainWarnings}. */
|
|
126
132
|
drainWarnings(): string[];
|
|
127
133
|
/**
|
|
128
134
|
* Property name on this engine instance under which cached `BaseEntity[]`
|
|
129
135
|
* arrays for the given entity are stored. `BaseEngine.applyImmediateMutation`
|
|
130
136
|
* reads/writes these slots directly, so we use a deterministic naming scheme.
|
|
131
137
|
*/
|
|
138
|
+
GetPropertyNameForEntity(entityName: string): `cached_${string}`;
|
|
139
|
+
/** @deprecated Use {@link GetPropertyNameForEntity}. */
|
|
132
140
|
getPropertyNameForEntity(entityName: string): `cached_${string}`;
|
|
133
141
|
/**
|
|
134
142
|
* Scan the metadata tree for touched entities, then fill one slot per
|
|
@@ -157,6 +165,11 @@ export declare class SyncMetadataEngine extends BaseEngine<SyncMetadataEngine> {
|
|
|
157
165
|
* Build a deterministic composite key from lookup fields for indexed O(1) lookup.
|
|
158
166
|
* Matches the normalization used in resolveLookup (trimmed, lowercased, sorted by field name).
|
|
159
167
|
*/
|
|
168
|
+
BuildLookupCompositeKey(fields: Array<{
|
|
169
|
+
fieldName: string;
|
|
170
|
+
fieldValue: unknown;
|
|
171
|
+
}>): string;
|
|
172
|
+
/** @deprecated Use {@link BuildLookupCompositeKey}. */
|
|
160
173
|
buildLookupCompositeKey(fields: Array<{
|
|
161
174
|
fieldName: string;
|
|
162
175
|
fieldValue: unknown;
|
|
@@ -175,6 +188,8 @@ export declare class SyncMetadataEngine extends BaseEngine<SyncMetadataEngine> {
|
|
|
175
188
|
* Rebuilds both the PK indexes and the lookup indexes for the specified entity names
|
|
176
189
|
* (or all preloaded entity names if omitted). Useful when preloaded data has been updated.
|
|
177
190
|
*/
|
|
191
|
+
RebuildIndexes(entityNames?: Iterable<string>): void;
|
|
192
|
+
/** @deprecated Use {@link RebuildIndexes}. */
|
|
178
193
|
rebuildIndexes(entityNames?: Iterable<string>): void;
|
|
179
194
|
/**
|
|
180
195
|
* O(1) lookup against the preload cache using field/value pairs, with an array-scan
|
|
@@ -182,6 +197,11 @@ export declare class SyncMetadataEngine extends BaseEngine<SyncMetadataEngine> {
|
|
|
182
197
|
*
|
|
183
198
|
* Returns matching `BaseEntity`, or `null` if not found in cache.
|
|
184
199
|
*/
|
|
200
|
+
FindCachedByLookup(entityName: string, lookupFields: Array<{
|
|
201
|
+
fieldName: string;
|
|
202
|
+
fieldValue: string;
|
|
203
|
+
}>): BaseEntity | null;
|
|
204
|
+
/** @deprecated Use {@link FindCachedByLookup}. */
|
|
185
205
|
findCachedByLookup(entityName: string, lookupFields: Array<{
|
|
186
206
|
fieldName: string;
|
|
187
207
|
fieldValue: string;
|
|
@@ -194,8 +214,14 @@ export declare class SyncMetadataEngine extends BaseEngine<SyncMetadataEngine> {
|
|
|
194
214
|
* Returns `null` when the entity isn't preloaded or the PK isn't in
|
|
195
215
|
* the cache — callers fall through to a DB load.
|
|
196
216
|
*/
|
|
217
|
+
FindCachedByPrimaryKey(entityName: string, primaryKey: Record<string, unknown>): BaseEntity | null;
|
|
218
|
+
/** @deprecated Use {@link FindCachedByPrimaryKey}. */
|
|
197
219
|
findCachedByPrimaryKey(entityName: string, primaryKey: Record<string, unknown>): BaseEntity | null;
|
|
220
|
+
MarkEntityAsPreloaded(entityName: string): void;
|
|
221
|
+
/** @deprecated Use {@link MarkEntityAsPreloaded}. */
|
|
198
222
|
markEntityAsPreloaded(entityName: string): void;
|
|
223
|
+
IsEntityPreloaded(entityName: string): boolean;
|
|
224
|
+
/** @deprecated Use {@link IsEntityPreloaded}. */
|
|
199
225
|
isEntityPreloaded(entityName: string): boolean;
|
|
200
226
|
/**
|
|
201
227
|
* Try to serve an entity's slot from another loaded engine's cache instead
|
|
@@ -213,8 +239,12 @@ export declare class SyncMetadataEngine extends BaseEngine<SyncMetadataEngine> {
|
|
|
213
239
|
* Returns true when a donor was registered; the caller then skips the
|
|
214
240
|
* self-load config for this entity.
|
|
215
241
|
*/
|
|
242
|
+
DelegateEntityIfCached(entityName: string): boolean;
|
|
243
|
+
/** @deprecated Use {@link DelegateEntityIfCached}. */
|
|
216
244
|
delegateEntityIfCached(entityName: string): boolean;
|
|
217
245
|
/** Delegated entity → donor engine pairings from the last `Config()` run, for logging. */
|
|
246
|
+
GetDelegationSummary(): DelegationSummaryEntry[];
|
|
247
|
+
/** @deprecated Use {@link GetDelegationSummary}. */
|
|
218
248
|
getDelegationSummary(): DelegationSummaryEntry[];
|
|
219
249
|
/**
|
|
220
250
|
* The single resolution point for an entity's backing array: the donor
|
|
@@ -223,23 +253,43 @@ export declare class SyncMetadataEngine extends BaseEngine<SyncMetadataEngine> {
|
|
|
223
253
|
* `undefined` when no slot exists yet.
|
|
224
254
|
*/
|
|
225
255
|
private resolveSlot;
|
|
256
|
+
GetCachedEntities(entityName: string): BaseEntity[];
|
|
257
|
+
/** @deprecated Use {@link GetCachedEntities}. */
|
|
226
258
|
getCachedEntities(entityName: string): BaseEntity[];
|
|
227
259
|
/**
|
|
228
260
|
* Test fixture helper to set preloaded entity array and build indexes.
|
|
229
261
|
*/
|
|
262
|
+
SetCachedEntitiesForTesting(entityName: string, entities: BaseEntity[]): void;
|
|
263
|
+
/** @deprecated Use {@link SetCachedEntitiesForTesting}. */
|
|
230
264
|
setCachedEntitiesForTesting(entityName: string, entities: BaseEntity[]): void;
|
|
265
|
+
GetCachedFile(filePath: string): CachedFile | undefined;
|
|
266
|
+
/** @deprecated Use {@link GetCachedFile}. */
|
|
231
267
|
getCachedFile(filePath: string): CachedFile | undefined;
|
|
268
|
+
CacheFile(filePath: string, rawData: unknown, fileData: unknown): void;
|
|
269
|
+
/** @deprecated Use {@link CacheFile}. */
|
|
232
270
|
cacheFile(filePath: string, rawData: unknown, fileData: unknown): void;
|
|
233
271
|
/**
|
|
234
272
|
* Invalidate the cached file content for a path. Call this immediately
|
|
235
273
|
* before (or after) any code path that writes back to a metadata JSON
|
|
236
274
|
* file during the sync, so a subsequent reader gets fresh contents.
|
|
237
275
|
*/
|
|
276
|
+
InvalidateCachedFile(filePath: string): void;
|
|
277
|
+
/** @deprecated Use {@link InvalidateCachedFile}. */
|
|
238
278
|
invalidateCachedFile(filePath: string): void;
|
|
279
|
+
AddEntityToCache(entityName: string, entity: BaseEntity): void;
|
|
280
|
+
/** @deprecated Use {@link AddEntityToCache}. */
|
|
239
281
|
addEntityToCache(entityName: string, entity: BaseEntity): void;
|
|
282
|
+
RemoveEntityFromCache(entityName: string, primaryKey: Record<string, unknown>): void;
|
|
283
|
+
/** @deprecated Use {@link RemoveEntityFromCache}. */
|
|
240
284
|
removeEntityFromCache(entityName: string, primaryKey: Record<string, unknown>): void;
|
|
285
|
+
GetCachedLookup(key: string): string | undefined;
|
|
286
|
+
/** @deprecated Use {@link GetCachedLookup}. */
|
|
241
287
|
getCachedLookup(key: string): string | undefined;
|
|
288
|
+
SetCachedLookup(key: string, id: string, entityName?: string): void;
|
|
289
|
+
/** @deprecated Use {@link SetCachedLookup}. */
|
|
242
290
|
setCachedLookup(key: string, id: string, entityName?: string): void;
|
|
291
|
+
ClearLookupCache(): void;
|
|
292
|
+
/** @deprecated Use {@link ClearLookupCache}. */
|
|
243
293
|
clearLookupCache(): void;
|
|
244
294
|
/**
|
|
245
295
|
* Invalidate only the lookup entries that touch a given entity. Avoids
|
|
@@ -250,12 +300,16 @@ export declare class SyncMetadataEngine extends BaseEngine<SyncMetadataEngine> {
|
|
|
250
300
|
* `resolveLookup` integration always passes the entity name, so this
|
|
251
301
|
* is only a concern for callers that bypass that path.
|
|
252
302
|
*/
|
|
303
|
+
InvalidateLookupsForEntity(entityName: string): void;
|
|
304
|
+
/** @deprecated Use {@link InvalidateLookupsForEntity}. */
|
|
253
305
|
invalidateLookupsForEntity(entityName: string): void;
|
|
254
306
|
/**
|
|
255
307
|
* Canonical string representation of a record's primary key, used as the
|
|
256
308
|
* key in entity-cache dedup/removal lookups. UUID-typed components are
|
|
257
309
|
* lower-cased to bridge SQL Server (upper) vs PG (lower).
|
|
258
310
|
*/
|
|
311
|
+
SerializePrimaryKey(entityInfo: EntityInfo, primaryKey: Record<string, unknown>): string;
|
|
312
|
+
/** @deprecated Use {@link SerializePrimaryKey}. */
|
|
259
313
|
serializePrimaryKey(entityInfo: EntityInfo, primaryKey: Record<string, unknown>): string;
|
|
260
314
|
/**
|
|
261
315
|
* Walk every entity referenced by metadata files (including nested
|