@memberjunction/integration-engine-base 6.2.0-edge.5 → 6.2.0-edge.7

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.
@@ -1,10 +1,29 @@
1
- import { BaseEngine, IMetadataProvider, UserInfo } from '@memberjunction/core';
1
+ import { BaseEngine, BaseEntity, IMetadataProvider, IRunViewProvider, UserInfo } from '@memberjunction/core';
2
2
  import type { MJIntegrationEntity, MJIntegrationSourceTypeEntity, MJCompanyIntegrationEntity, MJCompanyIntegrationEntityMapEntity, MJCompanyIntegrationFieldMapEntity, MJCompanyIntegrationSyncWatermarkEntity, MJIntegrationObjectEntity, MJIntegrationObjectFieldEntity } from '@memberjunction/core-entities';
3
+ import { CatalogScopeData } from './CompanyIntegrationCatalog.js';
4
+ /**
5
+ * How a catalog read was answered. Returned alongside the rows so a caller — and a support
6
+ * transcript — can tell a per-connection answer from the shared fallback without inferring it.
7
+ */
8
+ export type CatalogSource = 'PerConnection' | 'Shared';
9
+ /** The resolved catalog for one connection. */
10
+ export interface ResolvedCompanyIntegrationCatalog {
11
+ Objects: MJIntegrationObjectEntity[];
12
+ FieldsByObjectID: Map<string, MJIntegrationObjectFieldEntity[]>;
13
+ Source: CatalogSource;
14
+ /** Count of per-connection objects by provenance. Empty when `Source` is `Shared`. */
15
+ Provenance: {
16
+ Declared: number;
17
+ Endpoint: number;
18
+ Sampled: number;
19
+ };
20
+ }
3
21
  /**
4
22
  * IntegrationEngineBase provides cached metadata for the MJ integration subsystem.
5
23
  *
6
- * It extends BaseEngine to load and auto-refresh all integration-related entities
7
- * (Integrations, CompanyIntegrations, EntityMaps, FieldMaps, Watermarks, SourceTypes).
24
+ * It extends BaseEngine to load and auto-refresh the integration-related entities
25
+ * (Integrations, CompanyIntegrations, EntityMaps, Watermarks, SourceTypes). Field maps are
26
+ * not cached: read them one entity map at a time with {@link LoadFieldMapsForEntityMap}.
8
27
  *
9
28
  * This class is safe to use in both client (Angular) and server contexts.
10
29
  * For server-side orchestration (sync execution), use the full IntegrationEngine
@@ -15,7 +34,6 @@ export declare class IntegrationEngineBase extends BaseEngine<IntegrationEngineB
15
34
  private _sourceTypes;
16
35
  private _companyIntegrations;
17
36
  private _entityMaps;
18
- private _fieldMaps;
19
37
  private _watermarks;
20
38
  private _integrationObjects;
21
39
  private _integrationObjectFields;
@@ -27,6 +45,33 @@ export declare class IntegrationEngineBase extends BaseEngine<IntegrationEngineB
27
45
  */
28
46
  private _fieldsByObjectID;
29
47
  private _fieldsByObjectIDSource;
48
+ /**
49
+ * Second invalidation source for the field index. The index spans both field arrays, so
50
+ * keying it on the shared array alone would leave it stale whenever only the per-connection
51
+ * array reloaded — which is precisely what a discovery does.
52
+ */
53
+ private _fieldsByObjectIDScopedSource;
54
+ /**
55
+ * Per-connection catalog rows that were SEEDED rather than loaded — `SeedForTesting` and the
56
+ * offline replay tiers. Plain `BaseEntity` because no generated subclass exists for these
57
+ * entities (see CompanyIntegrationCatalog.ts). Nothing loads them in a live process any more:
58
+ * there the rows come from the catalog scope in force, through {@link CatalogDataResolver}.
59
+ */
60
+ private _companyIntegrationObjects;
61
+ private _companyIntegrationObjectFields;
62
+ /**
63
+ * Lazily-built projections, keyed by the identity of the row array they were built from, so a
64
+ * new array is a new projection with no invalidation hook to forget. Weakly held and per array
65
+ * because two connections' syncs run concurrently and alternate on every await: a single
66
+ * memo slot would re-project a whole catalog each time the other one read.
67
+ */
68
+ private _objectProjections;
69
+ private _ownedObjectIDs;
70
+ private _warmFieldProjections;
71
+ private _edgesByOwner;
72
+ /** The seeded field rows' projection: one array, so one slot is enough. */
73
+ private _ciofProjected;
74
+ private _ciofProjectedSource;
30
75
  Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void>;
