@finos/legend-graph 29.0.4 → 30.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/lib/graph/BasicModel.d.ts.map +1 -1
  2. package/lib/graph/BasicModel.js +21 -0
  3. package/lib/graph/BasicModel.js.map +1 -1
  4. package/lib/graph/Core_HashUtils.d.ts +3 -0
  5. package/lib/graph/Core_HashUtils.d.ts.map +1 -1
  6. package/lib/graph/Core_HashUtils.js +3 -0
  7. package/lib/graph/Core_HashUtils.js.map +1 -1
  8. package/lib/graph/__test-utils__/GraphTestUtils.d.ts.map +1 -1
  9. package/lib/graph/__test-utils__/GraphTestUtils.js +5 -0
  10. package/lib/graph/__test-utils__/GraphTestUtils.js.map +1 -1
  11. package/lib/graph/helpers/STO_Relational_Helper.d.ts +3 -1
  12. package/lib/graph/helpers/STO_Relational_Helper.d.ts.map +1 -1
  13. package/lib/graph/helpers/STO_Relational_Helper.js +3 -1
  14. package/lib/graph/helpers/STO_Relational_Helper.js.map +1 -1
  15. package/lib/graph/metamodel/pure/executionPlan/ExecutionPlan.d.ts +6 -0
  16. package/lib/graph/metamodel/pure/executionPlan/ExecutionPlan.d.ts.map +1 -1
  17. package/lib/graph/metamodel/pure/executionPlan/ExecutionPlan.js +6 -0
  18. package/lib/graph/metamodel/pure/executionPlan/ExecutionPlan.js.map +1 -1
  19. package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.d.ts +6 -0
  20. package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.d.ts.map +1 -1
  21. package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.js +6 -0
  22. package/lib/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.js.map +1 -1
  23. package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts +2 -0
  24. package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts.map +1 -1
  25. package/lib/graph/metamodel/pure/packageableElements/PackageableElement.js.map +1 -1
  26. package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnresolvedSetImplementation.d.ts +43 -0
  27. package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnresolvedSetImplementation.d.ts.map +1 -0
  28. package/lib/graph/metamodel/pure/packageableElements/mapping/{TEMPORARY__UnresolvedSetImplementation.js → INTERNAL__UnresolvedSetImplementation.js} +17 -7
  29. package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnresolvedSetImplementation.js.map +1 -0
  30. package/lib/graph/metamodel/pure/packageableElements/mapping/SetImplementation.d.ts +2 -2
  31. package/lib/graph/metamodel/pure/packageableElements/mapping/SetImplementation.d.ts.map +1 -1
  32. package/lib/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.d.ts +1 -1
  33. package/lib/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.d.ts.map +1 -1
  34. package/lib/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.js +1 -1
  35. package/lib/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.js.map +1 -1
  36. package/lib/graph/metamodel/pure/packageableElements/store/{INTERNAL__PseudoStore.d.ts → INTERNAL__UnknownStore.d.ts} +5 -5
  37. package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.d.ts.map +1 -0
  38. package/lib/graph/metamodel/pure/packageableElements/store/{INTERNAL__PseudoStore.js → INTERNAL__UnknownStore.js} +12 -9
  39. package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.js.map +1 -0
  40. package/lib/graph/metamodel/pure/valueSpecification/GraphFetchTree.d.ts +6 -0
  41. package/lib/graph/metamodel/pure/valueSpecification/GraphFetchTree.d.ts.map +1 -1
  42. package/lib/graph/metamodel/pure/valueSpecification/GraphFetchTree.js +16 -0
  43. package/lib/graph/metamodel/pure/valueSpecification/GraphFetchTree.js.map +1 -1
  44. package/lib/graph-manager/AbstractPureGraphManager.d.ts +13 -9
  45. package/lib/graph-manager/AbstractPureGraphManager.d.ts.map +1 -1
  46. package/lib/graph-manager/AbstractPureGraphManager.js.map +1 -1
  47. package/lib/graph-manager/__test-utils__/GraphManagerTestUtils.d.ts.map +1 -1
  48. package/lib/graph-manager/__test-utils__/GraphManagerTestUtils.js +10 -0
  49. package/lib/graph-manager/__test-utils__/GraphManagerTestUtils.js.map +1 -1
  50. package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.d.ts +2 -0
  51. package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.d.ts.map +1 -1
  52. package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.js +9 -1
  53. package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.js.map +1 -1
  54. package/lib/graph-manager/action/changeDetection/DSL_Service_ObserverHelper.d.ts.map +1 -1
  55. package/lib/graph-manager/action/changeDetection/DSL_Service_ObserverHelper.js +3 -1
  56. package/lib/graph-manager/action/changeDetection/DSL_Service_ObserverHelper.js.map +1 -1
  57. package/lib/graph-manager/action/changeDetection/PackageableElementObserver.d.ts.map +1 -1
  58. package/lib/graph-manager/action/changeDetection/PackageableElementObserver.js +4 -1
  59. package/lib/graph-manager/action/changeDetection/PackageableElementObserver.js.map +1 -1
  60. package/lib/graph-manager/action/generation/DatabaseBuilderInput.d.ts +1 -1
  61. package/lib/graph-manager/action/generation/DatabaseBuilderInput.d.ts.map +1 -1
  62. package/lib/graph-manager/action/generation/DatabaseBuilderInput.js +3 -2
  63. package/lib/graph-manager/action/generation/DatabaseBuilderInput.js.map +1 -1
  64. package/lib/graph-manager/action/protocol/{ClassifierPathMapping.d.ts → ProtocolInfo.d.ts} +5 -1
  65. package/lib/graph-manager/action/protocol/ProtocolInfo.d.ts.map +1 -0
  66. package/lib/graph-manager/action/protocol/{ClassifierPathMapping.js → ProtocolInfo.js} +1 -1
  67. package/lib/graph-manager/action/protocol/ProtocolInfo.js.map +1 -0
  68. package/lib/graph-manager/protocol/pure/PureProtocolProcessorPlugin.d.ts +0 -10
  69. package/lib/graph-manager/protocol/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
  70. package/lib/graph-manager/protocol/pure/PureProtocolProcessorPlugin.js.map +1 -1
  71. package/lib/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.d.ts +1 -2
  72. package/lib/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
  73. package/lib/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.js +0 -5
  74. package/lib/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
  75. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts +7 -4
  76. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  77. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js +76 -89
  78. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
  79. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.d.ts +6 -3
  80. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  81. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.js +25 -3
  82. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.js.map +1 -1
  83. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts +6 -2
  84. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  85. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js +5 -1
  86. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  87. package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.d.ts +24 -0
  88. package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.d.ts.map +1 -0
  89. package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.js +28 -0
  90. package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.js.map +1 -0
  91. package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts +2 -2
  92. package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts.map +1 -1
  93. package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.js +8 -9
  94. package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.js.map +1 -1
  95. package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.d.ts +2 -2
  96. package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.d.ts.map +1 -1
  97. package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.js +2 -2
  98. package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.js.map +1 -1
  99. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.d.ts +6 -0
  100. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.d.ts.map +1 -1
  101. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.js +6 -0
  102. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.js.map +1 -1
  103. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.d.ts +6 -0
  104. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.d.ts.map +1 -1
  105. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.js +6 -0
  106. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.js.map +1 -1
  107. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts +2 -0
  108. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts.map +1 -1
  109. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.js.map +1 -1
  110. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.d.ts +1 -1
  111. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.d.ts.map +1 -1
  112. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.js +1 -1
  113. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.js.map +1 -1
  114. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.d.ts +24 -0
  115. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.d.ts.map +1 -0
  116. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.js +32 -0
  117. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.js.map +1 -0
  118. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.d.ts +3 -0
  119. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.d.ts.map +1 -1
  120. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.js +1 -0
  121. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.js.map +1 -1
  122. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.d.ts +21 -0
  123. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.d.ts.map +1 -0
  124. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.js +23 -0
  125. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.js.map +1 -0
  126. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +1 -1
  127. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
  128. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts +2 -2
  129. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  130. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +1 -1
  131. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  132. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts.map +1 -1
  133. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js +7 -0
  134. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js.map +1 -1
  135. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.d.ts.map +1 -1
  136. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js +3 -1
  137. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js.map +1 -1
  138. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts.map +1 -1
  139. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +9 -1
  140. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
  141. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.d.ts.map +1 -1
  142. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.js +2 -0
  143. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.js.map +1 -1
  144. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts +2 -0
  145. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -1
  146. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js +3 -0
  147. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -1
  148. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts +2 -0
  149. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -1
  150. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js +12 -0
  151. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -1
  152. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts +2 -0
  153. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -1
  154. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js +3 -0
  155. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -1
  156. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts +2 -0
  157. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -1
  158. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js +3 -15
  159. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -1
  160. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts +2 -0
  161. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -1
  162. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js +3 -0
  163. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -1
  164. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
  165. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +3 -0
  166. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
  167. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.d.ts.map +1 -1
  168. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js +46 -23
  169. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js.map +1 -1
  170. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts +1 -1
  171. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -1
  172. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js +12 -3
  173. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -1
  174. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts +1 -1
  175. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
  176. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +11 -10
  177. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  178. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
  179. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +3 -1
  180. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  181. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  182. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +16 -3
  183. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  184. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts +2 -1
  185. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
  186. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +21 -3
  187. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
  188. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts +3 -2
  189. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts.map +1 -1
  190. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js +5 -5
  191. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js.map +1 -1
  192. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
  193. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +4 -2
  194. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
  195. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js +1 -1
  196. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js.map +1 -1
  197. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
  198. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +2 -2
  199. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
  200. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts +1 -0
  201. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts.map +1 -1
  202. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +13 -0
  203. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js.map +1 -1
  204. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts +3 -3
  205. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts.map +1 -1
  206. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js +5 -4
  207. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js.map +1 -1
  208. package/lib/index.d.ts +4 -4
  209. package/lib/index.d.ts.map +1 -1
  210. package/lib/index.js +4 -4
  211. package/lib/index.js.map +1 -1
  212. package/lib/package.json +2 -2
  213. package/package.json +5 -5
  214. package/src/graph/BasicModel.ts +19 -0
  215. package/src/graph/Core_HashUtils.ts +3 -0
  216. package/src/graph/__test-utils__/GraphTestUtils.ts +5 -0
  217. package/src/graph/helpers/STO_Relational_Helper.ts +13 -0
  218. package/src/graph/metamodel/pure/executionPlan/ExecutionPlan.ts +6 -5
  219. package/src/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.ts +6 -1
  220. package/src/graph/metamodel/pure/packageableElements/PackageableElement.ts +2 -0
  221. package/src/graph/metamodel/pure/packageableElements/mapping/{TEMPORARY__UnresolvedSetImplementation.ts → INTERNAL__UnresolvedSetImplementation.ts} +16 -6
  222. package/src/graph/metamodel/pure/packageableElements/mapping/SetImplementation.ts +4 -4
  223. package/src/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.ts +2 -2
  224. package/src/graph/metamodel/pure/packageableElements/store/{INTERNAL__PseudoStore.ts → INTERNAL__UnknownStore.ts} +18 -7
  225. package/src/graph/metamodel/pure/valueSpecification/GraphFetchTree.ts +19 -1
  226. package/src/graph-manager/AbstractPureGraphManager.ts +24 -12
  227. package/src/graph-manager/__test-utils__/GraphManagerTestUtils.ts +10 -0
  228. package/src/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.ts +17 -3
  229. package/src/graph-manager/action/changeDetection/DSL_Service_ObserverHelper.ts +3 -1
  230. package/src/graph-manager/action/changeDetection/PackageableElementObserver.ts +6 -0
  231. package/src/graph-manager/action/generation/DatabaseBuilderInput.ts +8 -3
  232. package/src/graph-manager/action/protocol/{ClassifierPathMapping.ts → ProtocolInfo.ts} +5 -0
  233. package/src/graph-manager/protocol/pure/PureProtocolProcessorPlugin.ts +0 -23
  234. package/src/graph-manager/protocol/pure/extensions/DSL_ExternalFormat_PureProtocolProcessorPlugin.ts +0 -15
  235. package/src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts +123 -124
  236. package/src/graph-manager/protocol/pure/v1/engine/V1_Engine.ts +41 -3
  237. package/src/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.ts +26 -3
  238. package/src/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.ts +52 -0
  239. package/src/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.ts +15 -4
  240. package/src/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.ts +2 -2
  241. package/src/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.ts +6 -1
  242. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.ts +6 -1
  243. package/src/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.ts +2 -0
  244. package/src/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.ts +2 -2
  245. package/src/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.ts +45 -0
  246. package/src/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.ts +3 -0
  247. package/src/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.ts +28 -0
  248. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +1 -1
  249. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +3 -3
  250. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.ts +11 -0
  251. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.ts +3 -1
  252. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +27 -0
  253. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.ts +2 -0
  254. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.ts +5 -0
  255. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts +29 -0
  256. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.ts +5 -0
  257. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts +5 -15
  258. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.ts +5 -0
  259. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +3 -0
  260. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.ts +84 -40
  261. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.ts +16 -6
  262. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +12 -13
  263. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +3 -1
  264. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +44 -2
  265. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +29 -0
  266. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.ts +6 -2
  267. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +11 -2
  268. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.ts +1 -1
  269. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +2 -1
  270. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +28 -1
  271. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.ts +10 -7
  272. package/src/index.ts +2 -4
  273. package/tsconfig.json +6 -3
  274. package/lib/graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.d.ts +0 -33
  275. package/lib/graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.d.ts.map +0 -1
  276. package/lib/graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.js.map +0 -1
  277. package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__PseudoStore.d.ts.map +0 -1
  278. package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__PseudoStore.js.map +0 -1
  279. package/lib/graph-manager/action/protocol/ClassifierPathMapping.d.ts.map +0 -1
  280. package/lib/graph-manager/action/protocol/ClassifierPathMapping.js.map +0 -1
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import { GRAPH_MANAGER_EVENT } from '../../../../__lib__/GraphManagerEvent.js';
17
17
  import { CORE_PURE_PATH, PackageableElementPointerType, } from '../../../../graph/MetaModelConst.js';
