@memberjunction/server 5.48.0 → 5.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.md +9 -0
  2. package/dist/auth/magicLink/MagicLinkKeys.d.ts.map +1 -1
  3. package/dist/auth/magicLink/MagicLinkKeys.js +11 -4
  4. package/dist/auth/magicLink/MagicLinkKeys.js.map +1 -1
  5. package/dist/auth/magicLink/MagicLinkRouter.js +2 -2
  6. package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
  7. package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
  8. package/dist/auth/magicLink/MagicLinkService.js +4 -0
  9. package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
  10. package/dist/config.d.ts +40 -0
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +12 -0
  13. package/dist/config.js.map +1 -1
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/context.js +28 -2
  16. package/dist/context.js.map +1 -1
  17. package/dist/generated/generated.d.ts +122 -0
  18. package/dist/generated/generated.d.ts.map +1 -1
  19. package/dist/generated/generated.js +629 -0
  20. package/dist/generated/generated.js.map +1 -1
  21. package/dist/generic/ResolverBase.d.ts.map +1 -1
  22. package/dist/generic/ResolverBase.js +4 -2
  23. package/dist/generic/ResolverBase.js.map +1 -1
  24. package/dist/generic/RunViewResolver.d.ts +1 -0
  25. package/dist/generic/RunViewResolver.d.ts.map +1 -1
  26. package/dist/generic/RunViewResolver.js +12 -0
  27. package/dist/generic/RunViewResolver.js.map +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +73 -11
  30. package/dist/index.js.map +1 -1
  31. package/dist/integration/CustomColumnPromoter.d.ts +15 -2
  32. package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
  33. package/dist/integration/CustomColumnPromoter.js +113 -11
  34. package/dist/integration/CustomColumnPromoter.js.map +1 -1
  35. package/dist/integration/EntityMapLifecycle.d.ts +66 -0
  36. package/dist/integration/EntityMapLifecycle.d.ts.map +1 -0
  37. package/dist/integration/EntityMapLifecycle.js +189 -0
  38. package/dist/integration/EntityMapLifecycle.js.map +1 -0
  39. package/dist/realtimeProxy/RealtimeProxyServer.d.ts +10 -0
  40. package/dist/realtimeProxy/RealtimeProxyServer.d.ts.map +1 -1
  41. package/dist/realtimeProxy/RealtimeProxyServer.js +67 -1
  42. package/dist/realtimeProxy/RealtimeProxyServer.js.map +1 -1
  43. package/dist/realtimeWidget/WidgetRouter.d.ts.map +1 -1
  44. package/dist/realtimeWidget/WidgetRouter.js +6 -2
  45. package/dist/realtimeWidget/WidgetRouter.js.map +1 -1
  46. package/dist/resolvers/AdhocQueryResolver.d.ts +17 -0
  47. package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
  48. package/dist/resolvers/AdhocQueryResolver.js +81 -25
  49. package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
  50. package/dist/resolvers/GetDataResolver.d.ts +16 -0
  51. package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
  52. package/dist/resolvers/GetDataResolver.js +26 -1
  53. package/dist/resolvers/GetDataResolver.js.map +1 -1
  54. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts +53 -1
  55. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
  56. package/dist/resolvers/IntegrationDiscoveryResolver.js +522 -60
  57. package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
  58. package/dist/resolvers/QueryResolver.d.ts.map +1 -1
  59. package/dist/resolvers/QueryResolver.js +0 -6
  60. package/dist/resolvers/QueryResolver.js.map +1 -1
  61. package/dist/resolvers/RSUResolver.d.ts +10 -0
  62. package/dist/resolvers/RSUResolver.d.ts.map +1 -1
  63. package/dist/resolvers/RSUResolver.js +28 -0
  64. package/dist/resolvers/RSUResolver.js.map +1 -1
  65. package/dist/resolvers/RunAIAgentResolver.d.ts +9 -6
  66. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  67. package/dist/resolvers/RunAIAgentResolver.js +135 -132
  68. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  69. package/dist/resolvers/TransactionGroupResolver.d.ts +8 -1
  70. package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
  71. package/dist/resolvers/TransactionGroupResolver.js +29 -1
  72. package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
  73. package/dist/resolvers/adhoc-query-helpers.d.ts +27 -0
  74. package/dist/resolvers/adhoc-query-helpers.d.ts.map +1 -0
  75. package/dist/resolvers/adhoc-query-helpers.js +42 -0
  76. package/dist/resolvers/adhoc-query-helpers.js.map +1 -0
  77. package/dist/rest/OAuthCallbackHandler.d.ts +9 -0
  78. package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -1
  79. package/dist/rest/OAuthCallbackHandler.js +21 -4
  80. package/dist/rest/OAuthCallbackHandler.js.map +1 -1
  81. package/dist/telephony/media-upgrade-router.d.ts +14 -0
  82. package/dist/telephony/media-upgrade-router.d.ts.map +1 -1
  83. package/dist/telephony/media-upgrade-router.js +17 -1
  84. package/dist/telephony/media-upgrade-router.js.map +1 -1
  85. package/package.json +88 -88
  86. package/src/__tests__/AdhocQueryResolver.pagination.test.ts +114 -0
  87. package/src/__tests__/EntityMapLifecycle.dagWarnings.test.ts +91 -0
  88. package/src/__tests__/OAuthCallbackHandler.xss.test.ts +83 -0
  89. package/src/__tests__/RealtimeProxyServer.test.ts +53 -1
  90. package/src/__tests__/adhoc-query-helpers.test.ts +50 -0
  91. package/src/__tests__/magicLinkService.provisionLog.test.ts +106 -0
  92. package/src/__tests__/media-upgrade-router.test.ts +43 -0
  93. package/src/__tests__/unifiedAuth.test.ts +18 -3
  94. package/src/auth/magicLink/MagicLinkKeys.ts +12 -6
  95. package/src/auth/magicLink/MagicLinkRouter.ts +2 -2
  96. package/src/auth/magicLink/MagicLinkService.ts +4 -0
  97. package/src/config.ts +14 -0
  98. package/src/context.ts +28 -2
  99. package/src/generated/generated.ts +446 -1
  100. package/src/generic/ResolverBase.ts +5 -2
  101. package/src/generic/RunViewResolver.ts +11 -0
  102. package/src/index.ts +75 -11
  103. package/src/integration/CustomColumnPromoter.ts +123 -6
  104. package/src/integration/EntityMapLifecycle.ts +221 -0
  105. package/src/realtimeProxy/RealtimeProxyServer.ts +70 -1
  106. package/src/realtimeWidget/WidgetRouter.ts +6 -2
  107. package/src/resolvers/AdhocQueryResolver.ts +97 -30
  108. package/src/resolvers/GetDataResolver.ts +30 -1
  109. package/src/resolvers/IntegrationDiscoveryResolver.ts +514 -60
  110. package/src/resolvers/QueryResolver.ts +1 -7
  111. package/src/resolvers/RSUResolver.ts +28 -0
  112. package/src/resolvers/RunAIAgentResolver.ts +74 -70
  113. package/src/resolvers/TransactionGroupResolver.ts +36 -2
  114. package/src/resolvers/__tests__/GetDataResolver.tokens.test.ts +138 -0
  115. package/src/resolvers/adhoc-query-helpers.ts +50 -0
  116. package/src/rest/OAuthCallbackHandler.ts +22 -4
  117. package/src/telephony/media-upgrade-router.ts +18 -1
