@memberjunction/core-entities-server 6.2.0-edge.5 → 6.2.0-edge.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +155 -100
  2. package/dist/custom/MJAIAgentExampleEntityServer.server.d.ts +2 -0
  3. package/dist/custom/MJAIAgentExampleEntityServer.server.d.ts.map +1 -1
  4. package/dist/custom/MJAIAgentExampleEntityServer.server.js +8 -5
  5. package/dist/custom/MJAIAgentExampleEntityServer.server.js.map +1 -1
  6. package/dist/custom/MJAIAgentNoteEntityServer.server.d.ts +2 -0
  7. package/dist/custom/MJAIAgentNoteEntityServer.server.d.ts.map +1 -1
  8. package/dist/custom/MJAIAgentNoteEntityServer.server.js +8 -5
  9. package/dist/custom/MJAIAgentNoteEntityServer.server.js.map +1 -1
  10. package/dist/custom/MJAIAgentRelationshipEntityServer.server.d.ts +17 -0
  11. package/dist/custom/MJAIAgentRelationshipEntityServer.server.d.ts.map +1 -0
  12. package/dist/custom/MJAIAgentRelationshipEntityServer.server.js +71 -0
  13. package/dist/custom/MJAIAgentRelationshipEntityServer.server.js.map +1 -0
  14. package/dist/custom/MJAIAgentSessionEntityServer.server.d.ts +8 -39
  15. package/dist/custom/MJAIAgentSessionEntityServer.server.d.ts.map +1 -1
  16. package/dist/custom/MJAIAgentSessionEntityServer.server.js +44 -44
  17. package/dist/custom/MJAIAgentSessionEntityServer.server.js.map +1 -1
  18. package/dist/custom/MJAIAgentUserPolicyEntityServer.server.d.ts +23 -0
  19. package/dist/custom/MJAIAgentUserPolicyEntityServer.server.d.ts.map +1 -0
  20. package/dist/custom/MJAIAgentUserPolicyEntityServer.server.js +53 -0
  21. package/dist/custom/MJAIAgentUserPolicyEntityServer.server.js.map +1 -0
  22. package/dist/custom/MJAIPromptEntityServer.server.d.ts.map +1 -1
  23. package/dist/custom/MJAIPromptEntityServer.server.js +2 -1
  24. package/dist/custom/MJAIPromptEntityServer.server.js.map +1 -1
  25. package/dist/custom/MJBrandKitEntityServer.server.d.ts +14 -0
  26. package/dist/custom/MJBrandKitEntityServer.server.d.ts.map +1 -0
  27. package/dist/custom/MJBrandKitEntityServer.server.js +75 -0
  28. package/dist/custom/MJBrandKitEntityServer.server.js.map +1 -0
  29. package/dist/custom/MJCompanyIntegrationEntityServer.server.d.ts.map +1 -1
  30. package/dist/custom/MJCompanyIntegrationEntityServer.server.js +1 -0
  31. package/dist/custom/MJCompanyIntegrationEntityServer.server.js.map +1 -1
  32. package/dist/custom/MJComponentEntityServer.server.d.ts +11 -0
  33. package/dist/custom/MJComponentEntityServer.server.d.ts.map +1 -1
  34. package/dist/custom/MJComponentEntityServer.server.js +30 -2
  35. package/dist/custom/MJComponentEntityServer.server.js.map +1 -1
  36. package/dist/custom/MJConversationEntityServer.server.d.ts +13 -0
  37. package/dist/custom/MJConversationEntityServer.server.d.ts.map +1 -0
  38. package/dist/custom/MJConversationEntityServer.server.js +33 -0
  39. package/dist/custom/MJConversationEntityServer.server.js.map +1 -0
  40. package/dist/custom/MJDashboardEntityServer.server.d.ts +14 -0
  41. package/dist/custom/MJDashboardEntityServer.server.d.ts.map +1 -0
  42. package/dist/custom/MJDashboardEntityServer.server.js +38 -0
  43. package/dist/custom/MJDashboardEntityServer.server.js.map +1 -0
  44. package/dist/custom/MJDuplicateRunEntityServer.server.d.ts +34 -2
  45. package/dist/custom/MJDuplicateRunEntityServer.server.d.ts.map +1 -1
  46. package/dist/custom/MJDuplicateRunEntityServer.server.js +103 -23
  47. package/dist/custom/MJDuplicateRunEntityServer.server.js.map +1 -1
  48. package/dist/custom/MJEntityAlternateBaseViewEntityServer.server.d.ts +73 -0
  49. package/dist/custom/MJEntityAlternateBaseViewEntityServer.server.d.ts.map +1 -0
  50. package/dist/custom/MJEntityAlternateBaseViewEntityServer.server.js +391 -0
  51. package/dist/custom/MJEntityAlternateBaseViewEntityServer.server.js.map +1 -0
  52. package/dist/custom/MJEntityDocumentEntityServer.server.d.ts.map +1 -1
  53. package/dist/custom/MJEntityDocumentEntityServer.server.js +1 -0
  54. package/dist/custom/MJEntityDocumentEntityServer.server.js.map +1 -1
  55. package/dist/custom/MJEntityFieldPermissionEntityServer.server.d.ts +96 -22
  56. package/dist/custom/MJEntityFieldPermissionEntityServer.server.d.ts.map +1 -1
  57. package/dist/custom/MJEntityFieldPermissionEntityServer.server.js +239 -55
  58. package/dist/custom/MJEntityFieldPermissionEntityServer.server.js.map +1 -1
  59. package/dist/custom/MJListDetailEntityServer.server.d.ts.map +1 -1
  60. package/dist/custom/MJListDetailEntityServer.server.js +1 -0
  61. package/dist/custom/MJListDetailEntityServer.server.js.map +1 -1
  62. package/dist/custom/MJQueryEntityServer.server.d.ts +184 -46
  63. package/dist/custom/MJQueryEntityServer.server.d.ts.map +1 -1
  64. package/dist/custom/MJQueryEntityServer.server.js +505 -159
  65. package/dist/custom/MJQueryEntityServer.server.js.map +1 -1
  66. package/dist/custom/MJQuerySQLEntityServer.server.d.ts +15 -18
  67. package/dist/custom/MJQuerySQLEntityServer.server.d.ts.map +1 -1
  68. package/dist/custom/MJQuerySQLEntityServer.server.js +34 -42
  69. package/dist/custom/MJQuerySQLEntityServer.server.js.map +1 -1
  70. package/dist/custom/MJTagEntityServer.server.d.ts +2 -0
  71. package/dist/custom/MJTagEntityServer.server.d.ts.map +1 -1
  72. package/dist/custom/MJTagEntityServer.server.js +13 -7
  73. package/dist/custom/MJTagEntityServer.server.js.map +1 -1
  74. package/dist/custom/MJUserRoleEntityServer.server.d.ts +74 -7
  75. package/dist/custom/MJUserRoleEntityServer.server.d.ts.map +1 -1
  76. package/dist/custom/MJUserRoleEntityServer.server.js +206 -20
  77. package/dist/custom/MJUserRoleEntityServer.server.js.map +1 -1
  78. package/dist/custom/MJUserRoutineEntityServer.server.d.ts.map +1 -1
  79. package/dist/custom/MJUserRoutineEntityServer.server.js +8 -1
  80. package/dist/custom/MJUserRoutineEntityServer.server.js.map +1 -1
  81. package/dist/custom/MJUserViewEntityServer.server.d.ts +17 -1
  82. package/dist/custom/MJUserViewEntityServer.server.d.ts.map +1 -1
  83. package/dist/custom/MJUserViewEntityServer.server.js +95 -7
  84. package/dist/custom/MJUserViewEntityServer.server.js.map +1 -1
  85. package/dist/custom/MJVectorIndexEntityServer.server.d.ts +2 -0
  86. package/dist/custom/MJVectorIndexEntityServer.server.d.ts.map +1 -1
  87. package/dist/custom/MJVectorIndexEntityServer.server.js +33 -0
  88. package/dist/custom/MJVectorIndexEntityServer.server.js.map +1 -1
  89. package/dist/custom/anonymousOwnershipKeyGuard.d.ts +42 -0
  90. package/dist/custom/anonymousOwnershipKeyGuard.d.ts.map +1 -0
  91. package/dist/custom/anonymousOwnershipKeyGuard.js +36 -0
  92. package/dist/custom/anonymousOwnershipKeyGuard.js.map +1 -0
  93. package/dist/custom/approvalStamp.d.ts +37 -0
  94. package/dist/custom/approvalStamp.d.ts.map +1 -0
  95. package/dist/custom/approvalStamp.js +67 -0
  96. package/dist/custom/approvalStamp.js.map +1 -0
  97. package/dist/custom/fieldPermissionAccess.d.ts +31 -0
  98. package/dist/custom/fieldPermissionAccess.d.ts.map +1 -0
  99. package/dist/custom/fieldPermissionAccess.js +38 -0
  100. package/dist/custom/fieldPermissionAccess.js.map +1 -0
  101. package/dist/custom/fieldPermissionReconciler.d.ts.map +1 -1
  102. package/dist/custom/fieldPermissionReconciler.js +12 -2
  103. package/dist/custom/fieldPermissionReconciler.js.map +1 -1
  104. package/dist/custom/query-extraction/childRowWriter.d.ts +77 -0
  105. package/dist/custom/query-extraction/childRowWriter.d.ts.map +1 -0
  106. package/dist/custom/query-extraction/childRowWriter.js +277 -0
  107. package/dist/custom/query-extraction/childRowWriter.js.map +1 -0
  108. package/dist/custom/query-extraction/compositionTargets.d.ts +40 -0
  109. package/dist/custom/query-extraction/compositionTargets.d.ts.map +1 -0
  110. package/dist/custom/query-extraction/compositionTargets.js +99 -0
  111. package/dist/custom/query-extraction/compositionTargets.js.map +1 -0
  112. package/dist/custom/query-extraction/declared.d.ts +79 -0
  113. package/dist/custom/query-extraction/declared.d.ts.map +1 -0
  114. package/dist/custom/query-extraction/declared.js +91 -0
  115. package/dist/custom/query-extraction/declared.js.map +1 -0
  116. package/dist/custom/query-extraction/describeFacts.d.ts +40 -0
  117. package/dist/custom/query-extraction/describeFacts.d.ts.map +1 -0
  118. package/dist/custom/query-extraction/describeFacts.js +225 -0
  119. package/dist/custom/query-extraction/describeFacts.js.map +1 -0
  120. package/dist/custom/query-extraction/descriptionPass.d.ts +23 -0
  121. package/dist/custom/query-extraction/descriptionPass.d.ts.map +1 -0
  122. package/dist/custom/query-extraction/descriptionPass.js +95 -0
  123. package/dist/custom/query-extraction/descriptionPass.js.map +1 -0
  124. package/dist/custom/query-extraction/extractQuery.d.ts +25 -0
  125. package/dist/custom/query-extraction/extractQuery.d.ts.map +1 -0
  126. package/dist/custom/query-extraction/extractQuery.js +146 -0
  127. package/dist/custom/query-extraction/extractQuery.js.map +1 -0
  128. package/dist/custom/query-extraction/extractionTypes.d.ts +133 -0
  129. package/dist/custom/query-extraction/extractionTypes.d.ts.map +1 -0
  130. package/dist/custom/query-extraction/extractionTypes.js +2 -0
  131. package/dist/custom/query-extraction/extractionTypes.js.map +1 -0
  132. package/dist/custom/query-extraction/index.d.ts +16 -0
  133. package/dist/custom/query-extraction/index.d.ts.map +1 -1
  134. package/dist/custom/query-extraction/index.js +11 -1
  135. package/dist/custom/query-extraction/index.js.map +1 -1
  136. package/dist/custom/query-extraction/pipeline.d.ts +6 -2
  137. package/dist/custom/query-extraction/pipeline.d.ts.map +1 -1
  138. package/dist/custom/query-extraction/pipeline.js +21 -14
  139. package/dist/custom/query-extraction/pipeline.js.map +1 -1
  140. package/dist/custom/query-extraction/resolve.d.ts +7 -2
  141. package/dist/custom/query-extraction/resolve.d.ts.map +1 -1
  142. package/dist/custom/query-extraction/resolve.js +41 -20
  143. package/dist/custom/query-extraction/resolve.js.map +1 -1
  144. package/dist/custom/query-extraction/sourceBinding.d.ts +57 -0
  145. package/dist/custom/query-extraction/sourceBinding.d.ts.map +1 -0
  146. package/dist/custom/query-extraction/sourceBinding.js +104 -0
  147. package/dist/custom/query-extraction/sourceBinding.js.map +1 -0
  148. package/dist/custom/query-extraction/sync.d.ts +28 -4
  149. package/dist/custom/query-extraction/sync.d.ts.map +1 -1
  150. package/dist/custom/query-extraction/sync.js +147 -59
  151. package/dist/custom/query-extraction/sync.js.map +1 -1
  152. package/dist/custom/query-extraction/templateFacts.d.ts +62 -0
  153. package/dist/custom/query-extraction/templateFacts.d.ts.map +1 -0
  154. package/dist/custom/query-extraction/templateFacts.js +229 -0
  155. package/dist/custom/query-extraction/templateFacts.js.map +1 -0
  156. package/dist/custom/query-extraction/types.d.ts +8 -0
  157. package/dist/custom/query-extraction/types.d.ts.map +1 -1
  158. package/dist/custom/query-refresh/QueryExtractionService.d.ts +54 -0
  159. package/dist/custom/query-refresh/QueryExtractionService.d.ts.map +1 -0
  160. package/dist/custom/query-refresh/QueryExtractionService.js +207 -0
  161. package/dist/custom/query-refresh/QueryExtractionService.js.map +1 -0
  162. package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.d.ts +28 -0
  163. package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.d.ts.map +1 -0
  164. package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.js +106 -0
  165. package/dist/custom/query-refresh/QueryRefreshExtractionServerOperation.js.map +1 -0
  166. package/dist/custom/query-refresh/index.d.ts +14 -0
  167. package/dist/custom/query-refresh/index.d.ts.map +1 -0
  168. package/dist/custom/query-refresh/index.js +10 -0
  169. package/dist/custom/query-refresh/index.js.map +1 -0
  170. package/dist/custom/query-refresh/queryRebind.d.ts +33 -0
  171. package/dist/custom/query-refresh/queryRebind.d.ts.map +1 -0
  172. package/dist/custom/query-refresh/queryRebind.js +85 -0
  173. package/dist/custom/query-refresh/queryRebind.js.map +1 -0
  174. package/dist/custom/query-refresh/refreshAuthorization.d.ts +29 -0
  175. package/dist/custom/query-refresh/refreshAuthorization.d.ts.map +1 -0
  176. package/dist/custom/query-refresh/refreshAuthorization.js +66 -0
  177. package/dist/custom/query-refresh/refreshAuthorization.js.map +1 -0
  178. package/dist/custom/query-refresh/refreshFormat.d.ts +16 -0
  179. package/dist/custom/query-refresh/refreshFormat.d.ts.map +1 -0
  180. package/dist/custom/query-refresh/refreshFormat.js +67 -0
  181. package/dist/custom/query-refresh/refreshFormat.js.map +1 -0
  182. package/dist/custom/query-refresh/refreshOrder.d.ts +25 -0
  183. package/dist/custom/query-refresh/refreshOrder.d.ts.map +1 -0
  184. package/dist/custom/query-refresh/refreshOrder.js +95 -0
  185. package/dist/custom/query-refresh/refreshOrder.js.map +1 -0
  186. package/dist/custom/query-refresh/refreshSelection.d.ts +15 -0
  187. package/dist/custom/query-refresh/refreshSelection.d.ts.map +1 -0
  188. package/dist/custom/query-refresh/refreshSelection.js +99 -0
  189. package/dist/custom/query-refresh/refreshSelection.js.map +1 -0
  190. package/dist/custom/query-refresh/refreshTypes.d.ts +81 -0
  191. package/dist/custom/query-refresh/refreshTypes.d.ts.map +1 -0
  192. package/dist/custom/query-refresh/refreshTypes.js +5 -0
  193. package/dist/custom/query-refresh/refreshTypes.js.map +1 -0
  194. package/dist/custom/systemUserGuardState.d.ts +73 -0
  195. package/dist/custom/systemUserGuardState.d.ts.map +1 -0
  196. package/dist/custom/systemUserGuardState.js +161 -0
  197. package/dist/custom/systemUserGuardState.js.map +1 -0
  198. package/dist/custom/template-extraction/parser.js +5 -2
  199. package/dist/custom/template-extraction/parser.js.map +1 -1
  200. package/dist/custom/template-extraction/types.d.ts +1 -1
  201. package/dist/custom/template-extraction/types.d.ts.map +1 -1
  202. package/dist/custom/util.d.ts +8 -0
  203. package/dist/custom/util.d.ts.map +1 -1
  204. package/dist/custom/util.js +18 -1
  205. package/dist/custom/util.js.map +1 -1
  206. package/dist/engines/QueryEngineServer.d.ts +4 -1
  207. package/dist/engines/QueryEngineServer.d.ts.map +1 -1
  208. package/dist/engines/QueryEngineServer.js +10 -7
  209. package/dist/engines/QueryEngineServer.js.map +1 -1
  210. package/dist/index.d.ts +9 -0
  211. package/dist/index.d.ts.map +1 -1
  212. package/dist/index.js +9 -0
  213. package/dist/index.js.map +1 -1
  214. package/package.json +30 -30
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/custom/query-extraction/resolve.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAmD,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAsE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAChI,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAWzD,sDAAsD;AACtD,mCAAmC;AACnC,sDAAsD;AAEtD;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CACxC,GAAW,EACX,SAAiB,EACjB,UAAmC;IAEnC,MAAM,iBAAiB,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACvD,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAE5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,QAAQ,GAAmC,EAAE,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAEpG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACX,UAAU,SAAS,iBAAiB,KAAK,CAAC,QAAQ,gCAAgC;gBAClF,mDAAmD;gBACnD,uFAAuF,CAC1F,CAAC;QACN,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACX,UAAU,SAAS,iBAAiB,KAAK,CAAC,QAAQ,4BAA4B;gBAC9E,QAAQ,QAAQ,CAAC,IAAI,+BAA+B;gBACpD,yBAAyB,QAAQ,CAAC,IAAI,kDAAkD,CAC3F,CAAC;QACN,CAAC;QAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE3F,QAAQ,CAAC,IAAI,CAAC;YACV,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,KAAK,CAAC,QAAQ;YAC7B,KAAK,EAAE,KAAK;YACZ,gBAAgB,EAAE,gBAAgB;YAClC,mBAAmB,EAAE,mBAAmB;SAC3C,CAAC,CAAC;IACP,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CACzC,SAAiB,EACjB,gBAA0B,EAC1B,UAAmC;IAEnC,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAE/C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACvD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc;YACvC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,CAC9D,CAAC;QACF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,CAAC;IACpF,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAClC,MAA2F;IAK3F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,CAAC;IAEpF,MAAM,gBAAgB,GAA2B,EAAE,CAAC;IACpD,MAAM,mBAAmB,GAA6D,EAAE,CAAC;IAEzF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC7B,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;QACrD,CAAC;aAAM,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YACxC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC3D,mBAAmB,CAAC,IAAI,CAAC;gBACrB,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,YAAY,EAAE,KAAK,CAAC,IAAI;aAC3B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO;QACH,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;QACpF,mBAAmB;KACtB,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,SAAiB;IAC9D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEhC,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;YACrB,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YACrE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC9D,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC7C,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,sDAAsD;AACtD,mCAAmC;AACnC,sDAAsD;AAEtD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAClC,YAA4C;IAK5C,MAAM,iBAAiB,GAAsB,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACxD,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC5C,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAE9B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAC9C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CACnE,CAAC;YAEF,iBAAiB,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,OAAO,CAAC,eAAe;gBAC7B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;gBACxE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;gBACjD,YAAY,EAAE,QAAQ,EAAE,YAAY,IAAI,IAAI;gBAC5C,OAAO,EAAE,EAAE;gBACX,cAAc,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;aACtC,CAAC,CAAC;YAEH,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE;gBACtB,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI;gBAC1C,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,IAAI;gBAC1C,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;gBAC/B,YAAY,EAAE,OAAO,CAAC,YAAY;aACrC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAClC,mBAAsC,EACtC,iBAAoC;IAEpC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAC;IAE/D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,MAAM,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAExC,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChB,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CACzC,IAAwD;IAExD,MAAM,UAAU,GAAG,IAAI,GAAG,CAA0B,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACtG,OAAO,UAAU,CAAC,GAAG,CAAC,IAA+B,CAAC,CAAC,CAAC,CAAE,IAAgC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1G,CAAC;AAGD,sDAAsD;AACtD,mBAAmB;AACnB,sDAAsD;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,4BAA4B,CACxC,aAAgC;IAEhC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,4EAA4E;IAC5E,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtE,OAAO,aAAa;SACf,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,CAAC;SACvC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,GAAoB;IACpD,OAAO;QACH,IAAI,EAAE,GAAG,CAAC,UAAU;QACpB,WAAW,EAAE,GAAG,CAAC,YAAY;YACzB,CAAC,CAAC,oBAAoB,GAAG,CAAC,YAAY,EAAE;YACxC,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,YAAY;gBACjC,CAAC,CAAC,GAAG,GAAG,CAAC,YAAY,gBAAgB,GAAG,CAAC,UAAU,GAAG;gBACtD,CAAC,CAAC,GAAG,CAAC,UAAU;QACxB,IAAI,EAAE,QAAQ,EAAE,0EAA0E;QAC1F,QAAQ,EAAE,KAAK;QACf,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY;QAC3D,UAAU,EAAE,GAAG,CAAC,YAAY;QAC5B,SAAS,EAAE,KAAK;KACnB,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACpC,GAAW,EACX,SAA8B,EAC9B,aAAgC,EAChC,EAAqB;IAErB,MAAM,eAAe,GAAG,oEAAoE,CAAC;IAC7F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,MAAM,cAAc,GAAG,wBAAwB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE/D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,+BAA+B,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAC7B,SAA8B,EAC9B,EAAqB;IAErB,MAAM,cAAc,GAAqB,EAAE,CAAC;IAE5C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,oBAAoB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE1D,IAAI,cAAc,EAAE,CAAC;YACjB,KAAK,MAAM,WAAW,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzD,cAAc,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,+BAA+B,CACpC,GAAW,EACX,cAAgC,EAChC,EAAqB;IAErB,MAAM,eAAe,GAAG,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAE9D,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAChC,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC1D,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CACvD,CAAC;QAEF,IAAI,eAAe,IAAI,eAAe,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,WAAW,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,cAAc,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAC9B,WAAyC,EACzC,UAAkB;IAElB,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,GAAG,WAAW,CAAC,IAAI,eAAe,UAAU,EAAE;QACtF,IAAI,EAAE,yBAAyB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAA4B;QACzF,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,UAAU;QACxB,eAAe,EAAE,WAAW,CAAC,IAAI;QACjC,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACnB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAC7B,MAA0B,EAC1B,EAAqB;IAErB,MAAM,gBAAgB,GAAG,MAAM,CAAC,cAAc;QAC1C,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,GAAG,MAAM,CAAC,IAAI,aAAa;QAC9D,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAA4B;QAC3F,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,gBAAgB;QAC9B,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK;KACvC,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAC5C,MAAwB,EACxB,YAA4C,EAC5C,aAAgC,EAChC,EAAqB;IAErB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEpE,MAAM,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAE9D,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACtB,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAEzD,MAAM,YAAY,GAAG,6BAA6B,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,UAAU,CAAC;eACpF,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAElD,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kCAAkC,CAC9C,MAAwB,EACxB,aAAgC,EAChC,SAA8B,EAC9B,EAAqB;IAErB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAEjE,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAE5C,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IAE7D,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACtB,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAEzD,MAAM,OAAO,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QACnG,IAAI,OAAO,EAAE,CAAC;YACV,OAAO;gBACH,GAAG,KAAK;gBACR,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;gBAC/B,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;gBACtC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU;gBACtD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI;aAC/D,CAAC;QACN,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAChC,MAAwB,EACxB,EAAqB;IAErB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,eAAe,KAAK,GAAG,CAAC,CAAC;IAClF,IAAI,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC;IAEhC,MAAM,cAAc,GAAqB,EAAE,CAAC;IAE5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,eAAe,KAAK,GAAG,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,SAAS;QACb,CAAC;QAED,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrD,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAGD,sDAAsD;AACtD,6BAA6B;AAC7B,sDAAsD;AAEtD;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CACxC,GAAW,EACX,SAA8B,EAC9B,EAAuC,EACvC,WAA6B,WAAW;IAExC,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE1E,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,oBAAoB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE1D,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,cAAc,GAAG,qBAAqB,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAEnF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,cAAc,CAAC,IAAI;wBACzB,UAAU,EAAE,cAAc,CAAC,UAAU;wBACrC,QAAQ,EAAE,cAAc,CAAC,QAAQ;wBACjC,MAAM,EAAE,cAAc;qBACzB,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;QAChE,OAAO,OAAO,CAAC;IACnB,CAAC;AACL,CAAC;AAGD,sDAAsD;AACtD,wBAAwB;AACxB,sDAAsD;AAEtD;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAClC,OAAe,EACf,SAAiB,EACjB,YAAiD,EACjD,eAA0C,EAC1C,UAAmC;IAEnC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,iBAAiB,CAC5B,GAAG,CAAC,gBAAgB,EACpB,OAAO,EACP,SAAS,EACT,CAAC,SAAS,CAAC,EACX,IAAI,GAAG,EAAU,EACjB,eAAe,EACf,UAAU,CACb,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACtB,SAAiB,EACjB,QAAgB,EAChB,UAAkB,EAClB,IAAc,EACd,OAAoB,EACpB,eAA0C,EAC1C,UAAmC;IAEnC,IAAI,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvB,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC;IACvF,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC;IAEzC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,iBAAiB,CAC5B,CAAC,CAAC,gBAAgB,EAClB,QAAQ,EACR,UAAU,EACV,WAAW,EACX,OAAO,EACP,eAAe,EACf,UAAU,CACb,CAAC;QACF,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,sDAAsD;AACtD,iDAAiD;AACjD,sDAAsD;AAEtD;;;;;;;;;GASG;AACH,SAAS,6BAA6B,CAClC,SAAiB,EACjB,eAA6C,EAC7C,UAAqD;IAErD,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IAE3D,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;QACnE,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,CACrE,CAAC;YACF,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,gDAAgD;IAChD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,CACrE,CAAC;QACF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CAC/B,YAA4C;IAE5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IAErD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC5B,KAAqB,EACrB,YAAgC,EAChC,EAAqB;IAErB,OAAO;QACH,GAAG,KAAK;QACR,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,cAAc;YAC5D,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,YAAY,CAAC,cAAc,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC;QACX,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe;QACtE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,YAAY,CAAC,UAAU,IAAI,KAAK;QAChE,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,IAAI,KAAK;KAChE,CAAC;AACN,CAAC;AAaD;;GAEG;AACH,SAAS,qBAAqB,CAC1B,SAA8B,EAC9B,EAAqB;IAErB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEhE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,oBAAoB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1D,IAAI,cAAc,EAAE,CAAC;YACjB,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CAC/B,aAAkD;IAElD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEvD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;QAC1D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CAC/B,SAAiB,EACjB,eAA6C,EAC7C,aAAkD,EAClD,UAAyC;IAEzC,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,IAAI,OAAqC,CAAC;IAE1C,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO,GAAG,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC3B,SAA0B,EAC1B,aAAkD;IAElD,IAAI,CAAC,SAAS,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEhD,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,IAAI,CAAC,WAAW;QAAE,OAAO,SAAS,CAAC;IAEnC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAE3E,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACvE,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAGD,sDAAsD;AACtD,uCAAuC;AACvC,sDAAsD;AAEtD;;;GAGG;AACH,SAAS,wBAAwB,CAC7B,KAAqB,EACrB,EAAqB;IAErB,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,EAAE,KAAK,CAAC,YAAa,CAAC,CAAC;IACnE,IAAI,gBAAgB,EAAE,CAAC;QACnB,OAAO,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACxD,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,YAAa,CAAC,WAAW,EAAE,CAC7D,CAAC;IACF,IAAI,aAAa,IAAI,aAAa,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,uBAAuB,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CACzB,MAAkB,EAClB,QAAiB;IAEjB,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,GAAG,WAAW,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,EAAE;QACvF,IAAI,EAAE,yBAAyB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAA4B;QACzF,QAAQ;QACR,YAAY,EAAE,MAAM,CAAC,IAAI;QACzB,eAAe,EAAE,WAAW,CAAC,IAAI;QACjC,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;KACnB,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC5B,KAA4B,EAC5B,QAAiB,EACjB,EAAqB;IAErB,OAAO,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,GAAG,MAAM,CAAC,IAAI,gBAAgB,KAAK,CAAC,IAAI,GAAG;QAC9E,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAA4B;QAC3F,QAAQ;QACR,YAAY,EAAE,MAAM,CAAC,cAAc;YAC/B,CAAC,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,cAAc,CAAC;YAC/C,CAAC,CAAC,IAAI;QACV,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;QAC/C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,KAAK;QACtC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK;KACvC,CAAC,CAAC,CAAC;AACR,CAAC;AAGD,sDAAsD;AACtD,+CAA+C;AAC/C,sDAAsD;AAEtD;;;;GAIG;AACH,SAAS,qBAAqB,CAC1B,MAAkB,EAClB,QAA2B,EAC3B,UAAwE;IAExE,OAAO,MAAM,CAAC,MAAM;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;SAC5D,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,YAAY,EAAE,CAAC,CAAC,YAAY;KAC/B,CAAC,CAAC,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAC3B,KAAmC,EACnC,QAA2B,EAC3B,UAAwE;IAExE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAE5C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC1C,SAAS,KAAK,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;gBAChD,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC,YAAY,CAAC;AAC9B,CAAC;AAGD,sDAAsD;AACtD,qCAAqC;AACrC,sDAAsD;AAEtD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAqB,EAAE,IAAY;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACxB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAC7F,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,EAAqB,EAAE,QAAgB;IAC/D,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjE,OAAO,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,EAAuC,EAAE,QAA2B;IAC9F,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACxB,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE;QAC7D,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAChE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CACnE,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,aAAgC;IAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC/C,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAC9B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CACvB,YAA4C;IAE5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwC,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACZ,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/custom/query-extraction/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { EntityInfo } from "@memberjunction/core";
2
+ import type { DescribedColumnSource } from "@memberjunction/generic-database-provider";
3
+ import type { TableReference } from "@memberjunction/sql-parser";
4
+ import type { QueryEntityFact } from "./extractionTypes.js";
5
+ /** A database object that backs an entity: its base view, base table, or one of its alternate base views. */
6
+ interface EntityObject {
7
+ readonly Entity: EntityInfo;
8
+ /** The alternate base view the object is; `null` for the base view or base table. */
9
+ readonly AlternateBaseViewID: string | null;
10
+ }
11
+ /** Where an output column comes from, in the terms a Query Field row stores. */
12
+ export interface BoundColumnSource {
13
+ readonly SourceEntityID: string | null;
14
+ readonly SourceEntityFieldID: string | null;
15
+ readonly SourceFieldName: string | null;
16
+ readonly SourceObjectName: string | null;
17
+ /** The entity field's description, when the column maps to one. */
18
+ readonly SourceDescription: string | null;
19
+ }
20
+ /**
21
+ * Maps database objects (schema + view or table) to the entities they back, through MJ
22
+ * metadata: an entity's base view, its base table, and its alternate base views. Names compare
23
+ * without case. The first entity registered for an object wins, base view before base table
24
+ * before alternate base view, matching how the run-time field security reads sources.
25
+ */
26
+ export declare class EntityObjectIndex {
27
+ private readonly qualified;
28
+ private readonly byName;
29
+ constructor(catalog: readonly EntityInfo[]);
30
+ /** The entity object at `schema.name`, or `undefined`. */
31
+ Find(schema: string, name: string): EntityObject | undefined;
32
+ /**
33
+ * The entity object an unqualified `name` reads: the one in `defaultSchema`, else the only one
34
+ * with that name in any schema; `undefined` when there is none or more than one.
35
+ */
36
+ FindUnqualified(name: string, defaultSchema: string): EntityObject | undefined;
37
+ private add;
38
+ }
39
+ /**
40
+ * Maps the source the database server reported for an output column to MJ metadata.
41
+ *
42
+ * - The object backs an entity and the column names one of its fields: the entity, the field
43
+ * and the field's name.
44
+ * - Otherwise: the object as `schema.object` and the column's name, as reported.
45
+ * - No source: nothing.
46
+ */
47
+ export declare function BindColumnSource(source: DescribedColumnSource | null, index: EntityObjectIndex): BoundColumnSource;
48
+ /**
49
+ * The entities a query reads, from its table references: every table and view read anywhere in
50
+ * the query, CTE names and table-valued functions excluded. One row per entity (and alternate base
51
+ * view), in order of first reference.
52
+ *
53
+ * @param defaultSchema - The schema an unqualified name is looked up in first.
54
+ */
55
+ export declare function BindTableReferences(references: readonly TableReference[], index: EntityObjectIndex, defaultSchema: string): QueryEntityFact[];
56
+ export {};
57
+ //# sourceMappingURL=sourceBinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceBinding.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/sourceBinding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,6GAA6G;AAC7G,UAAU,YAAY;IAClB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,qFAAqF;IACrF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,mEAAmE;IACnE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAOD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;gBAEhD,OAAO,EAAE,SAAS,UAAU,EAAE;IAU1C,0DAA0D;IAC1D,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI5D;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAQ9E,OAAO,CAAC,GAAG;CASd;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,EAAE,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAOlH;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,GAAG,eAAe,EAAE,CAe7I"}
@@ -0,0 +1,104 @@
1
+ /** A column with no source: computed, aggregated, a literal or a set-operation output. */
2
+ const NO_SOURCE = Object.freeze({
3
+ SourceEntityID: null, SourceEntityFieldID: null, SourceFieldName: null, SourceObjectName: null, SourceDescription: null,
4
+ });
5
+ /**
6
+ * Maps database objects (schema + view or table) to the entities they back, through MJ
7
+ * metadata: an entity's base view, its base table, and its alternate base views. Names compare
8
+ * without case. The first entity registered for an object wins, base view before base table
9
+ * before alternate base view, matching how the run-time field security reads sources.
10
+ */
11
+ export class EntityObjectIndex {
12
+ constructor(catalog) {
13
+ this.qualified = new Map();
14
+ this.byName = new Map();
15
+ for (const entity of catalog) {
16
+ this.add(entity.SchemaName, entity.BaseView, { Entity: entity, AlternateBaseViewID: null });
17
+ this.add(entity.SchemaName, entity.BaseTable, { Entity: entity, AlternateBaseViewID: null });
18
+ for (const view of entity.AlternateBaseViews ?? []) {
19
+ this.add(view.SchemaName ?? entity.SchemaName, view.ViewName, { Entity: entity, AlternateBaseViewID: view.ID });
20
+ }
21
+ }
22
+ }
23
+ /** The entity object at `schema.name`, or `undefined`. */
24
+ Find(schema, name) {
25
+ return this.qualified.get(objectKey(schema, name));
26
+ }
27
+ /**
28
+ * The entity object an unqualified `name` reads: the one in `defaultSchema`, else the only one
29
+ * with that name in any schema; `undefined` when there is none or more than one.
30
+ */
31
+ FindUnqualified(name, defaultSchema) {
32
+ const inDefault = this.Find(defaultSchema, name);
33
+ if (inDefault)
34
+ return inDefault;
35
+ const candidates = this.byName.get(name.toLowerCase()) ?? [];
36
+ const entities = new Set(candidates.map(c => c.Entity.ID));
37
+ return entities.size === 1 ? candidates[0] : undefined;
38
+ }
39
+ add(schema, name, target) {
40
+ if (!schema || !name)
41
+ return;
42
+ const key = objectKey(schema, name);
43
+ if (this.qualified.has(key))
44
+ return;
45
+ this.qualified.set(key, target);
46
+ const list = this.byName.get(name.toLowerCase()) ?? [];
47
+ list.push(target);
48
+ this.byName.set(name.toLowerCase(), list);
49
+ }
50
+ }
51
+ /**
52
+ * Maps the source the database server reported for an output column to MJ metadata.
53
+ *
54
+ * - The object backs an entity and the column names one of its fields: the entity, the field
55
+ * and the field's name.
56
+ * - Otherwise: the object as `schema.object` and the column's name, as reported.
57
+ * - No source: nothing.
58
+ */
59
+ export function BindColumnSource(source, index) {
60
+ if (!source)
61
+ return NO_SOURCE;
62
+ const field = fieldOf(index.Find(source.Schema, source.Object), source.Column);
63
+ if (field) {
64
+ return { SourceEntityID: field.EntityID, SourceEntityFieldID: field.ID, SourceFieldName: field.Name, SourceObjectName: null, SourceDescription: field.Description || null };
65
+ }
66
+ return { SourceEntityID: null, SourceEntityFieldID: null, SourceFieldName: source.Column, SourceObjectName: `${source.Schema}.${source.Object}`, SourceDescription: null };
67
+ }
68
+ /**
69
+ * The entities a query reads, from its table references: every table and view read anywhere in
70
+ * the query, CTE names and table-valued functions excluded. One row per entity (and alternate base
71
+ * view), in order of first reference.
72
+ *
73
+ * @param defaultSchema - The schema an unqualified name is looked up in first.
74
+ */
75
+ export function BindTableReferences(references, index, defaultSchema) {
76
+ const facts = [];
77
+ const seen = new Set();
78
+ for (const reference of references) {
79
+ if (reference.Kind !== 'Table')
80
+ continue;
81
+ const name = reference.Name.Parts[reference.Name.Parts.length - 1]?.Value;
82
+ if (!name)
83
+ continue;
84
+ const target = reference.Schema ? index.Find(reference.Schema, name) : index.FindUnqualified(name, defaultSchema);
85
+ if (!target)
86
+ continue;
87
+ const key = `${target.Entity.ID.toLowerCase()}|${(target.AlternateBaseViewID ?? '').toLowerCase()}`;
88
+ if (seen.has(key))
89
+ continue;
90
+ seen.add(key);
91
+ facts.push({ EntityID: target.Entity.ID, AlternateBaseViewID: target.AlternateBaseViewID });
92
+ }
93
+ return facts;
94
+ }
95
+ function fieldOf(target, column) {
96
+ if (!target)
97
+ return undefined;
98
+ const wanted = column.toLowerCase();
99
+ return target.Entity.Fields.find(f => f.Name.toLowerCase() === wanted);
100
+ }
101
+ function objectKey(schema, name) {
102
+ return `${schema.toLowerCase()}.${name.toLowerCase()}`;
103
+ }
104
+ //# sourceMappingURL=sourceBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sourceBinding.js","sourceRoot":"","sources":["../../../src/custom/query-extraction/sourceBinding.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,46 @@
1
1
  import { IMetadataProvider, IRunViewProvider, UserInfo, DatabasePlatform } from "@memberjunction/core";