18
- import { ActionState, TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, assertErrorThrown, promisify, StopWatch, isNonNullable, addUniqueEntry, uuid, deleteEntry, uniq, IllegalStateError, filterByType, isString, } from '@finos/legend-shared';
18
+ import { ActionState, TracerService, LogEvent, getClass, guaranteeNonNullable, UnsupportedOperationError, assertErrorThrown, promisify, StopWatch, isNonNullable, addUniqueEntry, uuid, deleteEntry, IllegalStateError, filterByType, isString, } from '@finos/legend-shared';
19
19
  import { AbstractPureGraphManager, } from '../../../../graph-manager/AbstractPureGraphManager.js';
20
20
  import { PureModel, } from '../../../../graph/PureModel.js';
21
21
  import { RawLambda } from '../../../../graph/metamodel/pure/rawValueSpecification/RawLambda.js';
@@ -63,7 +63,7 @@ import { V1_PureModelContextComposite } from './model/context/V1_PureModelContex
63
63
  import { V1_LegendSDLC } from './model/context/V1_SDLC.js';
64
64
  import { V1_Protocol } from './model/V1_Protocol.js';
65
65
  import { V1_GraphBuilderExtensions } from './transformation/pureGraph/to/V1_GraphBuilderExtensions.js';
66
- import { V1_DatabaseBuilderConfig, V1_DatabaseBuilderInput, V1_DatabasePattern, V1_setupDatabaseBuilderInputSerialization, V1_TargetDatabase, } from './engine/generation/V1_DatabaseBuilderInput.js';
66
+ import { V1_DatabaseBuilderConfig, V1_DatabaseBuilderInput, V1_DatabasePattern, V1_TargetDatabase, } from './engine/generation/V1_DatabaseBuilderInput.js';
67
67
  import { V1_transformRelationalDatabaseConnection } from './transformation/pureGraph/from/V1_ConnectionTransformer.js';