@@ -22,7 +22,7 @@
22
22
  * values into the new columns are M3 — this stage applies the schema only (SkipRestart).
23
23
  */
24
24
  import { LogError, LogStatus, LogStatusEx, Metadata, RunView, } from '@memberjunction/core';
25
- import { IntegrationEngine, CUSTOM_OVERFLOW_COLUMN, CONTENT_HASH_COLUMN, computeContentHash, buildOverflowStats, planPromotions, sanitizeColumnName, } from '@memberjunction/integration-engine';
25
+ import { IntegrationEngine, CUSTOM_OVERFLOW_COLUMN, CONTENT_HASH_COLUMN, computeContentHash, buildOverflowStats, planPromotions, sanitizeColumnName, inferColumnTypeFromStats, } from '@memberjunction/integration-engine';
26
26
  import { DDLGenerator } from '@memberjunction/integration-schema-builder';
27
27
  import { RuntimeSchemaManager } from '@memberjunction/schema-engine';
28
28
  /** Max rows sampled from the overflow column to compute coverage + infer types (bounded memory). */
@@ -38,6 +38,14 @@ export function registerIntegrationCustomColumnPromoter() {
38
38
  IntegrationEngine.Instance.SetPostSyncSchemaPromotionCallback(async (ctx) => {
39
39
  const user = ctx.ContextUser;
40
40
  const provider = ctx.Provider;
41
+ const promoter = new IntegrationCustomColumnPromoter(user, provider);
42
+ // out-of-band candidates: persist the sync's in-memory custom-key statistics
43
+ // (REPLACE semantics per synced entity — vanished keys evict) so on-demand
44
+ // IntegrationListCustomColumnCandidates sees them even when the content-hash fast path
45
+ // skipped every row (the hash basis excludes overflow, so skipped rows never write it).
46
+ // Unconditional — runs whether or not auto-promote is on. PII-safe: names/lengths/types
47
+ // only, never raw values.
48
+ await promoter.PersistCandidateStats(ctx.CompanyIntegrationID, ctx.SyncedEntityNames, ctx.CustomKeyStats);
41
49
  // GATE — promotion runs RSU (ADD COLUMN + register EntityField) + restart, which is disruptive.
42
50
  // It is OPT-IN per connection (DEFAULT OFF): by default a sync only CAPTURES unmapped fields into
43
51
  // the overflow column; the user triggers promotion on demand via IntegrationPromoteCustomColumns
@@ -48,8 +56,7 @@ export function registerIntegrationCustomColumnPromoter() {
48
56
  `the overflow column; awaiting on-demand promotion (IntegrationPromoteCustomColumns).`);
49
57
  return { Promoted: false, ColumnsAdded: [], SchemaUpdatePending: false };
50
58
  }
51
- const promoter = new IntegrationCustomColumnPromoter(user, provider);
52
- return promoter.PromoteForSync(ctx.CompanyIntegrationID, ctx.SyncedEntityNames);
59
+ return promoter.PromoteForSync(ctx.CompanyIntegrationID, ctx.SyncedEntityNames, ctx.CustomKeyStats);
53
60
  });
