@memberjunction/core-entities-server 6.2.0-edge.4 → 6.2.0-edge.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/custom/MJAIAgentSessionEntityServer.server.d.ts +9 -3
- package/dist/custom/MJAIAgentSessionEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJAIAgentSessionEntityServer.server.js +21 -6
- package/dist/custom/MJAIAgentSessionEntityServer.server.js.map +1 -1
- package/dist/custom/MJComponentEntityServer.server.d.ts +9 -0
- package/dist/custom/MJComponentEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJComponentEntityServer.server.js +25 -1
- package/dist/custom/MJComponentEntityServer.server.js.map +1 -1
- package/dist/custom/MJConversationEntityServer.server.d.ts +13 -0
- package/dist/custom/MJConversationEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJConversationEntityServer.server.js +33 -0
- package/dist/custom/MJConversationEntityServer.server.js.map +1 -0
- package/dist/custom/MJDashboardEntityServer.server.d.ts +14 -0
- package/dist/custom/MJDashboardEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJDashboardEntityServer.server.js +38 -0
- package/dist/custom/MJDashboardEntityServer.server.js.map +1 -0
- package/dist/custom/MJDataContextItemEntityServer.server.d.ts +33 -0
- package/dist/custom/MJDataContextItemEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJDataContextItemEntityServer.server.js +84 -0
- package/dist/custom/MJDataContextItemEntityServer.server.js.map +1 -0
- package/dist/custom/MJDuplicateRunEntityServer.server.d.ts +34 -2
- package/dist/custom/MJDuplicateRunEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJDuplicateRunEntityServer.server.js +103 -23
- package/dist/custom/MJDuplicateRunEntityServer.server.js.map +1 -1
- package/dist/custom/MJEntityAlternateBaseViewEntityServer.server.d.ts +73 -0
- package/dist/custom/MJEntityAlternateBaseViewEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJEntityAlternateBaseViewEntityServer.server.js +391 -0
- package/dist/custom/MJEntityAlternateBaseViewEntityServer.server.js.map +1 -0
- package/dist/custom/MJEntityFieldPermissionEntityServer.server.d.ts +96 -22
- package/dist/custom/MJEntityFieldPermissionEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJEntityFieldPermissionEntityServer.server.js +239 -55
- package/dist/custom/MJEntityFieldPermissionEntityServer.server.js.map +1 -1
- package/dist/custom/MJFileEntityServer.server.d.ts +45 -0
- package/dist/custom/MJFileEntityServer.server.d.ts.map +1 -0
- package/dist/custom/MJFileEntityServer.server.js +101 -0
- package/dist/custom/MJFileEntityServer.server.js.map +1 -0
- package/dist/custom/MJQueryEntityServer.server.d.ts +13 -1
- package/dist/custom/MJQueryEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJQueryEntityServer.server.js +56 -8
- package/dist/custom/MJQueryEntityServer.server.js.map +1 -1
- package/dist/custom/MJQuerySQLEntityServer.server.js +3 -3
- package/dist/custom/MJQuerySQLEntityServer.server.js.map +1 -1
- package/dist/custom/MJRowLevelSecurityFilterEntityServer.server.d.ts +26 -14
- package/dist/custom/MJRowLevelSecurityFilterEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJRowLevelSecurityFilterEntityServer.server.js +57 -32
- package/dist/custom/MJRowLevelSecurityFilterEntityServer.server.js.map +1 -1
- package/dist/custom/MJUserRoleEntityServer.server.d.ts +74 -7
- package/dist/custom/MJUserRoleEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJUserRoleEntityServer.server.js +206 -20
- package/dist/custom/MJUserRoleEntityServer.server.js.map +1 -1
- package/dist/custom/MJUserRoutineEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJUserRoutineEntityServer.server.js +12 -3
- package/dist/custom/MJUserRoutineEntityServer.server.js.map +1 -1
- package/dist/custom/MJUserViewEntityServer.server.d.ts +43 -1
- package/dist/custom/MJUserViewEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJUserViewEntityServer.server.js +169 -11
- package/dist/custom/MJUserViewEntityServer.server.js.map +1 -1
- package/dist/custom/MJVectorIndexEntityServer.server.d.ts +83 -11
- package/dist/custom/MJVectorIndexEntityServer.server.d.ts.map +1 -1
- package/dist/custom/MJVectorIndexEntityServer.server.js +285 -42
- package/dist/custom/MJVectorIndexEntityServer.server.js.map +1 -1
- package/dist/custom/anonymousOwnershipKeyGuard.d.ts +42 -0
- package/dist/custom/anonymousOwnershipKeyGuard.d.ts.map +1 -0
- package/dist/custom/anonymousOwnershipKeyGuard.js +36 -0
- package/dist/custom/anonymousOwnershipKeyGuard.js.map +1 -0
- package/dist/custom/approvalStamp.d.ts +37 -0
- package/dist/custom/approvalStamp.d.ts.map +1 -0
- package/dist/custom/approvalStamp.js +67 -0
- package/dist/custom/approvalStamp.js.map +1 -0
- package/dist/custom/fieldPermissionAccess.d.ts +31 -0
- package/dist/custom/fieldPermissionAccess.d.ts.map +1 -0
- package/dist/custom/fieldPermissionAccess.js +38 -0
- package/dist/custom/fieldPermissionAccess.js.map +1 -0
- package/dist/custom/fieldPermissionReconciler.d.ts.map +1 -1
- package/dist/custom/fieldPermissionReconciler.js +12 -2
- package/dist/custom/fieldPermissionReconciler.js.map +1 -1
- package/dist/custom/query-extraction/pipeline.d.ts.map +1 -1
- package/dist/custom/query-extraction/pipeline.js +56 -5
- package/dist/custom/query-extraction/pipeline.js.map +1 -1
- package/dist/custom/query-extraction/resolve.d.ts.map +1 -1
- package/dist/custom/query-extraction/resolve.js +25 -7
- package/dist/custom/query-extraction/resolve.js.map +1 -1
- package/dist/custom/query-extraction/sync.d.ts +1 -1
- package/dist/custom/query-extraction/sync.d.ts.map +1 -1
- package/dist/custom/query-extraction/sync.js +84 -21
- package/dist/custom/query-extraction/sync.js.map +1 -1
- package/dist/custom/query-extraction/types.d.ts +7 -0
- package/dist/custom/query-extraction/types.d.ts.map +1 -1
- package/dist/custom/rowFilterValidation.d.ts +47 -2
- package/dist/custom/rowFilterValidation.d.ts.map +1 -1
- package/dist/custom/rowFilterValidation.js +122 -11
- package/dist/custom/rowFilterValidation.js.map +1 -1
- package/dist/custom/systemUserGuardState.d.ts +73 -0
- package/dist/custom/systemUserGuardState.d.ts.map +1 -0
- package/dist/custom/systemUserGuardState.js +161 -0
- package/dist/custom/systemUserGuardState.js.map +1 -0
- package/dist/custom/template-extraction/parser.js +5 -2
- package/dist/custom/template-extraction/parser.js.map +1 -1
- package/dist/custom/template-extraction/pipeline.d.ts +6 -1
- package/dist/custom/template-extraction/pipeline.d.ts.map +1 -1
- package/dist/custom/template-extraction/pipeline.js +15 -6
- package/dist/custom/template-extraction/pipeline.js.map +1 -1
- package/dist/custom/template-extraction/types.d.ts +2 -2
- package/dist/custom/template-extraction/types.d.ts.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/package.json +30 -30
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LogError, RunMaybeSerial } from "@memberjunction/core";
|
|
1
|
+
import { LogError, LogStatus, QUERY_CONTEXT_NAME, RunMaybeSerial } from "@memberjunction/core";
|
|
2
2
|
import { QueryEngine, } from "@memberjunction/core-entities";
|
|
3
|
-
import { UUIDsEqual } from "@memberjunction/global";
|
|
3
|
+
import { IndexByUUID, NormalizeUUID, UUIDsEqual } from "@memberjunction/global";
|
|
4
4
|
// =============================================================================
|
|
5
5
|
// Database sync engine for the query extraction pipeline.
|
|
6
6
|
//
|
|
@@ -72,8 +72,10 @@ function defaultSQLTypesForField(fieldType, platform = 'sqlserver') {
|
|
|
72
72
|
* and maps types to database-supported types.
|
|
73
73
|
*/
|
|
74
74
|
export async function SyncParameters(queryID, extractedParams, contextUser, metadataProvider, runViewProvider, isSaved) {
|
|
75
|
-
// Filter out any parameter named "query" that came from {{query:"..."}} composition tokens
|
|
76
|
-
|
|
75
|
+
// Filter out any parameter named "query" that came from {{query:"..."}} composition tokens, and
|
|
76
|
+
// the reserved Context object: `{{ Context.UserID }}` reads a server-set value, and a parameter
|
|
77
|
+
// named Context would shadow it.
|
|
78
|
+
const filteredParams = extractedParams.filter(p => p.name !== 'query' && !isReservedContextName(p.name));
|
|
77
79
|
try {
|
|
78
80
|
const existingParams = await loadExistingRecords('MJ: Query Parameters', queryID, runViewProvider, contextUser, isSaved);
|
|
79
81
|
const extractedParamNames = filteredParams.map(p => p.name.toLowerCase());
|
|
@@ -105,6 +107,17 @@ export async function SyncParameters(queryID, extractedParams, contextUser, meta
|
|
|
105
107
|
throw e;
|
|
106
108
|
}
|
|
107
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* True for the reserved `Context` object and its members (`Context.UserID`, as the parser reports a
|
|
112
|
+
* template's `{{ Context.UserID }}`). Extraction refuses them as parameters, and logs it.
|
|
113
|
+
*/
|
|
114
|
+
function isReservedContextName(name) {
|
|
115
|
+
if (name !== QUERY_CONTEXT_NAME && !name.startsWith(`${QUERY_CONTEXT_NAME}.`)) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
LogStatus(`Query parameter extraction: '${name}' reads the server-set ${QUERY_CONTEXT_NAME} object; it is not a parameter, and no parameter row is kept for it.`);
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
108
121
|
/**
|
|
109
122
|
* Applies extracted parameter values to a new MJQueryParameterEntity.
|
|
110
123
|
*/
|
|
@@ -299,38 +312,88 @@ function updateFieldIfChanged(existing, extracted, sequence, md) {
|
|
|
299
312
|
}
|
|
300
313
|
return hasChanges;
|
|
301
314
|
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
315
|
+
function queryEntityPairKey(entityID, alternateBaseViewID) {
|
|
316
|
+
return `${NormalizeUUID(entityID ?? '')}|${alternateBaseViewID ? NormalizeUUID(alternateBaseViewID) : ''}`;
|
|
317
|
+
}
|
|
318
|
+
function mapExtractedEntitiesToMetadata(entityMetadata, metadataProvider) {
|
|
319
|
+
const rawMappings = entityMetadata
|
|
320
|
+
.map(extracted => {
|
|
321
|
+
const matchingEntity = metadataProvider.Entities.find(e => e.Name === extracted.name &&
|
|
322
|
+
(e.SchemaName.toLowerCase() === extracted.SchemaName.toLowerCase() ||
|
|
323
|
+
(extracted.AlternateBaseViewID != null &&
|
|
324
|
+
IndexByUUID(e.AlternateBaseViews ?? []).Has(extracted.AlternateBaseViewID))));
|
|
325
|
+
return matchingEntity
|
|
326
|
+
? {
|
|
327
|
+
extracted,
|
|
328
|
+
entityID: matchingEntity.ID,
|
|
329
|
+
entityName: matchingEntity.Name,
|
|
330
|
+
alternateBaseViewID: extracted.AlternateBaseViewID ?? null,
|
|
331
|
+
}
|
|
332
|
+
: null;
|
|
333
|
+
})
|
|
334
|
+
.filter((m) => m !== null);
|
|
335
|
+
const seenPairKeys = new Set();
|
|
336
|
+
return rawMappings.filter(m => {
|
|
337
|
+
const pairKey = queryEntityPairKey(m.entityID, m.alternateBaseViewID);
|
|
338
|
+
if (seenPairKeys.has(pairKey)) {
|
|
339
|
+
return false;
|
|
340
|
+
}
|
|
341
|
+
seenPairKeys.add(pairKey);
|
|
342
|
+
return true;
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
function partitionQueryEntityDiff(entityMappings, existingEntities) {
|
|
346
|
+
const matchedExisting = new Set();
|
|
347
|
+
const matchedMappings = new Set();
|
|
348
|
+
for (const mapping of entityMappings) {
|
|
349
|
+
const mappingKey = queryEntityPairKey(mapping.entityID, mapping.alternateBaseViewID);
|
|
350
|
+
const exact = existingEntities.find(ee => !matchedExisting.has(ee) && queryEntityPairKey(ee.EntityID, ee.AlternateBaseViewID) === mappingKey);
|
|
351
|
+
if (exact) {
|
|
352
|
+
matchedExisting.add(exact);
|
|
353
|
+
matchedMappings.add(mapping);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
const entitiesToUpdate = [];
|
|
357
|
+
for (const mapping of entityMappings) {
|
|
358
|
+
if (matchedMappings.has(mapping))
|
|
359
|
+
continue;
|
|
360
|
+
const normalizedEntityID = NormalizeUUID(mapping.entityID);
|
|
361
|
+
const sameEntityRecord = existingEntities.find(ee => !matchedExisting.has(ee) && NormalizeUUID(ee.EntityID) === normalizedEntityID);
|
|
362
|
+
if (sameEntityRecord) {
|
|
363
|
+
matchedExisting.add(sameEntityRecord);
|
|
364
|
+
matchedMappings.add(mapping);
|
|
365
|
+
entitiesToUpdate.push({ record: sameEntityRecord, alternateBaseViewID: mapping.alternateBaseViewID });
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
return {
|
|
369
|
+
entitiesToAdd: entityMappings.filter(m => !matchedMappings.has(m)),
|
|
370
|
+
entitiesToUpdate,
|
|
371
|
+
entitiesToRemove: existingEntities.filter(ee => !matchedExisting.has(ee)),
|
|
372
|
+
};
|
|
373
|
+
}
|
|
305
374
|
/**
|
|
306
375
|
* Synchronizes extracted entity metadata entries with QueryEntity records in the database.
|
|
307
|
-
* Matches by
|
|
376
|
+
* Matches by `(EntityID, AlternateBaseViewID)`, handling add, update, and remove.
|
|
308
377
|
*/
|
|
309
378
|
export async function SyncEntities(queryID, entityMetadata, contextUser, metadataProvider, runViewProvider, isSaved) {
|
|
310
379
|
try {
|
|
311
380
|
const existingEntities = await loadExistingRecords('MJ: Query Entities', queryID, runViewProvider, contextUser, isSaved);
|
|
312
|
-
|
|
313
|
-
const
|
|
314
|
-
.map(extracted => {
|
|
315
|
-
const matchingEntity = metadataProvider.Entities.find(e => e.Name === extracted.name &&
|
|
316
|
-
e.SchemaName.toLowerCase() === extracted.SchemaName.toLowerCase());
|
|
317
|
-
if (matchingEntity) {
|
|
318
|
-
return { extracted, entityID: matchingEntity.ID, entityName: matchingEntity.Name };
|
|
319
|
-
}
|
|
320
|
-
return null;
|
|
321
|
-
})
|
|
322
|
-
.filter((m) => m !== null);
|
|
323
|
-
const entitiesToAdd = entityMappings.filter(mapping => !existingEntities.some(ee => UUIDsEqual(ee.EntityID, mapping.entityID)));
|
|
324
|
-
const entitiesToRemove = existingEntities.filter(ee => !entityMappings.some(mapping => UUIDsEqual(mapping.entityID, ee.EntityID)));
|
|
381
|
+
const entityMappings = mapExtractedEntitiesToMetadata(entityMetadata, metadataProvider);
|
|
382
|
+
const { entitiesToAdd, entitiesToUpdate, entitiesToRemove } = partitionQueryEntityDiff(entityMappings, existingEntities);
|
|
325
383
|
const factories = [];
|
|
326
384
|
for (const mapping of entitiesToAdd) {
|
|
327
385
|
const newEntity = await metadataProvider.GetEntityObject('MJ: Query Entities', contextUser);
|
|
328
386
|
newEntity.QueryID = queryID;
|
|
329
387
|
newEntity.EntityID = mapping.entityID;
|
|
388
|
+
newEntity.AlternateBaseViewID = mapping.alternateBaseViewID;
|
|
330
389
|
newEntity.DetectionMethod = 'AI';
|
|
331
390
|
newEntity.AutoDetectConfidenceScore = 1.0;
|
|
332
391
|
factories.push(() => newEntity.Save());
|
|
333
392
|
}
|
|
393
|
+
for (const updateItem of entitiesToUpdate) {
|
|
394
|
+
updateItem.record.AlternateBaseViewID = updateItem.alternateBaseViewID;
|
|
395
|
+
factories.push(() => updateItem.record.Save());
|
|
396
|
+
}
|
|
334
397
|
for (const entityToRemove of entitiesToRemove) {
|
|
335
398
|
factories.push(() => entityToRemove.Delete());
|
|
336
399
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/custom/query-extraction/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/custom/query-extraction/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAA8B,MAAM,sBAAsB,CAAC;AAChK,OAAO,EAKH,WAAW,GACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAQhF,gFAAgF;AAChF,0DAA0D;AAC1D,EAAE;AACF,mFAAmF;AACnF,iEAAiE;AACjE,gFAAgF;AAEhF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,gBAAgB,CACrB,EAAqB,EACrB,IAAY;IAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CACnB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAClG,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CACvB,OAA2B;IAE3B,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAqD;QAC3E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;KACjD,CAAC,CAAC;IAEH,IAAI,UAAU,IAAI,UAAU,CAAC,GAAG,CAAC,UAAgE,CAAC,EAAE,CAAC;QACjG,OAAO,EAAE,IAAI,EAAE,UAAgE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACzH,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,SAAiB,EAAE,WAA6B,WAAW;IACxF,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC5B,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,QAAQ;gBACT,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;YAC9D,KAAK,MAAM;gBACP,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;YAChE,KAAK,SAAS;gBACV,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YACxD;gBACI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QACzD,CAAC;IACL,CAAC;IACD,sBAAsB;IACtB,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,QAAQ;YACT,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC9D,KAAK,MAAM;YACP,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAC1D,KAAK,SAAS;YACV,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAChD;YACI,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;IACnE,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,OAAe,EACf,eAAqC,EACrC,WAAqB,EACrB,gBAAmC,EACnC,eAAiC,EACjC,OAAgB;IAEhB,gGAAgG;IAChG,gGAAgG;IAChG,iCAAiC;IACjC,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzG,IAAI,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAC5C,sBAAsB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CACzE,CAAC;QAEF,MAAM,mBAAmB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAE1E,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAClF,CAAC;QACF,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CACxC,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CACjF,CAAC;QACF,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CACxC,EAAE,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC7D,CAAC;QAEF,MAAM,SAAS,GAA+B,EAAE,CAAC;QAEjD,qBAAqB;QACrB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,eAAe,CACnD,sBAAsB,EAAE,WAAW,CACtC,CAAC;YACF,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/C,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,mDAAmD;QACnD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CACjE,CAAC;YACF,IAAI,cAAc,IAAI,wBAAwB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;gBAC5E,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,QAAQ,CAAC,uCAAuC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACvC,IAAI,IAAI,KAAK,kBAAkB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,kBAAkB,GAAG,CAAC,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,SAAS,CAAC,gCAAgC,IAAI,0BAA0B,kBAAkB,sEAAsE,CAAC,CAAC;IAClK,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CACzB,MAA8B,EAC9B,OAAe,EACf,KAAyB;IAEzB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAEzB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,iFAAiF,CAAC,CAAC;IAC3H,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,2BAA2B,KAAK,CAAC,IAAI,oBAAoB,KAAK,CAAC,IAAI,2BAA2B,CAAC,CAAC;IACjH,CAAC;IACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IAEnB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACrC,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACzC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACvC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACvC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAC7B,QAAgC,EAChC,SAA6B;IAE7B,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAC;QAC3B,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;QAC/C,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QAC3C,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,EAAE,CAAC;QACnD,QAAQ,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QAC/C,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;QACjD,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QAC7C,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;QACjD,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QAC7C,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;QACpC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC;QAChC,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC5B,OAAe,EACf,eAAiC,EACjC,WAAqB,EACrB,gBAAmC,EACnC,eAAiC,EACjC,OAAgB,EAChB,WAA6B,WAAW;IAExC,IAAI,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAC5C,kBAAkB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CACrE,CAAC;QAEF,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAExE,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAClF,CAAC;QACF,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CACxC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAClF,CAAC;QACF,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CACxC,EAAE,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC1D,CAAC;QAEF,MAAM,SAAS,GAA+B,EAAE,CAAC;QAEjD,iBAAiB;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,eAAe,CACnD,kBAAkB,EAAE,WAAW,CAClC,CAAC;YACF,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAC9E,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,CACjE,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC5D,IAAI,oBAAoB,CAAC,aAAa,EAAE,cAAc,EAAE,WAAW,GAAG,CAAC,EAAE,gBAAgB,CAAC,EAAE,CAAC;oBACzF,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACL,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;YACzC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,QAAQ,CAAC,mCAAmC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACrB,MAA0B,EAC1B,OAAe,EACf,KAAqB,EACrB,QAAgB,EAChB,EAAqB,EACrB,WAA6B,WAAW;IAExC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACvC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE3B,2FAA2F;IAC3F,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACvC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IAC3C,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC9B,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC;IACnE,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAC/B,MAAM,CAAC,sBAAsB,GAAG,KAAK,CAAC,sBAAsB,CAAC;IACjE,CAAC;IAED,6BAA6B;IAC7B,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACrB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAM,CAAC,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC;QAChD,CAAC;IACL,CAAC;IACD,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CACzB,QAA4B,EAC5B,SAAyB,EACzB,QAAgB,EAChB,EAAqB;IAErB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,sEAAsE;IACtE,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC/B,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;QACjD,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QAC7C,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC;IAC7E,IAAI,QAAQ,CAAC,UAAU,KAAK,aAAa,EAAE,CAAC;QACxC,QAAQ,CAAC,UAAU,GAAG,aAAa,CAAC;QACpC,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,IAAI,KAAK,CAAC;IAClD,IAAI,QAAQ,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;QACtC,QAAQ,CAAC,SAAS,GAAG,YAAY,CAAC;QAClC,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,SAAS,CAAC,sBAAsB,IAAI,QAAQ,CAAC,sBAAsB,KAAK,SAAS,CAAC,sBAAsB,EAAE,CAAC;QAC3G,QAAQ,CAAC,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,CAAC;QACnE,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,gCAAgC;IAChC,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACtE,IAAI,gBAAgB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;YAChF,QAAQ,CAAC,cAAc,GAAG,gBAAgB,CAAC,EAAE,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;QACzC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/B,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxG,IAAI,QAAQ,CAAC,eAAe,KAAK,kBAAkB,EAAE,CAAC;QAClD,QAAQ,CAAC,eAAe,GAAG,kBAAkB,CAAC;QAC9C,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,wDAAwD;IACxD,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACjD,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;YAC7C,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACjD,QAAQ,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;YAC7C,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAaD,SAAS,kBAAkB,CACvB,QAAmC,EACnC,mBAA8C;IAE9C,OAAO,GAAG,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC/G,CAAC;AAED,SAAS,8BAA8B,CACnC,cAAqC,EACrC,gBAAmC;IAEnC,MAAM,WAAW,GAAG,cAAc;SAC7B,GAAG,CAAC,SAAS,CAAC,EAAE;QACb,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;YACzB,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE;gBACjE,CAAC,SAAS,CAAC,mBAAmB,IAAI,IAAI;oBACrC,WAAW,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACtF,CAAC;QACF,OAAO,cAAc;YACjB,CAAC,CAAC;gBACI,SAAS;gBACT,QAAQ,EAAE,cAAc,CAAC,EAAE;gBAC3B,UAAU,EAAE,cAAc,CAAC,IAAI;gBAC/B,mBAAmB,EAAE,SAAS,CAAC,mBAAmB,IAAI,IAAI;aAC7D;YACH,CAAC,CAAC,IAAI,CAAC;IACf,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAmC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAEhE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAC1B,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACtE,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,wBAAwB,CAC7B,cAA4C,EAC5C,gBAAuC;IAMvC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;IACvD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE9D,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAC/B,EAAE,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,UAAU,CAC3G,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACR,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3B,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED,MAAM,gBAAgB,GAA+E,EAAE,CAAC;IACxG,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAC3C,MAAM,kBAAkB,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,CAC1C,EAAE,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,kBAAkB,CACtF,CAAC;QACF,IAAI,gBAAgB,EAAE,CAAC;YACnB,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACtC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC1G,CAAC;IACL,CAAC;IAED,OAAO;QACH,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClE,gBAAgB;QAChB,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAC5E,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,OAAe,EACf,cAAqC,EACrC,WAAqB,EACrB,gBAAmC,EACnC,eAAiC,EACjC,OAAgB;IAEhB,IAAI,CAAC;QACD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAC9C,oBAAoB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CACvE,CAAC;QACF,MAAM,cAAc,GAAG,8BAA8B,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QACxF,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,wBAAwB,CAClF,cAAc,EACd,gBAAgB,CACnB,CAAC;QACF,MAAM,SAAS,GAA+B,EAAE,CAAC;QAEjD,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,eAAe,CACpD,oBAAoB,EAAE,WAAW,CACpC,CAAC;YACF,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;YAC5B,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,SAAS,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;YAC5D,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC;YACjC,SAAS,CAAC,yBAAyB,GAAG,GAAG,CAAC;YAC1C,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;YACxC,UAAU,CAAC,MAAM,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;YACvE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,MAAM,cAAc,IAAI,gBAAgB,EAAE,CAAC;YAC5C,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,QAAQ,CAAC,qCAAqC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,OAAe,EACf,YAA4C,EAC5C,WAAqB,EACrB,gBAAmC,EACnC,eAAiC,EACjC,OAAgB;IAEhB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,gBAAgB,CAAC,OAAO,EAAE,wBAAwB,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACnH,OAAO;IACX,CAAC;IAED,8FAA8F;IAC9F,mFAAmF;IACnF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CACvE,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,aAAa,KAAK,GAAG,CAAC,aAAa,CACvG,KAAK,CAAC,CAAC,CAAC;IACT,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,gBAAgB,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE;QACjC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;KACzC,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAC1C,wBAAwB,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAC3E,CAAC;QAEF,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CACnB,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC;YACnD,EAAE,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa,CAC7C,CACJ,CAAC;QACF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACpC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC;YACnD,EAAE,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa,CAC5C,CACJ,CAAC;QACF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACpC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC;YACnD,EAAE,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa,CAC5C,CACJ,CAAC;QAEF,MAAM,SAAS,GAA+B,EAAE,CAAC;QAEjD,uBAAuB;QACvB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,eAAe,CACjD,wBAAwB,EAAE,WAAW,CACxC,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC;YAC/C,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;YACzC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACzB,MAAM,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7F,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,qDAAqD;QACrD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,CAAC;gBAC5D,WAAW,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa,CACrD,CAAC;YACF,IAAI,YAAY,IAAI,yBAAyB,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;gBACvE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,QAAQ,CAAC,yCAAyC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAC9B,QAAiC,EACjC,SAAoF;IAEpF,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;QACrC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QACjC,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClG,IAAI,QAAQ,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAC3C,QAAQ,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACvC,UAAU,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,OAAe,EACf,UAAkB,EAClB,WAAqB,EACrB,eAAiC,EACjC,OAAgB,EAChB,gBAAoC;IAEpC,IAAI,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;YACjD,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,YAAY,OAAO,GAAG;YACnC,UAAU,EAAE,eAAe;SAC9B,EAAE,WAAW,CAAC,CAAC;QAEhB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,KAAK,cAAc,CAAC,YAAY,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,CAA8C,CAAC;QAC5F,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAErE,MAAM,cAAc,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,QAAQ,CAAC,oBAAoB,UAAU,cAAc,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,mBAAmB,CAC9B,UAAkB,EAClB,OAAe,EACf,eAAiC,EACjC,WAAqB,EACrB,OAAgB;IAEhB,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC;IAChC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,QAAQ,UAAU,EAAE,CAAC;YACjB,KAAK,sBAAsB;gBACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAmB,CAAC;YAC5D,KAAK,kBAAkB;gBACnB,OAAO,EAAE,CAAC,cAAc,CAAC,OAAO,CAAmB,CAAC;YACxD,KAAK,oBAAoB;gBACrB,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAmB,CAAC;YAC1F,KAAK,wBAAwB;gBACzB,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAmB,CAAC;YACzF;gBACI,OAAO,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAED,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC;QACzC,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,YAAY,OAAO,GAAG;QACnC,UAAU,EAAE,eAAe;KAC9B,EAAE,WAAW,CAAC,CAAC;IAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,cAAc,OAAO,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAmB,CAAC;AACpD,CAAC"}
|
|
@@ -77,6 +77,10 @@ export interface EntityMetadataEntry {
|
|
|
77
77
|
type: string;
|
|
78
78
|
isPrimaryKey: boolean;
|
|
79
79
|
}>;
|
|
80
|
+
/** Populated when the SQL references a registered EntityAlternateBaseView instead of the canonical BaseView/BaseTable. */
|
|
81
|
+
AlternateBaseViewID?: string | null;
|
|
82
|
+
/** Logical Name of the matched EntityAlternateBaseView, when applicable. */
|
|
83
|
+
AlternateBaseViewName?: string | null;
|
|
80
84
|
}
|
|
81
85
|
/**
|
|
82
86
|
* Result of the parse stage — computed once from the SQL, consumed by all downstream stages.
|
|
@@ -118,5 +122,8 @@ export interface QuerySyncContext {
|
|
|
118
122
|
/** Caller-provided tested parameter sample values (paramName → sampleValue).
|
|
119
123
|
* When present, these take highest priority over LLM-generated or heuristic sampleValues. */
|
|
120
124
|
parameterHints?: Map<string, string>;
|
|
125
|
+
/** Skip the LLM enrichment stage, so the deterministic extraction alone decides parameters
|
|
126
|
+
* and fields (with heuristic descriptions). Set from the save's `SkipEntityAIActions`. */
|
|
127
|
+
SkipAIEnrichment?: boolean;
|
|
121
128
|
}
|
|
122
129
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAMrH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpE,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kHAAkH;IAClH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sHAAsH;IACtH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IACzC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAChD,mBAAmB,EAAE,KAAK,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;CACN;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,15 @@
|
|
|
8
8
|
* - MJRowLevelSecurityFilterEntityServer — re-validate a filter's FilterText
|
|
9
9
|
* against EVERY current referrer when the text changes (without this second
|
|
10
10
|
* enforcement point, rule-save validation is bypassable by editing the
|
|
11
|
-
* filter after attaching it).
|
|
11
|
+
* filter after attaching it). A filter referenced ONLY by role permission rows is a role
|
|
12
|
+
* filter and is instead compiled against each referencing entity
|
|
13
|
+
* ({@link ValidateRoleRowFilterText}).
|
|
12
14
|
*
|
|
13
15
|
* All checks fail closed: anything unresolvable rejects the save.
|
|
14
16
|
*/
|
|
15
|
-
import { EntityInfo, IMetadataProvider, UserInfo, ValidationErrorInfo } from '@memberjunction/core';
|
|
17
|
+
import { DatabaseProviderBase, EntityInfo, IMetadataProvider, UserInfo, ValidationErrorInfo } from '@memberjunction/core';
|
|
18
|
+
/** True when `token` (the name inside `{{...}}`) is in the registered row-filter vocabulary. */
|
|
19
|
+
export declare function IsRegisteredRowFilterToken(token: string): boolean;
|
|
16
20
|
/** Result of a row-filter text validation. */
|
|
17
21
|
export interface RowFilterTextValidationResult {
|
|
18
22
|
valid: boolean;
|
|
@@ -39,12 +43,20 @@ export declare function ValidateRowFilterTextAgainstEntity(filterText: string, e
|
|
|
39
43
|
* wildcards and no comma-separated list (plan §5.3 check 1).
|
|
40
44
|
*/
|
|
41
45
|
export declare function IsExactResourceName(pattern: string | null): pattern is string;
|
|
46
|
+
/**
|
|
47
|
+
* Which table a referrer of a RowLevelSecurityFilter record lives in: a role permission row
|
|
48
|
+
* (`EntityPermission`, via its four `*RLSFilterID` columns) or an API-key / API-application
|
|
49
|
+
* scope rule (via `RowFilterID`).
|
|
50
|
+
*/
|
|
51
|
+
export type RowFilterReferrerKind = 'EntityPermission' | 'APIKeyScope' | 'APIApplicationScope';
|
|
42
52
|
/** One referrer of a RowLevelSecurityFilter record, resolved to its entity. */
|
|
43
53
|
export interface RowFilterReferrer {
|
|
44
54
|
/** Human-readable description of the referring row, for error messages. */
|
|
45
55
|
Description: string;
|
|
46
56
|
/** The entity the referrer binds the filter to, or null when unresolvable. */
|
|
47
57
|
Entity: EntityInfo | null;
|
|
58
|
+
/** Which table the referrer lives in. */
|
|
59
|
+
Kind: RowFilterReferrerKind;
|
|
48
60
|
}
|
|
49
61
|
/**
|
|
50
62
|
* Collects EVERY referrer of a RowLevelSecurityFilter record (plan §5.3 check 6):
|
|
@@ -66,6 +78,39 @@ export declare function CollectRowFilterReferrers(filterId: string, md: IMetadat
|
|
|
66
78
|
* (fail closed).
|
|
67
79
|
*/
|
|
68
80
|
export declare function BuildSameEntityErrors(referrers: RowFilterReferrer[], targetEntity: EntityInfo): string[];
|
|
81
|
+
/** The provider members the compile probe uses. */
|
|
82
|
+
export type RowFilterProbeProvider = Pick<DatabaseProviderBase, 'ExecuteSQL' | 'QuoteIdentifier' | 'QuoteSchemaAndView'>;
|
|
83
|
+
/**
|
|
84
|
+
* True when every referrer of a filter is a role permission row, so the filter is a ROLE
|
|
85
|
+
* row-level-security filter that no API-key or API-application scope rule depends on.
|
|
86
|
+
* False for a filter with no referrers.
|
|
87
|
+
*/
|
|
88
|
+
export declare function IsRoleOnlyReferrerSet(referrers: RowFilterReferrer[]): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Screens a ROLE filter's text before it is compiled. Role filters legitimately use subqueries
|
|
91
|
+
* and database functions (e.g. "rows of the organizations this user belongs to"), so unlike
|
|
92
|
+
* {@link ValidateRowFilterTextAgainstEntity} this allows `SELECT` and any function call; the
|
|
93
|
+
* compile probe proves the objects they reference exist. Everything else the shared
|
|
94
|
+
* `SQLExpressionValidator` blocks — DDL/DML/EXEC, comments, semicolons, system catalogs — is
|
|
95
|
+
* still refused, and every `{{Token}}` must be in the registered vocabulary.
|
|
96
|
+
*/
|
|
97
|
+
export declare function ScreenRoleRowFilterText(filterText: string): string[];
|
|
98
|
+
/**
|
|
99
|
+
* Compiles a ROLE filter against one entity's base view — the view role RLS is applied to at
|
|
100
|
+
* query time — by running `SELECT 1 FROM <BaseView> WHERE 1 = 0 AND (<filter>)`. Tokens are
|
|
101
|
+
* marked up with the saving user exactly as at query time. `1 = 0` means no row is read, but
|
|
102
|
+
* the database still binds every column, table and function the filter names, so a bad
|
|
103
|
+
* reference fails here instead of on every read. Returns the refusal message, or null.
|
|
104
|
+
*/
|
|
105
|
+
export declare function ProbeRoleRowFilterAgainstEntity(filterText: string, entity: EntityInfo, provider: RowFilterProbeProvider, contextUser: UserInfo): Promise<string | null>;
|
|
106
|
+
/**
|
|
107
|
+
* Validates a new FilterText for a ROLE filter (see {@link IsRoleOnlyReferrerSet}) against every
|
|
108
|
+
* entity that references it. The API-key rules — plain columns only, one entity per filter — do
|
|
109
|
+
* not apply: a role filter may use subqueries and may be shared across entities, as long as it
|
|
110
|
+
* compiles against each one. Referrers that do not resolve to an entity reject (fail closed),
|
|
111
|
+
* and text that fails the screen is never sent to the database.
|
|
112
|
+
*/
|
|
113
|
+
export declare function ValidateRoleRowFilterText(filterText: string, referrers: RowFilterReferrer[], provider: RowFilterProbeProvider, contextUser: UserInfo): Promise<string[]>;
|
|
69
114
|
/** Convenience: wraps validation failures as ValidationErrorInfo entries. */
|
|
70
115
|
export declare function ToValidationErrors(fieldName: string, messages: string[]): ValidationErrorInfo[];
|
|
71
116
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowFilterValidation.d.ts","sourceRoot":"","sources":["../../src/custom/rowFilterValidation.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rowFilterValidation.d.ts","sourceRoot":"","sources":["../../src/custom/rowFilterValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,13 @@
|
|
|
8
8
|
* - MJRowLevelSecurityFilterEntityServer — re-validate a filter's FilterText
|
|
9
9
|
* against EVERY current referrer when the text changes (without this second
|
|
10
10
|
* enforcement point, rule-save validation is bypassable by editing the
|
|
11
|
-
* filter after attaching it).
|
|
11
|
+
* filter after attaching it). A filter referenced ONLY by role permission rows is a role
|
|
12
|
+
* filter and is instead compiled against each referencing entity
|
|
13
|
+
* ({@link ValidateRoleRowFilterText}).
|
|
12
14
|
*
|
|
13
15
|
* All checks fail closed: anything unresolvable rejects the save.
|
|
14
16
|
*/
|
|
15
|
-
import { RunView, ValidationErrorInfo, ValidationErrorType } from '@memberjunction/core';
|
|
17
|
+
import { RowLevelSecurityFilterInfo, RunView, ValidationErrorInfo, ValidationErrorType } from '@memberjunction/core';
|
|
16
18
|
import { SQLExpressionValidator, UUIDsEqual } from '@memberjunction/global';
|
|
17
19
|
/**
|
|
18
20
|
* Registered token vocabulary for row-filter FilterText (plan §5.2). `{{User*}}`
|
|
@@ -41,6 +43,16 @@ const SQL_BARE_KEYWORDS = new Set([
|
|
|
41
43
|
'CASE', 'WHEN', 'THEN', 'ELSE', 'END', 'ESCAPE', 'ASC', 'DESC',
|
|
42
44
|
'TRUE', 'FALSE', 'DISTINCT', 'SOME', 'ANY', 'ALL', 'AS'
|
|
43
45
|
]);
|
|
46
|
+
/** True when `token` (the name inside `{{...}}`) is in the registered row-filter vocabulary. */
|
|
47
|
+
export function IsRegisteredRowFilterToken(token) {
|
|
48
|
+
return EXACT_REGISTERED_TOKENS.has(token) || USER_TOKEN_PATTERN.test(token);
|
|
49
|
+
}
|
|
50
|
+
/** The refusal message for a `{{token}}` outside the registered vocabulary. */
|
|
51
|
+
function UnregisteredTokenMessage(token) {
|
|
52
|
+
return (`Token {{${token}}} is not in the registered vocabulary ` +
|
|
53
|
+
`({{User*}}, {{ScopeResourceID}}, {{ScopeResourceType}}, {{ActingOrganizationID}}, ` +
|
|
54
|
+
`{{ActingPersonID}}, {{ActingScopeID}}, {{ActingCompanyIDs}}).`);
|
|
55
|
+
}
|
|
44
56
|
/**
|
|
45
57
|
* Validates a filter's FilterText against a specific entity (plan §5.3 checks
|
|
46
58
|
* 3 + 4, STRICT):
|
|
@@ -67,10 +79,8 @@ export function ValidateRowFilterTextAgainstEntity(filterText, entity) {
|
|
|
67
79
|
// 1. Token vocabulary check, then strip tokens so their contents don't hit
|
|
68
80
|
// the identifier scan.
|
|
69
81
|
let stripped = filterText.replace(/\{\{(\w+)\}\}/g, (_full, token) => {
|
|
70
|
-
if (!
|
|
71
|
-
errors.push(
|
|
72
|
-
`({{User*}}, {{ScopeResourceID}}, {{ScopeResourceType}}, {{ActingOrganizationID}}, ` +
|
|
73
|
-
`{{ActingPersonID}}, {{ActingScopeID}}, {{ActingCompanyIDs}}).`);
|
|
82
|
+
if (!IsRegisteredRowFilterToken(token)) {
|
|
83
|
+
errors.push(UnregisteredTokenMessage(token));
|
|
74
84
|
}
|
|
75
85
|
return "''"; // replace with an empty string literal so surrounding quotes stay balanced
|
|
76
86
|
});
|
|
@@ -154,10 +164,11 @@ export async function CollectRowFilterReferrers(filterId, md, contextUser, exclu
|
|
|
154
164
|
const entity = (row.EntityID ? md.EntityByID(row.EntityID) : undefined) ?? null;
|
|
155
165
|
referrers.push({
|
|
156
166
|
Description: `Entity Permission ${row.ID} (entity ${entity?.Name ?? row.EntityID})`,
|
|
157
|
-
Entity: entity
|
|
167
|
+
Entity: entity,
|
|
168
|
+
Kind: 'EntityPermission'
|
|
158
169
|
});
|
|
159
170
|
}
|
|
160
|
-
const addScopeReferrers = (rows, entityName, label) => {
|
|
171
|
+
const addScopeReferrers = (rows, entityName, label, kind) => {
|
|
161
172
|
for (const row of rows) {
|
|
162
173
|
if (exclude && exclude.entityName === entityName && UUIDsEqual(exclude.rowId, row.ID)) {
|
|
163
174
|
continue;
|
|
@@ -165,12 +176,13 @@ export async function CollectRowFilterReferrers(filterId, md, contextUser, exclu
|
|
|
165
176
|
const entity = IsExactResourceName(row.ResourcePattern) ? (md.EntityByName(row.ResourcePattern) ?? null) : null;
|
|
166
177
|
referrers.push({
|
|
167
178
|
Description: `${label} ${row.ID} (resource '${row.ResourcePattern ?? ''}')`,
|
|
168
|
-
Entity: entity
|
|
179
|
+
Entity: entity,
|
|
180
|
+
Kind: kind
|
|
169
181
|
});
|
|
170
182
|
}
|
|
171
183
|
};
|
|
172
|
-
addScopeReferrers(keyScopes.Results, 'MJ: API Key Scopes', 'API Key Scope rule');
|
|
173
|
-
addScopeReferrers(appScopes.Results, 'MJ: API Application Scopes', 'API Application Scope rule');
|
|
184
|
+
addScopeReferrers(keyScopes.Results, 'MJ: API Key Scopes', 'API Key Scope rule', 'APIKeyScope');
|
|
185
|
+
addScopeReferrers(appScopes.Results, 'MJ: API Application Scopes', 'API Application Scope rule', 'APIApplicationScope');
|
|
174
186
|
return referrers;
|
|
175
187
|
}
|
|
176
188
|
/**
|
|
@@ -196,6 +208,105 @@ export function BuildSameEntityErrors(referrers, targetEntity) {
|
|
|
196
208
|
}
|
|
197
209
|
return errors;
|
|
198
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Substituted for a token that marking up with the saving user leaves unresolved (a null user
|
|
213
|
+
* property, or an `{{Acting*}}` token, which only API-key sessions carry). A GUID-shaped literal
|
|
214
|
+
* keeps the usual quoted shape (`Col = '{{Token}}'`) valid SQL for the compile probe.
|
|
215
|
+
*/
|
|
216
|
+
const UNRESOLVED_TOKEN_PLACEHOLDER = '00000000-0000-0000-0000-000000000000';
|
|
217
|
+
/** Upper bound for one compile probe. The probe reads no rows; this only bounds a pathological plan. */
|
|
218
|
+
const ROLE_FILTER_PROBE_TIMEOUT_MS = 15000;
|
|
219
|
+
/**
|
|
220
|
+
* True when every referrer of a filter is a role permission row, so the filter is a ROLE
|
|
221
|
+
* row-level-security filter that no API-key or API-application scope rule depends on.
|
|
222
|
+
* False for a filter with no referrers.
|
|
223
|
+
*/
|
|
224
|
+
export function IsRoleOnlyReferrerSet(referrers) {
|
|
225
|
+
return referrers.length > 0 && referrers.every(r => r.Kind === 'EntityPermission');
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Screens a ROLE filter's text before it is compiled. Role filters legitimately use subqueries
|
|
229
|
+
* and database functions (e.g. "rows of the organizations this user belongs to"), so unlike
|
|
230
|
+
* {@link ValidateRowFilterTextAgainstEntity} this allows `SELECT` and any function call; the
|
|
231
|
+
* compile probe proves the objects they reference exist. Everything else the shared
|
|
232
|
+
* `SQLExpressionValidator` blocks — DDL/DML/EXEC, comments, semicolons, system catalogs — is
|
|
233
|
+
* still refused, and every `{{Token}}` must be in the registered vocabulary.
|
|
234
|
+
*/
|
|
235
|
+
export function ScreenRoleRowFilterText(filterText) {
|
|
236
|
+
const errors = [];
|
|
237
|
+
const calledFunctions = [...filterText.matchAll(/\b([A-Za-z_][A-Za-z0-9_]*)\s*\(/g)].map(m => m[1]);
|
|
238
|
+
const screen = SQLExpressionValidator.Instance.validate(filterText, {
|
|
239
|
+
context: 'where_clause',
|
|
240
|
+
allowSubqueries: true,
|
|
241
|
+
additionalAllowed: calledFunctions
|
|
242
|
+
});
|
|
243
|
+
if (!screen.valid) {
|
|
244
|
+
errors.push(screen.error ?? 'FilterText failed SQL expression validation.');
|
|
245
|
+
}
|
|
246
|
+
const tokens = new Set([...filterText.matchAll(/\{\{(\w+)\}\}/g)].map(m => m[1]));
|
|
247
|
+
for (const token of tokens) {
|
|
248
|
+
if (!IsRegisteredRowFilterToken(token)) {
|
|
249
|
+
errors.push(UnregisteredTokenMessage(token));
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return errors;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Compiles a ROLE filter against one entity's base view — the view role RLS is applied to at
|
|
256
|
+
* query time — by running `SELECT 1 FROM <BaseView> WHERE 1 = 0 AND (<filter>)`. Tokens are
|
|
257
|
+
* marked up with the saving user exactly as at query time. `1 = 0` means no row is read, but
|
|
258
|
+
* the database still binds every column, table and function the filter names, so a bad
|
|
259
|
+
* reference fails here instead of on every read. Returns the refusal message, or null.
|
|
260
|
+
*/
|
|
261
|
+
export async function ProbeRoleRowFilterAgainstEntity(filterText, entity, provider, contextUser) {
|
|
262
|
+
const predicate = new RowLevelSecurityFilterInfo({ FilterText: filterText })
|
|
263
|
+
.MarkupFilterText(contextUser)
|
|
264
|
+
.replace(/\{\{\w+\}\}/g, () => UNRESOLVED_TOKEN_PLACEHOLDER);
|
|
265
|
+
const sql = `SELECT 1 AS ${provider.QuoteIdentifier('Probe')} ` +
|
|
266
|
+
`FROM ${provider.QuoteSchemaAndView(entity.SchemaName, entity.BaseView)} ` +
|
|
267
|
+
`WHERE 1 = 0 AND (${predicate})`;
|
|
268
|
+
try {
|
|
269
|
+
await provider.ExecuteSQL(sql, undefined, {
|
|
270
|
+
description: `Compile check of a row-level-security filter against ${entity.Name}`,
|
|
271
|
+
ignoreLogging: true,
|
|
272
|
+
readOnlyTransaction: true,
|
|
273
|
+
timeoutMs: ROLE_FILTER_PROBE_TIMEOUT_MS
|
|
274
|
+
}, contextUser);
|
|
275
|
+
return null;
|
|
276
|
+
}
|
|
277
|
+
catch (e) {
|
|
278
|
+
const reason = e instanceof Error ? e.message : String(e);
|
|
279
|
+
return `FilterText does not compile against entity '${entity.Name}' (${entity.SchemaName}.${entity.BaseView}): ${reason}`;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Validates a new FilterText for a ROLE filter (see {@link IsRoleOnlyReferrerSet}) against every
|
|
284
|
+
* entity that references it. The API-key rules — plain columns only, one entity per filter — do
|
|
285
|
+
* not apply: a role filter may use subqueries and may be shared across entities, as long as it
|
|
286
|
+
* compiles against each one. Referrers that do not resolve to an entity reject (fail closed),
|
|
287
|
+
* and text that fails the screen is never sent to the database.
|
|
288
|
+
*/
|
|
289
|
+
export async function ValidateRoleRowFilterText(filterText, referrers, provider, contextUser) {
|
|
290
|
+
const errors = ScreenRoleRowFilterText(filterText);
|
|
291
|
+
for (const referrer of referrers.filter(r => !r.Entity)) {
|
|
292
|
+
errors.push(`${referrer.Description} references this filter but does not resolve to an entity — the new ` +
|
|
293
|
+
`FilterText cannot be validated against it; rejecting (fail closed).`);
|
|
294
|
+
}
|
|
295
|
+
if (errors.length > 0) {
|
|
296
|
+
return errors;
|
|
297
|
+
}
|
|
298
|
+
const entities = new Map();
|
|
299
|
+
for (const referrer of referrers) {
|
|
300
|
+
entities.set(referrer.Entity.ID.toLowerCase(), referrer.Entity);
|
|
301
|
+
}
|
|
302
|
+
for (const entity of entities.values()) {
|
|
303
|
+
const failure = await ProbeRoleRowFilterAgainstEntity(filterText, entity, provider, contextUser);
|
|
304
|
+
if (failure) {
|
|
305
|
+
errors.push(failure);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return errors;
|
|
309
|
+
}
|
|
199
310
|
/** Convenience: wraps validation failures as ValidationErrorInfo entries. */
|
|
200
311
|
export function ToValidationErrors(fieldName, messages) {
|
|
201
312
|
return messages.map(m => new ValidationErrorInfo(fieldName, m, null, ValidationErrorType.Failure));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowFilterValidation.js","sourceRoot":"","sources":["../../src/custom/rowFilterValidation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rowFilterValidation.js","sourceRoot":"","sources":["../../src/custom/rowFilterValidation.ts"],"names":[],"mappings":"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"}
|