68
68
  import { V1_FlatData } from './model/packageableElements/store/flatData/model/V1_FlatData.js';
69
69
  import { V1_Database } from './model/packageableElements/store/relational/model/V1_Database.js';
@@ -103,12 +103,13 @@ import { V1_EntitlementReportAnalyticsInput, V1_StoreEntitlementAnalysisInput, V
103
103
  import { LegendSDLC, GraphEntities, } from '../../../../graph/GraphDataOrigin.js';
104
104
  import { InMemoryGraphData, GraphDataWithOrigin, } from '../../../GraphData.js';
105
105
  import { DEPRECATED__validate_MappingTest } from '../../../action/validation/DSL_Mapping_ValidationHelper.js';
106
- import { V1_SERVICE_ELEMENT_PROTOCOL_TYPE } from './transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js';
107
106
  import { V1_INTERNAL__UnknownPackageableElement } from './model/packageableElements/V1_INTERNAL__UnknownPackageableElement.js';
108
107
  import { FunctionActivatorConfiguration } from '../../../action/functionActivator/FunctionActivatorConfiguration.js';
109
108
  import { V1_FunctionActivatorInput } from './engine/functionActivator/V1_FunctionActivatorInput.js';
110
109
  import { V1_FunctionActivator } from './model/packageableElements/function/V1_FunctionActivator.js';
111
110
  import { V1_INTERNAL__UnknownFunctionActivator } from './model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.js';
111
+ import { V1_RawSQLExecuteInput } from './engine/execution/V1_RawSQLExecuteInput.js';
112
+ import { V1_INTERNAL__UnknownStore } from './model/packageableElements/store/V1_INTERNAL__UnknownStore.js';
112
113
  class V1_PureModelContextDataIndex {
113
114
  elements = [];
114
115
  nativeElements = [];
@@ -136,8 +137,10 @@ const mergePureModelContextData = (...data) => {
136
137
  const mergedData = new V1_PureModelContextData();
137
138
  for (const _data of data) {
138
139
  mergedData.elements = mergedData.elements.concat(_data.elements);
139
- mergedData.INTERNAL__rawDependencyEntities =
140
- mergedData.INTERNAL__rawDependencyEntities.concat(_data.INTERNAL__rawDependencyEntities);
140
+ const rawDependencyEntities = (mergedData.INTERNAL__rawDependencyEntities ?? []).concat(_data.INTERNAL__rawDependencyEntities ?? []);
141
+ mergedData.INTERNAL__rawDependencyEntities = rawDependencyEntities.length
142
+ ? rawDependencyEntities
143
+ : undefined;
141
144
  mergedData.serializer = _data.serializer ?? mergedData.serializer;
142
145
  mergedData.origin = _data.origin ?? mergedData.origin;
143
146
  }
@@ -267,6 +270,10 @@ export const V1_indexPureModelContextData = (report, data, extensions) => {
267
270
  };
268
271
  class V1_PureGraphManager extends AbstractPureGraphManager {
269
272
  elementClassifierPathMap = new Map();
273
+ subtypeInfo = {
274
+ storeSubtypes: [],
275
+ functionActivatorSubtypes: [],
276
+ };
270
277
  // Pure Client Version represent the version of the pure protocol.
271
278
  // Most Engine APIs will interrupt an undefined pure client version to mean
272
279
  // use the latest production version of the protocol i.e V20_0_0, while version
@@ -281,12 +288,6 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
281
288
  this.engine = new V1_Engine({}, logService);
282
289
  // setup plugins
283
290
  this.graphBuilderExtensions = new V1_GraphBuilderExtensions(this.pluginManager.getPureProtocolProcessorPlugins());
284
- // setup serialization plugins
285
- V1_setupPureModelContextDataSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
286
- V1_setupDatabaseSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
287
- V1_setupEngineRuntimeSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
288
- V1_setupLegacyRuntimeSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
289
- V1_setupDatabaseBuilderInputSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
290
291
  }
291
292
  TEMPORARY__getEngineConfig() {
292
293
  return this.engine.config;
@@ -296,13 +297,31 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
296
297
  this.engine
297
298
  .getEngineServerClient()
298
299
  .setTracerService(options?.tracerService ?? new TracerService());
299
- await this.engine.setup(config);
300
+ await Promise.all([
301
+ this.engine.setup(config),
302
+ this.configureElementClassifierPathMap(config),
303
+ this.configureSubtypeInfoMap(config),
304
+ ]);
305
+ // setup serialization plugins
306
+ V1_setupPureModelContextDataSerialization(this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
307
+ V1_setupDatabaseSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
308
+ V1_setupEngineRuntimeSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
309
+ V1_setupLegacyRuntimeSerialization(this.pluginManager.getPureProtocolProcessorPlugins());
310
+ }
311
+ async configureElementClassifierPathMap(config) {
300
312
  const classifierPathMapEntries = config.TEMPORARY__classifierPathMapping ??
301
313
  (await this.engine.getClassifierPathMapping());
302
314
  classifierPathMapEntries.forEach((entry) => {
303
315
  this.elementClassifierPathMap.set(entry.type, entry.classifierPath);
304
316
  });
305
317
  }
318
+ async configureSubtypeInfoMap(config) {
319
+ const subtypeInfo = config.TEMPORARY__subtypeInfo ?? (await this.engine.getSubtypeInfo());
320
+ this.subtypeInfo.storeSubtypes = subtypeInfo.storeSubtypes;
321
+ this.subtypeInfo.functionActivatorSubtypes =
322
+ subtypeInfo.functionActivatorSubtypes;
323
+ }
324
+ // --------------------------------------------- Generic ---------------------------------------------
306
325
  getSupportedProtocolVersion() {
307
326
  return PureClientVersion.V1_0_0;
308
327
  }
@@ -366,7 +385,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
366
385
  await Promise.all(Array.from(dependencyEntitiesIndex.entries()).map(([dependencyKey, entitiesWithOrigin]) => {
367
386
  const projectModelData = new V1_PureModelContextData();
368
387
  dependencyGraphDataIndex.set(dependencyKey, projectModelData);
369
- return V1_entitiesToPureModelContextData(entitiesWithOrigin.entities, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
388
+ return V1_entitiesToPureModelContextData(entitiesWithOrigin.entities, projectModelData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
370
389
  }));
371
390
  stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS);
372
391
  // prepare build inputs
@@ -408,7 +427,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
408
427
  // deserialize
409
428
  buildState.setMessage(`Deserializing elements...`);
410
429
  const data = new V1_PureModelContextData();
411
- await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins());
430
+ await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
412
431
  stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS);
413
432
  // prepare build inputs
414
433
  const buildInputs = [
@@ -462,7 +481,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
462
481
  // deserialize
463
482
  buildState.setMessage(`Deserializing elements...`);
464
483
  const data = new V1_PureModelContextData();
465
- await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins());
484
+ await V1_entitiesToPureModelContextData(entities, data, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
466
485
  stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS);
467
486
  // prepare build inputs
468
487
  const buildInputs = [
@@ -517,7 +536,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
517
536
  await Promise.all(Array.from(generatedEntities.entries()).map(([generationParentPath, entities]) => {
518
537
  const generatedData = new V1_PureModelContextData();
519
538
  generationGraphDataIndex.set(generationParentPath, generatedData);
520
- return V1_entitiesToPureModelContextData(entities, generatedData, this.pluginManager.getPureProtocolProcessorPlugins());
539
+ return V1_entitiesToPureModelContextData(entities, generatedData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
521
540
  }));
522
541
  stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS);
523
542
  // prepare build inputs
@@ -1018,7 +1037,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1018
1037
  // --------------------------------------------- Execution ---------------------------------------------
1019
1038
  prepareExecutionContextGraphData(graphData) {
1020
1039
  if (graphData instanceof InMemoryGraphData) {
1021
- return this.buildExecutionInputGraphData(graphData.graph);
1040
+ return this.getFullGraphModelData(graphData.graph);
1022
1041
  }
1023
1042
  else if (graphData instanceof GraphDataWithOrigin) {
1024
1043
  return this.buildPureModelSDLCPointer(graphData.origin, V1_PureGraphManager.PROD_PROTOCOL_VERSION);
@@ -1027,7 +1046,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1027
1046
  }
1028
1047
  createExecutionInput = (graph, mapping, lambda, runtime, clientVersion, parameterValues) => this.createExecutionInputWithPureModelContext(graph.origin
1029
1048
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
1030
- : this.buildExecutionInputGraphData(graph), mapping, lambda, runtime, clientVersion, new V1_ExecuteInput(), parameterValues);
1049
+ : this.getFullGraphModelData(graph), mapping, lambda, runtime, clientVersion, new V1_ExecuteInput(), parameterValues);
1031
1050
  createExecutionInputWithPureModelContext = (data, mapping, lambda, runtime, clientVersion, executeInput, parameterValues) => {
1032
1051
  // NOTE: for execution, we usually will just assume that we send the connections embedded in the runtime value, since we don't want the user to have to create
1033
1052
  // packageable runtime and connection just to play with execution.
@@ -1044,42 +1063,6 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1044
1063
  }
1045
1064
  return executeInput;
1046
1065
  };
1047
- buildExecutionInputGraphData(graph) {
1048
- /**
1049
- * NOTE: to lessen network load, we might need to think of a way to only include relevant part of the pure model context data here
1050
- *
1051
- * Graph data models can be classified based on dependency hieararchy:
1052
- * 1. Building blocks: models that all other models depend on: e.g. domain models, connections, etc.
1053
- * 2. Consumers: models that depends on other models: e.g. mapping, service, etc.
1054
- * 3. Unrelated: models that depends on nothing and vice versa: e.g. text
1055
- *
1056
- * It would be great if we can provide a way to walk the mapping to select only relevant part, but the problem is we cannot really walk the lambda
1057
- * object to identify relevant classes yet. so the more economical way to to base on the classification above and the knowledge about hierarchy between
1058
- * models (e.g. service can use mapping, runtime, connection, store, etc.) we can roughly prune the graph model data by group. Following is an example
1059
- * for mapping used for execution, but this can generalized if we introduce hierarchy/ranking for model type
1060
- */
1061
- const graphData = this.getFullGraphModelData(graph);
1062
- const prunedGraphData = this.prunePureModelContextData(graphData, (element) => element instanceof V1_Class ||
1063
- element instanceof V1_Enumeration ||
1064
- element instanceof V1_Profile ||
1065
- element instanceof V1_Association ||
1066
- element instanceof V1_ConcreteFunctionDefinition ||
1067
- element instanceof V1_FunctionActivator ||
1068
- element instanceof V1_Measure ||
1069
- element instanceof V1_Store ||
1070
- element instanceof V1_PackageableConnection ||
1071
- element instanceof V1_PackageableRuntime ||
1072
- element instanceof V1_Mapping, undefined);
1073
- const extraExecutionElements = this.pluginManager
1074
- .getPureProtocolProcessorPlugins()
1075
- .flatMap((element) => element.V1_getExtraExecutionInputCollectors?.() ?? [])
1076
- .flatMap((getter) => getter(graph, graphData));
1077
- prunedGraphData.elements = uniq([
1078
- ...prunedGraphData.elements,
1079
- ...extraExecutionElements,
1080
- ]);
1081
- return prunedGraphData;
1082
- }
1083
1066
  async runQuery(lambda, mapping, runtime, graph, options, _report) {
1084
1067
  const report = _report ?? createGraphManagerOperationReport();
1085
1068
  const stopWatch = new StopWatch();
@@ -1098,7 +1081,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1098
1081
  const stopWatch = new StopWatch();
1099
1082
  const pureModelContext = graph.origin
1100
1083
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
1101
- : this.buildExecutionInputGraphData(graph);
1084
+ : this.getFullGraphModelData(graph);
1102
1085
  stopWatch.record(GRAPH_MANAGER_EVENT.V1_ENGINE_OPERATION_INPUT__SUCCESS);
1103
1086
  await Promise.all(tests.map((t) => this.DEPRECATED__runLegacyMappingTest(t, mapping, pureModelContext, options, report)));
1104
1087
  }
@@ -1157,7 +1140,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1157
1140
  const testDataGenerationExecuteInput = new V1_TestDataGenerationExecutionInput();
1158
1141
  this.createExecutionInputWithPureModelContext(graph.origin
1159
1142
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
1160
- : this.buildExecutionInputGraphData(graph), mapping, lambda, runtime, V1_PureGraphManager.DEV_PROTOCOL_VERSION, testDataGenerationExecuteInput);
1143
+ : this.getFullGraphModelData(graph), mapping, lambda, runtime, V1_PureGraphManager.DEV_PROTOCOL_VERSION, testDataGenerationExecuteInput, options?.parameterValues);
1161
1144
  testDataGenerationExecuteInput.parameters = parameters;
1162
1145
  testDataGenerationExecuteInput.hashStrings = Boolean(options?.anonymizeGeneratedData);
1163
1146
  stopWatch.record(GRAPH_MANAGER_EVENT.V1_ENGINE_OPERATION_INPUT__SUCCESS);
@@ -1225,7 +1208,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1225
1208
  input.mapping = mapping.path;
1226
1209
  input.model = graph.origin
1227
1210
  ? this.buildPureModelSDLCPointer(graph.origin, undefined)
1228
- : this.buildExecutionInputGraphData(graph);
1211
+ : this.getFullGraphModelData(graph);
1229
1212
  return V1_buildModelCoverageAnalysisResult(await this.engine.analyzeMappingModelCoverage(input), mapping);
1230
1213
  }
1231
1214
  buildMappingModelCoverageAnalysisResult(input, mapping) {
@@ -1273,7 +1256,13 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1273
1256
  return pattern;
1274
1257
  });