54
61
  // Verbose-only: this is a boot-time registration confirmation, not operator-actionable at
55
62
  // standard level. Routes through the global verbose gate (set from the server's telemetry.level).
@@ -85,14 +92,14 @@ export class IntegrationCustomColumnPromoter {
85
92
  return this.provider;
86
93
  }
87
94
  /** Entry point: promote custom columns for every entity touched by the sync. */
88
- async PromoteForSync(companyIntegrationID, syncedEntityNames) {
95
+ async PromoteForSync(companyIntegrationID, syncedEntityNames, customKeyStats) {
89
96
  const integrationID = await this.resolveIntegrationID(companyIntegrationID);
90
97
  if (!integrationID)
91
98
  return NOT_PROMOTED;
92
99
  const columnsAdded = [];
93
100
  for (const entityName of syncedEntityNames) {
94
101
  try {
95
- const added = await this.promoteEntity(companyIntegrationID, integrationID, entityName);
102
+ const added = await this.promoteEntity(companyIntegrationID, integrationID, entityName, customKeyStats?.[entityName]);
96
103
  columnsAdded.push(...added);
97
104
  }
98
105
  catch (err) {
@@ -113,8 +120,8 @@ export class IntegrationCustomColumnPromoter {
113
120
  return { Promoted: promoted, ColumnsAdded: columnsAdded, SchemaUpdatePending: promoted };
114
121
  }
115
122
  /** Gate → plan → promote for a single target entity. Returns the columns it added. */
116
- async promoteEntity(companyIntegrationID, integrationID, entityName) {
117
- const planned = await this.planWorkForEntity(companyIntegrationID, entityName);
123
+ async promoteEntity(companyIntegrationID, integrationID, entityName, inRunStats) {
124
+ const planned = await this.planWorkForEntity(companyIntegrationID, entityName, inRunStats);
118
125
  if (!planned || planned.work.length === 0)
119
126
  return []; // no overflow / no entity map / already converged
120
127
  const { entityInfo, entityMap } = planned;
@@ -156,23 +163,35 @@ export class IntegrationCustomColumnPromoter {
156
163
  * Because the work list is computed live (overflow keys minus already-column-and-mapped), re-running is
157
164
  * inherently deduped — a concurrent discovery that already promoted a key yields no work item for it.
158
165
  */
159
- async planWorkForEntity(companyIntegrationID, entityName) {
166
+ async planWorkForEntity(companyIntegrationID, entityName, inRunStats) {
160
167
  const entityInfo = this.provider.EntityByName(entityName);
161
168
  if (!entityInfo?.SchemaName || !entityInfo.BaseTable)
162
169
  return null;
163
170
  // No overflow column on this table (predates the feature) → nothing to promote.
164
171
  if (!entityInfo.Fields.some(f => f.Name === CUSTOM_OVERFLOW_COLUMN))
165
172
  return null;
173
+ // Candidate sources, most-authoritative first (dedup by key):
174
+ // 1. live overflow-column scan (rows that were actually written),
175
+ // 2. THIS run's in-memory stats (rows the content-hash fast path skipped —
176
+ // out-of-band capture; the hash basis excludes overflow so skips never write it),
177
+ // 3. candidates persisted from prior runs (survive restarts for on-demand listing).
166
178
  const overflowJson = await this.scanOverflow(entityName);
167
- if (overflowJson.length === 0)
168
- return null; // no customs captured
169
179
  // U3 note (rkihm-BC review, #3061): this in-repo promotion path passes no `LockUntilFullSync`, so it
170
180
  // does NOT yet enforce "hold promotion until a full sync since the last schema change." The lever
171
181
  // exists on `PromotionPlanOptions`, but pulling it here requires this caller to know whether a full
172
182
  // sync has completed post-rediscovery — DEFERRED and tracked as a follow-up. The engine ships the
173
183
  // gate; wiring MJServer's own consumer to set it is a separate change. Until then, this path retains
174
184
  // the pre-U3 behavior for a rediscover-then-incremental sequence.
175
- const passing = planPromotions(buildOverflowStats(overflowJson), {});
185
+ const byKey = new Map();
186
+ for (const c of planPromotions(buildOverflowStats(overflowJson), {}))
187
+ byKey.set(c.Key, c);
188
+ for (const c of this.candidatesFromStats(inRunStats))
189
+ if (!byKey.has(c.Key))
190
+ byKey.set(c.Key, c);
191
+ for (const c of await this.loadPersistedCandidates(companyIntegrationID, entityName))
192
+ if (!byKey.has(c.Key))
193
+ byKey.set(c.Key, c);
194
+ const passing = [...byKey.values()];
176
195
  if (passing.length === 0)
177
196
  return null;
178
197
  const entityMap = await this.findEntityMap(companyIntegrationID, entityName);
@@ -202,6 +221,89 @@ export class IntegrationCustomColumnPromoter {
202
221
  NeedsColumn: w.needsColumn,
203
222
  }));
204
223
  }
224
+ /** Maps THIS run's in-memory custom-key stats to promotion candidates (out-of-band capture). */
225
+ candidatesFromStats(stats) {
226
+ if (!stats || stats.length === 0)
227
+ return [];
228
+ return stats
229
+ .filter(s => s.TotalRecords > 0 && s.Occurrences > 0)
230
+ .map(s => ({
231
+ Key: s.Key,
232
+ Coverage: s.Occurrences / s.TotalRecords,
233
+ Inferred: inferColumnTypeFromStats(s.SampleValues, s.MaxLength),
234
+ }));
235
+ }
236
+ /** Loads candidates persisted by {@link PersistCandidateStats} for one entity (empty on any gap). */
237
+ async loadPersistedCandidates(companyIntegrationID, entityName) {
238
+ try {
239
+ const ci = await this.provider.GetEntityObject('MJ: Company Integrations', this.user);
240
+ if (!(await ci.Load(companyIntegrationID)) || !ci.Configuration)
241
+ return [];
242
+ const cfg = JSON.parse(ci.Configuration);
243
+ const persisted = cfg.customKeyCandidates?.[entityName];
244
+ if (!Array.isArray(persisted))
245
+ return [];
246
+ return persisted
247
+ .filter(p => p && typeof p.Key === 'string' && p.TotalRecords > 0)
248
+ .map(p => ({ Key: p.Key, Coverage: p.Occurrences / p.TotalRecords, Inferred: p.Inferred }));
249
+ }
250
+ catch {
251
+ return [];
252
+ }
253
+ }
254
+ /**
255
+ * Persists the sync's custom-key statistics onto CompanyIntegration.Configuration
256
+ * (`customKeyCandidates`, keyed by entity name) with REPLACE semantics per SYNCED entity:
257
+ * an entity synced with stats gets exactly this run's key set (vanished keys evict); an
258
+ * entity synced with NO custom keys has its entry removed. Unsynced entities keep theirs.
259
+ * PII-safe — key names, counts, lengths and inferred types only, never raw values. Caps
260
+ * the stored set per entity so a pathological source can't bloat the config row.
261
+ */
262
+ async PersistCandidateStats(companyIntegrationID, syncedEntityNames, statsByEntity) {
263
+ const MAX_PERSISTED_KEYS_PER_ENTITY = 200;
264
+ try {
265
+ const ci = await this.provider.GetEntityObject('MJ: Company Integrations', this.user);
266
+ if (!(await ci.Load(companyIntegrationID)))
267
+ return;
268
+ const cfg = (ci.Configuration ? JSON.parse(ci.Configuration) : {});
269
+ const candidates = { ...(cfg.customKeyCandidates ?? {}) };
270
+ let changed = false;
271
+ for (const entityName of syncedEntityNames) {
272
+ const stats = statsByEntity?.[entityName];
273
+ if (stats && stats.length > 0) {
274
+ candidates[entityName] = stats
275
+ .filter(s => s.TotalRecords > 0 && s.Occurrences > 0)
276
+ .slice(0, MAX_PERSISTED_KEYS_PER_ENTITY)
277
+ .map(s => ({
278
+ Key: s.Key,
279
+ Occurrences: s.Occurrences,
280
+ TotalRecords: s.TotalRecords,
281
+ MaxLength: s.MaxLength,
282
+ Inferred: inferColumnTypeFromStats(s.SampleValues, s.MaxLength),
283
+ }));
284
+ changed = true;
285
+ }
286
+ else if (candidates[entityName]) {
287
+ delete candidates[entityName]; // synced clean → evict stale candidates
288
+ changed = true;
289
+ }
290
+ }
291
+ if (!changed)
292
+ return;
293
+ if (Object.keys(candidates).length > 0)
294
+ cfg.customKeyCandidates = candidates;
295
+ else
296
+ delete cfg.customKeyCandidates;
297
+ ci.Configuration = JSON.stringify(cfg);
298
+ if (!await ci.Save()) {
299
+ LogError(`[CustomColumnPromoter] Failed to persist custom-key candidates for CI ${companyIntegrationID}: ${ci.LatestResult?.CompleteMessage ?? 'unknown error'}`);
300
+ }
301
+ }
302
+ catch (err) {
303
+ // Best-effort — candidate persistence must never fail the sync.
304
+ LogError(`[CustomColumnPromoter] PersistCandidateStats failed for CI ${companyIntegrationID}: ${this.msg(err)}`);
305
+ }
306
+ }
205
307
  /** Samples the overflow column (rows where it is non-null) — dialect-agnostic via RunView. */
206
308
  async scanOverflow(entityName) {
207
309
  const rv = new RunView();
@@ -1 +1 @@
1
- {"version":3,"file":"CustomColumnPromoter.js","sourceRoot":"","sources":["../../src/integration/CustomColumnPromoter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomColumnPromoter.js","sourceRoot":"","sources":["../../src/integration/CustomColumnPromoter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @fileoverview Entity-map / field-map lifecycle helpers shared by the ApplyAll selection
3
+ * path, the post-restart RSU pending-work consumer, and the schema-evolution refresh diff
4
+ * Selection removal DISABLES (never deletes — data is kept), re-selection
5
+ * re-enables, and a refresh's new objects arrive disabled-by-default.
6
+ */
7
+ import { IMetadataProvider, UserInfo } from '@memberjunction/core';
8
+ /**
9
+ * Remove-as-disable: entity maps for this CompanyIntegration whose
10
+ * ExternalObjectName is NOT in the selected set are set `Status='Inactive'` +
11
+ * `SyncEnabled=false`, and their Active field maps are disabled with them. Data and
12
+ * tables are KEPT — a later re-selection re-enables everything (see
13
+ * {@link ReenableFieldMapsForEntityMap} + the ApplyAll create-or-reuse path).
14
+ *
15
+ * @returns the ExternalObjectNames actually disabled this call.
16
+ */
17
+ export declare function DisableUnselectedEntityMaps(companyIntegrationID: string, selectedExternalObjectNames: string[], contextUser: UserInfo, md: IMetadataProvider): Promise<string[]>;
18
+ /**
19
+ * Sets one entity map's enabled state (Status + SyncEnabled) and cascades the same status to
20
+ * its field maps. Used by the schema-evolution diff: NEW objects arrive
21
+ * `enabled=false` by default (the user turns them on after the refresh; autoEnableNewObjects
22
+ * opts into enabled=true).
23
+ */
24
+ export declare function SetEntityMapEnabled(entityMapID: string, enabled: boolean, contextUser: UserInfo, md: IMetadataProvider): Promise<boolean>;
25
+ /**
26
+ * Re-add re-enables: flips every non-Active field map of an entity map back to
27
+ * Active. Called when a previously-removed (disabled) object is re-selected — the entity
28
+ * map itself is re-activated by the caller's create-or-reuse; this brings its field maps
29
+ * back with it.
30
+ */
31
+ export declare function ReenableFieldMapsForEntityMap(entityMapID: string, contextUser: UserInfo, md: IMetadataProvider): Promise<number>;
32
+ /**
33
+ * DAG-aware removal advisory (rsuplan "adding and removing tables"): when a removal
34
+ * disables object X but a STILL-ACTIVE object depends on X (hard-FK or soft-FK parent edge —
35
+ * the same edges the sync engine layers by), the dependents are NOT auto-removed; instead each
36
+ * broken dependency is surfaced as a warning so a consumer can prompt the user to force-remove
37
+ * (or re-add) them. Pure + deterministic for unit testing: callers supply the parent map.
38
+ *
39
+ * @param activeObjectNames objects remaining active after the removal
40
+ * @param removedObjectNames objects being removed/disabled this pass
41
+ * @param parentsByLowerName object name (lowercased) → its parent object names (the DAG edges)
42
+ * @returns one warning per active object that depends on ≥1 removed object
43
+ */
44
+ export declare function ComputeRemovedDependencyWarnings(activeObjectNames: string[], removedObjectNames: string[], parentsByLowerName: Map<string, string[]>): string[];
45
+ /**
46
+ * DAG-aware FORCE-REMOVE (rsuplan "adding and removing tables": "a consumer may want the user
47
+ * to force remove those too"): computes the TRANSITIVE closure of still-active objects that
48
+ * depend — directly or through other dependents — on a removed object. Callers opting into
49
+ * cascade removal disable this set alongside the removed objects (still remove-as-disable,
50
+ * never delete; a re-add re-enables). Pure + deterministic for unit testing.
51
+ *
52
+ * @param activeObjectNames objects remaining active after the (non-cascaded) removal
53
+ * @param removedObjectNames objects being removed/disabled this pass
54
+ * @param parentsByLowerName object name (lowercased) → its parent object names (the DAG edges)
55
+ * @returns the active objects to cascade-disable, in dependency-discovery order
56
+ */
57
+ export declare function ComputeCascadeRemovalSet(activeObjectNames: string[], removedObjectNames: string[], parentsByLowerName: Map<string, string[]>): string[];
58
+ /**
59
+ * U10 schema-change: resets the PULL watermark for the given entity maps so the
60
+ * next sync ignores the incremental cursor, re-fetches the full object, and BACKFILLS rows
61
+ * for newly-added columns (content-hash keeps genuinely-unchanged mapped values write-free
62
+ * only when the mapped set is unchanged — a schema change alters the mapped set, so changed
63
+ * rows rewrite exactly once). Nulling the value (not deleting the row) keeps bookkeeping.
64
+ */
65
+ export declare function ResetPullWatermarks(entityMapIDs: string[], contextUser: UserInfo, md: IMetadataProvider): Promise<string[]>;
66
+ //# sourceMappingURL=EntityMapLifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityMapLifecycle.d.ts","sourceRoot":"","sources":["../../src/integration/EntityMapLifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAgB,iBAAiB,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAOpG;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC7C,oBAAoB,EAAE,MAAM,EAC5B,2BAA2B,EAAE,MAAM,EAAE,EACrC,WAAW,EAAE,QAAQ,EACrB,EAAE,EAAE,iBAAiB,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CA0BnB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,QAAQ,EACrB,EAAE,EAAE,iBAAiB,GACtB,OAAO,CAAC,OAAO,CAAC,CAWlB;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAC/C,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,QAAQ,EACrB,EAAE,EAAE,iBAAiB,GACtB,OAAO,CAAC,MAAM,CAAC,CAEjB;AA0BD;;;;;;;;;;;GAWG;AACH,wBAAgB,gCAAgC,CAC5C,iBAAiB,EAAE,MAAM,EAAE,EAC3B,kBAAkB,EAAE,MAAM,EAAE,EAC5B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC1C,MAAM,EAAE,CAeV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACpC,iBAAiB,EAAE,MAAM,EAAE,EAC3B,kBAAkB,EAAE,MAAM,EAAE,EAC5B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAC1C,MAAM,EAAE,CAmBV;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACrC,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,QAAQ,EACrB,EAAE,EAAE,iBAAiB,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CAsBnB"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * @fileoverview Entity-map / field-map lifecycle helpers shared by the ApplyAll selection
3
+ * path, the post-restart RSU pending-work consumer, and the schema-evolution refresh diff
4
+ * Selection removal DISABLES (never deletes — data is kept), re-selection
5
+ * re-enables, and a refresh's new objects arrive disabled-by-default.
6
+ */
7
+ import { CompositeKey, LogError, RunView } from '@memberjunction/core';
8
+ /**
9
+ * Remove-as-disable: entity maps for this CompanyIntegration whose
10
+ * ExternalObjectName is NOT in the selected set are set `Status='Inactive'` +
11
+ * `SyncEnabled=false`, and their Active field maps are disabled with them. Data and
12
+ * tables are KEPT — a later re-selection re-enables everything (see
13
+ * {@link ReenableFieldMapsForEntityMap} + the ApplyAll create-or-reuse path).
14
+ *
15
+ * @returns the ExternalObjectNames actually disabled this call.
16
+ */
17
+ export async function DisableUnselectedEntityMaps(companyIntegrationID, selectedExternalObjectNames, contextUser, md) {
18
+ const selected = new Set(selectedExternalObjectNames.map(n => n.toLowerCase()));
19
+ const disabled = [];
20
+ const maps = await new RunView().RunView({
21
+ EntityName: 'MJ: Company Integration Entity Maps',
22
+ ExtraFilter: `CompanyIntegrationID='${companyIntegrationID.replace(/'/g, "''")}'`,
23
+ ResultType: 'entity_object',
24
+ BypassCache: true, // lifecycle decisions must read committed state
25
+ }, contextUser);
26
+ if (!maps.Success)
27
+ return disabled;
28
+ for (const em of maps.Results) {
29
+ const name = (em.ExternalObjectName ?? '').toLowerCase();
30
+ if (!name || selected.has(name))
31
+ continue;
32
+ if (em.Status === 'Inactive' && em.SyncEnabled === false)
33
+ continue; // already off
34
+ em.Status = 'Inactive';
35
+ em.SyncEnabled = false;
36
+ if (!await em.Save()) {
37
+ LogError(`[EntityMapLifecycle] Failed to disable entity map for '${em.ExternalObjectName}': ${em.LatestResult?.CompleteMessage ?? 'unknown error'}`);
38
+ continue;
39
+ }
40
+ await SetFieldMapsStatus(em.ID, 'Inactive', contextUser, md);
41
+ disabled.push(em.ExternalObjectName ?? em.ID);
42
+ }
43
+ return disabled;
44
+ }
45
+ /**
46
+ * Sets one entity map's enabled state (Status + SyncEnabled) and cascades the same status to
47
+ * its field maps. Used by the schema-evolution diff: NEW objects arrive
48
+ * `enabled=false` by default (the user turns them on after the refresh; autoEnableNewObjects
49
+ * opts into enabled=true).
50
+ */
51
+ export async function SetEntityMapEnabled(entityMapID, enabled, contextUser, md) {
52
+ const em = await md.GetEntityObject('MJ: Company Integration Entity Maps', contextUser);
53
+ if (!await em.InnerLoad(CompositeKey.FromID(entityMapID)))
54
+ return false;
55
+ em.Status = enabled ? 'Active' : 'Inactive';
56
+ em.SyncEnabled = enabled;
57
+ if (!await em.Save()) {
58
+ LogError(`[EntityMapLifecycle] Failed to set entity map ${entityMapID} enabled=${enabled}: ${em.LatestResult?.CompleteMessage ?? 'unknown error'}`);
59
+ return false;
60
+ }
61
+ await SetFieldMapsStatus(entityMapID, enabled ? 'Active' : 'Inactive', contextUser, md);
62
+ return true;
63
+ }
64
+ /**
65
+ * Re-add re-enables: flips every non-Active field map of an entity map back to
66
+ * Active. Called when a previously-removed (disabled) object is re-selected — the entity
67
+ * map itself is re-activated by the caller's create-or-reuse; this brings its field maps
68
+ * back with it.
69
+ */
70
+ export async function ReenableFieldMapsForEntityMap(entityMapID, contextUser, md) {
71
+ return SetFieldMapsStatus(entityMapID, 'Active', contextUser, md);
72
+ }
73
+ /** Sets every field map of an entity map to the given status (skips rows already there). */
74
+ async function SetFieldMapsStatus(entityMapID, status, contextUser, md) {
75
+ const fms = await new RunView().RunView({
76
+ EntityName: 'MJ: Company Integration Field Maps',
77
+ ExtraFilter: `EntityMapID='${entityMapID.replace(/'/g, "''")}'`,
78
+ ResultType: 'entity_object',
79
+ BypassCache: true,
80
+ }, contextUser);
81
+ if (!fms.Success)
82
+ return 0;
83
+ let changed = 0;
84
+ for (const fm of fms.Results) {
85
+ if (fm.Status === status)
86
+ continue;
87
+ fm.Status = status;
88
+ if (await fm.Save())
89
+ changed++;
90
+ else
91
+ LogError(`[EntityMapLifecycle] Failed to set field map '${fm.SourceFieldName}' to ${status}: ${fm.LatestResult?.CompleteMessage ?? 'unknown error'}`);
92
+ }
93
+ return changed;
94
+ }
95
+ /**
96
+ * DAG-aware removal advisory (rsuplan "adding and removing tables"): when a removal
97
+ * disables object X but a STILL-ACTIVE object depends on X (hard-FK or soft-FK parent edge —
98
+ * the same edges the sync engine layers by), the dependents are NOT auto-removed; instead each
99
+ * broken dependency is surfaced as a warning so a consumer can prompt the user to force-remove
100
+ * (or re-add) them. Pure + deterministic for unit testing: callers supply the parent map.
101
+ *
102
+ * @param activeObjectNames objects remaining active after the removal
103
+ * @param removedObjectNames objects being removed/disabled this pass
104
+ * @param parentsByLowerName object name (lowercased) → its parent object names (the DAG edges)
105
+ * @returns one warning per active object that depends on ≥1 removed object
106
+ */
107
+ export function ComputeRemovedDependencyWarnings(activeObjectNames, removedObjectNames, parentsByLowerName) {
108
+ if (removedObjectNames.length === 0 || activeObjectNames.length === 0)
109
+ return [];
110
+ const removedLower = new Set(removedObjectNames.map(n => n.toLowerCase()));
111
+ const warnings = [];
112
+ for (const name of activeObjectNames) {
113
+ const parents = parentsByLowerName.get(name.toLowerCase()) ?? [];
114
+ const cut = parents.filter(p => removedLower.has(p.toLowerCase()));
115
+ if (cut.length > 0) {
116
+ warnings.push(`Object '${name}' remains active but depends on removed object(s) ${cut.map(c => `'${c}'`).join(', ')} — ` +
117
+ `its parent references cannot resolve until they return; review whether '${name}' should be removed too (force-remove) or the parent re-added.`);
118
+ }
119
+ }
120
+ return warnings;
121
+ }
122
+ /**
123
+ * DAG-aware FORCE-REMOVE (rsuplan "adding and removing tables": "a consumer may want the user
124
+ * to force remove those too"): computes the TRANSITIVE closure of still-active objects that
125
+ * depend — directly or through other dependents — on a removed object. Callers opting into
126
+ * cascade removal disable this set alongside the removed objects (still remove-as-disable,
127
+ * never delete; a re-add re-enables). Pure + deterministic for unit testing.
128
+ *
129
+ * @param activeObjectNames objects remaining active after the (non-cascaded) removal
130
+ * @param removedObjectNames objects being removed/disabled this pass
131
+ * @param parentsByLowerName object name (lowercased) → its parent object names (the DAG edges)
132
+ * @returns the active objects to cascade-disable, in dependency-discovery order
133
+ */
134
+ export function ComputeCascadeRemovalSet(activeObjectNames, removedObjectNames, parentsByLowerName) {
135
+ if (removedObjectNames.length === 0 || activeObjectNames.length === 0)
136
+ return [];
137
+ const gone = new Set(removedObjectNames.map(n => n.toLowerCase()));
138
+ const cascade = [];
139
+ let grew = true;
140
+ while (grew) {
141
+ grew = false;
142
+ for (const name of activeObjectNames) {
143
+ const lower = name.toLowerCase();
144
+ if (gone.has(lower))
145
+ continue; // already removed or already cascaded
146
+ const parents = parentsByLowerName.get(lower) ?? [];
147
+ if (parents.some(p => gone.has(p.toLowerCase()))) {
148
+ gone.add(lower);
149
+ cascade.push(name);
150
+ grew = true;
151
+ }
152
+ }
153
+ }
154
+ return cascade;
155
+ }
156
+ /**
157
+ * U10 schema-change: resets the PULL watermark for the given entity maps so the
158
+ * next sync ignores the incremental cursor, re-fetches the full object, and BACKFILLS rows
159
+ * for newly-added columns (content-hash keeps genuinely-unchanged mapped values write-free
160
+ * only when the mapped set is unchanged — a schema change alters the mapped set, so changed
161
+ * rows rewrite exactly once). Nulling the value (not deleting the row) keeps bookkeeping.
162
+ */
163
+ export async function ResetPullWatermarks(entityMapIDs, contextUser, md) {
164
+ const reset = [];
165
+ if (entityMapIDs.length === 0)
166
+ return reset;
167
+ const inList = entityMapIDs.map(id => `'${id.replace(/'/g, "''")}'`).join(',');
168
+ const wms = await new RunView().RunView({
169
+ EntityName: 'MJ: Company Integration Sync Watermarks',
170
+ ExtraFilter: `EntityMapID IN (${inList}) AND Direction='Pull'`,
171
+ Fields: ['ID', 'EntityMapID'],
172
+ ResultType: 'simple',
173
+ BypassCache: true,
174
+ }, contextUser);
175
+ if (!wms.Success)
176
+ return reset;
177
+ for (const row of wms.Results) {
178
+ const wm = await md.GetEntityObject('MJ: Company Integration Sync Watermarks', contextUser);
179
+ if (!await wm.InnerLoad(CompositeKey.FromID(row.ID)))
180
+ continue;
181
+ wm.WatermarkValue = null;
182
+ if (await wm.Save())
183
+ reset.push(row.EntityMapID);
184
+ else
185
+ LogError(`[EntityMapLifecycle] Failed to reset watermark for entity map ${row.EntityMapID}: ${wm.LatestResult?.CompleteMessage ?? 'unknown error'}`);
186
+ }
187
+ return reset;
188
+ }
189
+ //# sourceMappingURL=EntityMapLifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityMapLifecycle.js","sourceRoot":"","sources":["../../src/integration/EntityMapLifecycle.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,16 @@ export declare class RealtimeProxyServer extends BaseSingleton<RealtimeProxyServ
34
34
  * socket for the GraphQL websocket server's own upgrade listener. NEVER destroys a socket it doesn't own.
35
35
  */
36
36
  TryHandleUpgrade(request: IncomingMessage, socket: Duplex, head: Buffer): boolean;
37
+ /**
38
+ * Evaluates the optional Origin allowlist. Comparison is exact on the normalized origin
39
+ * (scheme://host[:port], lowercased, no trailing slash). An upgrade WITHOUT an Origin header
40
+ * (non-browser client, e.g. a native app or test rig) passes — the allowlist targets
41
+ * cross-origin BROWSER pages, which always send the header.
42
+ *
43
+ * @param origin The upgrade request's Origin header, if any.
44
+ * @returns True when allowed (or no allowlist is configured).
45
+ */
46
+ private static originAllowed;
37
47
  /** Opens the upstream leg and wires a bidirectional pump between the browser socket and it. */
38
48
  private openTunnel;
39
49
  /** Registers for graceful-shutdown draining exactly once (lazily, on first real use). */
@@ -1 +1 @@
1
- {"version":3,"file":"RealtimeProxyServer.d.ts","sourceRoot":"","sources":["../../src/realtimeProxy/RealtimeProxyServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAoB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG7F;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,mBAAmB,CAAE,YAAW,aAAa;IAChG,SAAgB,YAAY,yBAAyB;IAErD,+GAA+G;IAC/G,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA2C;IAE/D,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,OAAO,CAAC,UAAU,CAAS;IAE3B,SAAS;IAIT,uCAAuC;IACvC,WAAkB,QAAQ,IAAI,mBAAmB,CAEhD;IAED;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAgBxF,+FAA+F;IAC/F,OAAO,CAAC,UAAU;IAMlB,yFAAyF;IACzF,OAAO,CAAC,gBAAgB;IAOxB,+EAA+E;IACxE,QAAQ,IAAI,IAAI;IAYvB,yFAAyF;IACzF,OAAO,CAAC,MAAM,CAAC,QAAQ;IAWvB,kGAAkG;IAClG,OAAO,CAAC,MAAM,CAAC,aAAa;CAQ/B"}
1
+ {"version":3,"file":"RealtimeProxyServer.d.ts","sourceRoot":"","sources":["../../src/realtimeProxy/RealtimeProxyServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAoB,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG7F;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,mBAAmB,CAAE,YAAW,aAAa;IAChG,SAAgB,YAAY,yBAAyB;IAErD,+GAA+G;IAC/G,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA2C;IAE/D,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAE1D,OAAO,CAAC,UAAU,CAAS;IAE3B,SAAS;IAIT,uCAAuC;IACvC,WAAkB,QAAQ,IAAI,mBAAmB,CAEhD;IAED;;;;OAIG;IACI,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAuBxF;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAa5B,+FAA+F;IAC/F,OAAO,CAAC,UAAU;IAMlB,yFAAyF;IACzF,OAAO,CAAC,gBAAgB;IAOxB,+EAA+E;IACxE,QAAQ,IAAI,IAAI;IAYvB,yFAAyF;IACzF,OAAO,CAAC,MAAM,CAAC,QAAQ;IAWvB,kGAAkG;IAClG,OAAO,CAAC,MAAM,CAAC,aAAa;CAQ/B"}