@memberjunction/server 5.48.0 → 5.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/auth/magicLink/MagicLinkKeys.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkKeys.js +11 -4
- package/dist/auth/magicLink/MagicLinkKeys.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkRouter.js +2 -2
- package/dist/auth/magicLink/MagicLinkRouter.js.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.d.ts.map +1 -1
- package/dist/auth/magicLink/MagicLinkService.js +4 -0
- package/dist/auth/magicLink/MagicLinkService.js.map +1 -1
- package/dist/auth/newUsers.d.ts.map +1 -1
- package/dist/auth/newUsers.js +6 -4
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/config.d.ts +40 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +12 -0
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +28 -2
- package/dist/context.js.map +1 -1
- package/dist/generated/generated.d.ts +373 -6
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +1975 -39
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js +4 -2
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.d.ts +1 -0
- package/dist/generic/RunViewResolver.d.ts.map +1 -1
- package/dist/generic/RunViewResolver.js +12 -0
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +73 -11
- package/dist/index.js.map +1 -1
- package/dist/integration/CustomColumnPromoter.d.ts +15 -2
- package/dist/integration/CustomColumnPromoter.d.ts.map +1 -1
- package/dist/integration/CustomColumnPromoter.js +113 -11
- package/dist/integration/CustomColumnPromoter.js.map +1 -1
- package/dist/integration/EntityMapLifecycle.d.ts +66 -0
- package/dist/integration/EntityMapLifecycle.d.ts.map +1 -0
- package/dist/integration/EntityMapLifecycle.js +189 -0
- package/dist/integration/EntityMapLifecycle.js.map +1 -0
- package/dist/realtimeProxy/RealtimeProxyServer.d.ts +10 -0
- package/dist/realtimeProxy/RealtimeProxyServer.d.ts.map +1 -1
- package/dist/realtimeProxy/RealtimeProxyServer.js +67 -1
- package/dist/realtimeProxy/RealtimeProxyServer.js.map +1 -1
- package/dist/realtimeWidget/WidgetRouter.d.ts.map +1 -1
- package/dist/realtimeWidget/WidgetRouter.js +6 -2
- package/dist/realtimeWidget/WidgetRouter.js.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.d.ts +12 -1
- package/dist/realtimeWidget/WidgetSessionService.d.ts.map +1 -1
- package/dist/realtimeWidget/WidgetSessionService.js +23 -8
- package/dist/realtimeWidget/WidgetSessionService.js.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.d.ts +17 -0
- package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.js +81 -25
- package/dist/resolvers/AdhocQueryResolver.js.map +1 -1
- package/dist/resolvers/GetDataResolver.d.ts +16 -0
- package/dist/resolvers/GetDataResolver.d.ts.map +1 -1
- package/dist/resolvers/GetDataResolver.js +26 -1
- package/dist/resolvers/GetDataResolver.js.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts +53 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
- package/dist/resolvers/IntegrationDiscoveryResolver.js +531 -64
- package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
- package/dist/resolvers/QueryResolver.d.ts.map +1 -1
- package/dist/resolvers/QueryResolver.js +0 -6
- package/dist/resolvers/QueryResolver.js.map +1 -1
- package/dist/resolvers/RSUResolver.d.ts +10 -0
- package/dist/resolvers/RSUResolver.d.ts.map +1 -1
- package/dist/resolvers/RSUResolver.js +28 -0
- package/dist/resolvers/RSUResolver.js.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.d.ts +9 -6
- package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIAgentResolver.js +135 -132
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.d.ts +8 -1
- package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
- package/dist/resolvers/TransactionGroupResolver.js +29 -1
- package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
- package/dist/resolvers/adhoc-query-helpers.d.ts +27 -0
- package/dist/resolvers/adhoc-query-helpers.d.ts.map +1 -0
- package/dist/resolvers/adhoc-query-helpers.js +42 -0
- package/dist/resolvers/adhoc-query-helpers.js.map +1 -0
- package/dist/rest/OAuthCallbackHandler.d.ts +9 -0
- package/dist/rest/OAuthCallbackHandler.d.ts.map +1 -1
- package/dist/rest/OAuthCallbackHandler.js +21 -4
- package/dist/rest/OAuthCallbackHandler.js.map +1 -1
- package/dist/telephony/media-upgrade-router.d.ts +14 -0
- package/dist/telephony/media-upgrade-router.d.ts.map +1 -1
- package/dist/telephony/media-upgrade-router.js +17 -1
- package/dist/telephony/media-upgrade-router.js.map +1 -1
- package/package.json +91 -89
- package/src/__tests__/AdhocQueryResolver.pagination.test.ts +114 -0
- package/src/__tests__/EntityMapLifecycle.dagWarnings.test.ts +91 -0
- package/src/__tests__/OAuthCallbackHandler.xss.test.ts +83 -0
- package/src/__tests__/RealtimeProxyServer.test.ts +53 -1
- package/src/__tests__/WidgetSessionService.test.ts +96 -0
- package/src/__tests__/adhoc-query-helpers.test.ts +50 -0
- package/src/__tests__/magicLinkService.provisionLog.test.ts +106 -0
- package/src/__tests__/media-upgrade-router.test.ts +43 -0
- package/src/__tests__/unifiedAuth.test.ts +18 -3
- package/src/auth/magicLink/MagicLinkKeys.ts +12 -6
- package/src/auth/magicLink/MagicLinkRouter.ts +2 -2
- package/src/auth/magicLink/MagicLinkService.ts +4 -0
- package/src/auth/newUsers.ts +6 -5
- package/src/config.ts +14 -0
- package/src/context.ts +28 -2
- package/src/generated/generated.ts +1385 -28
- package/src/generic/ResolverBase.ts +5 -2
- package/src/generic/RunViewResolver.ts +11 -0
- package/src/index.ts +75 -11
- package/src/integration/CustomColumnPromoter.ts +123 -6
- package/src/integration/EntityMapLifecycle.ts +221 -0
- package/src/realtimeProxy/RealtimeProxyServer.ts +70 -1
- package/src/realtimeWidget/WidgetRouter.ts +6 -2
- package/src/realtimeWidget/WidgetSessionService.ts +24 -8
- package/src/resolvers/AdhocQueryResolver.ts +97 -30
- package/src/resolvers/GetDataResolver.ts +30 -1
- package/src/resolvers/IntegrationDiscoveryResolver.ts +523 -64
- package/src/resolvers/QueryResolver.ts +1 -7
- package/src/resolvers/RSUResolver.ts +28 -0
- package/src/resolvers/RunAIAgentResolver.ts +74 -70
- package/src/resolvers/TransactionGroupResolver.ts +36 -2
- package/src/resolvers/__tests__/GetDataResolver.tokens.test.ts +138 -0
- package/src/resolvers/adhoc-query-helpers.ts +50 -0
- package/src/rest/OAuthCallbackHandler.ts +22 -4
- 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
|
-
|
|
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
|
|
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;
|
|
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"}
|