@memberjunction/integration-engine 6.1.0-edge.3 → 6.1.0-edge.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/BaseIntegrationConnector.d.ts +26 -2
  2. package/dist/BaseIntegrationConnector.d.ts.map +1 -1
  3. package/dist/BaseIntegrationConnector.js +145 -23
  4. package/dist/BaseIntegrationConnector.js.map +1 -1
  5. package/dist/BaseRESTIntegrationConnector.d.ts +62 -8
  6. package/dist/BaseRESTIntegrationConnector.d.ts.map +1 -1
  7. package/dist/BaseRESTIntegrationConnector.js +200 -20
  8. package/dist/BaseRESTIntegrationConnector.js.map +1 -1
  9. package/dist/BatchIdentity.d.ts +47 -0
  10. package/dist/BatchIdentity.d.ts.map +1 -0
  11. package/dist/BatchIdentity.js +78 -0
  12. package/dist/BatchIdentity.js.map +1 -0
  13. package/dist/DeclaredSampleMerge.d.ts +74 -0
  14. package/dist/DeclaredSampleMerge.d.ts.map +1 -0
  15. package/dist/DeclaredSampleMerge.js +104 -0
  16. package/dist/DeclaredSampleMerge.js.map +1 -0
  17. package/dist/DiscoveryWatchdog.d.ts +103 -0
  18. package/dist/DiscoveryWatchdog.d.ts.map +1 -0
  19. package/dist/DiscoveryWatchdog.js +166 -0
  20. package/dist/DiscoveryWatchdog.js.map +1 -0
  21. package/dist/FieldMapValidation.d.ts +40 -0
  22. package/dist/FieldMapValidation.d.ts.map +1 -0
  23. package/dist/FieldMapValidation.js +58 -0
  24. package/dist/FieldMapValidation.js.map +1 -0
  25. package/dist/FieldMappingEngine.d.ts +1 -13
  26. package/dist/FieldMappingEngine.d.ts.map +1 -1
  27. package/dist/FieldMappingEngine.js +18 -3
  28. package/dist/FieldMappingEngine.js.map +1 -1
  29. package/dist/IntegrationConnectorCreationPipeline.d.ts +20 -0
  30. package/dist/IntegrationConnectorCreationPipeline.d.ts.map +1 -1
  31. package/dist/IntegrationConnectorCreationPipeline.js +203 -30
  32. package/dist/IntegrationConnectorCreationPipeline.js.map +1 -1
  33. package/dist/IntegrationEngine.d.ts +204 -1
  34. package/dist/IntegrationEngine.d.ts.map +1 -1
  35. package/dist/IntegrationEngine.js +1224 -262
  36. package/dist/IntegrationEngine.js.map +1 -1
  37. package/dist/IntegrationSchemaSync.d.ts +54 -2
  38. package/dist/IntegrationSchemaSync.d.ts.map +1 -1
  39. package/dist/IntegrationSchemaSync.js +122 -16
  40. package/dist/IntegrationSchemaSync.js.map +1 -1
  41. package/dist/KeylessRecordGuard.d.ts +56 -0
  42. package/dist/KeylessRecordGuard.d.ts.map +1 -0
  43. package/dist/KeylessRecordGuard.js +80 -0
  44. package/dist/KeylessRecordGuard.js.map +1 -0
  45. package/dist/ResumeConcurrency.d.ts +46 -0
  46. package/dist/ResumeConcurrency.d.ts.map +1 -0
  47. package/dist/ResumeConcurrency.js +74 -0
  48. package/dist/ResumeConcurrency.js.map +1 -0
  49. package/dist/RetryAfter.d.ts +50 -0
  50. package/dist/RetryAfter.d.ts.map +1 -0
  51. package/dist/RetryAfter.js +127 -0
  52. package/dist/RetryAfter.js.map +1 -0
  53. package/dist/RetryRunner.d.ts +26 -2
  54. package/dist/RetryRunner.d.ts.map +1 -1
  55. package/dist/RetryRunner.js +11 -3
  56. package/dist/RetryRunner.js.map +1 -1
  57. package/dist/StreamingDiscovery.d.ts +11 -0
  58. package/dist/StreamingDiscovery.d.ts.map +1 -1
  59. package/dist/StreamingDiscovery.js +13 -3
  60. package/dist/StreamingDiscovery.js.map +1 -1
  61. package/dist/SyncDirectives.d.ts +66 -0
  62. package/dist/SyncDirectives.d.ts.map +1 -0
  63. package/dist/SyncDirectives.js +123 -0
  64. package/dist/SyncDirectives.js.map +1 -0
  65. package/dist/SyncLogger.d.ts +2 -1
  66. package/dist/SyncLogger.d.ts.map +1 -1
  67. package/dist/SyncLogger.js +1 -0
  68. package/dist/SyncLogger.js.map +1 -1
  69. package/dist/WatermarkService.d.ts +15 -0
  70. package/dist/WatermarkService.d.ts.map +1 -1
  71. package/dist/WatermarkService.js +26 -0
  72. package/dist/WatermarkService.js.map +1 -1
  73. package/dist/WriteSerializer.d.ts +44 -0
  74. package/dist/WriteSerializer.d.ts.map +1 -0
  75. package/dist/WriteSerializer.js +70 -0
  76. package/dist/WriteSerializer.js.map +1 -0
  77. package/dist/index.d.ts +10 -1
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +8 -1
  80. package/dist/index.js.map +1 -1
  81. package/dist/types.d.ts +45 -1
  82. package/dist/types.d.ts.map +1 -1
  83. package/dist/types.js +66 -1
  84. package/dist/types.js.map +1 -1
  85. package/package.json +7 -7