31
76
  /**
32
77
  * Re-read ONLY the IntegrationObject/IntegrationObjectField datasets, straight from the
@@ -63,7 +108,13 @@ export declare class IntegrationEngineBase extends BaseEngine<IntegrationEngineB
63
108
  IntegrationObjectFields?: Array<Partial<MJIntegrationObjectFieldEntity>>;
64
109
  CompanyIntegrations?: Array<Partial<MJCompanyIntegrationEntity>>;
65
110
  EntityMaps?: Array<Partial<MJCompanyIntegrationEntityMapEntity>>;
66
- FieldMaps?: Array<Partial<MJCompanyIntegrationFieldMapEntity>>;
111
+ /**
112
+ * Per-connection catalog rows, as LOADED rows rather than projections — they go through
113
+ * `ProjectCatalogObjects`/`ProjectCatalogFields` exactly as the real load does, so a seed
114
+ * that omits a required column fails the same way production would.
115
+ */
116
+ CompanyIntegrationObjects?: BaseEntity[];
117
+ CompanyIntegrationObjectFields?: BaseEntity[];
67
118
  }): void;
68
119
  /** All Integration definitions (e.g. YourMembership, HubSpot). */
69
120
  get Integrations(): MJIntegrationEntity[];
@@ -73,8 +124,6 @@ export declare class IntegrationEngineBase extends BaseEngine<IntegrationEngineB
73
124
  get CompanyIntegrations(): MJCompanyIntegrationEntity[];
74
125
  /** All entity-level mapping configurations. */
75
126
  get EntityMaps(): MJCompanyIntegrationEntityMapEntity[];
76
- /** All field-level mapping configurations. */
77
- get FieldMaps(): MJCompanyIntegrationFieldMapEntity[];
78
127
  /** All sync watermark records. */
79
128
  get Watermarks(): MJCompanyIntegrationSyncWatermarkEntity[];
80
129
  /** All integration object definitions (external objects/endpoints per integration). */
@@ -91,8 +140,14 @@ export declare class IntegrationEngineBase extends BaseEngine<IntegrationEngineB
91
140
  GetCompanyIntegrationsByIntegrationID(integrationID: string): MJCompanyIntegrationEntity[];
92
141
  /** Get all entity maps for a given CompanyIntegration ID. */
93
142
  GetEntityMapsForCompanyIntegration(companyIntegrationID: string): MJCompanyIntegrationEntityMapEntity[];
94
- /** Get all field maps for a given EntityMap ID. */
95
- GetFieldMapsForEntityMap(entityMapID: string): MJCompanyIntegrationFieldMapEntity[];
143
+ /**
144
+ * Loads the field maps of one entity map, in Priority order. Throws when the read fails, so a
145
+ * caller never takes a failed read for an entity map with no field maps.
146
+ *
147
+ * @param contextUser Required on the server; omit in the browser.
148
+ * @param provider The RunView provider to read through; defaults to the engine's provider.
149
+ */
150
+ LoadFieldMapsForEntityMap(entityMapID: string, contextUser?: UserInfo, provider?: IRunViewProvider | null): Promise<MJCompanyIntegrationFieldMapEntity[]>;
96
151
  /** Get the watermark for a given EntityMap ID and direction. */
97
152
  GetWatermark(entityMapID: string, direction: 'Pull' | 'Push'): MJCompanyIntegrationSyncWatermarkEntity | undefined;
98
153
  /** Get all enabled entity maps for a CompanyIntegration, sorted by Priority. */
@@ -102,11 +157,45 @@ export declare class IntegrationEngineBase extends BaseEngine<IntegrationEngineB
102
157
  * Useful for resolving the connector class name, etc.
103
158
  */
104
159
  GetIntegrationForCompanyIntegration(companyIntegrationID: string): MJIntegrationEntity | undefined;