2
2
  import type { ExtractedField, ExtractedParameter, EntityMetadataEntry, ResolvedCompositionReference } from "./types.js";
3
+ /**
4
+ * The names of the parameter or field rows extraction must not add, update or delete: the rows the
5
+ * same save declared, and every stored row a person authored (`DetectionMethod` `Manual`, as a
6
+ * metadata file's declared rows are). An authored row keeps its descriptions and other annotations
7
+ * whichever save triggers extraction, including the re-extraction a dialect variant's save runs,
8
+ * which declares nothing.
9
+ *
10
+ * @param stored - The rows stored for the query.
11
+ * @param declaredNames - Lower-cased names the same save declared.
12
+ * @returns Lower-cased names.
13
+ */
14
+ export declare function NamesExtractionLeavesAlone(stored: ReadonlyArray<{
15
+ Name: string;
16
+ DetectionMethod: string;
17
+ }>, declaredNames: ReadonlySet<string>): Set<string>;
3
18
  /**
4
19
  * Synchronizes extracted query parameters with the database.
5
20
  * Filters out "query" params (composition token safety net), handles add/update/remove,
6
21
  * and maps types to database-supported types.
22
+ *
23
+ * @param declaredNames - Lower-cased names of parameters the same save declared. Those rows are the
24
+ * caller's: they are never added, updated or deleted here, whatever the SQL says. Stored rows a
25
+ * person authored are left alone the same way ({@link NamesExtractionLeavesAlone}).
7
26
  */