1275
1258
  dbBuilderInput.config = config;
1276
- return this.pureModelContextDataToEntities(await this.engine.buildDatabase(dbBuilderInput));
1259
+ return this.pureModelContextDataToEntities(await this.engine.buildDatabase(dbBuilderInput, this.pluginManager.getPureProtocolProcessorPlugins()));
1260
+ }
1261
+ async executeRawSQL(connection, sql) {
1262
+ const input = new V1_RawSQLExecuteInput();
1263
+ input.connection = V1_transformRelationalDatabaseConnection(connection, new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins()).build());
1264
+ input.sql = sql;
1265
+ return this.engine.executeRawSQL(input, this.pluginManager.getPureProtocolProcessorPlugins());
1277
1266
  }
1278
1267
  // --------------------------------------------- Function ---------------------------------------------
1279
1268
  async getAvailableFunctionActivatorConfigurations(coreModel, systemModel) {
@@ -1331,8 +1320,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1331
1320
  const protocol = new V1_Protocol(V1_PureGraphManager.PURE_PROTOCOL_NAME, serverServiceInfo.services.dependencies.pure);
1332
1321
  switch (executionMode) {
1333
1322
  case ServiceExecutionMode.FULL_INTERACTIVE: {
1334
- const data = this.createServiceRegistrationInputGraphData(graph);
1335
- data.elements.push(this.elementToProtocol(service));
1323
+ const data = this.TEMPORARY__prepareGraphDataForServiceRegistration(this.getFullGraphModelData(graph), this.elementToProtocol(service));
1336
1324
  data.origin = new V1_PureModelContextPointer(protocol);
1337
1325
  input = data;
1338
1326
  break;
@@ -1474,25 +1462,27 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1474
1462
  const serviceStorage = await this.engine.getServiceVersionInfo(serviceUrl, serviceId);
1475
1463
  await this.engine.activateServiceGeneration(serviceUrl, serviceStorage.getGenerationId());
1476
1464
  }
1477
- // NOTE: We almost should never be poking into dependency entities. However for service registration the input
1478
- // expects only one service in the graph data. Perhaps, the service registration API should be modified to accept
1479
- // service as a parameter outside the model
1480
- pruneServicesFromGraphForRegistration = (graphData) => this.prunePureModelContextData(graphData, (element) => !(element instanceof V1_Service), (entity) => {
1481
- const content = entity.content;
1482
- return content._type !== V1_SERVICE_ELEMENT_PROTOCOL_TYPE;
1483
- });
1484
- createServiceRegistrationInputGraphData = (graph) => {
1485
- const graphData = this.getFullGraphModelData(graph);
1486
- const prunedGraphData = this.pruneServicesFromGraphForRegistration(graphData);
1487
- return prunedGraphData;
1465
+ // NOTE: This is somewhat hacky: service registration the input expects only the first service in the graph data
1466
+ // to be the service used for registration.
1467
+ // TODO: the service registration API should be modified to accept service as a parameter outside the model
1468
+ TEMPORARY__prepareGraphDataForServiceRegistration = (graphData, service) => {
1469
+ graphData.elements = graphData.elements.filter((element) => element.path !== service.path);
1470
+ // insert the service as the first element so it gets indexed first
1471
+ graphData.elements.unshift(service);
1472
+ if (graphData.INTERNAL__rawDependencyEntities) {
1473
+ graphData.INTERNAL__rawDependencyEntities =
1474
+ graphData.INTERNAL__rawDependencyEntities.filter((entity) => entity.path !== service.path);
1475
+ }
1476
+ return graphData;
1488
1477
  };
1489
1478
  createBulkServiceRegistrationInput = (graph, services) => {
1490
1479
  const graphData = this.getFullGraphModelData(graph);
1491
1480
  const results = [];
1492
1481
  services.forEach((service) => {
1493
- const prunedGraphData = this.pruneServicesFromGraphForRegistration(graphData);
1494
- prunedGraphData.elements.push(this.elementToProtocol(service));
1495
- results.push({ service: service, context: prunedGraphData });
1482
+ results.push({
1483
+ service: service,
1484
+ context: this.TEMPORARY__prepareGraphDataForServiceRegistration(graphData, this.elementToProtocol(service)),
1485
+ });
1496
1486
  });
1497
1487
  return results;
1498
1488
  };
@@ -1519,7 +1509,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1519
1509
  * reflect the renaming of function in local changes.
1520
1510
  */
1521
1511
  const TEMPORARY__entityPathIndex = new Map();
1522
- await V1_entitiesToPureModelContextData(entities, pureModelContextData, this.pluginManager.getPureProtocolProcessorPlugins(), TEMPORARY__entityPathIndex);
1512
+ await V1_entitiesToPureModelContextData(entities, pureModelContextData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo, TEMPORARY__entityPathIndex);
1523
1513
  await Promise.all(pureModelContextData.elements.map((element) => promisify(() => hashMap.set(TEMPORARY__entityPathIndex.get(element.path)
1524
1514
  ? guaranteeNonNullable(TEMPORARY__entityPathIndex.get(element.path))
1525
1515
  : element.path, element.hashCode))));
@@ -1533,13 +1523,6 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1533
1523
  }
1534
1524
  return entity;
1535
1525
  };
1536
- prunePureModelContextData = (data, elementFilter, entityFilter) => {
1537
- const prunedGraphData = new V1_PureModelContextData();
1538
- prunedGraphData.elements = data.elements.filter((element) => elementFilter ? elementFilter(element) : true);
1539
- prunedGraphData.INTERNAL__rawDependencyEntities =
1540
- data.INTERNAL__rawDependencyEntities.filter((entity) => entityFilter ? entityFilter(entity) : true);
1541
- return prunedGraphData;
1542
- };
1543
1526
  buildPureModelSDLCPointer(origin, clientVersion) {
1544
1527
  if (origin instanceof LegendSDLC) {
1545
1528
  return new V1_PureModelContextPointer(clientVersion
@@ -1574,7 +1557,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1574
1557
  }
1575
1558
  return true;
1576
1559
  })
1577
- .map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), data, this.pluginManager.getPureProtocolProcessorPlugins());
1560
+ .map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), data, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
1578
1561
  const mainGraphBuilderInput = [
1579
1562
  {
1580
1563
  model: graph,
@@ -1598,7 +1581,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1598
1581
  }
1599
1582
  return true;
1600
1583
  })
