@memberjunction/core-entities-server 6.2.0-edge.6 → 6.2.0-edge.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/README.md +155 -100
  2. package/dist/custom/AnchoredConversationReadSecurityHook.d.ts +22 -0
  3. package/dist/custom/AnchoredConversationReadSecurityHook.d.ts.map +1 -0
  4. package/dist/custom/AnchoredConversationReadSecurityHook.js +293 -0
  5. package/dist/custom/AnchoredConversationReadSecurityHook.js.map +1 -0
  6. package/dist/custom/MJAIAgentExampleEntityServer.server.d.ts +2 -0
  7. package/dist/custom/MJAIAgentExampleEntityServer.server.d.ts.map +1 -1
  8. package/dist/custom/MJAIAgentExampleEntityServer.server.js +8 -5
  9. package/dist/custom/MJAIAgentExampleEntityServer.server.js.map +1 -1
  10. package/dist/custom/MJAIAgentNoteEntityServer.server.d.ts +2 -0
  11. package/dist/custom/MJAIAgentNoteEntityServer.server.d.ts.map +1 -1
  12. package/dist/custom/MJAIAgentNoteEntityServer.server.js +8 -5
  13. package/dist/custom/MJAIAgentNoteEntityServer.server.js.map +1 -1
  14. package/dist/custom/MJAIAgentRelationshipEntityServer.server.d.ts +17 -0
  15. package/dist/custom/MJAIAgentRelationshipEntityServer.server.d.ts.map +1 -0
  16. package/dist/custom/MJAIAgentRelationshipEntityServer.server.js +71 -0
  17. package/dist/custom/MJAIAgentRelationshipEntityServer.server.js.map +1 -0
  18. package/dist/custom/MJAIAgentSessionEntityServer.server.d.ts +8 -22
  19. package/dist/custom/MJAIAgentSessionEntityServer.server.d.ts.map +1 -1
  20. package/dist/custom/MJAIAgentSessionEntityServer.server.js +24 -1
  21. package/dist/custom/MJAIAgentSessionEntityServer.server.js.map +1 -1
  22. package/dist/custom/MJAIAgentUserPolicyEntityServer.server.d.ts +23 -0
  23. package/dist/custom/MJAIAgentUserPolicyEntityServer.server.d.ts.map +1 -0
  24. package/dist/custom/MJAIAgentUserPolicyEntityServer.server.js +53 -0
  25. package/dist/custom/MJAIAgentUserPolicyEntityServer.server.js.map +1 -0
  26. package/dist/custom/MJAIPromptEntityServer.server.d.ts.map +1 -1
  27. package/dist/custom/MJAIPromptEntityServer.server.js +2 -1
  28. package/dist/custom/MJAIPromptEntityServer.server.js.map +1 -1
  29. package/dist/custom/MJBrandKitEntityServer.server.d.ts +14 -0
  30. package/dist/custom/MJBrandKitEntityServer.server.d.ts.map +1 -0
  31. package/dist/custom/MJBrandKitEntityServer.server.js +75 -0
  32. package/dist/custom/MJBrandKitEntityServer.server.js.map +1 -0
  33. package/dist/custom/MJCompanyIntegrationEntityServer.server.d.ts.map +1 -1
  34. package/dist/custom/MJCompanyIntegrationEntityServer.server.js +1 -0
  35. package/dist/custom/MJCompanyIntegrationEntityServer.server.js.map +1 -1
  36. package/dist/custom/MJComponentEntityServer.server.d.ts +2 -0
  37. package/dist/custom/MJComponentEntityServer.server.d.ts.map +1 -1
  38. package/dist/custom/MJComponentEntityServer.server.js +5 -1
  39. package/dist/custom/MJComponentEntityServer.server.js.map +1 -1
  40. package/dist/custom/MJConversationDetailEntityServer.server.d.ts +20 -30
  41. package/dist/custom/MJConversationDetailEntityServer.server.d.ts.map +1 -1
  42. package/dist/custom/MJConversationDetailEntityServer.server.js +89 -35
  43. package/dist/custom/MJConversationDetailEntityServer.server.js.map +1 -1
  44. package/dist/custom/MJConversationEntityServer.server.d.ts +19 -4
  45. package/dist/custom/MJConversationEntityServer.server.d.ts.map +1 -1
  46. package/dist/custom/MJConversationEntityServer.server.js +169 -11
  47. package/dist/custom/MJConversationEntityServer.server.js.map +1 -1
  48. package/dist/custom/MJEntityDocumentEntityServer.server.d.ts.map +1 -1
  49. package/dist/custom/MJEntityDocumentEntityServer.server.js +1 -0
  50. package/dist/custom/MJEntityDocumentEntityServer.server.js.map +1 -1
  51. package/dist/custom/MJListDetailEntityServer.server.d.ts.map +1 -1
  52. package/dist/custom/MJListDetailEntityServer.server.js +1 -0
  53. package/dist/custom/MJListDetailEntityServer.server.js.map +1 -1
  54. package/dist/custom/MJProjectEntityServer.server.d.ts +21 -0
  55. package/dist/custom/MJProjectEntityServer.server.d.ts.map +1 -0
  56. package/dist/custom/MJProjectEntityServer.server.js +106 -0
  57. package/dist/custom/MJProjectEntityServer.server.js.map +1 -0
  58. package/dist/custom/MJQueryEntityServer.server.d.ts +177 -47
  59. package/dist/custom/MJQueryEntityServer.server.d.ts.map +1 -1
  60. package/dist/custom/MJQueryEntityServer.server.js +479 -164
  61. package/dist/custom/MJQueryEntityServer.server.js.map +1 -1
  62. package/dist/custom/MJQuerySQLEntityServer.server.d.ts +15 -18
  63. package/dist/custom/MJQuerySQLEntityServer.server.d.ts.map +1 -1
  64. package/dist/custom/MJQuerySQLEntityServer.server.js +34 -42
  65. package/dist/custom/MJQuerySQLEntityServer.server.js.map +1 -1
  66. package/dist/custom/MJTagEntityServer.server.d.ts +2 -0
  67. package/dist/custom/MJTagEntityServer.server.d.ts.map +1 -1
  68. package/dist/custom/MJTagEntityServer.server.js +13 -7
  69. package/dist/custom/MJTagEntityServer.server.js.map +1 -1
  70. package/dist/custom/MJUserRoutineEntityServer.server.d.ts.map +1 -1
  71. package/dist/custom/MJUserRoutineEntityServer.server.js +8 -1
  72. package/dist/custom/MJUserRoutineEntityServer.server.js.map +1 -1
  73. package/dist/custom/RestrictedFieldCommentClassifier.d.ts +73 -0
  74. package/dist/custom/RestrictedFieldCommentClassifier.d.ts.map +1 -0
  75. package/dist/custom/RestrictedFieldCommentClassifier.js +240 -0
  76. package/dist/custom/RestrictedFieldCommentClassifier.js.map +1 -0
  77. package/dist/custom/query-extraction/childRowWriter.d.ts +77 -0
  78. package/dist/custom/query-extraction/childRowWriter.d.ts.map +1 -0
  79. package/dist/custom/query-extraction/childRowWriter.js +277 -0
  80. package/dist/custom/query-extraction/childRowWriter.js.map +1 -0
  81. package/dist/custom/query-extraction/compositionTargets.d.ts +40 -0
  82. package/dist/custom/query-extraction/compositionTargets.d.ts.map +1 -0
  83. package/dist/custom/query-extraction/compositionTargets.js +99 -0
  84. package/dist/custom/query-extraction/compositionTargets.js.map +1 -0
  85. package/dist/custom/query-extraction/declared.d.ts +79 -0
  86. package/dist/custom/query-extraction/declared.d.ts.map +1 -0
  87. package/dist/custom/query-extraction/declared.js +91 -0
  88. package/dist/custom/query-extraction/declared.js.map +1 -0
  89. package/dist/custom/query-extraction/describeFacts.d.ts +40 -0
  90. package/dist/custom/query-extraction/describeFacts.d.ts.map +1 -0
  91. package/dist/custom/query-extraction/describeFacts.js +225 -0
  92. package/dist/custom/query-extraction/describeFacts.js.map +1 -0
  93. package/dist/custom/query-extraction/descriptionPass.d.ts +23 -0
  94. package/dist/custom/query-extraction/descriptionPass.d.ts.map +1 -0
  95. package/dist/custom/query-extraction/descriptionPass.js +95 -0
  96. package/dist/custom/query-extraction/descriptionPass.js.map +1 -0
  97. package/dist/custom/query-extraction/extractQuery.d.ts +25 -0
  98. package/dist/custom/query-extraction/extractQuery.d.ts.map +1 -0
  99. package/dist/custom/query-extraction/extractQuery.js +146 -0
  100. package/dist/custom/query-extraction/extractQuery.js.map +1 -0
  101. package/dist/custom/query-extraction/extractionTypes.d.ts +133 -0
  102. package/dist/custom/query-extraction/extractionTypes.d.ts.map +1 -0
  103. package/dist/custom/query-extraction/extractionTypes.js +2 -0
  104. package/dist/custom/query-extraction/extractionTypes.js.map +1 -0
  105. package/dist/custom/query-extraction/index.d.ts +16 -0
  106. package/dist/custom/query-extraction/index.d.ts.map +1 -1
  107. package/dist/custom/query-extraction/index.js +11 -1
  108. package/dist/custom/query-extraction/index.js.map +1 -1
  109. package/dist/custom/query-extraction/pipeline.d.ts +6 -2
  110. package/dist/custom/query-extraction/pipeline.d.ts.map +1 -1
  111. package/dist/custom/query-extraction/pipeline.js +21 -14
  112. package/dist/custom/query-extraction/pipeline.js.map +1 -1
  113. package/dist/custom/query-extraction/resolve.d.ts +7 -2
  114. package/dist/custom/query-extraction/resolve.d.ts.map +1 -1
  115. package/dist/custom/query-extraction/resolve.js +17 -14
  116. package/dist/custom/query-extraction/resolve.js.map +1 -1
  117. package/dist/custom/query-extraction/sourceBinding.d.ts +57 -0
  118. package/dist/custom/query-extraction/sourceBinding.d.ts.map +1 -0
  119. package/dist/custom/query-extraction/sourceBinding.js +104 -0
  120. package/dist/custom/query-extraction/sourceBinding.js.map +1 -0
  121. package/dist/custom/query-extraction/sync.d.ts +27 -3
  122. package/dist/custom/query-extraction/sync.d.ts.map +1 -1
  123. package/dist/custom/query-extraction/sync.js +69 -44
  124. package/dist/custom/query-extraction/sync.js.map +1 -1
  125. package/dist/custom/query-extraction/templateFacts.d.ts +62 -0
  126. package/dist/custom/query-extraction/templateFacts.d.ts.map +1 -0
  127. package/dist/custom/query-extraction/templateFacts.js +229 -0
  128. package/dist/custom/query-extraction/templateFacts.js.map +1 -0
  129. package/dist/custom/query-extraction/types.d.ts +4 -0
  130. package/dist/custom/query-extraction/types.d.ts.map +1 -1
  131. package/dist/custom/query-refresh/QueryExtractionService.d.ts +54 -0
  132. package/dist/custom/query-refresh/QueryExtractionService.d.ts.map +1 -0
  133. package/dist/custom/query-refresh/QueryExtractionService.js +207 -0
  134. package/dist/custom/query-refresh/QueryExtractionService.js.map +1 -0
  135. package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.d.ts +28 -0
  136. package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.d.ts.map +1 -0
  137. package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.js +106 -0
  138. package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.js.map +1 -0
  139. package/dist/custom/query-refresh/index.d.ts +14 -0
  140. package/dist/custom/query-refresh/index.d.ts.map +1 -0
  141. package/dist/custom/query-refresh/index.js +10 -0
  142. package/dist/custom/query-refresh/index.js.map +1 -0
  143. package/dist/custom/query-refresh/queryRebind.d.ts +33 -0
  144. package/dist/custom/query-refresh/queryRebind.d.ts.map +1 -0
  145. package/dist/custom/query-refresh/queryRebind.js +85 -0
  146. package/dist/custom/query-refresh/queryRebind.js.map +1 -0
  147. package/dist/custom/query-refresh/refreshAuthorization.d.ts +29 -0
  148. package/dist/custom/query-refresh/refreshAuthorization.d.ts.map +1 -0
  149. package/dist/custom/query-refresh/refreshAuthorization.js +66 -0
  150. package/dist/custom/query-refresh/refreshAuthorization.js.map +1 -0
  151. package/dist/custom/query-refresh/refreshFormat.d.ts +16 -0
  152. package/dist/custom/query-refresh/refreshFormat.d.ts.map +1 -0
  153. package/dist/custom/query-refresh/refreshFormat.js +67 -0
  154. package/dist/custom/query-refresh/refreshFormat.js.map +1 -0
  155. package/dist/custom/query-refresh/refreshOrder.d.ts +25 -0
  156. package/dist/custom/query-refresh/refreshOrder.d.ts.map +1 -0
  157. package/dist/custom/query-refresh/refreshOrder.js +95 -0
  158. package/dist/custom/query-refresh/refreshOrder.js.map +1 -0
  159. package/dist/custom/query-refresh/refreshSelection.d.ts +15 -0
  160. package/dist/custom/query-refresh/refreshSelection.d.ts.map +1 -0
  161. package/dist/custom/query-refresh/refreshSelection.js +99 -0
  162. package/dist/custom/query-refresh/refreshSelection.js.map +1 -0
  163. package/dist/custom/query-refresh/refreshTypes.d.ts +81 -0
  164. package/dist/custom/query-refresh/refreshTypes.d.ts.map +1 -0
  165. package/dist/custom/query-refresh/refreshTypes.js +5 -0
  166. package/dist/custom/query-refresh/refreshTypes.js.map +1 -0
  167. package/dist/custom/util.d.ts +8 -0
  168. package/dist/custom/util.d.ts.map +1 -1
  169. package/dist/custom/util.js +18 -1
  170. package/dist/custom/util.js.map +1 -1
  171. package/dist/engines/QueryEngineServer.d.ts +8 -5
  172. package/dist/engines/QueryEngineServer.d.ts.map +1 -1
  173. package/dist/engines/QueryEngineServer.js +16 -23
  174. package/dist/engines/QueryEngineServer.js.map +1 -1
  175. package/dist/index.d.ts +7 -0
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +7 -0
  178. package/dist/index.js.map +1 -1
  179. package/package.json +30 -30
