@memberjunction/integration-engine 5.38.0 → 5.40.0
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/ActionMetadataGenerator.d.ts +8 -1
- package/dist/ActionMetadataGenerator.d.ts.map +1 -1
- package/dist/ActionMetadataGenerator.js +22 -3
- package/dist/ActionMetadataGenerator.js.map +1 -1
- package/dist/AdaptiveConcurrency.d.ts +85 -0
- package/dist/AdaptiveConcurrency.d.ts.map +1 -0
- package/dist/AdaptiveConcurrency.js +148 -0
- package/dist/AdaptiveConcurrency.js.map +1 -0
- package/dist/BaseIntegrationConnector.d.ts +127 -3
- package/dist/BaseIntegrationConnector.d.ts.map +1 -1
- package/dist/BaseIntegrationConnector.js +126 -11
- package/dist/BaseIntegrationConnector.js.map +1 -1
- package/dist/BaseRESTIntegrationConnector.d.ts +80 -15
- package/dist/BaseRESTIntegrationConnector.d.ts.map +1 -1
- package/dist/BaseRESTIntegrationConnector.js +314 -64
- package/dist/BaseRESTIntegrationConnector.js.map +1 -1
- package/dist/ConflictRecency.d.ts +24 -0
- package/dist/ConflictRecency.d.ts.map +1 -0
- package/dist/ConflictRecency.js +25 -0
- package/dist/ConflictRecency.js.map +1 -0
- package/dist/ContentHash.d.ts +28 -0
- package/dist/ContentHash.d.ts.map +1 -0
- package/dist/ContentHash.js +54 -0
- package/dist/ContentHash.js.map +1 -0
- package/dist/EnrichSchemaConstraints.d.ts +59 -0
- package/dist/EnrichSchemaConstraints.d.ts.map +1 -0
- package/dist/EnrichSchemaConstraints.js +168 -0
- package/dist/EnrichSchemaConstraints.js.map +1 -0
- package/dist/FieldMappingEngine.d.ts +22 -0
- package/dist/FieldMappingEngine.d.ts.map +1 -1
- package/dist/FieldMappingEngine.js +66 -5
- package/dist/FieldMappingEngine.js.map +1 -1
- package/dist/HashDiff.d.ts +68 -0
- package/dist/HashDiff.d.ts.map +1 -0
- package/dist/HashDiff.js +108 -0
- package/dist/HashDiff.js.map +1 -0
- package/dist/IntegrationActionGenerator.d.ts +93 -0
- package/dist/IntegrationActionGenerator.d.ts.map +1 -0
- package/dist/IntegrationActionGenerator.js +313 -0
- package/dist/IntegrationActionGenerator.js.map +1 -0
- package/dist/IntegrationConnectorCreationPipeline.d.ts +86 -0
- package/dist/IntegrationConnectorCreationPipeline.d.ts.map +1 -0
- package/dist/IntegrationConnectorCreationPipeline.js +226 -0
- package/dist/IntegrationConnectorCreationPipeline.js.map +1 -0
- package/dist/IntegrationEngine.d.ts +199 -1
- package/dist/IntegrationEngine.d.ts.map +1 -1
- package/dist/IntegrationEngine.js +1592 -109
- package/dist/IntegrationEngine.js.map +1 -1
- package/dist/IntegrationSchemaSync.d.ts +82 -0
- package/dist/IntegrationSchemaSync.d.ts.map +1 -1
- package/dist/IntegrationSchemaSync.js +289 -42
- package/dist/IntegrationSchemaSync.js.map +1 -1
- package/dist/MatchEngine.d.ts.map +1 -1
- package/dist/MatchEngine.js +4 -0
- package/dist/MatchEngine.js.map +1 -1
- package/dist/RateLimiter.d.ts +117 -0
- package/dist/RateLimiter.d.ts.map +1 -0
- package/dist/RateLimiter.js +159 -0
- package/dist/RateLimiter.js.map +1 -0
- package/dist/SyncLogger.d.ts +106 -0
- package/dist/SyncLogger.d.ts.map +1 -0
- package/dist/SyncLogger.js +176 -0
- package/dist/SyncLogger.js.map +1 -0
- package/dist/WatermarkService.d.ts +36 -1
- package/dist/WatermarkService.d.ts.map +1 -1
- package/dist/WatermarkService.js +113 -3
- package/dist/WatermarkService.js.map +1 -1
- package/dist/index.d.ts +23 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +52 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -6
|
@@ -14,7 +14,37 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { Metadata, RunView } from '@memberjunction/core';
|
|
16
16
|
import { IntegrationEngineBase } from '@memberjunction/integration-engine-base';
|
|
17
|
+
import { EnrichSchemaConstraints } from './EnrichSchemaConstraints.js';
|
|
17
18
|
import { ActionMetadataGenerator } from './ActionMetadataGenerator.js';
|
|
19
|
+
/**
|
|
20
|
+
* Pure-function overlay rule for a single boolean attribute.
|
|
21
|
+
*
|
|
22
|
+
* The rule that the rest of the codebase must obey when merging a Declared
|
|
23
|
+
* (curated/static-catalog) row with a Discovered (live-from-connector) value:
|
|
24
|
+
*
|
|
25
|
+
* - If `discovered` is `undefined`, the source has **no opinion** —
|
|
26
|
+
* the Declared value sticks. Winner = 'Declared'. Never overwrite.
|
|
27
|
+
* - If `discovered` is defined and equal to `declared`, nothing changes.
|
|
28
|
+
* Winner = 'Declared'.
|
|
29
|
+
* - If `discovered` is defined and DIFFERENT, the Discovered value wins
|
|
30
|
+
* (it reflects the live system's current truth, e.g. a column flipped
|
|
31
|
+
* from nullable to non-nullable). Winner = 'Discovered'.
|
|
32
|
+
*
|
|
33
|
+
* The bug this exists to prevent: pre-Phase-0 v5.39.x the overlay treated
|
|
34
|
+
* `undefined` as if the source had said `false`, silently wiping declared
|
|
35
|
+
* PK flags across every IO the moment live discovery ran on connectors
|
|
36
|
+
* (HubSpot, Salesforce) whose property-list APIs don't return an
|
|
37
|
+
* `IsPrimaryKey` field at all. See `IntegrationSchemaSync.test.ts`.
|
|
38
|
+
*/
|
|
39
|
+
export function decideBooleanOverlay(declared, discovered) {
|
|
40
|
+
if (discovered === undefined) {
|
|
41
|
+
return { value: declared, winner: 'Declared' };
|
|
42
|
+
}
|
|
43
|
+
if (declared === discovered) {
|
|
44
|
+
return { value: declared, winner: 'Declared' };
|
|
45
|
+
}
|
|
46
|
+
return { value: discovered, winner: 'Discovered' };
|
|
47
|
+
}
|
|
18
48
|
/**
|
|
19
49
|
* Maps generic source types (from connectors) to MJ EntityField-compatible type strings.
|
|
20
50
|
*/
|
|
@@ -58,47 +88,181 @@ export class IntegrationSchemaSync {
|
|
|
58
88
|
const { IntegrationID, SourceSchema, ContextUser } = opts;
|
|
59
89
|
const md = opts.Provider ?? Metadata.Provider;
|
|
60
90
|
const engine = IntegrationEngineBase.Instance;
|
|
61
|
-
const
|
|
91
|
+
const useBatch = opts.UseTransactionGroup ?? true;
|
|
92
|
+
const result = {
|
|
93
|
+
ObjectsCreated: 0,
|
|
94
|
+
ObjectsUpdated: 0,
|
|
95
|
+
FieldsCreated: 0,
|
|
96
|
+
FieldsUpdated: 0,
|
|
97
|
+
ObjectMergeLog: [],
|
|
98
|
+
FieldMergeLog: [],
|
|
99
|
+
};
|
|
100
|
+
// Lightweight constraint discovery: deterministically infer the FKs the source
|
|
101
|
+
// did NOT declare (naming-based, provable-only) so discovered objects gain proper
|
|
102
|
+
// relationships before the Declared/Discovered merge below resolves them. No AI
|
|
103
|
+
// dependency — safe on AI-less BI instances.
|
|
104
|
+
EnrichSchemaConstraints.InferForeignKeys(SourceSchema.Objects);
|
|
62
105
|
// Load existing objects for this integration from cache
|
|
63
106
|
const existingObjects = engine.GetIntegrationObjectsByIntegrationID(IntegrationID);
|
|
64
|
-
|
|
107
|
+
// Phase 1: upsert objects. Object upserts must complete before field upserts
|
|
108
|
+
// (fields need ObjectID). Within this phase, upserts are independent so we
|
|
109
|
+
// batch-execute via Promise.all (concurrency cap to avoid hammering the DB).
|
|
110
|
+
const objectUpserts = SourceSchema.Objects.map(srcObj => async () => {
|
|
65
111
|
const objResult = await IntegrationSchemaSync.UpsertObject(md, IntegrationID, srcObj, existingObjects, ContextUser);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
112
|
+
return { srcObj, ...objResult };
|
|
113
|
+
});
|
|
114
|
+
const objectResults = useBatch
|
|
115
|
+
? await IntegrationSchemaSync.batchExec(objectUpserts, 8)
|
|
116
|
+
: await IntegrationSchemaSync.serialExec(objectUpserts);
|
|
117
|
+
for (const r of objectResults) {
|
|
118
|
+
result.ObjectsCreated += r.Created ? 1 : 0;
|
|
119
|
+
result.ObjectsUpdated += r.Updated ? 1 : 0;
|
|
120
|
+
result.ObjectMergeLog.push({
|
|
121
|
+
ObjectName: r.srcObj.ExternalName,
|
|
122
|
+
EffectiveSource: r.EffectiveSource,
|
|
123
|
+
Created: r.Created,
|
|
124
|
+
Updated: r.Updated,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
// Build sibling name→ID map for FK resolution during field upserts.
|
|
128
|
+
// Combines the freshly-upserted set with whatever was already in the engine
|
|
129
|
+
// cache, so discovered FK targets like "Contacts" resolve to a UUID regardless
|
|
130
|
+
// of whether the target object was just created this run or pre-existed.
|
|
131
|
+
const siblingNameToID = new Map();
|
|
132
|
+
for (const eo of existingObjects) {
|
|
133
|
+
if (eo.ID)
|
|
134
|
+
siblingNameToID.set(eo.Name.toLowerCase(), eo.ID);
|
|
135
|
+
}
|
|
136
|
+
for (const r of objectResults) {
|
|
137
|
+
if (r.ObjectID)
|
|
138
|
+
siblingNameToID.set(r.srcObj.ExternalName.toLowerCase(), r.ObjectID);
|
|
139
|
+
}
|
|
140
|
+
// Phase 2: upsert fields per object. Across objects is parallelizable; within
|
|
141
|
+
// an object the field set is sequential against the cached field list.
|
|
142
|
+
const fieldUpsertJobs = objectResults
|
|
143
|
+
.filter(r => r.ObjectID)
|
|
144
|
+
.map(r => async () => {
|
|
145
|
+
const existingFields = engine.GetIntegrationObjectFields(r.ObjectID);
|
|
146
|
+
const perObjectLogs = [];
|
|
147
|
+
const perObjectStats = { created: 0, updated: 0 };
|
|
148
|
+
for (const srcField of r.srcObj.Fields) {
|
|
149
|
+
const fr = await IntegrationSchemaSync.UpsertField(md, r.ObjectID, srcField, existingFields, ContextUser, siblingNameToID);
|
|
150
|
+
if (fr.Created)
|
|
151
|
+
perObjectStats.created++;
|
|
152
|
+
if (fr.Updated)
|
|
153
|
+
perObjectStats.updated++;
|
|
154
|
+
perObjectLogs.push({
|
|
155
|
+
ObjectName: r.srcObj.ExternalName,
|
|
156
|
+
FieldName: srcField.Name,
|
|
157
|
+
EffectiveSource: fr.EffectiveSource,
|
|
158
|
+
AttributeWinners: fr.AttributeWinners,
|
|
159
|
+
});
|
|
77
160
|
}
|
|
161
|
+
console.log(JSON.stringify({
|
|
162
|
+
ts: new Date().toISOString(),
|
|
163
|
+
event: 'persist.object.fields-done',
|
|
164
|
+
objectName: r.srcObj.ExternalName,
|
|
165
|
+
integrationObjectID: r.ObjectID,
|
|
166
|
+
fieldsInSource: r.srcObj.Fields.length,
|
|
167
|
+
fieldsCreated: perObjectStats.created,
|
|
168
|
+
fieldsUpdated: perObjectStats.updated,
|
|
169
|
+
fieldsUnchanged: r.srcObj.Fields.length - perObjectStats.created - perObjectStats.updated,
|
|
170
|
+
}));
|
|
171
|
+
return { stats: perObjectStats, logs: perObjectLogs };
|
|
172
|
+
});
|
|
173
|
+
const fieldResults = useBatch
|
|
174
|
+
? await IntegrationSchemaSync.batchExec(fieldUpsertJobs, 8)
|
|
175
|
+
: await IntegrationSchemaSync.serialExec(fieldUpsertJobs);
|
|
176
|
+
for (const fr of fieldResults) {
|
|
177
|
+
result.FieldsCreated += fr.stats.created;
|
|
178
|
+
result.FieldsUpdated += fr.stats.updated;
|
|
179
|
+
result.FieldMergeLog.push(...fr.logs);
|
|
78
180
|
}
|
|
79
181
|
console.log(`[IntegrationSchemaSync] Persisted schema for ${IntegrationID}: ${result.ObjectsCreated} objects created, ${result.ObjectsUpdated} updated, ${result.FieldsCreated} fields created, ${result.FieldsUpdated} updated`);
|
|
80
182
|
return result;
|
|
81
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Batch executor with bounded concurrency. Independent async jobs run in parallel
|
|
186
|
+
* up to `concurrency`; failures within a job propagate as-is. This is the lightest-
|
|
187
|
+
* weight batching primitive we can rely on without depending on a TransactionGroup
|
|
188
|
+
* abstraction that doesn't exist in MJCore. Order-of-completion irrelevant for
|
|
189
|
+
* upserts; order-of-emission preserved in the returned array.
|
|
190
|
+
*/
|
|
191
|
+
static async batchExec(jobs, concurrency) {
|
|
192
|
+
const results = new Array(jobs.length);
|
|
193
|
+
let next = 0;
|
|
194
|
+
const workers = Array.from({ length: Math.min(concurrency, jobs.length) }, async () => {
|
|
195
|
+
while (true) {
|
|
196
|
+
const i = next++;
|
|
197
|
+
if (i >= jobs.length)
|
|
198
|
+
return;
|
|
199
|
+
results[i] = await jobs[i]();
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
await Promise.all(workers);
|
|
203
|
+
return results;
|
|
204
|
+
}
|
|
205
|
+
/** Serial executor — slower, used for diagnostic runs where per-record errors matter. */
|
|
206
|
+
static async serialExec(jobs) {
|
|
207
|
+
const out = [];
|
|
208
|
+
for (const j of jobs)
|
|
209
|
+
out.push(await j());
|
|
210
|
+
return out;
|
|
211
|
+
}
|
|
82
212
|
// ── Object upsert ────────────────────────────────────────────────
|
|
83
213
|
static async UpsertObject(md, integrationID, srcObj, existingObjects, contextUser) {
|
|
84
214
|
const existing = existingObjects.find(o => o.Name.toLowerCase() === srcObj.ExternalName.toLowerCase());
|
|
85
215
|
if (existing) {
|
|
86
|
-
//
|
|
216
|
+
// Declared row exists. Discovery may enrich (e.g. Description if empty,
|
|
217
|
+
// IncrementalWatermarkField if newly observed). Curated values win for
|
|
218
|
+
// everything human-authored; describe wins only for technical/empty slots.
|
|
87
219
|
let dirty = false;
|
|
220
|
+
const changes = [];
|
|
88
221
|
if (!existing.Description && srcObj.Description) {
|
|
89
222
|
existing.Description = srcObj.Description;
|
|
90
223
|
dirty = true;
|
|
224
|
+
changes.push('Description');
|
|
225
|
+
}
|
|
226
|
+
// §3 metadata refresh: capture the source's watermark field when the stored row has none.
|
|
227
|
+
// We deliberately do NOT overwrite an already-set value on a later refresh — a watermark
|
|
228
|
+
// field may have been deliberately chosen/curated, and the "curated values win" invariant
|
|
229
|
+
// (above) applies. A genuine source-side rename is rare and handled by re-curation, not by
|
|
230
|
+
// silently clobbering the stored cursor field on every refresh.
|
|
231
|
+
if (srcObj.IncrementalWatermarkField && !existing.IncrementalWatermarkField) {
|
|
232
|
+
existing.IncrementalWatermarkField = srcObj.IncrementalWatermarkField;
|
|
233
|
+
dirty = true;
|
|
234
|
+
changes.push('IncrementalWatermarkField');
|
|
91
235
|
}
|
|
92
236
|
if (dirty) {
|
|
93
237
|
try {
|
|
94
238
|
await existing.Save();
|
|
95
239
|
}
|
|
96
|
-
catch { /* ignore save failures on
|
|
97
|
-
|
|
240
|
+
catch { /* ignore save failures on declared records */ }
|
|
241
|
+
console.log(JSON.stringify({
|
|
242
|
+
ts: new Date().toISOString(),
|
|
243
|
+
event: 'persist.object.updated',
|
|
244
|
+
objectName: srcObj.ExternalName,
|
|
245
|
+
integrationObjectID: existing.ID,
|
|
246
|
+
effectiveSource: 'Declared',
|
|
247
|
+
fieldsTouched: changes,
|
|
248
|
+
}));
|
|
249
|
+
return { ObjectID: existing.ID, Created: false, Updated: true, EffectiveSource: 'Declared' };
|
|
98
250
|
}
|
|
99
|
-
|
|
251
|
+
console.log(JSON.stringify({
|
|
252
|
+
ts: new Date().toISOString(),
|
|
253
|
+
event: 'persist.object.unchanged',
|
|
254
|
+
objectName: srcObj.ExternalName,
|
|
255
|
+
integrationObjectID: existing.ID,
|
|
256
|
+
effectiveSource: 'Declared',
|
|
257
|
+
reason: 'no-overlay-deltas',
|
|
258
|
+
}));
|
|
259
|
+
return { ObjectID: existing.ID, Created: false, Updated: false, EffectiveSource: 'Declared' };
|
|
100
260
|
}
|
|
101
|
-
// New
|
|
261
|
+
// New row — mark as 'Discovered' by default. Vendor-signaled custom objects
|
|
262
|
+
// (e.g. HubSpot namespace, Salesforce __c suffix) should be promoted to
|
|
263
|
+
// 'Custom' by the concrete connector's DiscoverObjects override before
|
|
264
|
+
// PersistDiscoveredSchema is called; absent a signal, 'Discovered' is the
|
|
265
|
+
// safer label.
|
|
102
266
|
try {
|
|
103
267
|
const obj = await md.GetEntityObject('MJ: Integration Objects', contextUser);
|
|
104
268
|
obj.NewRecord();
|
|
@@ -107,62 +271,134 @@ export class IntegrationSchemaSync {
|
|
|
107
271
|
obj.DisplayName = srcObj.ExternalLabel || srcObj.ExternalName;
|
|
108
272
|
if (srcObj.Description)
|
|
109
273
|
obj.Description = srcObj.Description;
|
|
274
|
+
if (srcObj.IncrementalWatermarkField)
|
|
275
|
+
obj.IncrementalWatermarkField = srcObj.IncrementalWatermarkField;
|
|
110
276
|
obj.Status = 'Active';
|
|
111
|
-
obj.
|
|
112
|
-
obj.
|
|
277
|
+
obj.IsCustom = true;
|
|
278
|
+
obj.MetadataSource = 'Discovered';
|
|
279
|
+
obj.Sequence = 999;
|
|
113
280
|
const saved = await obj.Save();
|
|
114
281
|
if (saved) {
|
|
115
|
-
|
|
282
|
+
console.log(JSON.stringify({
|
|
283
|
+
ts: new Date().toISOString(),
|
|
284
|
+
event: 'persist.object.created',
|
|
285
|
+
objectName: srcObj.ExternalName,
|
|
286
|
+
integrationObjectID: obj.ID,
|
|
287
|
+
effectiveSource: 'Discovered',
|
|
288
|
+
metadataSource: 'Discovered',
|
|
289
|
+
}));
|
|
290
|
+
return { ObjectID: obj.ID, Created: true, Updated: false, EffectiveSource: 'Discovered' };
|
|
116
291
|
}
|
|
117
292
|
}
|
|
118
293
|
catch (err) {
|
|
119
294
|
console.warn(`[IntegrationSchemaSync] Failed to create IntegrationObject '${srcObj.ExternalName}': ${err instanceof Error ? err.message : err}`);
|
|
120
295
|
}
|
|
121
|
-
return { ObjectID: null, Created: false, Updated: false };
|
|
296
|
+
return { ObjectID: null, Created: false, Updated: false, EffectiveSource: 'Discovered' };
|
|
122
297
|
}
|
|
123
298
|
// ── Field upsert ─────────────────────────────────────────────────
|
|
124
|
-
static async UpsertField(md, objectID, srcField, existingFields, contextUser) {
|
|
299
|
+
static async UpsertField(md, objectID, srcField, existingFields, contextUser, siblingNameToID) {
|
|
300
|
+
const resolveFK = (target) => {
|
|
301
|
+
if (!target || !siblingNameToID)
|
|
302
|
+
return undefined;
|
|
303
|
+
return siblingNameToID.get(target.toLowerCase());
|
|
304
|
+
};
|
|
125
305
|
const existing = existingFields.find(f => f.Name.toLowerCase() === srcField.Name.toLowerCase());
|
|
306
|
+
const winners = {};
|
|
126
307
|
if (existing) {
|
|
127
|
-
//
|
|
128
|
-
//
|
|
129
|
-
//
|
|
130
|
-
//
|
|
308
|
+
// Declared row exists. Overlay rule:
|
|
309
|
+
// - Describe wins for DDL-affecting attributes (Type, AllowsNull, IsRequired, IsPrimaryKey, IsUniqueKey, IsReadOnly).
|
|
310
|
+
// Curated values for these can drift from what the live system enforces and cause sync errors.
|
|
311
|
+
// - Curated wins for semantic attributes (Description if non-empty, DisplayName, Sequence, Category).
|
|
312
|
+
//
|
|
313
|
+
// Returned attribute winners surface EXACTLY which source decided each
|
|
314
|
+
// attribute so the caller (progress emitter, UI) can show structural
|
|
315
|
+
// transparency on the merge.
|
|
131
316
|
let dirty = false;
|
|
132
317
|
const mappedType = MapSourceType(srcField.SourceType);
|
|
133
|
-
const describedAllowsNull = !srcField.IsRequired;
|
|
318
|
+
const describedAllowsNull = srcField.AllowsNull ?? !srcField.IsRequired;
|
|
134
319
|
if (existing.Type !== mappedType) {
|
|
135
320
|
existing.Type = mappedType;
|
|
136
321
|
dirty = true;
|
|
322
|
+
winners.Type = 'Discovered';
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
winners.Type = 'Declared';
|
|
137
326
|
}
|
|
138
327
|
if (existing.AllowsNull !== describedAllowsNull) {
|
|
139
328
|
existing.AllowsNull = describedAllowsNull;
|
|
140
329
|
dirty = true;
|
|
330
|
+
winners.AllowsNull = 'Discovered';
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
winners.AllowsNull = 'Declared';
|
|
334
|
+
}
|
|
335
|
+
// No-fabrication overlay rule for boolean attributes — see
|
|
336
|
+
// `decideBooleanOverlay`. Discovered values only override when
|
|
337
|
+
// the source actually has an opinion (defined boolean). Undefined
|
|
338
|
+
// means "no opinion" — the Declared value sticks. Pre-Phase 0
|
|
339
|
+
// v5.39.x this branch treated undefined as `false` and silently
|
|
340
|
+
// wiped every declared PK on HubSpot/SF the moment live discovery
|
|
341
|
+
// ran. See IntegrationSchemaSync.test.ts for the regression pin.
|
|
342
|
+
const reqOverlay = decideBooleanOverlay(existing.IsRequired, srcField.IsRequired);
|
|
343
|
+
if (reqOverlay.winner === 'Discovered' && reqOverlay.value !== undefined) {
|
|
344
|
+
existing.IsRequired = reqOverlay.value;
|
|
345
|
+
dirty = true;
|
|
346
|
+
}
|
|
347
|
+
winners.IsRequired = reqOverlay.winner;
|
|
348
|
+
const pkOverlay = decideBooleanOverlay(existing.IsPrimaryKey, srcField.IsPrimaryKey);
|
|
349
|
+
if (pkOverlay.winner === 'Discovered' && pkOverlay.value !== undefined) {
|
|
350
|
+
existing.IsPrimaryKey = pkOverlay.value;
|
|
351
|
+
dirty = true;
|
|
141
352
|
}
|
|
142
|
-
|
|
143
|
-
|
|
353
|
+
winners.IsPrimaryKey = pkOverlay.winner;
|
|
354
|
+
const uqOverlay = decideBooleanOverlay(existing.IsUniqueKey, srcField.IsUniqueKey);
|
|
355
|
+
if (uqOverlay.winner === 'Discovered' && uqOverlay.value !== undefined) {
|
|
356
|
+
existing.IsUniqueKey = uqOverlay.value;
|
|
144
357
|
dirty = true;
|
|
145
358
|
}
|
|
146
|
-
|
|
147
|
-
|
|
359
|
+
winners.IsUniqueKey = uqOverlay.winner;
|
|
360
|
+
const roOverlay = decideBooleanOverlay(existing.IsReadOnly, srcField.IsReadOnly);
|
|
361
|
+
if (roOverlay.winner === 'Discovered' && roOverlay.value !== undefined) {
|
|
362
|
+
existing.IsReadOnly = roOverlay.value;
|
|
148
363
|
dirty = true;
|
|
149
364
|
}
|
|
365
|
+
winners.IsReadOnly = roOverlay.winner;
|
|
150
366
|
// Description: only fill if missing — curated descriptions outrank
|
|
151
|
-
// generic describe output.
|
|
367
|
+
// generic describe output. So 'Declared' wins unless the row had
|
|
368
|
+
// no description at all and discovery has one.
|
|
152
369
|
if (!existing.Description && srcField.Description) {
|
|
153
370
|
existing.Description = srcField.Description;
|
|
154
371
|
dirty = true;
|
|
372
|
+
winners.Description = 'Discovered';
|
|
373
|
+
}
|
|
374
|
+
else if (existing.Description) {
|
|
375
|
+
winners.Description = 'Declared';
|
|
376
|
+
}
|
|
377
|
+
// FK metadata overlay: declared wins if already set. Otherwise resolve the
|
|
378
|
+
// discovered ForeignKeyTarget name against sibling objects in this integration
|
|
379
|
+
// and persist the UUID. Unresolvable targets leave the field FK-less rather than
|
|
380
|
+
// fabricating an ID — explorer agents/users get to set the link later.
|
|
381
|
+
if (srcField.IsForeignKey && srcField.ForeignKeyTarget && !existing.RelatedIntegrationObjectID) {
|
|
382
|
+
const resolvedID = resolveFK(srcField.ForeignKeyTarget);
|
|
383
|
+
if (resolvedID) {
|
|
384
|
+
existing.RelatedIntegrationObjectID = resolvedID;
|
|
385
|
+
dirty = true;
|
|
386
|
+
winners.ForeignKey = 'Discovered';
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
else if (existing.RelatedIntegrationObjectID) {
|
|
390
|
+
winners.ForeignKey = 'Declared';
|
|
155
391
|
}
|
|
156
392
|
if (dirty) {
|
|
157
393
|
const saved = await existing.Save();
|
|
158
394
|
if (!saved) {
|
|
159
395
|
console.warn(`[IntegrationSchemaSync] UpsertField save failed for '${srcField.Name}': ${existing.LatestResult?.CompleteMessage ?? 'unknown error'}`);
|
|
160
396
|
}
|
|
161
|
-
return { Created: false, Updated: true };
|
|
397
|
+
return { Created: false, Updated: true, EffectiveSource: 'Declared', AttributeWinners: winners };
|
|
162
398
|
}
|
|
163
|
-
return { Created: false, Updated: false };
|
|
399
|
+
return { Created: false, Updated: false, EffectiveSource: 'Declared', AttributeWinners: winners };
|
|
164
400
|
}
|
|
165
|
-
// New
|
|
401
|
+
// New field — discovered for the first time
|
|
166
402
|
try {
|
|
167
403
|
const field = await md.GetEntityObject('MJ: Integration Object Fields', contextUser);
|
|
168
404
|
field.NewRecord();
|
|
@@ -172,21 +408,32 @@ export class IntegrationSchemaSync {
|
|
|
172
408
|
if (srcField.Description)
|
|
173
409
|
field.Description = srcField.Description;
|
|
174
410
|
field.Type = MapSourceType(srcField.SourceType);
|
|
175
|
-
field.AllowsNull = !srcField.IsRequired;
|
|
411
|
+
field.AllowsNull = srcField.AllowsNull ?? !srcField.IsRequired;
|
|
176
412
|
field.IsPrimaryKey = srcField.IsPrimaryKey;
|
|
177
413
|
field.IsRequired = srcField.IsRequired;
|
|
178
|
-
field.IsReadOnly = false;
|
|
179
|
-
field.IsUniqueKey = false;
|
|
414
|
+
field.IsReadOnly = srcField.IsReadOnly ?? false;
|
|
415
|
+
field.IsUniqueKey = srcField.IsUniqueKey ?? false;
|
|
180
416
|
field.Status = 'Active';
|
|
181
|
-
field.
|
|
417
|
+
field.IsCustom = true;
|
|
418
|
+
field.MetadataSource = 'Discovered';
|
|
182
419
|
field.Sequence = 999;
|
|
420
|
+
if (srcField.IsForeignKey && srcField.ForeignKeyTarget) {
|
|
421
|
+
const resolvedID = resolveFK(srcField.ForeignKeyTarget);
|
|
422
|
+
if (resolvedID)
|
|
423
|
+
field.RelatedIntegrationObjectID = resolvedID;
|
|
424
|
+
}
|
|
183
425
|
const saved = await field.Save();
|
|
184
|
-
|
|
426
|
+
const initialWinners = {
|
|
427
|
+
Type: 'Initial', Length: 'Initial', AllowsNull: 'Initial',
|
|
428
|
+
IsRequired: 'Initial', IsPrimaryKey: 'Initial', IsUniqueKey: 'Initial',
|
|
429
|
+
IsReadOnly: 'Initial', Description: 'Initial', ForeignKey: 'Initial',
|
|
430
|
+
};
|
|
431
|
+
return { Created: saved, Updated: false, EffectiveSource: 'Discovered', AttributeWinners: initialWinners };
|
|
185
432
|
}
|
|
186
433
|
catch (err) {
|
|
187
434
|
console.warn(`[IntegrationSchemaSync] Failed to create IntegrationObjectField '${srcField.Name}': ${err instanceof Error ? err.message : err}`);
|
|
188
435
|
}
|
|
189
|
-
return { Created: false, Updated: false };
|
|
436
|
+
return { Created: false, Updated: false, EffectiveSource: 'Discovered', AttributeWinners: {} };
|
|
190
437
|
}
|
|
191
438
|
// ── Action generation for discovered custom objects ──────────────
|
|
192
439
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegrationSchemaSync.js","sourceRoot":"","sources":["../src/IntegrationSchemaSync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IntegrationSchemaSync.js","sourceRoot":"","sources":["../src/IntegrationSchemaSync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatchEngine.d.ts","sourceRoot":"","sources":["../src/MatchEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAqB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;AAEnE;;;GAGG;AACH,qBAAa,WAAW;IACpB,gFAAgF;IAChF,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,4FAA4F;IAC5F,SAAS,KAAK,aAAa,IAAI,iBAAiB,CAE/C;IAED;;;;;;;;;OASG;IACU,OAAO,CAChB,OAAO,EAAE,YAAY,EAAE,EACvB,SAAS,EAAE,4BAA4B,EACvC,SAAS,EAAE,2BAA2B,EAAE,EACxC,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;IAmB1B;;OAEG;YACW,mBAAmB;IAsBjC;;OAEG;YACW,oBAAoB;IAmBlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;;;;OAQG;YACW,kBAAkB;IAuBhC;;;;;;;;;OASG;YACW,eAAe;IAiD7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;YACW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"MatchEngine.d.ts","sourceRoot":"","sources":["../src/MatchEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAqB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,KAAK,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,YAAY,CAAC;AAEnE;;;GAGG;AACH,qBAAa,WAAW;IACpB,gFAAgF;IAChF,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,4FAA4F;IAC5F,SAAS,KAAK,aAAa,IAAI,iBAAiB,CAE/C;IAED;;;;;;;;;OASG;IACU,OAAO,CAChB,OAAO,EAAE,YAAY,EAAE,EACvB,SAAS,EAAE,4BAA4B,EACvC,SAAS,EAAE,2BAA2B,EAAE,EACxC,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;IAmB1B;;OAEG;YACW,mBAAmB;IAsBjC;;OAEG;YACW,oBAAoB;IAmBlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;;;;OAQG;YACW,kBAAkB;IAuBhC;;;;;;;;;OASG;YACW,eAAe;IAiD7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;YACW,kBAAkB;CA0BnC"}
|
package/dist/MatchEngine.js
CHANGED
|
@@ -161,6 +161,10 @@ export class MatchEngine {
|
|
|
161
161
|
Fields: ['EntityRecordID'],
|
|
162
162
|
MaxRows: 1,
|
|
163
163
|
ResultType: 'simple',
|
|
164
|
+
// CRITICAL: this lookup decides CREATE vs UPDATE for an incoming record. It MUST read
|
|
165
|
+
// committed state — a cached null (from a lookup made before this record's map existed)
|
|
166
|
+
// would make a re-sync of a changed record wrongly CREATE → duplicate-key on the dest.
|
|
167
|
+
BypassCache: true,
|
|
164
168
|
}, contextUser);
|
|
165
169
|
if (!result.Success || result.Results.length === 0)
|
|
166
170
|
return null;
|
package/dist/MatchEngine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatchEngine.js","sourceRoot":"","sources":["../src/MatchEngine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MatchEngine.js","sourceRoot":"","sources":["../src/MatchEngine.ts"],"names":[],"mappings":"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"}
|