1601
- .map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), projectModelData, this.pluginManager.getPureProtocolProcessorPlugins());
1584
+ .map((entity) => entityProcessorFn ? entityProcessorFn(entity) : entity), projectModelData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
1602
1585
  }));
1603
1586
  const dependencyGraphBuilderInput = Array.from(dependencyGraphDataIndex.entries()).map(([dependencyKey, dependencyData]) => ({
1604
1587
  data: V1_indexPureModelContextData(report, dependencyData, this.graphBuilderExtensions),
@@ -1628,10 +1611,13 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1628
1611
  ...contextData1.elements,
1629
1612
  ...contextData2.elements,
1630
1613
  ];
1631
- contextData1.INTERNAL__rawDependencyEntities = [
1632
- ...contextData1.INTERNAL__rawDependencyEntities,
1633
- ...contextData2.INTERNAL__rawDependencyEntities,
1614
+ const rawDependencyEntities = [
1615
+ ...(contextData1.INTERNAL__rawDependencyEntities ?? []),
1616
+ ...(contextData2.INTERNAL__rawDependencyEntities ?? []),
1634
1617
  ];
1618
+ contextData1.INTERNAL__rawDependencyEntities = rawDependencyEntities.length
1619
+ ? rawDependencyEntities
1620
+ : undefined;
1635
1621
  return contextData1;
1636
1622
  }
1637
1623
  elementProtocolToEntity = (elementProtocol) => ({
@@ -1642,7 +1628,7 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1642
1628
  pureModelContextDataToEntities = (graphProtocol) => graphProtocol.elements.map((element) => this.elementProtocolToEntity(element));
1643
1629
  async entitiesToPureModelContextData(entities) {
1644
1630
  const graphData = new V1_PureModelContextData();
1645
- await V1_entitiesToPureModelContextData(entities, graphData, this.pluginManager.getPureProtocolProcessorPlugins());
1631
+ await V1_entitiesToPureModelContextData(entities, graphData, this.pluginManager.getPureProtocolProcessorPlugins(), this.subtypeInfo);
1646
1632
  return graphData;
1647
1633
  }
1648
1634
  elementToProtocol = (element, options) => V1_transformPackageableElement(element, this.pluginManager.getPureProtocolProcessorPlugins(), new V1_GraphTransformerContextBuilder(this.pluginManager.getPureProtocolProcessorPlugins())
@@ -1651,7 +1637,8 @@ class V1_PureGraphManager extends AbstractPureGraphManager {
1651
1637
  getElementPath = (elementProtocol) => `${elementProtocol.package}${ENTITY_PATH_DELIMITER}${elementProtocol.name}`;
1652
1638
  getElementClassiferPath = (protocol) => {
1653
1639
  if (protocol instanceof V1_INTERNAL__UnknownPackageableElement ||
1654
- protocol instanceof V1_INTERNAL__UnknownFunctionActivator) {
1640
+ protocol instanceof V1_INTERNAL__UnknownFunctionActivator ||
1641
+ protocol instanceof V1_INTERNAL__UnknownStore) {
1655
1642
  const _type = protocol.content._type;
1656
1643
  const classifierPath = isString(_type)
1657
1644
  ? this.elementClassifierPathMap.get(_type)