105
- /** Get all IntegrationObjects for a given Integration ID. */
160
+ /**
161
+ * Get all IntegrationObjects for a given Integration ID.
162
+ *
163
+ * SCOPE-AWARE. When a connection is in scope AND has a per-connection catalog, this answers
164
+ * from that catalog; otherwise it answers exactly as it always has. The scoping lives HERE, on
165
+ * the existing getters, rather than at the call sites — which is the only version that reaches
166
+ * the connectors in the separate Integrations repository. Two of them call these getters
167
+ * directly rather than going through the REST base, so a new method name would have left them
168
+ * reading the shared catalog forever while every other path was per-connection.
169
+ */
106
170
  GetIntegrationObjectsByIntegrationID(integrationID: string): MJIntegrationObjectEntity[];
107
- /** Get a specific IntegrationObject by integration ID and object name. */
171
+ /**
172
+ * The connection in scope's objects, or undefined when there is no scope or no per-connection
173
+ * catalog for it. One place, so every getter below scopes identically.
174
+ */
175
+ private scopedObjects;
176
+ /** Get a specific IntegrationObject by integration ID and object name. SCOPE-AWARE. */
108
177
  GetIntegrationObject(integrationID: string, objectName: string): MJIntegrationObjectEntity | undefined;
109
- /** Get a specific IntegrationObject by its ID. */
178
+ /**
179
+ * Get a specific IntegrationObject by its ID, from EITHER catalog.
180
+ *
181
+ * Id-polymorphic for exactly the reason `GetIntegrationObjectFields` is: object ids are UUIDs
182
+ * from two disjoint tables and cannot collide, so the id itself says which catalog the caller
183
+ * meant, and a caller holding an id needs no scope to resolve it. The field side was made
184
+ * polymorphic and this one was not, which left a hole precisely where the two sides meet — a
185
+ * parent object resolved through a per-connection FK edge.
186
+ *
187
+ * The hole, measured on the sandbox 2026-09-12: a connector's nested fetch resolves a child's
188
+ * parent to a per-connection object id (`RelatedCompanyIntegrationObjectID`, surfaced on the
189
+ * per-connection field as `RelatedIntegrationObjectID`), then asks for that object by id here.
190
+ * The shared-only lookup returned undefined and `LoadParentIDs` threw
191
+ * "Parent IntegrationObject not found: <id>" for EVERY child object — twenty of PheedLoop's
192
+ * twenty-seven — so each of them fetched nothing while the run still reported success: 330 rows
193
+ * where the same connector had synced about sixteen hundred. A parent that cannot be resolved
194
+ * is the one case where an over-broad shared answer is not available as a fallback, because the
195
+ * id is not in the shared table at all.
196
+ *
197
+ * Shared first, so a shared id costs exactly the scan it always did.
198
+ */
110
199
  GetIntegrationObjectByID(objectID: string): MJIntegrationObjectEntity | undefined;
111
200
  /**
112
201
  * Get all fields for a given IntegrationObject ID.
@@ -125,8 +214,20 @@ export declare class IntegrationEngineBase extends BaseEngine<IntegrationEngineB
125
214
  * before.
126
215
  */
127
216
  GetIntegrationObjectFields(objectID: string): MJIntegrationObjectFieldEntity[];
128
- /** Get active IntegrationObjects for an integration, sorted by Sequence. */
217
+ /** Get active IntegrationObjects for an integration, sorted by Sequence. SCOPE-AWARE. */
129
218
  GetActiveIntegrationObjects(integrationID: string): MJIntegrationObjectEntity[];
219
+ /**
220
+ * SHARED objects, ignoring any scope.
221
+ *
222
+ * Two callers need this and both would be WRONG with the scoped answer. The declared floor a
223
+ * discovery overlays onto is by definition the shared, curated definition — reading the
224
+ * per-connection rows there would make a discovery overlay its own previous output and lose
225
+ * the link back to the declared row. And the Shared branch of
226
+ * {@link ResolveCompanyIntegrationCatalog} was explicitly asked not to read per-connection rows.
227
+ */
228
+ GetSharedIntegrationObjects(integrationID: string): MJIntegrationObjectEntity[];
229
+ /** See {@link GetSharedIntegrationObjects}. Active only, sorted by Sequence. */
230
+ GetActiveSharedIntegrationObjects(integrationID: string): MJIntegrationObjectEntity[];
130
231
  /**
131
232
  * Builds a topologically-sorted processing order for integration objects
132
233
  * based on FK relationships between objects (RelatedIntegrationObjectID on fields).
@@ -140,6 +241,127 @@ export declare class IntegrationEngineBase extends BaseEngine<IntegrationEngineB
140
241
  * Kahn's algorithm: iteratively remove nodes with no remaining dependencies.
141
242
  */
