@finos/legend-graph 29.0.5 → 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 +11 -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 +12 -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 +6 -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 +1 -1
  213. package/package.json +4 -4
  214. package/src/graph/BasicModel.ts +10 -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 +23 -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 +121 -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
@@ -70,6 +70,7 @@ import type { GraphDataOrigin } from './GraphDataOrigin.js';
70
70
  import { INTERNAL__UnknownPackageableElement } from './metamodel/pure/packageableElements/INTERNAL__UnknownPackageableElement.js';
71
71
  import { FunctionActivator } from './metamodel/pure/packageableElements/function/FunctionActivator.js';
72
72
  import { INTERNAL__UnknownFunctionActivator } from './metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.js';
73
+ import { INTERNAL__UnknownStore } from './metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.js';
73
74
 
74
75
  const FORBIDDEN_EXTENSION_ELEMENT_CLASS = new Set([
75
76
  PackageableElement,
@@ -99,6 +100,7 @@ const FORBIDDEN_EXTENSION_ELEMENT_CLASS = new Set([
99
100
 
100
101
  SectionIndex,
101
102
  INTERNAL__UnknownPackageableElement,
103
+ INTERNAL__UnknownStore,
102
104
  ]);
103
105
 
104
106
  /**
@@ -776,6 +778,14 @@ export abstract class BasicModel {
776
778
  name: element.name,
777
779
  package: element.package?.path,
778
780
  };
781
+ } else if (element instanceof INTERNAL__UnknownStore) {
782
+ this.storesIndex.delete(oldPath);
783
+ this.storesIndex.set(newPath, element);
784
+ element.content = {
785
+ ...element.content,
786
+ name: element.name,
787
+ package: element.package?.path,
788
+ };
779
789
  } else if (element instanceof Mapping) {
780
790
  this.mappingsIndex.delete(oldPath);
781
791
  this.mappingsIndex.set(newPath, element);
@@ -100,11 +100,14 @@ export enum CORE_HASH_STRUCTURE {
100
100
  ALLOY_SERIALIZATION_CONFIG = 'ALLOY_SERIALIZATION_CONFIG',
101
101
  ROOT_GRAPH_FETCH_TREE = 'ROOT_GRAPH_FETCH_TREE',
102
102
  PROPERTY_GRAPH_FETCH_TREE = 'PROPERTY_GRAPH_FETCH_TREE',
103
+ SUBTYPE_GRAPH_FETCH_TREE = 'SUBTYPE_GRAPH_FETCH_TREE',
104
+ SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE = 'SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE',
103
105
  PROPERTY_GRAPH_FETCH_TREE_INSTANCE_VALUE = 'PROEPRTY_GRAPH_FETCH_TREE_INSTANCE_VALUE',
104
106
  ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE = 'ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE',
105
107
 
106
108
  // ---------------------------------- DSL Mapping --------------------------------------
107
109
 
110
+ INTERNAL__UNKNOWN_STORE = 'INTERNAL__UNKNOWN_CONNECTION',
108
111
  INTERNAL__UNKNOWN_CONNECTION = 'INTERNAL__UNKNOWN_CONNECTION',
109
112
  INTERNAL__UNKNOWN_PROPERTY_MAPPING = 'INTERNAL__UNKNOWN_PROPERTY_MAPPING',
110
113
  INTERNAL__UNKNOWN_CLASS_MAPPING = 'INTERNAL__UNKNOWN_CLASS_MAPPING',
@@ -26,6 +26,11 @@ export const TEST__getTestGraph = async (
26
26
  entities: Entity[],
27
27
  ): Promise<PureModel> => {
28
28
  const graphManagerState = TEST__getTestGraphManagerState();
29
+ await graphManagerState.graphManager.initialize({
30
+ env: 'test',
31
+ tabSize: 2,
32
+ clientConfig: {},
33
+ });
29
34
  await graphManagerState.initializeSystem({});
30
35
  await graphManagerState.graphManager.buildGraph(
31
36
  graphManagerState.graph,
@@ -39,6 +39,8 @@ import {
39
39
  VarBinary,
40
40
  Binary,
41
41
  Bit,
42
+ BigInt,
43
+ Date,
42
44
  Numeric,
43
45
  Decimal,
44
46
  Double,
@@ -51,7 +53,10 @@ import {
51
53
  Other,
52
54
  SemiStructured,
53
55
  Json,
56
+ RelationalDatabaseConnection,
54
57
  } from '../../STO_Relational_Exports.js';
58
+ import type { PackageableElement } from '../metamodel/pure/packageableElements/PackageableElement.js';
59
+ import { PackageableConnection } from '../metamodel/pure/packageableElements/connection/PackageableConnection.js';
55
60
 
56
61
  const collectIncludedDatabases = (
57
62
  results: Set<Database>,
@@ -224,3 +229,11 @@ export const stringifyDataType = (type: RelationalDataType): string => {
224
229
  }
225
230
  return '(UNKNOWN)';
226
231
  };
232
+
233
+ export const guaranteeRelationalDatabaseConnection = (
234
+ val: PackageableElement | undefined,
235
+ ): RelationalDatabaseConnection =>
236
+ guaranteeType(
237
+ guaranteeType(val, PackageableConnection).connectionValue,
238
+ RelationalDatabaseConnection,
239
+ );
@@ -23,9 +23,10 @@ export class ExecutionPlan {
23
23
  processingTemplateFunctions: string[] = [];
24
24
  authDependent!: boolean;
25
25
  kerberos?: string | undefined;
26
- // TODO: Populate fields when required
27
- // func : FunctionDefinition<Any>[1];
28
- // mapping : Mapping[1];
29
- // runtime : Runtime[1];
30
- // globalImplementationSupport: PlatformImplementation[0..1];
26
+ /**
27
+ * Studio does not process the platform implementation info
28
+ *
29
+ * @discrepancy model
30
+ */
31
+ globalImplementationSupport!: object;
31
32
  }
@@ -27,5 +27,10 @@ export class ExecutionNode {
27
27
  executionNodes: ExecutionNode[] = [];
28
28
  authDependent?: boolean | undefined;
29
29
  supportFunctions: string[] = [];
30
- // implementation : PlatformImplementation[0..1];
30
+ /**
31
+ * Studio does not process the platform implementation info
32
+ *
33
+ * @discrepancy model
34
+ */
35
+ implementation!: object;
31
36
  }
@@ -44,6 +44,7 @@ import { AnnotatedElement } from './domain/AnnotatedElement.js';
44
44
  import type { ExecutionEnvironmentInstance } from './service/ExecutionEnvironmentInstance.js';
45
45
  import type { INTERNAL__UnknownPackageableElement } from './INTERNAL__UnknownPackageableElement.js';
46
46
  import type { INTERNAL__UnknownFunctionActivator } from './function/INTERNAL__UnknownFunctionActivator.js';
47
+ import type { INTERNAL__UnknownStore } from './store/INTERNAL__UnknownStore.js';
47
48
 
48
49
  export interface PackageableElementVisitor<T> {
49
50
  visit_PackageableElement(element: PackageableElement): T;
@@ -53,6 +54,7 @@ export interface PackageableElementVisitor<T> {
53
54
  visit_INTERNAL__UnknownFunctionActivator(
54
55
  element: INTERNAL__UnknownFunctionActivator,
55
56
  ): T;
57
+ visit_INTERNAL__UnknownStore(element: INTERNAL__UnknownStore): T;
56
58
 
57
59
  visit_SectionIndex(element: SectionIndex): T;
58
60
  visit_Package(element: Package): T;
@@ -26,16 +26,26 @@ import {
26
26
 
27
27
  /**
28
28
  * When set implementation cannot be resolved by ID, we try to avoid failing graph building
29
- * for now instead, we will leave this loose end unresolved.
29
+ * for now instead, we will leave this loose end unresolved. There are a few different cases
30
+ * where this could happen:
30
31
  *
31
- * NOTE: this is just a temporary solutions until we make this a hard-fail post migration.
32
+ * 1. In Pure, we used to let users define property mappings with source/target set implementation
33
+ * pointing at another class mapping from a different mapping, which might not be available in
34
+ * the included mapping hierarchy and it would still work, see the following issues for more details:
35
+ * See https://github.com/finos/legend-studio/issues/880
36
+ * See https://github.com/finos/legend-studio/issues/941
37
+ * 2. When we handle unknown mapping include, since the mapping include is unknown, we might not be
38
+ * able to resolve the underlying mapping and its children class mappings, so like case (1), some
39
+ * source/target set implementation might not be resolvable.
40
+ * See https://github.com/finos/legend-studio/pull/2242
32
41
  *
33
- * See https://github.com/finos/legend-studio/issues/880
34
- * See https://github.com/finos/legend-studio/issues/941
42
+ * While (1) is definitely an anti-pattern, (2) is a fairly valid use case in order for us to properly
43
+ * support unsupported
44
+ * See https://github.com/finos/legend-studio/issues/315
35
45
  *
36
46
  * @discrepancy graph-building
37
47
  */
38
- export class TEMPORARY__UnresolvedSetImplementation extends SetImplementation {
48
+ export class INTERNAL__UnresolvedSetImplementation extends SetImplementation {
39
49
  constructor(id: string, parent: Mapping) {
40
50
  super(
41
51
  InferableMappingElementIdExplicitValue.create(id, ''),
@@ -48,6 +58,6 @@ export class TEMPORARY__UnresolvedSetImplementation extends SetImplementation {
48
58
  }
49
59
 
50
60
  accept_SetImplementationVisitor<T>(visitor: SetImplementationVisitor<T>): T {
51
- return visitor.visit_TEMPORARY__UnresolvedSetImplementation(this);
61
+ return visitor.visit_INTERNAL__UnresolvedSetImplementation(this);
52
62
  }
53
63
  }
@@ -30,7 +30,7 @@ import type { InferableMappingElementRoot } from './InferableMappingElementRoot.
30
30
  import type { AggregationAwareSetImplementation } from './aggregationAware/AggregationAwareSetImplementation.js';
31
31
  import type { InstanceSetImplementation } from './InstanceSetImplementation.js';
32
32
  import type { MergeOperationSetImplementation } from './MergeOperationSetImplementation.js';
33
- import type { TEMPORARY__UnresolvedSetImplementation } from './TEMPORARY__UnresolvedSetImplementation.js';
33
+ import type { INTERNAL__UnresolvedSetImplementation } from './INTERNAL__UnresolvedSetImplementation.js';
34
34
  import type { Class } from '../domain/Class.js';
35
35
  import type { INTERNAL__UnknownSetImplementation } from './INTERNAL__UnknownSetImplementation.js';
36
36
 
@@ -39,6 +39,9 @@ export interface SetImplementationVisitor<T> {
39
39
  visit_INTERNAL__UnknownSetImplementation(
40
40
  setImplementation: INTERNAL__UnknownSetImplementation,
41
41
  ): T;
42
+ visit_INTERNAL__UnresolvedSetImplementation(
43
+ setImplementation: INTERNAL__UnresolvedSetImplementation,
44
+ ): T;
42
45
 
43
46
  visit_MergeOperationSetImplementation(
44
47
  setImplementation: MergeOperationSetImplementation,
@@ -65,9 +68,6 @@ export interface SetImplementationVisitor<T> {
65
68
  visit_AggregationAwareSetImplementation(
66
69
  setImplementation: AggregationAwareSetImplementation,
67
70
  ): T;
68
- visit_TEMPORARY__UnresolvedSetImplementation(
69
- setImplementation: TEMPORARY__UnresolvedSetImplementation,
70
- ): T;
71
71
  }
72
72
 
73
73
  export abstract class SetImplementation
@@ -20,14 +20,14 @@ import { TestSuite } from '../../test/Test.js';
20
20
  import type { TestData } from './ServiceTestData.js';
21
21
 
22
22
  export class ServiceTestSuite extends TestSuite implements Hashable {
23
- testData!: TestData;
23
+ testData?: TestData | undefined;
24
24
 
25
25
  get hashCode(): string {
26
26
  return hashArray([
27
27
  CORE_HASH_STRUCTURE.SERVICE_TEST_SUITE,
28
28
  this.id,
29
29
  hashArray(this.tests),
30
- this.testData,
30
+ this.testData ?? '',
31
31
  ]);
32
32
  }
33
33
  }
@@ -14,21 +14,32 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { UnsupportedOperationError } from '@finos/legend-shared';
17
+ import {
18
+ type Hashable,
19
+ hashArray,
20
+ type PlainObject,
21
+ } from '@finos/legend-shared';
18
22
  import { Store } from './Store.js';
23
+ import {
24
+ CORE_HASH_STRUCTURE,
25
+ hashObjectWithoutSourceInformation,
26
+ } from '../../../../Core_HashUtils.js';
19
27
  import type { PackageableElementVisitor } from '../PackageableElement.js';
20
28
 
21
- export class INTERNAL__PseudoStore extends Store {
22
- static readonly NAME = 'INTERNAL__PseudoStore';
23
- static readonly INSTANCE = new INTERNAL__PseudoStore();
29
+ export class INTERNAL__UnknownStore extends Store implements Hashable {
30
+ content!: PlainObject;
24
31
 
25
- private constructor() {
26
- super(INTERNAL__PseudoStore.NAME);
32
+ protected override get _elementHashCode(): string {
33
+ return hashArray([
34
+ CORE_HASH_STRUCTURE.INTERNAL__UNKNOWN_STORE,
35
+ this.path,
36
+ hashObjectWithoutSourceInformation(this.content),
37
+ ]);
27
38
  }
28
39
 
29
40
  accept_PackageableElementVisitor<T>(
30
41
  visitor: PackageableElementVisitor<T>,
31
42
  ): T {
32
- throw new UnsupportedOperationError();
43
+ return visitor.visit_INTERNAL__UnknownStore(this);
33
44
  }
34
45
  }
@@ -28,7 +28,7 @@ import { Multiplicity } from '../packageableElements/domain/Multiplicity.js';
28
28
 
29
29
  export abstract class GraphFetchTree implements Hashable {
30
30
  subTrees: GraphFetchTree[] = [];
31
-
31
+ subTypeTrees: SubTypeGraphFetchTree[] = [];
32
32
  abstract get hashCode(): string;
33
33
 
34
34
  get isEmpty(): boolean {
@@ -43,6 +43,7 @@ export class RootGraphFetchTree extends GraphFetchTree implements Hashable {
43
43
  return hashArray([
44
44
  CORE_HASH_STRUCTURE.ROOT_GRAPH_FETCH_TREE,
45
45
  hashArray(this.subTrees),
46
+ hashArray(this.subTypeTrees),
46
47
  this.class.valueForSerialization ?? '',
47
48
  ]);
48
49
  }
@@ -80,6 +81,23 @@ export class PropertyGraphFetchTree extends GraphFetchTree implements Hashable {
80
81
  }
81
82
  }
82
83
 
84
+ export class SubTypeGraphFetchTree extends GraphFetchTree implements Hashable {
85
+ subTypeClass: PackageableElementReference<Class>;
86
+
87
+ constructor(subTypeClass: PackageableElementReference<Class>) {
88
+ super();
89
+ this.subTypeClass = subTypeClass;
90
+ }
91
+
92
+ get hashCode(): string {
93
+ return hashArray([
94
+ CORE_HASH_STRUCTURE.SUBTYPE_GRAPH_FETCH_TREE,
95
+ hashArray(this.subTrees),
96
+ this.subTypeClass.valueForSerialization ?? '',
97
+ ]);
98
+ }
99
+ }
100
+
83
101
  export class GraphFetchTreeInstanceValue
84
102
  extends InstanceValue
85
103
  implements Hashable
@@ -97,9 +97,13 @@ import { InstanceSetImplementation } from '../graph/metamodel/pure/packageableEl
97
97
  import { EmbeddedFlatDataPropertyMapping } from '../graph/metamodel/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js';
98
98
  import { EmbeddedRelationalInstanceSetImplementation } from '../graph/metamodel/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js';
99
99
  import type { SourceInformation } from './action/SourceInformation.js';
100
- import type { ClassifierPathMapping } from './action/protocol/ClassifierPathMapping.js';
100
+ import type {
101
+ ClassifierPathMapping,
102
+ SubtypeInfo,
103
+ } from './action/protocol/ProtocolInfo.js';
101
104
  import type { FunctionActivatorConfiguration } from './action/functionActivator/FunctionActivatorConfiguration.js';
102
105
  import type { FunctionActivator } from '../graph/metamodel/pure/packageableElements/function/FunctionActivator.js';
106
+ import type { RelationalDatabaseConnection } from '../STO_Relational_Exports.js';
103
107
 
104
108
  export interface TEMPORARY__EngineSetupConfig {
105
109
  env: string;
@@ -108,12 +112,13 @@ export interface TEMPORARY__EngineSetupConfig {
108
112
  queryBaseUrl?: string | undefined;
109
113
  };
110
114
  /**
111
- * This is a workaround we need to manually supply the classifier path mapping
115
+ * Theses are workarounds we need to manually supply the configuration data
112
116
  * for roundtrip grammar test, as the network call to engine is blocked in test
113
117
  * environment, till we figure out the best way to do this, we can remove this
114
118
  * config
115
119
  */
116
120
  TEMPORARY__classifierPathMapping?: ClassifierPathMapping[] | undefined;
121
+ TEMPORARY__subtypeInfo?: SubtypeInfo | undefined;
117
122
  }
118
123
 
119
124
  export interface GraphBuilderOptions {
@@ -186,12 +191,7 @@ export abstract class AbstractPureGraphManager {
186
191
  );
187
192
  }
188
193
 
189
- abstract getSupportedProtocolVersion(): string;
190
-
191
- /**
192
- * Removes the SectionIndex from the list of enitites
193
- */
194
- abstract getElementEntities(entities: Entity[]): Entity[];
194
+ // --------------------------------------------- Setup ---------------------------------------------
195
195
 
196
196
  /**
197
197
  * TODO: we should not expose a fixed config like this, we probably
@@ -210,6 +210,15 @@ export abstract class AbstractPureGraphManager {
210
210
  },
211
211
  ): Promise<void>;
212
212
 
213
+ // --------------------------------------------- Generic ---------------------------------------------
214
+
215
+ abstract getSupportedProtocolVersion(): string;
216
+
217
+ /**
218
+ * Removes the SectionIndex from the list of enitites
219
+ */
220
+ abstract getElementEntities(entities: Entity[]): Entity[];
221
+
213
222
  // --------------------------------------------- Graph Builder ---------------------------------------------
214
223
 
215
224
  /**
@@ -530,14 +539,16 @@ export abstract class AbstractPureGraphManager {
530
539
  ): Promise<DatasetEntitlementReport[]>;
531
540
 
532
541
  /**
533
- * TODO: Move this to store relational extension
542
+ * TODO: Move these to store relational extension
534
543
  *
535
544
  * @modularize
536
545
  * See https://github.com/finos/legend-studio/issues/65
537
546
  */
538
- abstract buildDatabase(
539
- databaseBuilderInput: DatabaseBuilderInput,
540
- ): Promise<Entity[]>;
547
+ abstract buildDatabase(input: DatabaseBuilderInput): Promise<Entity[]>;
548
+ abstract executeRawSQL(
549
+ connection: RelationalDatabaseConnection,
550
+ sql: string,
551
+ ): Promise<string>;
541
552
 
542
553
  // ------------------------------------------- Function -------------------------------------------
543
554
 
@@ -148,6 +148,11 @@ export const TEST__buildGraphWithEntities = async (
148
148
  entities: Entity[],
149
149
  options?: GraphBuilderOptions,
150
150
  ): Promise<void> => {
151
+ await graphManagerState.graphManager.initialize({
152
+ env: 'test',
153
+ tabSize: 2,
154
+ clientConfig: {},
155
+ });
151
156
  await graphManagerState.initializeSystem(options);
152
157
  await graphManagerState.graphManager.buildGraph(
153
158
  graphManagerState.graph,
@@ -212,6 +217,11 @@ export const TEST__checkBuildingResolvedElements = async (
212
217
  resolvedEntities: Entity[],
213
218
  ): Promise<void> => {
214
219
  const graphManagerState = TEST__getTestGraphManagerState();
220
+ await graphManagerState.graphManager.initialize({
221
+ env: 'test',
222
+ tabSize: 2,
223
+ clientConfig: {},
224
+ });
215
225
  await graphManagerState.initializeSystem();
216
226
  await graphManagerState.graphManager.buildGraph(
217
227
  graphManagerState.graph,
@@ -60,7 +60,7 @@ import type {
60
60
  import type { SetImplementationContainer } from '../../../graph/metamodel/pure/packageableElements/mapping/SetImplementationContainer.js';
61
61
  import type { SetImplementationReference } from '../../../graph/metamodel/pure/packageableElements/mapping/SetImplementationReference.js';
62
62
  import type { SubstituteStore } from '../../../graph/metamodel/pure/packageableElements/mapping/SubstituteStore.js';
63
- import type { TEMPORARY__UnresolvedSetImplementation } from '../../../graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.js';
63
+ import type { INTERNAL__UnresolvedSetImplementation } from '../../../graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnresolvedSetImplementation.js';
64
64
  import type { XStorePropertyMapping } from '../../../graph/metamodel/pure/packageableElements/mapping/xStore/XStorePropertyMapping.js';
65
65
  import type { PackageableRuntime } from '../../../graph/metamodel/pure/packageableElements/runtime/PackageableRuntime.js';
66
66
  import {
@@ -140,6 +140,7 @@ import { UnsupportedOperationError } from '@finos/legend-shared';
140
140
  import type { INTERNAL__UnknownConnection } from '../../../graph/metamodel/pure/packageableElements/connection/INTERNAL__UnknownConnection.js';
141
141
  import type { INTERNAL__UnknownPropertyMapping } from '../../../graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnknownPropertyMapping.js';
142
142
  import type { INTERNAL__UnknownSetImplementation } from '../../../graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnknownSetImplementation.js';
143
+ import type { INTERNAL__UnknownStore } from '../../../graph/metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.js';
143
144
 
144
145
  // ------------------------------------- Store -------------------------------------
145
146
 
@@ -153,6 +154,18 @@ export const observe_Abstract_Store = (metamodel: Store): void => {
153
154
  metamodel.includes.forEach(observe_PackageableElementReference);
154
155
  };
155
156
 
157
+ export const observe_INTERNAL__UnknownStore = skipObserved(
158
+ (metamodel: INTERNAL__UnknownStore): INTERNAL__UnknownStore => {
159
+ observe_Abstract_PackageableElement(metamodel);
160
+
161
+ makeObservable(metamodel, {
162
+ content: observable.ref,
163
+ });
164
+
165
+ return metamodel;
166
+ },
167
+ );
168
+
156
169
  // ------------------------------------- TestSuite -----------------------------------
157
170
 
158
171
  export const observe_MappingStoreTestData = skipObservedWithContext(
@@ -701,8 +714,8 @@ class SetImplementationObserver implements SetImplementationVisitor<void> {
701
714
  // TODO
702
715
  }
703
716
 
704
- visit_TEMPORARY__UnresolvedSetImplementation(
705
- setImplementation: TEMPORARY__UnresolvedSetImplementation,
717
+ visit_INTERNAL__UnresolvedSetImplementation(
718
+ setImplementation: INTERNAL__UnresolvedSetImplementation,
706
719
  ): void {
707
720
  return;
708
721
  }
@@ -907,6 +920,7 @@ export const observe_Mapping = skipObservedWithContext(
907
920
  _elementHashCode: override,
908
921
  });
909
922
 
923
+ // TODO: create extension mechanism to observe mapping includes when we build editor for this
910
924
  metamodel.includes.forEach(observe_MappingInclude);
911
925
  metamodel.classMappings.forEach((classMapping) =>
912
926
  observe_SetImplementation(classMapping, context),
@@ -156,7 +156,9 @@ export const observe_ServiceTestSuite = skipObservedWithContext(
156
156
  });
157
157
 
158
158
  metamodel.tests.forEach((test) => observe_AtomicTest(test, context));
159
- observe_TestData(metamodel.testData, context);
159
+ if (metamodel.testData) {
160
+ observe_TestData(metamodel.testData, context);
161
+ }
160
162
 
161
163
  return metamodel;
162
164
  },
@@ -56,6 +56,7 @@ import {
56
56
  observe_GenerationSpecification,
57
57
  } from './DSL_Generation_ObserverHelper.js';
58
58
  import {
59
+ observe_INTERNAL__UnknownStore,
59
60
  observe_Mapping,
60
61
  observe_PackageableConnection,
61
62
  observe_PackageableRuntime,
@@ -69,6 +70,7 @@ import type { ExecutionEnvironmentInstance } from '../../../graph/metamodel/pure
69
70
  import { observe_ExecutionEnvironmentInstance } from './DSL_ExecutionEnvironment_ObseverHelper.js';
70
71
  import type { INTERNAL__UnknownPackageableElement } from '../../../graph/metamodel/pure/packageableElements/INTERNAL__UnknownPackageableElement.js';
71
72
  import type { INTERNAL__UnknownFunctionActivator } from '../../../graph/metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.js';
73
+ import type { INTERNAL__UnknownStore } from '../../../graph/metamodel/pure/packageableElements/store/INTERNAL__UnknownStore.js';
72
74
 
73
75
  class PackageableElementObserver implements PackageableElementVisitor<void> {
74
76
  observerContext: ObserverContext;
@@ -101,6 +103,10 @@ class PackageableElementObserver implements PackageableElementVisitor<void> {
101
103
  observe_INTERNAL__UnknownFunctionActivator(element);
102
104
  }
103
105
 
106
+ visit_INTERNAL__UnknownStore(element: INTERNAL__UnknownStore): void {
107
+ observe_INTERNAL__UnknownStore(element);
108
+ }
109
+
104
110
  visit_Package(element: Package): void {
105
111
  observe_Package(element, this.observerContext);
106
112
  }
@@ -16,15 +16,20 @@
16
16
 
17
17
  import type { RelationalDatabaseConnection } from '../../../graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js';
18
18
 
19
+ const DATABASE_BUILDER_WILDCARD_PATTERN = '%';
20
+
19
21
  export class DatabasePattern {
20
22
  schemaPattern = '';
21
23
  tablePattern = '';
22
24
  escapeSchemaPattern?: boolean | undefined;
23
25
  escapeTablePattern?: boolean | undefined;
24
26
 
25
- constructor(schemaPattern: string, tablePattern: string) {
26
- this.schemaPattern = schemaPattern;
27
- this.tablePattern = tablePattern;
27
+ constructor(
28
+ schemaPattern: string | undefined,
29
+ tablePattern: string | undefined,
30
+ ) {
31
+ this.schemaPattern = schemaPattern ?? DATABASE_BUILDER_WILDCARD_PATTERN;
32
+ this.tablePattern = tablePattern ?? DATABASE_BUILDER_WILDCARD_PATTERN;
28
33
  }
29
34
  }
30
35
 
@@ -15,3 +15,8 @@
15
15
  */
16
16
 
17
17
  export type ClassifierPathMapping = { type: string; classifierPath: string };
18
+
19
+ export type SubtypeInfo = {
20
+ storeSubtypes: string[];
21
+ functionActivatorSubtypes: string[];
22
+ };
@@ -19,7 +19,6 @@ import type { PackageableElement } from '../../../graph/metamodel/pure/packageab
19
19
  import type { V1_PackageableElement } from './v1/model/packageableElements/V1_PackageableElement.js';
20
20
  import type { V1_ElementBuilder } from './v1/transformation/pureGraph/to/V1_ElementBuilder.js';
21
21
  import type { V1_PureModelContextData } from './v1/model/context/V1_PureModelContextData.js';
22
- import type { PureModel } from '../../../graph/PureModel.js';
23
22
  import type { V1_GraphTransformerContext } from './v1/transformation/pureGraph/from/V1_GraphTransformerContext.js';
24
23
  import type { V1_ValueSpecification } from './v1/model/valueSpecification/V1_ValueSpecification.js';
25
24
  import type { V1_GraphBuilderContext } from './v1/transformation/pureGraph/to/V1_GraphBuilderContext.js';
@@ -64,21 +63,6 @@ export type V1_FunctionExpressionBuilder = (
64
63
  processingContext: V1_ProcessingContext,
65
64
  ) => SimpleFunctionExpression | undefined;
66
65
 
67
- export type V1_ExecutionInputCollector = (
68
- graph: PureModel,
69
- protocolGraph: V1_PureModelContextData,
70
- ) => V1_PackageableElement[];
71
-
72
- export type V1_MappingModelCoverageAnalysisInputCollector = (
73
- graph: PureModel,
74
- protocolGraph: V1_PureModelContextData,
75
- ) => V1_PackageableElement[];
76
-
77
- export type V1_MappingModelRuntimeCompatibilityAnalysisInputCollector = (
78
- graph: PureModel,
79
- protocolGraph: V1_PureModelContextData,
80
- ) => V1_PackageableElement[];
81
-
82
66
  export type V1_PropertyExpressionTypeInferrer = (
83
67
  variable: ValueSpecification | undefined,
84
68
  ) => Type | undefined;
@@ -198,13 +182,6 @@ export abstract class PureProtocolProcessorPlugin extends AbstractPlugin {
198
182
  */
199
183
  V1_getExtraFunctionExpressionBuilders?(): V1_FunctionExpressionBuilder[];
200
184
 
201
- /**
202
- * Get the list of collectors of graph elements to build execution input.
203
- *
204
- * In particular, these collectors are used to produce the minimal graph that is needed for such execution.
205
- */
206
- V1_getExtraExecutionInputCollectors?(): V1_ExecutionInputCollector[];
207
-
208
185
  /**
209
186
  * Get the list of type inferrers for property expression.
210
187
  */
@@ -23,7 +23,6 @@ import {
23
23
  guaranteeNonNullable,
24
24
  } from '@finos/legend-shared';
25
25
  import { deserialize, serialize } from 'serializr';
26
- import type { PureModel } from '../../../../graph/PureModel.js';
27
26
  import {
28
27
  getOwnBinding,
29
28
  getOwnSchemaSet,
@@ -50,10 +49,8 @@ import {
50
49
  type V1_ElementProtocolDeserializer,
51
50
  type V1_ElementProtocolSerializer,
52
51
  type V1_ElementTransformer,
53
- type V1_ExecutionInputCollector,
54
52
  PureProtocolProcessorPlugin,
55
53
  } from '../PureProtocolProcessorPlugin.js';
56
- import type { V1_PureModelContextData } from '../v1/model/context/V1_PureModelContextData.js';
57
54
  import type { V1_Connection } from '../v1/model/packageableElements/connection/V1_Connection.js';
58
55
  import { V1_ExternalFormatConnection } from '../v1/model/packageableElements/externalFormat/connection/V1_DSL_ExternalFormat_ExternalFormatConnection.js';
59
56
  import { V1_UrlStream } from '../v1/model/packageableElements/externalFormat/connection/V1_DSL_ExternalFormat_UrlStream.js';
@@ -292,18 +289,6 @@ export class DSL_ExternalFormat_PureProtocolProcessorPlugin
292
289
  ];
293
290
  }
294
291
 
295
- override V1_getExtraExecutionInputCollectors(): V1_ExecutionInputCollector[] {
296
- return [
297
- (
298
- graph: PureModel,
299
- protocolGraph: V1_PureModelContextData,
300
- ): V1_PackageableElement[] =>
301
- protocolGraph.elements.filter(
302
- (element) => element instanceof V1_SchemaSet,
303
- ),
304
- ];
305
- }
306
-
307
292
  V1_getExtraConnectionBuilders(): V1_ConnectionBuilder[] {
308
293
  return [
309
294
  (