@@ -3,6 +3,7 @@ import { UUIDsEqual } from '@memberjunction/global';
3
3
  import { IntegrationEngineBase } from '@memberjunction/integration-engine-base';
4
4
  import { computeContentHash } from './ContentHash.js';
5
5
  import { serializeKeyValue } from './KeySerialization.js';
6
+ import { PK_STAT_MIN_ROWS_FOR_SIGNIFICANCE } from './StreamingDiscovery.js';
6
7
  import { BaseIntegrationConnector, } from './BaseIntegrationConnector.js';
7
8
  /** Maximum number of pages to fetch before stopping (safety limit to prevent infinite loops) */
8
9
  // ─── BaseRESTIntegrationConnector ────────────────────────────────────
@@ -18,6 +19,13 @@ import { BaseIntegrationConnector, } from './BaseIntegrationConnector.js';
18
19
  * this class and implement only auth, HTTP transport, and response normalization.
19
20
  */
20
21
  export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
22
+ constructor() {
23
+ // ── Abstract methods concrete connectors must implement ──────────
24
+ super(...arguments);
25
+ /** Memo backing {@link GetCachedFields}, keyed on the engine field cache's array identity. */
26
+ this.__cachedFieldsByObject = new Map();
27
+ this.__cachedFieldsSource = null;
28
+ }
21
29
  /**
22
30
  * Optional per-record CUSTOMIZATION hook called between NormalizeResponse
23
31
  * (vendor envelope-stripping) and ToExternalRecord (composite-PK assembly).
@@ -425,13 +433,29 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
425
433
  DiscoverySampleMaxDepth() {
426
434
  return 4;
427
435
  }
436
+ /**
437
+ * DISCOVERY-ONLY: how many rows of a KEYLESS parent to read before classifying its key.
438
+ *
439
+ * Only reached when a parent declares no primary key — with a declared one nothing is buffered
440
+ * and the chain stays lazy. The default is the value-statistic classifier's own significance
441
+ * floor: below it the classifier abstains, above it more rows change no verdict, and every row
442
+ * here is a fetch that recurses up the whole dependency chain.
443
+ *
444
+ * Overridable the same way every other discovery bound is — per-connection `Configuration`
445
+ * (`discoveryParentKeySampleRows`), then `MJ_INTEGRATION_DISCOVERY_PARENT_KEY_SAMPLE_ROWS`,
446
+ * then this getter. Bounded above by the per-table sample target, so lowering that lowers this
447
+ * too and the two can never disagree in the direction that matters.
448
+ */
449
+ DiscoveryParentKeySampleRows() {
450
+ return PK_STAT_MIN_ROWS_FOR_SIGNIFICANCE;
451
+ }
428
452
  /**
429
453
  * REST override (§sample-discover): a SINGLE-template-var CHILD is sampled with the recursive,
430
454
  * record-constrained {@link StreamRecordsForDiscovery}. Flat objects fall back to the generic
431
455
  * FetchChanges loop; MULTI-var (composition) children are deferred — {@link StreamRecordsForDiscovery}
432
456
  * adjourns them (declared-only until first sync) rather than fire malformed URLs.
433
457
  */