@@ -1,6 +1,6 @@
1
1
  import { LogError, LogStatus, QUERY_CONTEXT_NAME, RunMaybeSerial } from "@memberjunction/core";
2
- import { QueryEngine, } from "@memberjunction/core-entities";
3
- import { IndexByUUID, NormalizeUUID, UUIDsEqual } from "@memberjunction/global";
2
+ import { EscapeSQLString, IndexByUUID, NormalizeUUID, UUIDsEqual } from "@memberjunction/global";
3
+ import { QueryChildNameKey, QueryEntityKey } from "./declared.js";
4
4
  // =============================================================================
5
5
  // Database sync engine for the query extraction pipeline.
6
6
  //
@@ -64,20 +64,49 @@ function defaultSQLTypesForField(fieldType, platform = 'sqlserver') {
64
64
  }
65
65
  }
66
66
  // ---------------------------------------------------------------------------
67
+ // Rows extraction leaves alone
68
+ // ---------------------------------------------------------------------------
69
+ /**
70
+ * The names of the parameter or field rows extraction must not add, update or delete: the rows the
71
+ * same save declared, and every stored row a person authored (`DetectionMethod` `Manual`, as a
72
+ * metadata file's declared rows are). An authored row keeps its descriptions and other annotations
73
+ * whichever save triggers extraction, including the re-extraction a dialect variant's save runs,
74
+ * which declares nothing.
75
+ *
76
+ * @param stored - The rows stored for the query.
77
+ * @param declaredNames - Lower-cased names the same save declared.
78
+ * @returns Lower-cased names.
79
+ */
80
+ export function NamesExtractionLeavesAlone(stored, declaredNames) {
81
+ const names = new Set(declaredNames);
82
+ for (const row of stored) {
83
+ if (row.DetectionMethod === 'Manual') {
84
+ names.add(QueryChildNameKey(row.Name));
85
+ }
86
+ }
87
+ return names;
88
+ }
89
+ // ---------------------------------------------------------------------------
67
90
  // SyncParameters