8
- export declare function SyncParameters(queryID: string, extractedParams: ExtractedParameter[], contextUser: UserInfo, metadataProvider: IMetadataProvider, runViewProvider: IRunViewProvider, isSaved: boolean): Promise<void>;
27
+ export declare function SyncParameters(queryID: string, extractedParams: ExtractedParameter[], contextUser: UserInfo, metadataProvider: IMetadataProvider, runViewProvider: IRunViewProvider, isSaved: boolean, declaredNames?: ReadonlySet<string>): Promise<void>;
9
28
  /**
10
29
  * Synchronizes extracted query fields with the database.
11
30
  * Expands wildcards, maps ExtractedField to MJQueryFieldEntity with sqlBaseType/sqlFullType override,
12
31
  * handles add/update/remove.
32
+ *
33
+ * @param declaredNames - Lower-cased names of fields the same save declared; see {@link SyncParameters}.
13
34
  */
14
- export declare function SyncFields(queryID: string, extractedFields: ExtractedField[], contextUser: UserInfo, metadataProvider: IMetadataProvider, runViewProvider: IRunViewProvider, isSaved: boolean, platform?: DatabasePlatform): Promise<void>;
35
+ export declare function SyncFields(queryID: string, extractedFields: ExtractedField[], contextUser: UserInfo, metadataProvider: IMetadataProvider, runViewProvider: IRunViewProvider, isSaved: boolean, platform?: DatabasePlatform, declaredNames?: ReadonlySet<string>): Promise<void>;
15
36
  /**
16
37
  * Synchronizes extracted entity metadata entries with QueryEntity records in the database.
17
- * Matches by entity ID, handles add/remove.
38
+ * Matches by `(EntityID, AlternateBaseViewID)`, handling add, update, and remove.
39
+ *
40
+ * @param declaredEntityKeys - Entity links the same save declared, keyed by `QueryEntityKey`; see
41
+ * {@link SyncParameters}.
18
42
  */