434
- async *DiscoverySampleRecordStream(companyIntegration, objectName, contextUser, batchSize, maxRecords, deadlineMs) {
458
+ async *DiscoverySampleRecordStream(companyIntegration, objectName, contextUser, batchSize, maxRecords, deadlineMs, watchKey) {
435
459
  const obj = this.GetCachedObject(companyIntegration.IntegrationID, objectName);
436
460
  if (this.DetectTemplateVars(obj.APIPath).length === 0) {
437
461
  // FORWARD THE DEADLINE. Dropping it here silently un-bounds every REST connector that
@@ -444,7 +468,7 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
444
468
  // the base builds a FetchContext carrying no discovery marker at all, the connector
445
469
  // cannot tell a sample from a sync, and one FetchChanges call walks every parent.
446
470
  // Live 2026-08-12: 28 minutes inside a single call, returning rows=0.
447
- yield* super.DiscoverySampleRecordStream(companyIntegration, objectName, contextUser, batchSize, maxRecords, deadlineMs);
471
+ yield* super.DiscoverySampleRecordStream(companyIntegration, objectName, contextUser, batchSize, maxRecords, deadlineMs, watchKey);
448
472
  return;
449
473
  }
450
474
  let yielded = 0;
@@ -457,13 +481,19 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
457
481
  /**
458
482
  * DISCOVERY-ONLY recursive lazy sampler. Yields records of `objectID` for field/PK analysis by
459
483
  * STREAMING — never bulk. A top-level object paginates its endpoint directly. A template-var CHILD
460
- * streams its PARENT (recursively, via this same routine), classifies the parent's key from the
461
- * parent's own ~`target` rows (declared PK → value-statistic classifier → adjourn — never a guessed
462
- * name), and fetches children under parent rows until the child has `target`. Parent rows beyond what
463
- * the child needs are analysis-only — they keep the parent's key classified on a CONSISTENT ~`target`
464
- * sample; if the child needs MORE parents than `target`, it keeps streaming, so the parent count may
465
- * be over OR under `target`. Record-constrained (unlike sync, which walks ALL rows via the DAG): a
466
- * million-row ancestor is streamed and cut off early. Pure HTTP no SQL, dialect-agnostic.
484
+ * streams its PARENT (recursively, via this same routine), classifies the parent's key from a
485
+ * significance-sized slice of the parent's rows (declared PK → value-statistic classifier → adjourn
486
+ * — never a guessed name), and fetches children under parent rows until the child has `target`.
487
+ *
488
+ * Parents are pulled ON DEMAND, so the leaf's `target` is the only bound and it propagates up the
489
+ * whole chain. The single exception is a parent that declares no key: it cannot be descended into
490
+ * until its key is known, so a bounded slice of its rows is read first. That slice is sized by
491
+ * {@link DiscoveryParentKeySampleRows} — per-connection Configuration, then env, then the
492
+ * classifier's own significance floor — and is capped by the leaf's target so it can never
493
+ * exceed the per-table sample size.
494
+ *
495
+ * Record-constrained (unlike sync, which walks ALL rows via the DAG): a million-row ancestor is
496
+ * streamed and cut off early. Pure HTTP — no SQL, dialect-agnostic.
467
497
  */
468
498
  async *StreamRecordsForDiscovery(companyIntegration, objectID, contextUser, target, depth) {
469
499
  const maxDepth = this.ReadDiscoveryConfig(companyIntegration)
@@ -491,13 +521,23 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
491
521
  }
492
522
  return;
493
523
  }
494
- // MULTI-VAR (composition) children are DEFERRED, and deferring means NOT ATTEMPTING: resolving only
495
- // templateVars[0] would leave the remaining `{Vars}` as literal, unsubstituted text in the fetch URL
496
- // (e.g. `/orgs/123/profiles/{ProfileId}/events`) malformed requests fired at the vendor API. Adjourn
497
- // instead the multi-var child falls back to declared-only fields, caught at first real sync (which
498
- // handles multi-var properly via FetchWithTemplateVars). (rkihm-BC #3049.)
499
- if (templateVars.length > 1)
524
+ // MULTI-VAR (composition) child: sampleable exactly when ONE parent's records can supply a
525
+ // value for EVERY var. Real multi-var paths are overwhelmingly NESTED /campaigns/{cid}/
526
+ // funds/{fid}/gifts, where funds is itself a child of campaigns — and a streamed `funds`
527
+ // record already carries BOTH ids: its own natively, its ancestor's tagged on by this very
528
+ // routine one level down. Streaming that innermost parent therefore yields complete,
529
+ // data-proven var tuples; no combination is ever fabricated, so no malformed URL is ever
530
+ // fired (rkihm-BC #3049's constraint holds — we never substitute a partial set).
531
+ //
532
+ // GENUINELY independent parents (/a/{aId}/b/{bId}/d where neither A nor B knows the other)
533
+ // stay adjourned: valid (aId,bId) pairs are unknowable without data that carries both, and
534
+ // guessing pairs IS the malformed-request bug. Such a child falls back to declared-only
535
+ // fields, caught at first real sync via FetchWithTemplateVars — and everything BENEATH it
536
+ // was previously dead too, which is the cascade this branch exists to end.
537
+ if (templateVars.length > 1) {
538
+ yield* this.StreamMultiVarChildForDiscovery(companyIntegration, obj, fields, templateVars, contextUser, target, depth, auth, baseURL, pkFieldNames);
500
539
  return;
540
+ }
501
541
  // CHILD (single template var): stream the PARENT recursively via this SAME routine — so a
502
542
  // grandparent is sampled identically (uniform to all depths). Classify the parent's key from its
503
543
  // own rows (declared PK → value-statistic classifier → adjourn — never a guessed name), then fetch
@@ -517,6 +557,18 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
517
557
  return;
518
558
  let parentKey = this.GetCachedFields(parentObj.ID).find(f => f.IsPrimaryKey)?.Name ?? null;
519
559
  const buffer = []; // parent rows awaiting descent until the key is classified
560
+ // How many parents to hold back before classifying their key.
561
+ //
562
+ // This is the ONE eager step in an otherwise lazy chain, so its size is the whole cost. With
563
+ // a declared key nothing is buffered and parents are pulled strictly on demand; without one
564
+ // we must read some parents before we can descend at all.
565
+ //
566
+ // Bound it by what the CLASSIFIER needs, not by what the leaf wants. The value-statistic
567
+ // classifier needs MIN_ROWS_FOR_SIGNIFICANCE rows to call a key significant; buffering the
568
+ // leaf's full target instead pulled up to 10x that — and because a parent may itself be a
569
+ // child, those pulls recurse up the whole chain before one child record is yielded.
570
+ const classifySampleSize = Math.min(target, this.ReadDiscoveryConfig(companyIntegration)
571
+ .int('discoveryParentKeySampleRows', 'MJ_INTEGRATION_DISCOVERY_PARENT_KEY_SAMPLE_ROWS', this.DiscoveryParentKeySampleRows()));
520
572
  const fetchChildren = async function* (key, parentRec) {
521
573
  const idVal = parentRec.Fields?.[key];
522
574
  if (idVal == null || String(idVal) === '')
@@ -536,11 +588,12 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
536
588
  yield* fetchChildren(parentKey, parentRec);
537
589
  continue;
538
590
  }
539
- // Key not declared: buffer up to `target` parent rows, classify the key from them, then flush.
540
- // This buffer pulls `target` parents up the chain (recursively resolving THEIR parents) the
541
- // "resolve N at the highest dependency" step bounded by `target`, never the parent's total.
591
+ // Key not declared: read a significance-sized slice of parents, classify the key from it,
592
+ // then flush their children and go lazy again. Every row here is pulled up the chain
593
+ // (recursively resolving THEIR parents), so this slice's size is multiplied by the depth
594
+ // above it — which is why it is sized to the classifier, not to the leaf's target.
542
595
  buffer.push(parentRec);
543
- if (buffer.length >= target) {
596
+ if (buffer.length >= classifySampleSize) {
544
597
  parentKey = await this.ResolveParentKeyField(parentObj, buffer);
545
598
  if (!parentKey)
546
599
  return; // parent genuinely keyless → adjourn
@@ -557,6 +610,103 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
557
610
  yield* fetchChildren(parentKey, bp);
558
611
  }
559
612
  }
613
+ /**
614
+ * DISCOVERY-ONLY sampler for a MULTI-VAR child (2+ template vars in the APIPath).
615
+ *
616
+ * The strategy is "one stream proves the whole tuple": resolve every var to its parent object,
617
+ * pick the candidate parent whose records are most likely to carry values for ALL the vars (the
618
+ * innermost one — ranked by how many of the OTHER vars appear in its own APIPath, i.e. how deep
619
+ * it sits in the same nesting), stream it via {@link StreamRecordsForDiscovery} (so ITS ancestors
620
+ * resolve recursively, tags included), and per record substitute every var from the record's own
621
+ * fields. A record that cannot fill every var is SKIPPED — a partial substitution is a malformed
622
+ * URL, and fabricating the missing half is the exact bug the old blanket deferral existed to
623
+ * prevent. A candidate that proves barren (a probe slice streamed, zero covering records) is
624
+ * abandoned for the next; when no candidate covers, the child adjourns to declared-only fields
625
+ * exactly as the blanket deferral did — but its DESCENDANTS now only die when the tuple is
626
+ * genuinely unknowable, not whenever an ancestor merely had two parents.
627
+ *
628
+ * Bounds: the leaf's `target` is the only fill bound (lazy, same as single-var); the barren-probe
629
+ * slice is {@link DiscoveryParentKeySampleRows} per candidate, the same knob that bounds keyless-
630
+ * parent classification, because it is the same question — "how many rows before we admit this
631
+ * stream cannot answer".
632
+ */
633
+ async *StreamMultiVarChildForDiscovery(companyIntegration, obj, fields, templateVars, contextUser, target, depth, auth, baseURL, pkFieldNames) {
634
+ // Resolve every var; any unresolvable var means the tuple can never be completed from data.
635
+ const resolved = [];
636
+ for (const tVar of templateVars) {
637
+ const info = this.ResolveParentForVar(obj, fields, tVar, companyIntegration.IntegrationID);
638
+ if (!info) {
639
+ console.warn(`[DiscoverySampleStream] "${obj.Name}" multi-var: no parent resolves {${tVar}} — adjourning (declared-only fields)`);
640
+ return;
641
+ }
642
+ resolved.push({ templateVar: tVar, parentObjectID: info.parentObjectID, fkFieldName: info.fkFieldName });
643
+ }
644
+ // Rank candidates innermost-first: the parent whose own path mentions more of the OTHER vars
645
+ // sits deeper in the same nesting, so its records carry more of the tuple. Ties keep var order.
646
+ const otherVarsInPath = (parentObjectID, ownVar) => {
647
+ const p = IntegrationEngineBase.Instance.GetIntegrationObjectByID(parentObjectID);
648
+ if (!p)
649
+ return -1;
650
+ const vars = new Set(this.DetectTemplateVars(p.APIPath).map(v => v.toLowerCase()));
651
+ return templateVars.filter(v => v.toLowerCase() !== ownVar.toLowerCase() && vars.has(v.toLowerCase())).length;
652
+ };
653
+ const candidates = [...resolved].sort((a, b) => otherVarsInPath(b.parentObjectID, b.templateVar) - otherVarsInPath(a.parentObjectID, a.templateVar));
654
+ const probeSlice = Math.min(target, this.ReadDiscoveryConfig(companyIntegration)
655
+ .int('discoveryParentKeySampleRows', 'MJ_INTEGRATION_DISCOVERY_PARENT_KEY_SAMPLE_ROWS', this.DiscoveryParentKeySampleRows()));
656
+ for (const candidate of candidates) {
657
+ const parentObj = IntegrationEngineBase.Instance.GetIntegrationObjectByID(candidate.parentObjectID);
658
+ if (!parentObj)
659
+ continue;
660
+ // The candidate's OWN var may be carried under the parent's key name rather than the
661
+ // var's name (a `funds` record may say `id`, not `fund_id`). Map that one var through the
662
+ // parent's declared key when the record lacks the var-named field.
663
+ const parentDeclaredKey = this.GetCachedFields(parentObj.ID).find(f => f.IsPrimaryKey)?.Name ?? null;
664
+ let scanned = 0, covered = 0, yielded = 0;
665
+ for await (const parentRec of this.StreamRecordsForDiscovery(companyIntegration, candidate.parentObjectID, contextUser, target, depth + 1)) {
666
+ scanned++;
667
+ const recFields = parentRec.Fields ?? {};
668
+ const lower = new Map(Object.entries(recFields).map(([k, v]) => [k.toLowerCase(), v]));
669
+ const values = new Map();
670
+ for (const v of resolved) {
671
+ let raw = lower.get(v.templateVar.toLowerCase());
672
+ if ((raw == null || String(raw) === '') && v === candidate && parentDeclaredKey) {
673
+ raw = lower.get(parentDeclaredKey.toLowerCase());
674
+ }
675
+ if (raw == null || String(raw) === '') {
676
+ values.clear();
677
+ break;
678
+ }
679
+ values.set(v.templateVar, String(raw));
680
+ }
681
+ if (values.size !== resolved.length) {
682
+ // Cannot fill the tuple from THIS record. Never substitute a partial set.
683
+ if (covered === 0 && scanned >= probeSlice)
684
+ break; // barren candidate — try the next
685
+ continue;
686
+ }
687
+ covered++;
688
+ let path = obj.APIPath;
689
+ for (const [tVar, val] of values)
690
+ path = this.SubstituteTemplateVars(path, tVar, val);
691
+ const fullURL = this.BuildFullURL(baseURL, path);
692
+ const ctx = { CompanyIntegration: companyIntegration, ObjectName: obj.Name, WatermarkValue: null, BatchSize: target, ContextUser: contextUser };
693
+ const result = await this.FetchWithPagination(auth, fullURL, obj, ctx);
694
+ for (const r of result.Records) {
695
+ // Tag EVERY resolved fk onto the child row — same contract as the single-var path,
696
+ // extended to the whole tuple, so the child's FK columns are discoverable.
697
+ for (const v of resolved)
698
+ r[v.fkFieldName] = values.get(v.templateVar);
699
+ const transformed = this.applyTransformPreservingKeys(r, obj, fields);
700
+ yield this.ToExternalRecord(transformed, obj.Name, pkFieldNames);
701
+ if (++yielded >= target)
702
+ return;
703
+ }
704
+ }
705
+ if (covered > 0)
706
+ return; // this candidate answered; exhausting it means the data ran out
707
+ }
708
+ console.warn(`[DiscoverySampleStream] "${obj.Name}" multi-var: no parent's records carry the full {${templateVars.join('}, {')}} tuple — adjourning (declared-only fields)`);
709
+ }
560
710
  /**
561
711
  * Resolves the parent's addressing-key FIELD NAME for discovery-time sampling, without presupposing
562
712
  * it: (1) a declared PK in metadata; else (2) the value-statistic classifier over the fetched rows.
@@ -1034,11 +1184,41 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
1034
1184
  /**
1035
1185
  * Gets IntegrationObjectField records from the engine's cache for a given object ID.
1036
1186
  * Returns only active fields sorted by Sequence.
1187
+ *
1188
+ * MEMOISED. This sits on per-record paths — `RawToExternalRecord` / `TransformRecord` resolve
1189
+ * an object's fields for every record transformed, and several callers then run a `.find()` for
1190
+ * the primary key over the freshly-sorted result — so the filter and sort were being repeated
1191
+ * per record over a list that only changes when the engine reloads its metadata.
1192
+ *
1193
+ * Invalidation is the ARRAY IDENTITY of the engine's field cache: it is replaced wholesale on
1194
+ * load/refresh, so a new array yields a new memo automatically, including after a schema
1195
+ * refresh. A fresh copy is returned per call, preserving the previous contract for callers that
1196
+ * sort or splice the result.
1037
1197
  */
1038
1198
  GetCachedFields(objectID) {
1039
- return IntegrationEngineBase.Instance.GetIntegrationObjectFields(objectID)
1199
+ const allFields = IntegrationEngineBase.Instance.IntegrationObjectFields;
1200
+ if (this.__cachedFieldsSource !== allFields) {
1201
+ this.__cachedFieldsByObject = new Map();
1202
+ this.__cachedFieldsSource = allFields;
1203
+ }
1204
+ const key = objectID?.trim().toLowerCase() ?? '';
1205
+ const hit = this.__cachedFieldsByObject.get(key);
1206
+ if (hit) {
1207
+ return hit.slice();
1208
+ }
1209
+ const computed = IntegrationEngineBase.Instance.GetIntegrationObjectFields(objectID)
1040
1210
  .filter(f => f.Status === 'Active')
1041
1211
  .sort((a, b) => a.Sequence - b.Sequence);
1212
+ // NEVER memoise an empty result. An empty list is indistinguishable from "the engine's
1213
+ // metadata has not loaded yet", and because invalidation keys on array identity, a single
1214
+ // call landing before the cache is seeded would pin `[]` for the life of that array.
1215
+ // Callers derive primary-key field names from this list, so an empty answer builds records
1216
+ // with NO key — rows that can never be matched again, and are therefore re-inserted on
1217
+ // every subsequent sync.
1218
+ if (computed.length > 0) {
1219
+ this.__cachedFieldsByObject.set(key, computed);
1220
+ }
1221
+ return computed.slice();
1042
1222
  }
1043
1223
  // ── Conversion helpers ───────────────────────────────────────────
1044
1224
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRESTIntegrationConnector.js","sourceRoot":"","sources":["../src/BaseRESTIntegrationConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseRESTIntegrationConnector.js","sourceRoot":"","sources":["../src/BaseRESTIntegrationConnector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Within-batch identity: no two records in one batch may share an ExternalID.
3
+ *
4
+ * ExternalID *is* the identity the record map keys on, so two records carrying the same one are two
5
+ * observations of a single source record, never two rows. The write path cannot discover this on its
6
+ * own: it decides insert-vs-update by asking whether the identity already exists in the DATABASE,
7
+ * and for a first-time record neither copy does — so both insert, and the pair re-inserts on every
8
+ * subsequent sync. Nothing downstream can repair it either, because both rows then map to the same
9
+ * ExternalID and no later run can tell which to keep.
10
+ *
11
+ * Observed in the field: an object whose duplicate groups were byte-identical on every captured
12
+ * column AND written inside the same second — meaning the source itself listed the same element
13
+ * twice within one batch, rather than a re-read delivering it again. The whole-batch fingerprint
14
+ * guard nearby catches a batch REPEATED in full (the infinite-loop case); it cannot see duplicates
15
+ * inside a single batch.
16
+ *
17
+ * Last-wins matches upsert semantics: when two entries share an identity but differ, the later
18
+ * entry is the more recent observation of that record's state, which is exactly what a single
19
+ * upsert would have left behind had they arrived in separate batches.
20
+ */
21
+ /** Minimal shape needed to de-duplicate: anything carrying an ExternalID. */
22
+ export interface HasExternalID {
23
+ ExternalID: string;
24
+ }
25
+ /** Outcome of a within-batch identity pass. */
26
+ export interface BatchIdentityResult<T> {
27
+ /** The batch with duplicate identities collapsed, original order preserved. */
28
+ Records: T[];
29
+ /** How many records were dropped as repeats of an identity already in this batch. */
30
+ Collapsed: number;
31
+ /**
32
+ * Identities that appeared more than once, capped for reporting. Sample only — a batch with
33
+ * thousands of repeats must not put thousands of ids into a run event.
34
+ */
35
+ SampleIDs: string[];
36
+ }
37
+ /**
38
+ * Collapses records sharing an ExternalID within one batch, keeping the LAST occurrence in its
39
+ * original position. Returns the input array unchanged (same reference) when every identity is
40
+ * already unique, so the ordinary path allocates nothing.
41
+ *
42
+ * A record with an empty or missing ExternalID is passed through untouched: identity-less records
43
+ * are a separate defect with a separate guard, and silently collapsing them here would merge
44
+ * unrelated rows.
45
+ */
46
+ export declare function CollapseDuplicateIdentities<T extends HasExternalID>(records: ReadonlyArray<T>): BatchIdentityResult<T>;
47
+ //# sourceMappingURL=BatchIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BatchIdentity.d.ts","sourceRoot":"","sources":["../src/BatchIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAClC,+EAA+E;IAC/E,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAKD;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,aAAa,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CA2CtH"}