68
91
  // ---------------------------------------------------------------------------
69
92
  /**
70
93
  * Synchronizes extracted query parameters with the database.
71
94
  * Filters out "query" params (composition token safety net), handles add/update/remove,
72
95
  * and maps types to database-supported types.
96
+ *
97
+ * @param declaredNames - Lower-cased names of parameters the same save declared. Those rows are the
98
+ * caller's: they are never added, updated or deleted here, whatever the SQL says. Stored rows a
99
+ * person authored are left alone the same way ({@link NamesExtractionLeavesAlone}).
73
100
  */
74
- export async function SyncParameters(queryID, extractedParams, contextUser, metadataProvider, runViewProvider, isSaved) {
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));
101
+ export async function SyncParameters(queryID, extractedParams, contextUser, metadataProvider, runViewProvider, isSaved, declaredNames = new Set()) {
79
102
  try {
80
- const existingParams = await loadExistingRecords('MJ: Query Parameters', queryID, runViewProvider, contextUser, isSaved);
103
+ const storedParams = await loadExistingRecords('MJ: Query Parameters', queryID, runViewProvider, contextUser, isSaved);
104
+ const leftAlone = NamesExtractionLeavesAlone(storedParams, declaredNames);
105
+ const existingParams = storedParams.filter(ep => !leftAlone.has(QueryChildNameKey(ep.Name)));
106
+ // Filter out any parameter named "query" that came from {{query:"..."}} composition tokens, and
107
+ // the reserved Context object: `{{ Context.UserID }}` reads a server-set value, and a parameter
108
+ // named Context would shadow it. Declared and authored parameters are left as they are.
109
+ const filteredParams = extractedParams.filter(p => p.name !== 'query' && !isReservedContextName(p.name) && !leftAlone.has(QueryChildNameKey(p.name)));
81
110
  const extractedParamNames = filteredParams.map(p => p.name.toLowerCase());
82
111
  const paramsToAdd = filteredParams.filter(p => !existingParams.some(ep => ep.Name.toLowerCase() === p.name.toLowerCase()));
83
112
  const paramsToUpdate = existingParams.filter(ep => filteredParams.some(p => p.name.toLowerCase() === ep.Name.toLowerCase()));
@@ -178,12 +207,19 @@ function updateParameterIfChanged(existing, extracted) {
178
207
  * Synchronizes extracted query fields with the database.
179
208
  * Expands wildcards, maps ExtractedField to MJQueryFieldEntity with sqlBaseType/sqlFullType override,
180
209
  * handles add/update/remove.
210
+ *
211
+ * @param declaredNames - Lower-cased names of fields the same save declared; see {@link SyncParameters}.
181
212
  */
182
- export async function SyncFields(queryID, extractedFields, contextUser, metadataProvider, runViewProvider, isSaved, platform = 'sqlserver') {
213
+ export async function SyncFields(queryID, extractedFields, contextUser, metadataProvider, runViewProvider, isSaved, platform = 'sqlserver', declaredNames = new Set()) {
183
214
  try {
184
- const existingFields = await loadExistingRecords('MJ: Query Fields', queryID, runViewProvider, contextUser, isSaved);
215
+ // Fields the same save declared, and fields a person authored, are never added, updated or
216
+ // deleted here.
217
+ const storedFields = await loadExistingRecords('MJ: Query Fields', queryID, runViewProvider, contextUser, isSaved);
218
+ const leftAlone = NamesExtractionLeavesAlone(storedFields, declaredNames);
219
+ const existingFields = storedFields.filter(ef => !leftAlone.has(QueryChildNameKey(ef.Name)));
185
220
  const fieldNamesToSync = extractedFields.map(f => f.name.toLowerCase());
186
- const fieldsToAdd = extractedFields.filter(f => !existingFields.some(ef => ef.Name.toLowerCase() === f.name.toLowerCase()));
221
+ const fieldsToAdd = extractedFields.filter(f => !leftAlone.has(QueryChildNameKey(f.name))
222
+ && !existingFields.some(ef => ef.Name.toLowerCase() === f.name.toLowerCase()));
187
223
  const fieldsToUpdate = existingFields.filter(ef => extractedFields.some(f => f.name.toLowerCase() === ef.Name.toLowerCase()));
188
224
  const fieldsToRemove = existingFields.filter(ef => !fieldNamesToSync.includes(ef.Name.toLowerCase()));
189
225
  const factories = [];
@@ -374,11 +410,16 @@ function partitionQueryEntityDiff(entityMappings, existingEntities) {
374
410
  /**
375
411
  * Synchronizes extracted entity metadata entries with QueryEntity records in the database.
376
412
  * Matches by `(EntityID, AlternateBaseViewID)`, handling add, update, and remove.
413
+ *
414
+ * @param declaredEntityKeys - Entity links the same save declared, keyed by `QueryEntityKey`; see
415
+ * {@link SyncParameters}.
377
416
  */
378
- export async function SyncEntities(queryID, entityMetadata, contextUser, metadataProvider, runViewProvider, isSaved) {
417
+ export async function SyncEntities(queryID, entityMetadata, contextUser, metadataProvider, runViewProvider, isSaved, declaredEntityKeys = new Set()) {
379
418
  try {
380
- const existingEntities = await loadExistingRecords('MJ: Query Entities', queryID, runViewProvider, contextUser, isSaved);
381
- const entityMappings = mapExtractedEntitiesToMetadata(entityMetadata, metadataProvider);
419
+ // Entity links the same save declared are the caller's: never added, updated or deleted here.
420
+ const existingEntities = (await loadExistingRecords('MJ: Query Entities', queryID, runViewProvider, contextUser, isSaved)).filter(ee => !declaredEntityKeys.has(QueryEntityKey(ee)));
421
+ const entityMappings = mapExtractedEntitiesToMetadata(entityMetadata, metadataProvider)
422
+ .filter(m => !declaredEntityKeys.has(QueryEntityKey({ EntityID: m.entityID })));
382
423
  const { entitiesToAdd, entitiesToUpdate, entitiesToRemove } = partitionQueryEntityDiff(entityMappings, existingEntities);
383
424
  const factories = [];
384
425
  for (const mapping of entitiesToAdd) {
@@ -495,7 +536,8 @@ export async function RemoveAllRecords(queryID, entityName, contextUser, runView
495
536
  const existingResult = await runViewProvider.RunView({
496
537
  EntityName: entityName,
497
538
  ExtraFilter: `QueryID='${queryID}'`,
498
- ResultType: 'entity_object'
539
+ ResultType: 'entity_object',
540
+ IgnoreMaxRows: true
499
541
  }, contextUser);
500
542
  if (!existingResult.Success) {
501
543
  throw new Error(`Failed to load existing ${entityName}: ${existingResult.ErrorMessage}`);
@@ -517,42 +559,25 @@ export async function RemoveAllRecords(queryID, entityName, contextUser, runView
517
559
  * Returns an empty array if the query has not been saved yet.
518
560
  */
519
561
  /**
520
- * Loads existing child records for a query.
562
+ * Loads a query's stored child records from the database, never from QueryEngine's cache.
521
563
  *
522
- * Prefers QueryEngine's in-memory cache when it is loaded (long-running MJAPI
523
- * server): the engine already holds every query child and auto-refreshes via
524
- * BaseEntity events, so we avoid a redundant RunView per save. When the cache
525
- * is NOT loaded — typically a short-lived CLI process such as `mj sync push`
526
- * or `mj codegen`, where QueryEngine was never `Config()`'d — we must read the
527
- * authoritative state from the database. Trusting the empty cache there
528
- * misclassifies already-persisted children as new and re-INSERTs them, hitting
529
- * `UQ_QueryParameter_QueryID_Name` (and the sibling unique constraints), which
530
- * on PostgreSQL aborts the entire push transaction and rolls back the run.
564
+ * Extraction often runs inside a transaction the cache does not see yet: an atomic metadata push
565
+ * saves the query with its declared children, then saves a dialect variant, whose save re-runs
566
+ * extraction. The cache is updated when the transaction commits, so inside it the cache still holds
567
+ * the rows from before the push. Syncing against those rows would treat rows the push just wrote as
568
+ * missing or stale, and saving the cached objects would write their old values back over the new
569
+ * ones. Reading on the extraction's own provider sees the transaction's writes. (A cold cache in a
570
+ * short-lived CLI process is the same problem: it would make persisted children look new.)
531
571
  */
532
572
  async function loadExistingRecords(entityName, queryID, runViewProvider, contextUser, isSaved) {
533
573
  if (!isSaved)
534
574
  return [];
535
- const qe = QueryEngine.Instance;
536
- if (qe.Loaded) {
537
- switch (entityName) {
538
- case 'MJ: Query Parameters':
539
- return qe.GetQueryParameters(queryID);
540
- case 'MJ: Query Fields':
541
- return qe.GetQueryFields(queryID);
542
- case 'MJ: Query Entities':
543
- return qe.QueryEntities.filter(e => UUIDsEqual(e.QueryID, queryID));
544
- case 'MJ: Query Dependencies':
545
- return qe.Dependencies.filter(d => UUIDsEqual(d.QueryID, queryID));
546
- default:
547
- return [];
548
- }
549
- }
550
- // Cache cold — read straight from the DB so the add/update/remove delta is
551
- // computed against real persisted state, not an empty cache.
552
575
  const result = await runViewProvider.RunView({
553
576
  EntityName: entityName,
554
- ExtraFilter: `QueryID='${queryID}'`,
555
- ResultType: 'entity_object'
577
+ ExtraFilter: `QueryID='${EscapeSQLString(queryID)}'`,
578
+ ResultType: 'entity_object',
579
+ BypassCache: true,
580
+ IgnoreMaxRows: true,
556
581
  }, contextUser);
557
582
  if (!result.Success) {
558
583
  throw new Error(`Failed to load existing ${entityName} for query ${queryID}: ${result.ErrorMessage}`);
@@ -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":"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"}
@@ -0,0 +1,62 @@
1
+ import type { DatabasePlatform } from "@memberjunction/core";
2
+ import { QueryTemplate } from "@memberjunction/sql-parser";
3
+ import type { DeclaredTemplateParameter, Diagnostic, KnownTemplateParameterType } from "@memberjunction/sql-parser";
4
+ import type { QueryDependencyFact, QueryEntityFact, KnownQueryParameter, QueryExtractionInput, QueryParameterFact } from "./extractionTypes.js";
5
+ /** What MJ's own reading of the query (lexer, template layer, structural parser) establishes. */
6
+ export interface TemplateAnalysis {
7
+ readonly Template: QueryTemplate;
8
+ readonly UsesTemplate: boolean;
9
+ readonly Parameters: readonly QueryParameterFact[];
10
+ /** `null` when a composition could not be resolved, so the stored rows are kept. */
11
+ readonly Dependencies: readonly QueryDependencyFact[] | null;
12
+ /** `null` when the SQL could not be read completely, so the stored rows are kept. */
13
+ readonly Entities: readonly QueryEntityFact[] | null;
14
+ /** Output names the select list writes more than once (case-insensitive). */
15
+ readonly DuplicateOutputNames: readonly string[];
16
+ /**
17
+ * Whether a table or view the query reads is named by a template parameter
18
+ * (`FROM {{ Schema | sqlIdentifier }}.{{ View | sqlIdentifier }}`), so its output columns depend
19
+ * on the arguments and no single render describes them.
20
+ */
21
+ readonly ReadsParameterNamedSource: boolean;
22
+ /** `@field` / `--:` descriptions, by lower-cased field name. */
23
+ readonly FieldDocs: ReadonlyMap<string, string>;
24
+ /** Save-time rule errors and warnings (`QueryTemplate.Validate`), and doc-comment warnings. */
25
+ readonly Errors: readonly Diagnostic[];
26
+ readonly Warnings: readonly Diagnostic[];
27
+ /** Notes about facts that could not be established. */
28
+ readonly Notes: readonly string[];
29
+ }
30
+ /**
31
+ * Reads the query with MJ's parser: whether it is a template, its parameters (with composition
32
+ * pass-throughs), its compositions, the entities it reads, duplicate output names, doc comments
33
+ * and the save-time rules. Never touches the database.
34
+ */
35
+ export declare function AnalyzeQueryTemplate(input: QueryExtractionInput): TemplateAnalysis;
36
+ /**
37
+ * The parameter rows that declare a type to the save-time rules: the rows a person wrote
38
+ * (`DetectionMethod` `Manual`), and the server-set rows, whose flag only a person sets. A row
39
+ * extraction detected records what the previous SQL implied, so it declares nothing: the SQL may
40
+ * change that parameter's filter, and the row then follows the new type.
41
+ */
42
+ export declare function DeclaredTemplateParameters(known: readonly KnownQueryParameter[]): DeclaredTemplateParameter[];
43
+ /**
44
+ * The types the detected parameter rows record (the rows {@link DeclaredTemplateParameters} leaves
45
+ * out). They are not authoritative, so they never decide whether a filter fits. They only type a
46
+ * value written without a filter when the SQL gives no type. Without them, a string written
47
+ * unfiltered into a query whose rows were all detected would only be warned about, not refused.
48
+ */
49
+ export declare function DetectedTemplateParameterTypes(known: readonly KnownQueryParameter[]): KnownTemplateParameterType[];
50
+ /**
51
+ * Whether `sql` holds any MJ template tag (`{{ }}`, `{% %}`, `{# #}`, a composition) outside SQL
52
+ * comments, read by the lexer of `platform`'s dialect. This is what `UsesTemplate` records: a
53
+ * lexical fact, whatever extraction finds.
54
+ */
55
+ export declare function SQLUsesTemplate(sql: string, platform: DatabasePlatform): boolean;
56
+ /**
57
+ * A diagnostic as one line of `ExtractionMessage` or a refusal: code, location, message and fix,
58
+ * in the shared format clients read back with `ParseQueryDiagnostic`. The location is the line and
59
+ * column of the diagnostic's start in `sql`, the text it was found in; without `sql` it is left out.
60
+ */
61
+ export declare function DescribeDiagnostic(diagnostic: Diagnostic, sql?: string): string;
62
+ //# sourceMappingURL=templateFacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateFacts.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/templateFacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAI7D,OAAO,EAIH,aAAa,EAGhB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAIR,yBAAyB,EACzB,UAAU,EACV,0BAA0B,EAG7B,MAAM,4BAA4B,CAAC;AAKpC,OAAO,KAAK,EACR,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAErB,MAAM,mBAAmB,CAAC;AAE3B,iGAAiG;AACjG,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,oFAAoF;IACpF,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,GAAG,IAAI,CAAC;IAC7D,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI,CAAC;IACrD,6EAA6E;IAC7E,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD;;;;OAIG;IACH,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;IAC5C,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,+FAA+F;IAC/F,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAQD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,oBAAoB,GAAG,gBAAgB,CA2BlF;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,yBAAyB,EAAE,CAE7G;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,0BAA0B,EAAE,CAElH;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAEhF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAS/E"}
@@ -0,0 +1,229 @@
1
+ import { GetQueryDialect } from "@memberjunction/sql-dialect";
2
+ import { CompositionFullPath, CompositionPathSegments, MatchCompositionPath, QueryTemplate, SqlTokens, TemplateSqlViews, } from "@memberjunction/sql-parser";
3
+ import { IndexByUUID } from "@memberjunction/global";
4
+ import { FormatQueryDiagnostic, QueryTextPosition } from "@memberjunction/core-entities";
5
+ import { ExtractAliasFromSQL } from "./resolve.js";
6
+ import { BindTableReferences, EntityObjectIndex } from "./sourceBinding.js";
7
+ /**
8
+ * Reads the query with MJ's parser: whether it is a template, its parameters (with composition
9
+ * pass-throughs), its compositions, the entities it reads, duplicate output names, doc comments
10
+ * and the save-time rules. Never touches the database.
11
+ */
12
+ export function AnalyzeQueryTemplate(input) {
13
+ const dialect = GetQueryDialect(input.Platform);
14
+ const template = QueryTemplate.Parse(input.SQL, dialect);
15
+ const validation = template.Validate({
16
+ Mode: input.Mode,
17
+ DeclaredParameters: DeclaredTemplateParameters(input.KnownParameters),
18
+ KnownParameterTypes: DetectedTemplateParameterTypes(input.KnownParameters),
19
+ QueryPath: input.QueryPath,
20
+ ResolveComposition: path => resolveTarget(path, input.Queries),
21
+ });
22
+ const docs = template.DocComments();
23
+ const resolved = resolveReferences(template.CompositionReferences().Value, input.Queries);
24
+ const structure = readStructure(input.SQL, dialect, input);
25
+ const diagnostics = [...validation.Diagnostics, ...docs.Diagnostics];
26
+ return {
27
+ Template: template,
28
+ UsesTemplate: template.Tokens.HasTemplate,
29
+ Parameters: parameterFacts(template, resolved.References, input.ParameterHints),
30
+ Dependencies: resolved.Complete ? resolved.References.map(r => dependencyFact(r, input.SQL)) : null,
31
+ Entities: structure.Entities,
32
+ DuplicateOutputNames: structure.DuplicateOutputNames,
33
+ ReadsParameterNamedSource: structure.ReadsParameterNamedSource,
34
+ FieldDocs: new Map(docs.Value.Fields.map(f => [f.Name.toLowerCase(), f.Description])),
35
+ Errors: diagnostics.filter(d => d.Severity === 'Error'),
36
+ Warnings: diagnostics.filter(d => d.Severity === 'Warning'),
37
+ Notes: [...resolved.Notes, ...structure.Notes],
38
+ };
39
+ }
40
+ /**
41
+ * The parameter rows that declare a type to the save-time rules: the rows a person wrote
42
+ * (`DetectionMethod` `Manual`), and the server-set rows, whose flag only a person sets. A row
43
+ * extraction detected records what the previous SQL implied, so it declares nothing: the SQL may
44
+ * change that parameter's filter, and the row then follows the new type.
45
+ */
46
+ export function DeclaredTemplateParameters(known) {
47
+ return known.filter(p => p.IsAuthored || p.IsServerSet).map(p => ({ Name: p.Name, Type: p.Type, IsServerSet: p.IsServerSet }));
48
+ }
49
+ /**
50
+ * The types the detected parameter rows record (the rows {@link DeclaredTemplateParameters} leaves
51
+ * out). They are not authoritative, so they never decide whether a filter fits. They only type a
52
+ * value written without a filter when the SQL gives no type. Without them, a string written
53
+ * unfiltered into a query whose rows were all detected would only be warned about, not refused.
54
+ */
55
+ export function DetectedTemplateParameterTypes(known) {
56
+ return known.filter(p => !p.IsAuthored && !p.IsServerSet).map(p => ({ Name: p.Name, Type: p.Type }));
57
+ }
58
+ /**
59
+ * Whether `sql` holds any MJ template tag (`{{ }}`, `{% %}`, `{# #}`, a composition) outside SQL
60
+ * comments, read by the lexer of `platform`'s dialect. This is what `UsesTemplate` records: a
61
+ * lexical fact, whatever extraction finds.
62
+ */
63
+ export function SQLUsesTemplate(sql, platform) {
64
+ return SqlTokens.Lex(sql, GetQueryDialect(platform)).HasTemplate;
65
+ }
66
+ /**
67
+ * A diagnostic as one line of `ExtractionMessage` or a refusal: code, location, message and fix,
68
+ * in the shared format clients read back with `ParseQueryDiagnostic`. The location is the line and
69
+ * column of the diagnostic's start in `sql`, the text it was found in; without `sql` it is left out.
70
+ */
71
+ export function DescribeDiagnostic(diagnostic, sql) {
72
+ const at = sql !== undefined ? QueryTextPosition(sql, diagnostic.Span.Start) : null;
73
+ return FormatQueryDiagnostic({
74
+ Code: diagnostic.Code,
75
+ Message: diagnostic.Message,
76
+ FixHint: diagnostic.FixHint,
77
+ Line: at?.Line ?? null,
78
+ Column: at?.Column ?? null,
79
+ });
80
+ }
81
+ // ─── Compositions ───────────────────────────────────────────────────────────
82
+ /** The composed query at a reference's full path, as `QueryTemplate.Validate` asks for it. */
83
+ function resolveTarget(fullPath, queries) {
84
+ const segments = CompositionPathSegments(fullPath);
85
+ const name = segments.pop() ?? '';
86
+ const match = MatchCompositionPath(segments, name, queries);
87
+ if (match.Kind !== 'Exact' && match.Kind !== 'PartialPath')
88
+ return null;
89
+ const query = match.Target;
90
+ return {
91
+ Exists: true,
92
+ Reusable: query.Reusable,
93
+ FullPath: match.Kind === 'PartialPath' ? match.FullPath : undefined,
94
+ // A server-set parameter is filled by the server on every run, never by an argument.
95
+ Parameters: query.QueryParameters.map(p => ({ Name: p.Name, IsRequired: p.IsRequired === true && !p.IsServerSet })),
96
+ Compositions: composedPaths(query, queries),
97
+ };
98
+ }
99
+ /** The full paths of the queries `query` composes, from its stored dependency rows. */
100
+ function composedPaths(query, queries) {
101
+ const byID = IndexByUUID(queries);
102
+ return (query.QueryDependencies ?? [])
103
+ .map(d => byID.Get(d.DependsOnQueryID))
104
+ .filter((q) => q !== undefined)
105
+ .map(q => CompositionFullPath(q));
106
+ }
107
+ /** Each composition with the query it names (exact path, or a unique partial path). */
108
+ function resolveReferences(references, queries) {
109
+ const resolved = [];
110
+ const notes = [];
111
+ for (const reference of references) {
112
+ const match = MatchCompositionPath(reference.CategoryPath, reference.Name, queries);
113
+ if (match.Kind === 'Exact' || match.Kind === 'PartialPath') {
114
+ resolved.push({ Reference: reference, Target: match.Target });
115
+ }
116
+ else {
117
+ notes.push(`The composition "${reference.FullPath}" names no single query; its dependency rows were left as they are.`);
118
+ }
119
+ }
120
+ return { References: resolved, Complete: notes.length === 0, Notes: notes };
121
+ }
122
+ function dependencyFact(resolved, sql) {
123
+ const reference = resolved.Reference;
124
+ const mapping = {};
125
+ for (const argument of reference.Arguments)
126
+ mapping[argument.Name] = argumentText(argument, sql);
127
+ return {
128
+ DependsOnQueryID: resolved.Target.ID,
129
+ ReferencePath: reference.FullPath,
130
+ Alias: ExtractAliasFromSQL(sql, sql.slice(reference.Span.Start, reference.Span.End)),
131
+ ParameterMapping: reference.Arguments.length > 0 ? JSON.stringify(mapping) : null,
132
+ };
133
+ }
134
+ /** An argument as the dependency row records it: a literal's value, `@Name` for a pass-through, else the expression text. */
135
+ function argumentText(argument, sql) {
136
+ const expression = argument.Expression;
137
+ if (expression.Kind === 'Literal')
138
+ return String(expression.Value);
139
+ if (expression.Kind === 'Name')
140
+ return `@${expression.Name}`;
141
+ return `@{${sql.slice(expression.Span.Start, expression.Span.End)}}`;
142
+ }
143
+ // ─── Parameters ─────────────────────────────────────────────────────────────
144
+ /** The template's parameters, typed and described from the composed query a pass-through argument feeds. */
145
+ function parameterFacts(template, references, hints) {
146
+ const docs = new Map(template.DocComments().Value.Parameters.map(p => [p.Name.toLowerCase(), p.Description]));
147
+ return template.Parameters().Value.map(p => {
148
+ const fed = passThroughTarget(p.Name, references);
149
+ return {
150
+ Name: p.Name,
151
+ Type: inferredType(p) ?? (fed ? fed.Type : arithmeticTargetType(p.Name, references)),
152
+ IsRequired: p.IsRequired,
153
+ DefaultValue: p.DefaultValue === null ? null : String(p.DefaultValue),
154
+ SampleValue: hintFor(p.Name, hints) ?? fed?.SampleValue ?? null,
155
+ DocDescription: docs.get(p.Name.toLowerCase()) ?? null,
156
+ InheritedDescription: fed ? inheritedDescription(fed) : null,
157
+ };
158
+ });
159
+ }
160
+ function inferredType(parameter) {
161
+ return parameter.InferredType === 'unknown' ? null : parameter.InferredType;
162
+ }
163
+ function hintFor(name, hints) {
164
+ return hints?.get(name) ?? hints?.get(name.toLowerCase()) ?? null;
165
+ }
166
+ /** The composed query's parameter an explicit `(Arg=Name)` argument passes `name` to; the first one wins. */
167
+ function passThroughTarget(name, references) {
168
+ const wanted = name.toLowerCase();
169
+ for (const { Reference, Target } of references) {
170
+ const argument = Reference.Arguments.find(a => a.Expression.Kind === 'Name' && a.Expression.Name.toLowerCase() === wanted);
171
+ const parameter = argument ? Target.QueryParameters.find(tp => tp.Name.toLowerCase() === argument.Name.toLowerCase()) : undefined;
172
+ if (parameter)
173
+ return parameter;
174
+ }
175
+ return undefined;
176
+ }
177
+ const ARITHMETIC_OPERATORS = new Set(['+', '-', '*', '/', '%']);
178
+ /**
179
+ * `number` when `name` is read by an arithmetic composition argument (`Lo=Floor + 4`) that feeds a
180
+ * number parameter of the composed query: the outer value must be a number for the arithmetic to
181
+ * mean what it says (a string value would be concatenated by `+`). Otherwise no type.
182
+ */
183
+ function arithmeticTargetType(name, references) {
184
+ const wanted = name.toLowerCase();
185
+ for (const { Reference, Target } of references) {
186
+ for (const argument of Reference.Arguments) {
187
+ const expression = argument.Expression;
188
+ if (expression.Kind !== 'Binary' || !ARITHMETIC_OPERATORS.has(expression.Operator))
189
+ continue;
190
+ if (!argument.ReferencedNames.some(n => n.toLowerCase() === wanted))
191
+ continue;
192
+ const parameter = Target.QueryParameters.find(tp => tp.Name.toLowerCase() === argument.Name.toLowerCase());
193
+ if (parameter?.Type === 'number')
194
+ return 'number';
195
+ }
196
+ }
197
+ return null;
198
+ }
199
+ function inheritedDescription(parameter) {
200
+ return parameter.Description ? `${parameter.Description} (passed through to "${parameter.Query}" as "${parameter.Name}")` : null;
201
+ }
202
+ // ─── Structure: entities read, duplicate output names ───────────────────────
203
+ /** The table references and duplicate output names of every SQL reading of the template (one per branch variant). */
204
+ function readStructure(sql, dialect, input) {
205
+ const views = TemplateSqlViews(sql, dialect);
206
+ const references = views.flatMap(v => [...v.Document.TableReferences().Value]);
207
+ const duplicates = new Map();
208
+ for (const view of views) {
209
+ for (const d of view.Document.DuplicateOutputNames().Value)
210
+ duplicates.set(d.Name.toLowerCase(), d.Name);
211
+ }
212
+ const complete = views.every(v => v.Complete);
213
+ const entities = BindTableReferences(references, new EntityObjectIndex(input.Entities), dialect.Grammar.DefaultSchema);
214
+ return {
215
+ Entities: complete ? entities : null,
216
+ DuplicateOutputNames: [...duplicates.values()],
217
+ ReadsParameterNamedSource: references.some(isParameterNamedReference),
218
+ Notes: complete ? [] : ['The SQL could not be read completely, so its Query Entities were left as they are.'],
219
+ };
220
+ }
221
+ /** The placeholder a template view writes for a `{{ }}` hole that stands where a name goes. */
222
+ const IDENTIFIER_PLACEHOLDER = /^__MJI_\w+__$/;
223
+ /** Whether a table reference's name (any part of it) is a template hole, not a name written in the SQL. */
224
+ function isParameterNamedReference(reference) {
225
+ if (reference.CTE !== null || reference.Kind !== 'Table')
226
+ return false;
227
+ return reference.Name.Parts.some(part => IDENTIFIER_PLACEHOLDER.test(part.Value));
228
+ }
229
+ //# sourceMappingURL=templateFacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateFacts.js","sourceRoot":"","sources":["../../../src/custom/query-extraction/templateFacts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { IMetadataProvider, IRunViewProvider, UserInfo, DatabasePlatform } from "@memberjunction/core";
2
2
  import type { MJQueryEntityExtended } from "@memberjunction/core-entities";
3
3
  import type { MJParameterInfo, MJParseResult, SQLSelectColumn, SQLTableReference } from "@memberjunction/sql-parser";
4
+ import type { DeclaredQueryChildren } from "./declared.js";
4
5
  /**
5
6
  * A parameter extracted from a query's SQL — the final merged result
6
7
  * combining deterministic parsing, dependency metadata, and LLM enrichment.
@@ -125,5 +126,8 @@ export interface QuerySyncContext {
125
126
  /** Skip the LLM enrichment stage, so the deterministic extraction alone decides parameters
126
127
  * and fields (with heuristic descriptions). Set from the save's `SkipEntityAIActions`. */
127
128
  SkipAIEnrichment?: boolean;
129
+ /** Child rows the same save declared through the query's collections. Extraction leaves them
130
+ * as the caller wrote them (see {@link DeclaredQueryChildren}). Absent means none. */
131
+ DeclaredChildren?: DeclaredQueryChildren;
128
132
  }
129
133
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/types.ts"],"names":[],"mappings":"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"}