19
- export declare function SyncEntities(queryID: string, entityMetadata: EntityMetadataEntry[], contextUser: UserInfo, metadataProvider: IMetadataProvider, runViewProvider: IRunViewProvider, isSaved: boolean): Promise<void>;
43
+ export declare function SyncEntities(queryID: string, entityMetadata: EntityMetadataEntry[], contextUser: UserInfo, metadataProvider: IMetadataProvider, runViewProvider: IRunViewProvider, isSaved: boolean, declaredEntityKeys?: ReadonlySet<string>): Promise<void>;
20
44
  /**
21
45
  * Converts ResolvedCompositionReference[] to dependency records, checks for cycles, and syncs.
22
46
  * Matches by DependsOnQueryID + ReferencePath for uniqueness.
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAA4B,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AASjI,OAAO,KAAK,EACR,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC/B,MAAM,SAAS,CAAC;AAiFjB;;;;GAIG;AACH,wBAAsB,cAAc,CAChC,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,kBAAkB,EAAE,EACrC,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAoDf;AAuED;;;;GAIG;AACH,wBAAsB,UAAU,CAC5B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,cAAc,EAAE,EACjC,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,gBAA8B,GACzC,OAAO,CAAC,IAAI,CAAC,CAqDf;AAgID;;;GAGG;AACH,wBAAsB,YAAY,CAC9B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,mBAAmB,EAAE,EACrC,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAiDf;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,4BAA4B,EAAE,EAC5C,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Ef;AA8BD;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,QAAQ,EACrB,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,EAChB,gBAAgB,CAAC,EAAE,iBAAiB,GACrC,OAAO,CAAC,IAAI,CAAC,CAsBf"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/custom/query-extraction/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAA2D,QAAQ,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAShK,OAAO,KAAK,EACR,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC/B,MAAM,SAAS,CAAC;AAiFjB;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACtC,MAAM,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,EAChE,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,GACnC,GAAG,CAAC,MAAM,CAAC,CAQb;AAMD;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAChC,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,kBAAkB,EAAE,EACrC,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,EAChB,aAAa,GAAE,WAAW,CAAC,MAAM,CAAqB,GACvD,OAAO,CAAC,IAAI,CAAC,CAyDf;AAmFD;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC5B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,cAAc,EAAE,EACjC,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,GAAE,gBAA8B,EACxC,aAAa,GAAE,WAAW,CAAC,MAAM,CAAqB,GACvD,OAAO,CAAC,IAAI,CAAC,CA0Df;AA2ND;;;;;;GAMG;AACH,wBAAsB,YAAY,CAC9B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,mBAAmB,EAAE,EACrC,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,EAChB,kBAAkB,GAAE,WAAW,CAAC,MAAM,CAAqB,GAC5D,OAAO,CAAC,IAAI,CAAC,CAsCf;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,4BAA4B,EAAE,EAC5C,WAAW,EAAE,QAAQ,EACrB,gBAAgB,EAAE,iBAAiB,EACnC,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Ef;AA8BD;;;GAGG;AACH,wBAAsB,gBAAgB,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,QAAQ,EACrB,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,OAAO,EAChB,gBAAgB,CAAC,EAAE,iBAAiB,GACrC,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -1,6 +1,6 @@
1
- import { LogError, RunMaybeSerial } from "@memberjunction/core";
2
- import { QueryEngine, } from "@memberjunction/core-entities";
3
- import { UUIDsEqual } from "@memberjunction/global";
1
+ import { LogError, LogStatus, QUERY_CONTEXT_NAME, RunMaybeSerial } from "@memberjunction/core";
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,18 +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.
76
- const filteredParams = extractedParams.filter(p => p.name !== 'query');
101
+ export async function SyncParameters(queryID, extractedParams, contextUser, metadataProvider, runViewProvider, isSaved, declaredNames = new Set()) {
77
102
  try {
78
- 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)));
79
110
  const extractedParamNames = filteredParams.map(p => p.name.toLowerCase());
80
111
  const paramsToAdd = filteredParams.filter(p => !existingParams.some(ep => ep.Name.toLowerCase() === p.name.toLowerCase()));
81
112
  const paramsToUpdate = existingParams.filter(ep => filteredParams.some(p => p.name.toLowerCase() === ep.Name.toLowerCase()));
@@ -105,6 +136,17 @@ export async function SyncParameters(queryID, extractedParams, contextUser, meta
105
136
  throw e;
106
137
  }
107
138
  }
139
+ /**
140
+ * True for the reserved `Context` object and its members (`Context.UserID`, as the parser reports a
141
+ * template's `{{ Context.UserID }}`). Extraction refuses them as parameters, and logs it.
142
+ */
143
+ function isReservedContextName(name) {
144
+ if (name !== QUERY_CONTEXT_NAME && !name.startsWith(`${QUERY_CONTEXT_NAME}.`)) {
145
+ return false;
146
+ }
147
+ 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.`);
148
+ return true;
149
+ }
108
150
  /**
109
151
  * Applies extracted parameter values to a new MJQueryParameterEntity.
110
152
  */
@@ -165,12 +207,19 @@ function updateParameterIfChanged(existing, extracted) {
165
207
  * Synchronizes extracted query fields with the database.
166
208
  * Expands wildcards, maps ExtractedField to MJQueryFieldEntity with sqlBaseType/sqlFullType override,
167
209
  * handles add/update/remove.
210
+ *
211
+ * @param declaredNames - Lower-cased names of fields the same save declared; see {@link SyncParameters}.
168
212
  */
169
- 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()) {
170
214
  try {
171
- 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)));
172
220
  const fieldNamesToSync = extractedFields.map(f => f.name.toLowerCase());
173
- 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()));
174
223
  const fieldsToUpdate = existingFields.filter(ef => extractedFields.some(f => f.name.toLowerCase() === ef.Name.toLowerCase()));
175
224
  const fieldsToRemove = existingFields.filter(ef => !fieldNamesToSync.includes(ef.Name.toLowerCase()));
176
225
  const factories = [];
@@ -299,38 +348,93 @@ function updateFieldIfChanged(existing, extracted, sequence, md) {
299
348
  }
300
349
  return hasChanges;
301
350
  }
302
- // ---------------------------------------------------------------------------
303
- // SyncEntities
304
- // ---------------------------------------------------------------------------
351
+ function queryEntityPairKey(entityID, alternateBaseViewID) {
352
+ return `${NormalizeUUID(entityID ?? '')}|${alternateBaseViewID ? NormalizeUUID(alternateBaseViewID) : ''}`;
353
+ }
354
+ function mapExtractedEntitiesToMetadata(entityMetadata, metadataProvider) {
355
+ const rawMappings = entityMetadata
356
+ .map(extracted => {
357
+ const matchingEntity = metadataProvider.Entities.find(e => e.Name === extracted.name &&
358
+ (e.SchemaName.toLowerCase() === extracted.SchemaName.toLowerCase() ||
359
+ (extracted.AlternateBaseViewID != null &&
360
+ IndexByUUID(e.AlternateBaseViews ?? []).Has(extracted.AlternateBaseViewID))));
361
+ return matchingEntity
362
+ ? {
363
+ extracted,
364
+ entityID: matchingEntity.ID,
365
+ entityName: matchingEntity.Name,
366
+ alternateBaseViewID: extracted.AlternateBaseViewID ?? null,
367
+ }
368
+ : null;
369
+ })
370
+ .filter((m) => m !== null);
371
+ const seenPairKeys = new Set();
372
+ return rawMappings.filter(m => {
373
+ const pairKey = queryEntityPairKey(m.entityID, m.alternateBaseViewID);
374
+ if (seenPairKeys.has(pairKey)) {
375
+ return false;
376
+ }
377
+ seenPairKeys.add(pairKey);
378
+ return true;
379
+ });
380
+ }
381
+ function partitionQueryEntityDiff(entityMappings, existingEntities) {
382
+ const matchedExisting = new Set();
383
+ const matchedMappings = new Set();
384
+ for (const mapping of entityMappings) {
385
+ const mappingKey = queryEntityPairKey(mapping.entityID, mapping.alternateBaseViewID);
386
+ const exact = existingEntities.find(ee => !matchedExisting.has(ee) && queryEntityPairKey(ee.EntityID, ee.AlternateBaseViewID) === mappingKey);
387
+ if (exact) {
388
+ matchedExisting.add(exact);
389
+ matchedMappings.add(mapping);
390
+ }
391
+ }
392
+ const entitiesToUpdate = [];
393
+ for (const mapping of entityMappings) {
394
+ if (matchedMappings.has(mapping))
395
+ continue;
396
+ const normalizedEntityID = NormalizeUUID(mapping.entityID);
397
+ const sameEntityRecord = existingEntities.find(ee => !matchedExisting.has(ee) && NormalizeUUID(ee.EntityID) === normalizedEntityID);
398
+ if (sameEntityRecord) {
399
+ matchedExisting.add(sameEntityRecord);
400
+ matchedMappings.add(mapping);
401
+ entitiesToUpdate.push({ record: sameEntityRecord, alternateBaseViewID: mapping.alternateBaseViewID });
402
+ }
403
+ }
404
+ return {
405
+ entitiesToAdd: entityMappings.filter(m => !matchedMappings.has(m)),
406
+ entitiesToUpdate,
407
+ entitiesToRemove: existingEntities.filter(ee => !matchedExisting.has(ee)),
408
+ };
409
+ }
305
410
  /**
306
411
  * Synchronizes extracted entity metadata entries with QueryEntity records in the database.
307
- * Matches by entity ID, handles add/remove.
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}.
308
416
  */
309
- export async function SyncEntities(queryID, entityMetadata, contextUser, metadataProvider, runViewProvider, isSaved) {
417
+ export async function SyncEntities(queryID, entityMetadata, contextUser, metadataProvider, runViewProvider, isSaved, declaredEntityKeys = new Set()) {
310
418
  try {
311
- const existingEntities = await loadExistingRecords('MJ: Query Entities', queryID, runViewProvider, contextUser, isSaved);
312
- // Map extracted entries to MJ entity IDs
313
- const entityMappings = entityMetadata
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)));
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 })));
423
+ const { entitiesToAdd, entitiesToUpdate, entitiesToRemove } = partitionQueryEntityDiff(entityMappings, existingEntities);
325
424
  const factories = [];
326
425
  for (const mapping of entitiesToAdd) {
327
426
  const newEntity = await metadataProvider.GetEntityObject('MJ: Query Entities', contextUser);
328
427
  newEntity.QueryID = queryID;
329
428
  newEntity.EntityID = mapping.entityID;
429
+ newEntity.AlternateBaseViewID = mapping.alternateBaseViewID;
330
430
  newEntity.DetectionMethod = 'AI';
331
431
  newEntity.AutoDetectConfidenceScore = 1.0;
332
432
  factories.push(() => newEntity.Save());
333
433
  }
434
+ for (const updateItem of entitiesToUpdate) {
435
+ updateItem.record.AlternateBaseViewID = updateItem.alternateBaseViewID;
436
+ factories.push(() => updateItem.record.Save());
437
+ }
334
438
  for (const entityToRemove of entitiesToRemove) {
335
439
  factories.push(() => entityToRemove.Delete());
336
440
  }
@@ -432,7 +536,8 @@ export async function RemoveAllRecords(queryID, entityName, contextUser, runView
432
536
  const existingResult = await runViewProvider.RunView({
433
537
  EntityName: entityName,
434
538
  ExtraFilter: `QueryID='${queryID}'`,
435
- ResultType: 'entity_object'
539
+ ResultType: 'entity_object',
540
+ IgnoreMaxRows: true
436
541
  }, contextUser);
437
542
  if (!existingResult.Success) {
438
543
  throw new Error(`Failed to load existing ${entityName}: ${existingResult.ErrorMessage}`);
@@ -454,42 +559,25 @@ export async function RemoveAllRecords(queryID, entityName, contextUser, runView
454
559
  * Returns an empty array if the query has not been saved yet.
455
560
  */
456
561
  /**
457
- * Loads existing child records for a query.
562
+ * Loads a query's stored child records from the database, never from QueryEngine's cache.
458
563
  *
459
- * Prefers QueryEngine's in-memory cache when it is loaded (long-running MJAPI
460
- * server): the engine already holds every query child and auto-refreshes via
461
- * BaseEntity events, so we avoid a redundant RunView per save. When the cache
462
- * is NOT loaded — typically a short-lived CLI process such as `mj sync push`
463
- * or `mj codegen`, where QueryEngine was never `Config()`'d — we must read the
464
- * authoritative state from the database. Trusting the empty cache there
465
- * misclassifies already-persisted children as new and re-INSERTs them, hitting
466
- * `UQ_QueryParameter_QueryID_Name` (and the sibling unique constraints), which
467
- * 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.)
468
571
  */
469
572
  async function loadExistingRecords(entityName, queryID, runViewProvider, contextUser, isSaved) {
470
573
  if (!isSaved)
471
574
  return [];
472
- const qe = QueryEngine.Instance;
473
- if (qe.Loaded) {
474
- switch (entityName) {
475
- case 'MJ: Query Parameters':
476
- return qe.GetQueryParameters(queryID);
477
- case 'MJ: Query Fields':
478
- return qe.GetQueryFields(queryID);
479
- case 'MJ: Query Entities':
480
- return qe.QueryEntities.filter(e => UUIDsEqual(e.QueryID, queryID));
481
- case 'MJ: Query Dependencies':
482
- return qe.Dependencies.filter(d => UUIDsEqual(d.QueryID, queryID));
483
- default:
484
- return [];
485
- }
486
- }
487
- // Cache cold — read straight from the DB so the add/update/remove delta is
488
- // computed against real persisted state, not an empty cache.
489
575
  const result = await runViewProvider.RunView({
490
576
  EntityName: entityName,
491
- ExtraFilter: `QueryID='${queryID}'`,
492
- ResultType: 'entity_object'
577
+ ExtraFilter: `QueryID='${EscapeSQLString(queryID)}'`,
578
+ ResultType: 'entity_object',
579
+ BypassCache: true,
580
+ IgnoreMaxRows: true,
493
581
  }, contextUser);
494
582
  if (!result.Success) {
495
583
  throw new Error(`Failed to load existing ${entityName} for query ${queryID}: ${result.ErrorMessage}`);