142
243
  private topologicalSort;
244
+ /**
245
+ * Resolves the connection whose catalog a read belongs to, when one is in scope.
246
+ *
247
+ * Dependency inversion, deliberately: the scope itself is `AsyncLocalStorage`, which is a Node
248
+ * built-in this package must not import — it is loaded into the Angular client too. So the
249
+ * server package installs a resolver here at module load and the client never sets one, leaving
250
+ * every read on the shared catalog exactly as before.
251
+ *
252
+ * Same shape as the custom-column promoter registration the server already installs.
253
+ */
254
+ static CatalogScopeResolver: (() => string | undefined) | undefined;
255
+ private static currentScope;
256
+ /**
257
+ * Supplies the per-connection rows of the catalog scope in force (MJ-RUN-43).
258
+ *
259
+ * The same dependency inversion as {@link CatalogScopeResolver}, for the same reason: the rows
260
+ * are loaded at scope entry by the server-side engine, which owns the scope and the queries,
261
+ * and this package — bundled into the Angular client too — only reads them. Never set in a
262
+ * client bundle, where every read stays on the shared catalog and any seeded rows.
263
+ *
264
+ * Returns undefined when no scope is in force, or when the scope's catalog has not been loaded:
265
+ * both read the seeded arrays, which in a live process are empty — the shared catalog's
266
+ * answer, exactly as before a connection had a catalog of its own.
267
+ */
268
+ static CatalogDataResolver: (() => CatalogScopeData | undefined) | undefined;
269
+ private static scopedCatalogData;
270
+ /**
271
+ * Where per-connection object rows come from: the scope in force, else the seeded array.
272
+ *
273
+ * No scope in force is NOT an error. `HasCompanyIntegrationCatalog` is a probe whose whole job
274
+ * is to answer "no" from outside a scope, and a workspace that never adopted the per-connection
275
+ * catalog reads unscoped throughout. The loud failure belongs one level down, at an object that
276
+ * IS in scope whose fields were never warmed — see {@link AssertCatalogObjectWarm}.
277
+ */
278
+ private static resolveScopedCatalogRows;
279
+ /**
280
+ * The dependency edges of the scope in force, else of the seeded field rows.
281
+ *
282
+ * A scope that carries no edge set is refused rather than walked. Unlike a missing field row,
283
+ * a missing edge does not empty anything: it silently REORDERS a sync, children before
284
+ * parents, and surfaces as foreign-key failures far from here.
285
+ */
286
+ private static resolveScopedCatalogEdges;
287
+ /**
288
+ * Throw when `objectID` belongs to the scope in force, its field rows were never warmed, and
289
+ * the scope's owner is one that warms what it reads.
290
+ *
291
+ * Field rows are fetched per object now, so an owned object with no warm rows means a warm
292
+ * site was missed. Answering `[]` there would show a connector a table with no columns and a
293
+ * sync would write nothing, on a run that reports success. An id the scope does not own — a
294
+ * shared object, another connection's object — is silence by design and reads as it always did.
295
+ */
296
+ AssertCatalogObjectWarm(objectID: string): void;
297
+ private assertWarm;
298
+ /** Per-connection objects, projected for reading. See CompanyIntegrationCatalog.ts. */
299
+ private get companyIntegrationObjects();
300
+ private projectObjects;
301
+ /** Lowercased ids of a projected object array, so an ownership test is a lookup, not a scan. */
302
+ private ownedObjectIDs;
303
+ /** One warm object's field rows, projected once per loaded array. */
304
+ private projectWarmFields;
305
+ /** Related object ids per owning object, built once per edge array. */
306
+ private edgesByOwner;
307
+ /**
308
+ * The ids of the objects this object's fields point at — its foreign-key parents.
309
+ *
310
+ * The dependency graph a sync builds needs exactly this and nothing else of a field, so a
311
+ * per-connection object of the scope in force answers from the scope's narrow edge set and
312
+ * never needs its full field rows warm — the graph is built before any of them are. Every other
313
+ * object (shared, or seeded without a scope) answers from its resident field rows.
314
+ */
315
+ GetRelatedIntegrationObjectIDs(objectID: string): string[];
316
+ /** Per-connection fields that were SEEDED (see `_companyIntegrationObjectFields`), projected for reading. */
317
+ private get companyIntegrationObjectFields();
318
+ /** Does this connection have a per-connection catalog at all? */
319
+ HasCompanyIntegrationCatalog(companyIntegrationID: string): boolean;
320
+ /** All per-connection objects for a connection. */
321
+ GetCompanyIntegrationObjects(companyIntegrationID: string): MJIntegrationObjectEntity[];
322
+ /**
323
+ * One per-connection object by name.
324
+ *
325
+ * Matches rows of EVERY status, `Disabled` included, because the overlay reactivates a
326
+ * previously-absent object rather than inserting a second one — the unique constraint on
327
+ * (connection, name) is what makes that necessary and what makes a name-match on active rows
328
+ * only a constraint violation waiting to happen.
329
+ */
330
+ GetCompanyIntegrationObject(companyIntegrationID: string, objectName: string): MJIntegrationObjectEntity | undefined;
331
+ /** One per-connection object by its own id. */
332
+ GetCompanyIntegrationObjectByID(objectID: string): MJIntegrationObjectEntity | undefined;
333
+ /** Active per-connection objects, sorted by Sequence. Mirrors GetActiveIntegrationObjects. */
334
+ GetActiveCompanyIntegrationObjects(companyIntegrationID: string): MJIntegrationObjectEntity[];
335
+ /**
336
+ * Per-connection dependency order. Same Kahn sort and same Sequence-order fallback on a cycle
337
+ * as the shared version, over this connection's own edges: a field's
338
+ * RelatedCompanyIntegrationObjectID points at an object belonging to the same connection, so
339
+ * two connections of one connector can legitimately disagree about the shape of the graph.
340
+ */
341
+ GetCompanyIntegrationObjectsInDependencyOrder(companyIntegrationID: string): MJIntegrationObjectEntity[];
342
+ /**
343
+ * THE CUTOVER SEAM. Every read that wants "this connection's catalog" comes through here, and
344
+ * this is the one place that decides whether that means the per-connection tables or the shared
345
+ * ones.
346
+ *
347
+ * With `preferPerConnection` false — the default at deploy — the answer is byte-for-byte what
348
+ * the shared catalog returns today, so the tables can exist, be backfilled and be verified
349
+ * against production traffic before anything reads them.
350
+ *
351
+ * Per-connection field rows are not resident, so `FieldsByObjectID` carries what is warm in the
352
+ * scope in force; in a scope whose owner warms what it reads, a cold object throws rather than
353
+ * reporting no fields (see {@link AssertCatalogObjectWarm}).
354
+ *
355
+ * @param opts.preferPerConnection Read per-connection rows when they exist.
356
+ * @param opts.requirePerConnection Refuse rather than fall back. Set it wherever a silent
357
+ * shared answer would be indistinguishable from success — a shared answer carries objects
358
+ * this connection never discovered and omits the ones only it has, and a sync would run on it
359
+ * reporting no error at all.
360
+ */
361
+ ResolveCompanyIntegrationCatalog(companyIntegrationID: string, opts?: {
362
+ preferPerConnection?: boolean;
363
+ requirePerConnection?: boolean;
364
+ }): ResolvedCompanyIntegrationCatalog;
143
365
  static get Instance(): IntegrationEngineBase;
144
366
  }
145
367
  //# sourceMappingURL=IntegrationEngineBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntegrationEngineBase.d.ts","sourceRoot":"","sources":["../src/IntegrationEngineBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IntegrationEngineBase.d.ts","sourceRoot":"","sources":["../src/IntegrationEngineBase.ts"],"names":[],"mappings":"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"}