@memberjunction/integration-engine 6.1.0-edge.4 → 6.1.0-edge.6
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/BaseIntegrationConnector.d.ts +7 -0
- package/dist/BaseIntegrationConnector.d.ts.map +1 -1
- package/dist/BaseIntegrationConnector.js +33 -2
- package/dist/BaseIntegrationConnector.js.map +1 -1
- package/dist/BaseRESTIntegrationConnector.d.ts +48 -7
- package/dist/BaseRESTIntegrationConnector.d.ts.map +1 -1
- package/dist/BaseRESTIntegrationConnector.js +160 -17
- package/dist/BaseRESTIntegrationConnector.js.map +1 -1
- package/dist/DeclaredSampleMerge.d.ts +74 -0
- package/dist/DeclaredSampleMerge.d.ts.map +1 -0
- package/dist/DeclaredSampleMerge.js +104 -0
- package/dist/DeclaredSampleMerge.js.map +1 -0
- package/dist/IntegrationConnectorCreationPipeline.d.ts +20 -0
- package/dist/IntegrationConnectorCreationPipeline.d.ts.map +1 -1
- package/dist/IntegrationConnectorCreationPipeline.js +190 -30
- package/dist/IntegrationConnectorCreationPipeline.js.map +1 -1
- package/dist/IntegrationEngine.d.ts +173 -1
- package/dist/IntegrationEngine.d.ts.map +1 -1
- package/dist/IntegrationEngine.js +834 -152
- package/dist/IntegrationEngine.js.map +1 -1
- package/dist/IntegrationSchemaSync.d.ts +46 -2
- package/dist/IntegrationSchemaSync.d.ts.map +1 -1
- package/dist/IntegrationSchemaSync.js +83 -14
- package/dist/IntegrationSchemaSync.js.map +1 -1
- package/dist/MatchEngine.js +1 -1
- package/dist/MatchEngine.js.map +1 -1
- package/dist/StreamingDiscovery.d.ts +11 -0
- package/dist/StreamingDiscovery.d.ts.map +1 -1
- package/dist/StreamingDiscovery.js +13 -3
- package/dist/StreamingDiscovery.js.map +1 -1
- package/dist/SyncLogger.d.ts +2 -1
- package/dist/SyncLogger.d.ts.map +1 -1
- package/dist/SyncLogger.js +1 -0
- package/dist/SyncLogger.js.map +1 -1
- package/dist/WatermarkService.d.ts +7 -0
- package/dist/WatermarkService.d.ts.map +1 -1
- package/dist/WatermarkService.js +8 -0
- package/dist/WatermarkService.js.map +1 -1
- package/dist/WriteSerializer.d.ts +44 -0
- package/dist/WriteSerializer.d.ts.map +1 -0
- package/dist/WriteSerializer.js +70 -0
- package/dist/WriteSerializer.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +25 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +7 -7
|
@@ -518,6 +518,13 @@ export declare abstract class BaseIntegrationConnector {
|
|
|
518
518
|
TimeBudgetMs?: number;
|
|
519
519
|
BatchSize?: number;
|
|
520
520
|
MaxRecords?: number;
|
|
521
|
+
/**
|
|
522
|
+
* Called when streaming fails and this method degrades to single-sample `DiscoverFields`.
|
|
523
|
+
* The degradation is silent otherwise, and it is not a small one: the fallback returns
|
|
524
|
+
* the catalog's own description, which carries no observed widths — so the caller
|
|
525
|
+
* believes it sampled, and the object keeps whatever width the catalog guessed.
|
|
526
|
+
*/
|
|
527
|
+
OnFallback?: (err: unknown) => void;
|
|
521
528
|
}): Promise<ExternalFieldSchema[]>;
|
|
522
529
|
/**
|
|
523
530
|
* The record source `DiscoverFieldsViaFetch` streams for field/PK inference. Default: loop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseIntegrationConnector.d.ts","sourceRoot":"","sources":["../src/BaseIntegrationConnector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACR,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACR,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAU,EACb,MAAM,YAAY,CAAC;AAGpB,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseIntegrationConnector.d.ts","sourceRoot":"","sources":["../src/BaseIntegrationConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClassifyError } from './types.js';
|
|
2
2
|
import { ExtractRetryAfterFromError } from './RetryAfter.js';
|
|
3
|
-
import { discoverFromStream, pickKeyFromStats, pickPrimaryKeyFromStats, } from './StreamingDiscovery.js';
|
|
3
|
+
import { discoverFromStream, pickKeyFromStats, pickPrimaryKeyFromStats, PK_STAT_MIN_ROWS_FOR_SIGNIFICANCE, } from './StreamingDiscovery.js';
|
|
4
4
|
import { AdaptiveConcurrencyController, RunAdaptive } from './AdaptiveConcurrency.js';
|
|
5
5
|
import { flattenRecord, hasNestedObject } from './RecordFlatten.js';
|
|
6
6
|
import { DiscoveryWatchdog } from './DiscoveryWatchdog.js';
|
|
@@ -66,6 +66,16 @@ export async function WithTimeout(promise, timeoutMs, operationName) {
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Records sampled per table during discovery, by default.
|
|
71
|
+
*
|
|
72
|
+
* Deliberately equal to the classifier's significance floor
|
|
73
|
+
* ({@link PK_STAT_MIN_ROWS_FOR_SIGNIFICANCE}): sampling exists to answer three questions, and 50 rows
|
|
74
|
+
* fully answers two of them. Raising it only sharpens the third (largest observed string), which has
|
|
75
|
+
* its own safety nets, so the extra rows are paid on every object of every connection to improve one
|
|
76
|
+
* answer in three. Per-connection `discoveryMaxRecords` raises it where that trade is worth making.
|
|
77
|
+
*/
|
|
78
|
+
const DEFAULT_DISCOVERY_SAMPLE_TARGET = PK_STAT_MIN_ROWS_FOR_SIGNIFICANCE;
|
|
69
79
|
export class BaseIntegrationConnector {
|
|
70
80
|
// ─── Capability Getters ──────────────────────────────────────────
|
|
71
81
|
// Override in subclasses to declare which operations the connector supports.
|
|
@@ -432,7 +442,20 @@ export class BaseIntegrationConnector {
|
|
|
432
442
|
// discovery budget an operator actually wants to lower for a slow source the ONLY one that needed
|
|
433
443
|
// an app setting and a process restart. Same precedence as the others now:
|
|
434
444
|
// explicit opts > per-connection Configuration > operator env > default.
|
|
435
|
-
|
|
445
|
+
// The DEFAULT is the per-table sample target: ~50 records, the same figure the value-statistic
|
|
446
|
+
// classifier treats as significant (PK_STAT_MIN_ROWS_FOR_SIGNIFICANCE). It was 500, which is
|
|
447
|
+
// 10x what any of the three questions sampling answers actually needs:
|
|
448
|
+
// - a significant primary key — 50 rows IS the significance floor; more changes no verdict,
|
|
449
|
+
// - custom-discoverable columns — a column present in the data shows up almost immediately,
|
|
450
|
+
// - the largest string — the only one that genuinely benefits from more rows.
|
|
451
|
+
// That last one is why this is a KNOB and not a constant. Width has real safety nets (the
|
|
452
|
+
// bucket pads to 2x the observed max, the overlay only ever GROWS a width, and a value that
|
|
453
|
+
// overflows at sync time is recorded as a widening candidate rather than lost), so paying 10x
|
|
454
|
+
// the discovery time on every object by default to sharpen one of three answers is the wrong
|
|
455
|
+
// trade. A connection that needs deeper width fidelity raises `discoveryMaxRecords`.
|
|
456
|
+
//
|
|
457
|
+
// Precedence unchanged: explicit opts > per-connection Configuration > operator env > default.
|
|
458
|
+
const maxRecords = opts.MaxRecords ?? cfgInt(cfg.discoveryMaxRecords) ?? envInt('MJ_INTEGRATION_DISCOVERY_MAX_RECORDS', DEFAULT_DISCOVERY_SAMPLE_TARGET);
|
|
436
459
|
// Announce intent AND cost. Until now only the FAILURE branch below said anything, so a
|
|
437
460
|
// healthy-but-slow object, an object grinding out its whole time budget, and one that will
|
|
438
461
|
// never return were indistinguishable from outside the process. The watchdog names whatever
|
|
@@ -461,6 +484,14 @@ export class BaseIntegrationConnector {
|
|
|
461
484
|
catch (err) {
|
|
462
485
|
const msg = err instanceof Error ? err.message : String(err);
|
|
463
486
|
console.warn(`[DiscoverFieldsViaFetch] <- FAILED "${objectName}" after ${Date.now() - startedMs}ms (${msg}); falling back to single-sample DiscoverFields.`);
|
|
487
|
+
// Tell the caller BEFORE returning: from the outside a fallback is indistinguishable
|
|
488
|
+
// from a successful sample, so a discovery that learned nothing about real widths
|
|
489
|
+
// reports as a discovery that did. A throwing notifier must not turn a degraded
|
|
490
|
+
// discovery into a failed one.
|
|
491
|
+
try {
|
|
492
|
+
opts.OnFallback?.(err);
|
|
493
|
+
}
|
|
494
|
+
catch { /* a notifier is never allowed to break discovery */ }
|
|
464
495
|
return this.DiscoverFields(companyIntegration, objectName, contextUser);
|
|
465
496
|
}
|
|
466
497
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseIntegrationConnector.js","sourceRoot":"","sources":["../src/BaseIntegrationConnector.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACH,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GAG1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,6BAA6B,EAAE,WAAW,EAA4B,MAAM,0BAA0B,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAsN3D,sDAAsD;AACtD,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IACzD,gBAAgB,EAAE,IAAI;IACtB,iBAAiB,EAAE,KAAK;IACxB,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE,KAAK;CACxB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAM5C,YAAY,aAAqB,EAAE,SAAiB;QAChD,KAAK,CAAC,cAAc,aAAa,qBAAqB,SAAS,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,OAAmB,EACnB,SAAiB,EACjB,aAAqB;IAErB,IAAI,aAAwD,CAAC;IAE7D,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC3D,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,MAAM,CAAC,IAAI,qBAAqB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;QAChE,CAAC,EAAE,SAAS,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IAClB,CAAC;YAAS,CAAC;QACP,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,YAAY,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;AACL,CAAC;AA0DD,MAAM,OAAgB,wBAAwB;IAE1C,oEAAoE;IACpE,6EAA6E;IAC7E,6DAA6D;IAE7D,6EAA6E;IAC7E,IAAW,WAAW,KAAc,OAAO,IAAI,CAAC,CAAC,CAAC;IAElD,mFAAmF;IACnF,IAAW,cAAc,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAEtD,wFAAwF;IACxF,IAAW,cAAc,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAEtD;;;OAGG;IACH,IAAW,cAAc,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAEtD,iFAAiF;IACjF,IAAW,cAAc,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAEtD,+EAA+E;IAC/E,IAAW,cAAc,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAEtD,oEAAoE;IACpE,IAAW,eAAe,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAEvD,oEAAoE;IACpE,sEAAsE;IACtE,qEAAqE;IAErE;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,IAAyB;QAC/C,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,IAAyB;QAC/C,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,IAAyB;QACzC,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,IAAyB;QAC/C,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS,CAAC,IAAsB;QACzC,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,IAAmB;QAC1C,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,IAAiB;QACtC,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;OAMG;IACO,kBAAkB,CAAC,UAAqC,EAAE,UAAkB,EAAE,UAAkB;QACtG,MAAM,EAAE,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/D,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,UAAU;gBACtB,YAAY,EAAE,cAAc,UAAU,mBAAmB,UAAU,gJAAgJ;aACtN,CAAC;QACN,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACrE,CAAC;IAED,qFAAqF;IACrF,2FAA2F;IAC3F,oFAAoF;IACpF,6FAA6F;IAC7F,kGAAkG;IAElG;;;;OAIG;IACH,IAAW,eAAe,KAA6B,OAAO,IAAI,CAAC,CAAC,CAAC;IAErE;;;;;;;;;;;;OAYG;IACH,IAAW,kBAAkB,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAE1D;;;;;;;;;;;;;;;;;;;OAmBG;IACI,mBAAmB,CAAC,KAAc;QACrC,OAAO,0BAA0B,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,IAAW,kBAAkB,KAAoB,OAAO,IAAI,CAAC,CAAC,CAAC;IAE/D;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAW,qBAAqB,KAAoB,OAAO,IAAI,CAAC,CAAC,CAAC;IAElE;;;;OAIG;IACI,iBAAiB,CAAC,WAAmB,IAAmB,OAAO,IAAI,CAAC,CAAC,CAAC;IAE7E,8FAA8F;IAC9F,IAAW,kBAAkB,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IAE1D,4GAA4G;IACrG,KAAK,CAAC,kBAAkB,CAAC,IAA2B;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,8DAA8D;IACvD,KAAK,CAAC,kBAAkB,CAAC,IAA2B;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,8DAA8D;IACvD,KAAK,CAAC,kBAAkB,CAAC,IAA2B;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IACO,KAAK,CAAC,kBAAkB,CAAI,IAAS,EAAE,GAAkC;QAC7E,MAAM,GAAG,GAAiB,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,MAAsB,IAAoB,OAAO,MAAM,CAAC,CAAC,CAAC;IAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACO,KAAK,CAAC,uBAAuB,CACnC,OAAmF,EACnF,OAAuF,EAAE;QAEzF,gFAAgF;QAChF,2FAA2F;QAC3F,yFAAyF;QACzF,0FAA0F;QAC1F,KAAK,SAAS,CAAC,CAAC,cAAc;YAC1B,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO;gBAAE,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxE,6FAA6F;QAC7F,0FAA0F;QAC1F,gGAAgG;QAChG,0DAA0D;QAC1D,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,YAAY,GAAa,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9C,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,qFAAqF;YACrF,uFAAuF;YACvF,sFAAsF;YACtF,0FAA0F;YAC1F,0FAA0F;YAC1F,yFAAyF;YACzF,iEAAiE;YACjE,+FAA+F;YAC/F,6DAA6D;YAC7D,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC,CAAC;YACvH,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,YAAY,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,QAAQ,GAAG,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,CAAC;QACjG,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,YAAY,CAAC,CAAC;QAC/C,4FAA4F;QAC5F,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClK,OAAO,CAAC,GAAG,CAAC,6CAA6C,IAAI,CAAC,UAAU,CAAC,MAAM,MAAM,QAAQ,aAAa,KAAK,GAAG,CAAC,CAAC;QACpH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;QAEvC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,WAAW,CAAC;YACrG,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,KAAK,GAAwB;gBAC/B,IAAI,EAAE,CAAC,CAAC,GAAG;gBACX,KAAK,EAAE,CAAC,CAAC,GAAG;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe;gBACpC,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,cAAc;gBAC3B,UAAU,EAAE,QAAQ;aACvB,CAAC;YACF,4FAA4F;YAC5F,4FAA4F;YAC5F,kFAAkF;YAClF,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YACxB,wFAAwF;YACxF,8FAA8F;YAC9F,IAAI,KAAK;gBAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YACrC,8FAA8F;YAC9F,uFAAuF;YACvF,oFAAoF;YACpF,8FAA8F;YAC9F,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,EAAE;gBACpB,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,2FAA2F;oBAC3F,+FAA+F;oBAC/F,0FAA0F;oBAC1F,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9B,CAAC;gBACD,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;gBACvF,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAClD,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,sBAAsB,CAC/B,kBAA8C,EAC9C,UAAkB,EAClB,WAAqB,EACrB,OAA2E,EAAE;QAE7E,mGAAmG;QACnG,oGAAoG;QACpG,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAU,EAAU,EAAE;YAChD,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC,CAAC;QACF,uGAAuG;QACvG,qFAAqF;QACrF,IAAI,GAAG,GAAkG,EAAE,CAAC;QAC5G,IAAI,CAAC;YAAC,IAAI,kBAAkB,CAAC,aAAa;gBAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACtI,MAAM,MAAM,GAAG,CAAC,CAAU,EAAsB,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtI,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,MAAM,CAAC,yCAAyC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAChJ,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QACzH,iGAAiG;QACjG,qGAAqG;QACrG,oGAAoG;QACpG,sGAAsG;QACtG,mGAAmG;QACnG,uGAAuG;QACvG,mGAAmG;QACnG,kGAAkG;QAClG,4FAA4F;QAC5F,iGAAiG;QACjG,gGAAgG;QAChG,8FAA8F;QAC9F,EAAE;QACF,mGAAmG;QACnG,kGAAkG;QAClG,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;QAC7H,wFAAwF;QACxF,2FAA2F;QAC3F,4FAA4F;QAC5F,6FAA6F;QAC7F,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;QAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,YAAY,YAAY,iBAAiB,UAAU,UAAU,SAAS,EAAE,CAAC,CAAC;QAChI,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC7C,IAAI,CAAC,2BAA2B,CAC5B,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU;YAClE,iFAAiF;YACjF,gFAAgF;YAChF,gEAAgE;YAChE,UAAU,EACV,QAAQ,CACX,EACD,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAChE,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CACP,gCAAgC,UAAU,KAAK,MAAM,aAAa,MAAM,CAAC,MAAM,GAAG;gBAClF,WAAW,IAAI,EAAE,OAAO,IAAI,GAAG,UAAU,IAAI,EAAE,KAAK,IAAI,GAAG,EAAE;gBAC7D,CAAC,MAAM,IAAI,YAAY,GAAG,GAAG;oBACzB,CAAC,CAAC,yFAAyF;oBAC3F,CAAC,CAAC,EAAE,CAAC,CACZ,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,uCAAuC,UAAU,WAAW,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,GAAG,kDAAkD,CAAC,CAAC;YAC7J,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5E,CAAC;gBAAS,CAAC;YACP,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,CAAC,2BAA2B,CACxC,kBAA8C,EAC9C,UAAkB,EAClB,WAAqB,EACrB,SAAiB,EACjB,UAAkB;IAClB;;;OAGG;IACH,UAAmB;IACnB,sFAAsF;IACtF,QAAiB;QAEjB,IAAI,GAAG,GAAiB;YACpB,kBAAkB,EAAE,kBAAkB;YACtC,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,IAAI,EAAI,kEAAkE;YAC1F,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,WAAW;YACxB,wFAAwF;YACxF,uFAAuF;YACvF,uFAAuF;YACvF,iBAAiB,EAAE,IAAI;YACvB,mBAAmB,EAAE,UAAU;YAC/B,UAAU,EAAE,UAAU;SACzB,CAAC;QACF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;QAC5C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,CAAC;YACD,SAAS,CAAC;gBACN,IAAI,EAAE,CAAC;gBACP,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,gBAAgB,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CACP,4BAA4B,UAAU,UAAU,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,aAAa;oBAC5F,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,OAAO,IAAI,UAAU,GAAG,CAC3G,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtG,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,GAAG,CAAC,MAAM,CAAC;oBACjB,IAAI,EAAE,OAAO,IAAI,UAAU,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,+BAA+B,OAAO,oBAAoB,IAAI,UAAU,CAAC,CAAC;wBAC5H,OAAO;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,8BAA8B,OAAO,oBAAoB,IAAI,UAAU,CAAC,CAAC;oBAC3H,MAAM;gBACV,CAAC;gBACD,wFAAwF;gBACxF,mFAAmF;gBACnF,mFAAmF;gBACnF,uFAAuF;gBACvF,4EAA4E;gBAC5E,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,sBAAsB,OAAO,oBAAoB,IAAI,UAAU,CAAC,CAAC;oBACnH,OAAO;gBACX,CAAC;gBACD,GAAG,GAAG;oBACF,GAAG,GAAG;oBACN,cAAc,EAAE,IAAI;oBACpB,WAAW,EAAE,KAAK,CAAC,QAAQ;oBAC3B,aAAa,EAAE,KAAK,CAAC,UAAU;oBAC/B,aAAa,EAAE,KAAK,CAAC,UAAU;oBAC/B,aAAa,EAAE,KAAK,CAAC,iBAAiB,IAAI,GAAG,CAAC,aAAa;iBAC9D,CAAC;YACN,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IA+CD;;;;;;OAMG;IACI,uBAAuB,CAAC,WAAmB,EAAE,WAAmB;QACnE,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,uBAAuB;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mEAAmE;IAEnE;;;;;;;;OAQG;IACI,qBAAqB;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,wBAAwB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAChD,wEAAwE;QACxE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,KAAK,KAAK,CAAC,CAAC;QAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,OAAO;YACH,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,YAAY,EAAE,IAAI,CAAC,eAAe;YAClC,SAAS,EAAE,kBAAkB;YAC7B,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,WAAW,EAAE,IAAI,CAAC,eAAe;SACpC,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACH,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,oEAAoE;IAEpE;;;;;;;;;;;;OAYG;IACH;;;;;;;;OAQG;IACH,IAAW,wBAAwB;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CACzB,kBAA8C,EAC9C,WAAqB,EACrB,OAAiC;QAEjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACjE,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACjF,kGAAkG;QAClG,4FAA4F;QAC5F,MAAM,MAAM,GAAqB,EAAE,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC;QAE5G,mFAAmF;QACnF,+FAA+F;QAC/F,8FAA8F;QAC9F,sFAAsF;QACtF,iGAAiG;QACjG,+FAA+F;QAC/F,8FAA8F;QAC9F,4FAA4F;QAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,MAAM,6BAA6B,GAAG,CAAC,CAAC;QACxC,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,kBAAkB,CAAC,aAAa,CAAC;YAC7C,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,CAAC,GAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAC,cAAc,CAAC;gBAC1E,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBAAE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9F,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,6BAA6B,CAAC;YACjD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;YAC3E,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC;SACnC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,KAAK,EAAE,GAAyB,EAAgC,EAAE;YACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK;aAC9F,CAAC,CAAC,CAAC;YACJ,IAAI,MAA6B,CAAC;YAClC,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAClF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,6BAA6B,GAAG,CAAC,IAAI,8BAA8B,GAAG,EAAE,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,2BAA2B;oBAChE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;iBAC7E,CAAC,CAAC,CAAC;gBACJ,OAAO,EAAE,CAAC;gBACV,iFAAiF;gBACjF,IAAI,CAAC;oBAAC,OAAO,EAAE,UAAU,EAAE,CAAC,SAAS,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;gBAClH,4FAA4F;gBAC5F,EAAE;gBACF,+EAA+E;gBAC/E,sFAAsF;gBACtF,wFAAwF;gBACxF,yFAAyF;gBACzF,qFAAqF;gBACrF,sFAAsF;gBACtF,EAAE;gBACF,uFAAuF;gBACvF,yFAAyF;gBACzF,uFAAuF;gBACvF,0FAA0F;gBAC1F,oDAAoD;gBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACnD,MAAM,SAAS,GAAG,YAAY,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,qBAAqB,CAAC;gBAClG,IAAI,SAAS,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;wBACvB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,6BAA6B;wBAClE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,IAAI,IAAI;wBAC/D,MAAM,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;qBAClE,CAAC,CAAC,CAAC;gBACR,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACpC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,4BAA4B;gBACjE,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM;gBAC5D,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrE,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;aACjG,CAAC,CAAC,CAAC;YACJ,2FAA2F;YAC3F,uEAAuE;YACvE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBAChB,YAAY,EAAE,GAAG,CAAC,IAAI;gBACtB,aAAa,EAAE,GAAG,CAAC,KAAK;gBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACrB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,UAAU,EAAE,CAAC,CAAC,QAAQ;oBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;oBAC9B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;oBAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;oBACtB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;oBACpC,6EAA6E;oBAC7E,+EAA+E;oBAC/E,+EAA+E;oBAC/E,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,IAAI;iBAC/C,CAAC,CAAC;gBACH,yFAAyF;gBACzF,qFAAqF;gBACrF,4FAA4F;gBAC5F,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrE,aAAa,EAAE,MAAM;qBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC;qBAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,gBAAiB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;aAC/F,CAAC,CAAC;YACH,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;YACjC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,IAAI,KAAK,QAAQ,SAAS,aAAa,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAChK,CAAC;YACD,yFAAyF;YACzF,IAAI,CAAC;gBAAC,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;YACnG,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC,CAAC;QAEF,MAAM,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ"}
|
|
1
|
+
{"version":3,"file":"BaseIntegrationConnector.js","sourceRoot":"","sources":["../src/BaseIntegrationConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -200,6 +200,20 @@ export declare abstract class BaseRESTIntegrationConnector extends BaseIntegrati
|
|
|
200
200
|
* bound, so a conservative default remains here; override the getter to change the fallback.
|
|
201
201
|
*/
|
|
202
202
|
protected DiscoverySampleMaxDepth(): number;
|
|
203
|
+
/**
|
|
204
|
+
* DISCOVERY-ONLY: how many rows of a KEYLESS parent to read before classifying its key.
|
|
205
|
+
*
|
|
206
|
+
* Only reached when a parent declares no primary key — with a declared one nothing is buffered
|
|
207
|
+
* and the chain stays lazy. The default is the value-statistic classifier's own significance
|
|
208
|
+
* floor: below it the classifier abstains, above it more rows change no verdict, and every row
|
|
209
|
+
* here is a fetch that recurses up the whole dependency chain.
|
|
210
|
+
*
|
|
211
|
+
* Overridable the same way every other discovery bound is — per-connection `Configuration`
|
|
212
|
+
* (`discoveryParentKeySampleRows`), then `MJ_INTEGRATION_DISCOVERY_PARENT_KEY_SAMPLE_ROWS`,
|
|
213
|
+
* then this getter. Bounded above by the per-table sample target, so lowering that lowers this
|
|
214
|
+
* too and the two can never disagree in the direction that matters.
|
|
215
|
+
*/
|
|
216
|
+
protected DiscoveryParentKeySampleRows(): number;
|
|
203
217
|
/**
|
|
204
218
|
* REST override (§sample-discover): a SINGLE-template-var CHILD is sampled with the recursive,
|
|
205
219
|
* record-constrained {@link StreamRecordsForDiscovery}. Flat objects fall back to the generic
|
|
@@ -210,15 +224,42 @@ export declare abstract class BaseRESTIntegrationConnector extends BaseIntegrati
|
|
|
210
224
|
/**
|
|
211
225
|
* DISCOVERY-ONLY recursive lazy sampler. Yields records of `objectID` for field/PK analysis by
|
|
212
226
|
* STREAMING — never bulk. A top-level object paginates its endpoint directly. A template-var CHILD
|
|
213
|
-
* streams its PARENT (recursively, via this same routine), classifies the parent's key from
|
|
214
|
-
* parent's
|
|
215
|
-
* name), and fetches children under parent rows until the child has `target`.
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
227
|
+
* streams its PARENT (recursively, via this same routine), classifies the parent's key from a
|
|
228
|
+
* significance-sized slice of the parent's rows (declared PK → value-statistic classifier → adjourn
|
|
229
|
+
* — never a guessed name), and fetches children under parent rows until the child has `target`.
|
|
230
|
+
*
|
|
231
|
+
* Parents are pulled ON DEMAND, so the leaf's `target` is the only bound and it propagates up the
|
|
232
|
+
* whole chain. The single exception is a parent that declares no key: it cannot be descended into
|
|
233
|
+
* until its key is known, so a bounded slice of its rows is read first. That slice is sized by
|
|
234
|
+
* {@link DiscoveryParentKeySampleRows} — per-connection Configuration, then env, then the
|
|
235
|
+
* classifier's own significance floor — and is capped by the leaf's target so it can never
|
|
236
|
+
* exceed the per-table sample size.
|
|
237
|
+
*
|
|
238
|
+
* Record-constrained (unlike sync, which walks ALL rows via the DAG): a million-row ancestor is
|
|
239
|
+
* streamed and cut off early. Pure HTTP — no SQL, dialect-agnostic.
|
|
220
240
|
*/
|
|
221
241
|
private StreamRecordsForDiscovery;
|
|
242
|
+
/**
|
|
243
|
+
* DISCOVERY-ONLY sampler for a MULTI-VAR child (2+ template vars in the APIPath).
|
|
244
|
+
*
|
|
245
|
+
* The strategy is "one stream proves the whole tuple": resolve every var to its parent object,
|
|
246
|
+
* pick the candidate parent whose records are most likely to carry values for ALL the vars (the
|
|
247
|
+
* innermost one — ranked by how many of the OTHER vars appear in its own APIPath, i.e. how deep
|
|
248
|
+
* it sits in the same nesting), stream it via {@link StreamRecordsForDiscovery} (so ITS ancestors
|
|
249
|
+
* resolve recursively, tags included), and per record substitute every var from the record's own
|
|
250
|
+
* fields. A record that cannot fill every var is SKIPPED — a partial substitution is a malformed
|
|
251
|
+
* URL, and fabricating the missing half is the exact bug the old blanket deferral existed to
|
|
252
|
+
* prevent. A candidate that proves barren (a probe slice streamed, zero covering records) is
|
|
253
|
+
* abandoned for the next; when no candidate covers, the child adjourns to declared-only fields
|
|
254
|
+
* exactly as the blanket deferral did — but its DESCENDANTS now only die when the tuple is
|
|
255
|
+
* genuinely unknowable, not whenever an ancestor merely had two parents.
|
|
256
|
+
*
|
|
257
|
+
* Bounds: the leaf's `target` is the only fill bound (lazy, same as single-var); the barren-probe
|
|
258
|
+
* slice is {@link DiscoveryParentKeySampleRows} per candidate, the same knob that bounds keyless-
|
|
259
|
+
* parent classification, because it is the same question — "how many rows before we admit this
|
|
260
|
+
* stream cannot answer".
|
|
261
|
+
*/
|
|
262
|
+
private StreamMultiVarChildForDiscovery;
|
|
222
263
|
/**
|
|
223
264
|
* Resolves the parent's addressing-key FIELD NAME for discovery-time sampling, without presupposing
|
|
224
265
|
* it: (1) a declared PK in metadata; else (2) the value-statistic classifier over the fetched rows.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRESTIntegrationConnector.d.ts","sourceRoot":"","sources":["../src/BaseRESTIntegrationConnector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseRESTIntegrationConnector.d.ts","sourceRoot":"","sources":["../src/BaseRESTIntegrationConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 ────────────────────────────────────
|
|
@@ -432,6 +433,22 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
|
|
|
432
433
|
DiscoverySampleMaxDepth() {
|
|
433
434
|
return 4;
|
|
434
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
|
+
}
|
|
435
452
|
/**
|
|
436
453
|
* REST override (§sample-discover): a SINGLE-template-var CHILD is sampled with the recursive,
|
|
437
454
|
* record-constrained {@link StreamRecordsForDiscovery}. Flat objects fall back to the generic
|
|
@@ -464,13 +481,19 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
|
|
|
464
481
|
/**
|
|
465
482
|
* DISCOVERY-ONLY recursive lazy sampler. Yields records of `objectID` for field/PK analysis by
|
|
466
483
|
* STREAMING — never bulk. A top-level object paginates its endpoint directly. A template-var CHILD
|
|
467
|
-
* streams its PARENT (recursively, via this same routine), classifies the parent's key from
|
|
468
|
-
* parent's
|
|
469
|
-
* name), and fetches children under parent rows until the child has `target`.
|
|
470
|
-
*
|
|
471
|
-
*
|
|
472
|
-
*
|
|
473
|
-
*
|
|
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.
|
|
474
497
|
*/
|
|
475
498
|
async *StreamRecordsForDiscovery(companyIntegration, objectID, contextUser, target, depth) {
|
|
476
499
|
const maxDepth = this.ReadDiscoveryConfig(companyIntegration)
|
|
@@ -498,13 +521,23 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
|
|
|
498
521
|
}
|
|
499
522
|
return;
|
|
500
523
|
}
|
|
501
|
-
// MULTI-VAR (composition)
|
|
502
|
-
//
|
|
503
|
-
//
|
|
504
|
-
//
|
|
505
|
-
//
|
|
506
|
-
|
|
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);
|
|
507
539
|
return;
|
|
540
|
+
}
|
|
508
541
|
// CHILD (single template var): stream the PARENT recursively via this SAME routine — so a
|
|
509
542
|
// grandparent is sampled identically (uniform to all depths). Classify the parent's key from its
|
|
510
543
|
// own rows (declared PK → value-statistic classifier → adjourn — never a guessed name), then fetch
|
|
@@ -524,6 +557,18 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
|
|
|
524
557
|
return;
|
|
525
558
|
let parentKey = this.GetCachedFields(parentObj.ID).find(f => f.IsPrimaryKey)?.Name ?? null;
|
|
526
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()));
|
|
527
572
|
const fetchChildren = async function* (key, parentRec) {
|
|
528
573
|
const idVal = parentRec.Fields?.[key];
|
|
529
574
|
if (idVal == null || String(idVal) === '')
|
|
@@ -543,11 +588,12 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
|
|
|
543
588
|
yield* fetchChildren(parentKey, parentRec);
|
|
544
589
|
continue;
|
|
545
590
|
}
|
|
546
|
-
// Key not declared:
|
|
547
|
-
//
|
|
548
|
-
//
|
|
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.
|
|
549
595
|
buffer.push(parentRec);
|
|
550
|
-
if (buffer.length >=
|
|
596
|
+
if (buffer.length >= classifySampleSize) {
|
|
551
597
|
parentKey = await this.ResolveParentKeyField(parentObj, buffer);
|
|
552
598
|
if (!parentKey)
|
|
553
599
|
return; // parent genuinely keyless → adjourn
|
|
@@ -564,6 +610,103 @@ export class BaseRESTIntegrationConnector extends BaseIntegrationConnector {
|
|
|
564
610
|
yield* fetchChildren(parentKey, bp);
|
|
565
611
|
}
|
|
566
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
|
+
}
|
|
567
710
|
/**
|
|
568
711
|
* Resolves the parent's addressing-key FIELD NAME for discovery-time sampling, without presupposing
|
|
569
712
|
* it: (1) a declared PK in metadata; else (2) the value-statistic classifier over the fetched rows.
|