@finos/legend-graph 29.0.5 → 30.0.1

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 (273) 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/v1/V1_Core_SystemModels.json +62 -0
  69. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts +5 -0
  70. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  71. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js +54 -24
  72. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
  73. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.d.ts +6 -3
  74. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  75. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.js +25 -3
  76. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.js.map +1 -1
  77. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts +6 -2
  78. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  79. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js +5 -1
  80. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  81. package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.d.ts +24 -0
  82. package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.d.ts.map +1 -0
  83. package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.js +28 -0
  84. package/lib/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.js.map +1 -0
  85. package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts +2 -2
  86. package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.d.ts.map +1 -1
  87. package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.js +8 -9
  88. package/lib/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.js.map +1 -1
  89. package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.d.ts +2 -2
  90. package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.d.ts.map +1 -1
  91. package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.js +2 -2
  92. package/lib/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.js.map +1 -1
  93. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.d.ts +6 -0
  94. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.d.ts.map +1 -1
  95. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.js +6 -0
  96. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.js.map +1 -1
  97. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.d.ts +6 -0
  98. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.d.ts.map +1 -1
  99. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.js +6 -0
  100. package/lib/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.js.map +1 -1
  101. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts +2 -0
  102. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts.map +1 -1
  103. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.js.map +1 -1
  104. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.d.ts +1 -1
  105. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.d.ts.map +1 -1
  106. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.js +1 -1
  107. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.js.map +1 -1
  108. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.d.ts +24 -0
  109. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.d.ts.map +1 -0
  110. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.js +32 -0
  111. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.js.map +1 -0
  112. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.d.ts +3 -0
  113. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.d.ts.map +1 -1
  114. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.js +1 -0
  115. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.js.map +1 -1
  116. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.d.ts +21 -0
  117. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.d.ts.map +1 -0
  118. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.js +23 -0
  119. package/lib/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.js.map +1 -0
  120. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +1 -1
  121. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
  122. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts +2 -2
  123. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  124. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +1 -1
  125. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  126. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts.map +1 -1
  127. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js +7 -0
  128. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js.map +1 -1
  129. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.d.ts.map +1 -1
  130. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js +3 -1
  131. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.js.map +1 -1
  132. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.d.ts.map +1 -1
  133. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +9 -1
  134. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
  135. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.d.ts.map +1 -1
  136. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.js +2 -0
  137. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.js.map +1 -1
  138. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts +2 -0
  139. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -1
  140. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js +3 -0
  141. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -1
  142. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts +2 -0
  143. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -1
  144. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js +12 -0
  145. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -1
  146. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts +2 -0
  147. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -1
  148. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js +3 -0
  149. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -1
  150. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts +2 -0
  151. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -1
  152. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js +3 -15
  153. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -1
  154. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts +2 -0
  155. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -1
  156. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js +3 -0
  157. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -1
  158. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
  159. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +3 -0
  160. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
  161. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.d.ts.map +1 -1
  162. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js +46 -23
  163. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js.map +1 -1
  164. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts +1 -1
  165. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -1
  166. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js +12 -3
  167. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -1
  168. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts +1 -1
  169. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
  170. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +11 -10
  171. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  172. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
  173. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +3 -1
  174. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  175. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  176. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +16 -3
  177. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  178. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts +2 -1
  179. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
  180. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +21 -3
  181. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
  182. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts +3 -2
  183. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.d.ts.map +1 -1
  184. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js +5 -5
  185. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js.map +1 -1
  186. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
  187. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +4 -2
  188. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
  189. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js +1 -1
  190. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js.map +1 -1
  191. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
  192. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +2 -2
  193. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
  194. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts +1 -0
  195. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.d.ts.map +1 -1
  196. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +13 -0
  197. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js.map +1 -1
  198. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts +3 -3
  199. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts.map +1 -1
  200. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js +5 -4
  201. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js.map +1 -1
  202. package/lib/index.d.ts +4 -4
  203. package/lib/index.d.ts.map +1 -1
  204. package/lib/index.js +4 -4
  205. package/lib/index.js.map +1 -1
  206. package/lib/package.json +1 -1
  207. package/package.json +4 -4
  208. package/src/graph/BasicModel.ts +10 -0
  209. package/src/graph/Core_HashUtils.ts +3 -0
  210. package/src/graph/__test-utils__/GraphTestUtils.ts +5 -0
  211. package/src/graph/helpers/STO_Relational_Helper.ts +13 -0
  212. package/src/graph/metamodel/pure/executionPlan/ExecutionPlan.ts +6 -5
  213. package/src/graph/metamodel/pure/executionPlan/nodes/ExecutionNode.ts +6 -1
  214. package/src/graph/metamodel/pure/packageableElements/PackageableElement.ts +2 -0
  215. package/src/graph/metamodel/pure/packageableElements/mapping/{TEMPORARY__UnresolvedSetImplementation.ts → INTERNAL__UnresolvedSetImplementation.ts} +16 -6
  216. package/src/graph/metamodel/pure/packageableElements/mapping/SetImplementation.ts +4 -4
  217. package/src/graph/metamodel/pure/packageableElements/service/ServiceTestSuite.ts +2 -2
  218. package/src/graph/metamodel/pure/packageableElements/store/{INTERNAL__PseudoStore.ts → INTERNAL__UnknownStore.ts} +18 -7
  219. package/src/graph/metamodel/pure/valueSpecification/GraphFetchTree.ts +19 -1
  220. package/src/graph-manager/AbstractPureGraphManager.ts +23 -12
  221. package/src/graph-manager/__test-utils__/GraphManagerTestUtils.ts +10 -0
  222. package/src/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.ts +17 -3
  223. package/src/graph-manager/action/changeDetection/DSL_Service_ObserverHelper.ts +3 -1
  224. package/src/graph-manager/action/changeDetection/PackageableElementObserver.ts +6 -0
  225. package/src/graph-manager/action/generation/DatabaseBuilderInput.ts +8 -3
  226. package/src/graph-manager/action/protocol/{ClassifierPathMapping.ts → ProtocolInfo.ts} +5 -0
  227. package/src/graph-manager/protocol/pure/v1/V1_Core_SystemModels.json +62 -0
  228. package/src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts +89 -28
  229. package/src/graph-manager/protocol/pure/v1/engine/V1_Engine.ts +41 -3
  230. package/src/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.ts +26 -3
  231. package/src/graph-manager/protocol/pure/v1/engine/execution/V1_RawSQLExecuteInput.ts +52 -0
  232. package/src/graph-manager/protocol/pure/v1/engine/generation/V1_DatabaseBuilderInput.ts +15 -4
  233. package/src/graph-manager/protocol/pure/v1/model/context/V1_PureModelContextData.ts +2 -2
  234. package/src/graph-manager/protocol/pure/v1/model/executionPlan/V1_SimpleExecutionPlan.ts +6 -1
  235. package/src/graph-manager/protocol/pure/v1/model/executionPlan/nodes/V1_ExecutionNode.ts +6 -1
  236. package/src/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.ts +2 -0
  237. package/src/graph-manager/protocol/pure/v1/model/packageableElements/service/V1_ServiceTestSuite.ts +2 -2
  238. package/src/graph-manager/protocol/pure/v1/model/packageableElements/store/V1_INTERNAL__UnknownStore.ts +45 -0
  239. package/src/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_GraphFetchTree.ts +3 -0
  240. package/src/graph-manager/protocol/pure/v1/model/valueSpecification/raw/classInstance/graph/V1_SubTypeGraphFetchTree.ts +28 -0
  241. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +1 -1
  242. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +3 -3
  243. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.ts +11 -0
  244. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ServiceTransformer.ts +3 -1
  245. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +27 -0
  246. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/executionPlan/V1_ExecutionPlanTransformer.ts +2 -0
  247. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.ts +5 -0
  248. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts +29 -0
  249. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.ts +5 -0
  250. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts +5 -15
  251. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.ts +5 -0
  252. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +3 -0
  253. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.ts +84 -40
  254. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.ts +16 -6
  255. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +12 -13
  256. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +3 -1
  257. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +44 -2
  258. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +29 -0
  259. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.ts +6 -2
  260. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +11 -2
  261. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.ts +1 -1
  262. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +2 -1
  263. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +28 -1
  264. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.ts +10 -7
  265. package/src/index.ts +2 -4
  266. package/tsconfig.json +6 -3
  267. package/lib/graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.d.ts +0 -33
  268. package/lib/graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.d.ts.map +0 -1
  269. package/lib/graph/metamodel/pure/packageableElements/mapping/TEMPORARY__UnresolvedSetImplementation.js.map +0 -1
  270. package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__PseudoStore.d.ts.map +0 -1
  271. package/lib/graph/metamodel/pure/packageableElements/store/INTERNAL__PseudoStore.js.map +0 -1
  272. package/lib/graph-manager/action/protocol/ClassifierPathMapping.d.ts.map +0 -1
  273. package/lib/graph-manager/action/protocol/ClassifierPathMapping.js.map +0 -1
@@ -158,7 +158,6 @@ import {
158
158
  V1_DatabaseBuilderConfig,
159
159
  V1_DatabaseBuilderInput,
160
160
  V1_DatabasePattern,
161
- V1_setupDatabaseBuilderInputSerialization,
162
161
  V1_TargetDatabase,
163
162
  } from './engine/generation/V1_DatabaseBuilderInput.js';
164
163
  import { V1_transformRelationalDatabaseConnection } from './transformation/pureGraph/from/V1_ConnectionTransformer.js';
@@ -310,6 +309,10 @@ import { FunctionActivatorConfiguration } from '../../../action/functionActivato
310
309
  import { V1_FunctionActivatorInput } from './engine/functionActivator/V1_FunctionActivatorInput.js';
311
310
  import { V1_FunctionActivator } from './model/packageableElements/function/V1_FunctionActivator.js';
312
311
  import { V1_INTERNAL__UnknownFunctionActivator } from './model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.js';
312
+ import type { RelationalDatabaseConnection } from '../../../../STO_Relational_Exports.js';
313
+ import { V1_RawSQLExecuteInput } from './engine/execution/V1_RawSQLExecuteInput.js';
314
+ import type { SubtypeInfo } from '../../../action/protocol/ProtocolInfo.js';
315
+ import { V1_INTERNAL__UnknownStore } from './model/packageableElements/store/V1_INTERNAL__UnknownStore.js';
313
316
 
314
317
  class V1_PureModelContextDataIndex {
315
318
  elements: V1_PackageableElement[] = [];
@@ -355,10 +358,12 @@ const mergePureModelContextData = (
355
358
  const mergedData = new V1_PureModelContextData();
356
359
  for (const _data of data) {
357
360
  mergedData.elements = mergedData.elements.concat(_data.elements);
358
- mergedData.INTERNAL__rawDependencyEntities =
359
- mergedData.INTERNAL__rawDependencyEntities.concat(
360
- _data.INTERNAL__rawDependencyEntities,
361
- );
361
+ const rawDependencyEntities = (
362
+ mergedData.INTERNAL__rawDependencyEntities ?? []
363
+ ).concat(_data.INTERNAL__rawDependencyEntities ?? []);
364
+ mergedData.INTERNAL__rawDependencyEntities = rawDependencyEntities.length
365
+ ? rawDependencyEntities
366
+ : undefined;
362
367
  mergedData.serializer = _data.serializer ?? mergedData.serializer;
363
368
  mergedData.origin = _data.origin ?? mergedData.origin;
364
369
  }
@@ -509,6 +514,10 @@ interface ServiceRegistrationInput {
509
514
 
510
515
  export class V1_PureGraphManager extends AbstractPureGraphManager {
511
516
  private readonly elementClassifierPathMap = new Map<string, string>();
517
+ private readonly subtypeInfo: SubtypeInfo = {
518
+ storeSubtypes: [],
519
+ functionActivatorSubtypes: [],
520
+ };
512
521
 
513
522
  // Pure Client Version represent the version of the pure protocol.
514
523
  // Most Engine APIs will interrupt an undefined pure client version to mean
@@ -532,10 +541,33 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
532
541
  this.graphBuilderExtensions = new V1_GraphBuilderExtensions(
533
542
  this.pluginManager.getPureProtocolProcessorPlugins(),
534
543
  );
544
+ }
545
+
546
+ TEMPORARY__getEngineConfig(): TEMPORARY__AbstractEngineConfig {
547
+ return this.engine.config;
548
+ }
549
+
550
+ async initialize(
551
+ config: TEMPORARY__EngineSetupConfig,
552
+ options?: {
553
+ tracerService?: TracerService | undefined;
554
+ },
555
+ ): Promise<void> {
556
+ this.engine = new V1_Engine(config.clientConfig, this.logService);
557
+ this.engine
558
+ .getEngineServerClient()
559
+ .setTracerService(options?.tracerService ?? new TracerService());
560
+
561
+ await Promise.all([
562
+ this.engine.setup(config),
563
+ this.configureElementClassifierPathMap(config),
564
+ this.configureSubtypeInfoMap(config),
565
+ ]);
535
566
 
536
567
  // setup serialization plugins
537
568
  V1_setupPureModelContextDataSerialization(
538
569
  this.pluginManager.getPureProtocolProcessorPlugins(),
570
+ this.subtypeInfo,
539
571
  );
540
572
  V1_setupDatabaseSerialization(
541
573
  this.pluginManager.getPureProtocolProcessorPlugins(),
@@ -546,27 +578,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
546
578
  V1_setupLegacyRuntimeSerialization(
547
579
  this.pluginManager.getPureProtocolProcessorPlugins(),
548
580
  );
549
- V1_setupDatabaseBuilderInputSerialization(
550
- this.pluginManager.getPureProtocolProcessorPlugins(),
551
- );
552
- }
553
-
554
- TEMPORARY__getEngineConfig(): TEMPORARY__AbstractEngineConfig {
555
- return this.engine.config;
556
581
  }
557
582
 
558
- async initialize(
583
+ private async configureElementClassifierPathMap(
559
584
  config: TEMPORARY__EngineSetupConfig,
560
- options?: {
561
- tracerService?: TracerService | undefined;
562
- },
563
585
  ): Promise<void> {
564
- this.engine = new V1_Engine(config.clientConfig, this.logService);
565
- this.engine
566
- .getEngineServerClient()
567
- .setTracerService(options?.tracerService ?? new TracerService());
568
- await this.engine.setup(config);
569
-
570
586
  const classifierPathMapEntries =
571
587
  config.TEMPORARY__classifierPathMapping ??
572
588
  (await this.engine.getClassifierPathMapping());
@@ -575,6 +591,18 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
575
591
  });
576
592
  }
577
593
 
594
+ private async configureSubtypeInfoMap(
595
+ config: TEMPORARY__EngineSetupConfig,
596
+ ): Promise<void> {
597
+ const subtypeInfo =
598
+ config.TEMPORARY__subtypeInfo ?? (await this.engine.getSubtypeInfo());
599
+ this.subtypeInfo.storeSubtypes = subtypeInfo.storeSubtypes;
600
+ this.subtypeInfo.functionActivatorSubtypes =
601
+ subtypeInfo.functionActivatorSubtypes;
602
+ }
603
+
604
+ // --------------------------------------------- Generic ---------------------------------------------
605
+
578
606
  getSupportedProtocolVersion(): string {
579
607
  return PureClientVersion.V1_0_0;
580
608
  }
@@ -703,6 +731,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
703
731
  entitiesWithOrigin.entities,
704
732
  projectModelData,
705
733
  this.pluginManager.getPureProtocolProcessorPlugins(),
734
+ this.subtypeInfo,
706
735
  );
707
736
  },
708
737
  ),
@@ -781,6 +810,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
781
810
  entities,
782
811
  data,
783
812
  this.pluginManager.getPureProtocolProcessorPlugins(),
813
+ this.subtypeInfo,
784
814
  );
785
815
  stopWatch.record(
786
816
  GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS,
@@ -866,6 +896,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
866
896
  entities,
867
897
  data,
868
898
  this.pluginManager.getPureProtocolProcessorPlugins(),
899
+ this.subtypeInfo,
869
900
  );
870
901
  stopWatch.record(
871
902
  GRAPH_MANAGER_EVENT.GRAPH_BUILDER_DESERIALIZE_ELEMENTS__SUCCESS,
@@ -957,6 +988,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
957
988
  entities,
958
989
  generatedData,
959
990
  this.pluginManager.getPureProtocolProcessorPlugins(),
991
+ this.subtypeInfo,
960
992
  );
961
993
  },
962
994
  ),
@@ -2940,7 +2972,28 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2940
2972
  );
2941
2973
  dbBuilderInput.config = config;
2942
2974
  return this.pureModelContextDataToEntities(
2943
- await this.engine.buildDatabase(dbBuilderInput),
2975
+ await this.engine.buildDatabase(
2976
+ dbBuilderInput,
2977
+ this.pluginManager.getPureProtocolProcessorPlugins(),
2978
+ ),
2979
+ );
2980
+ }
2981
+
2982
+ override async executeRawSQL(
2983
+ connection: RelationalDatabaseConnection,
2984
+ sql: string,
2985
+ ): Promise<string> {
2986
+ const input = new V1_RawSQLExecuteInput();
2987
+ input.connection = V1_transformRelationalDatabaseConnection(
2988
+ connection,
2989
+ new V1_GraphTransformerContextBuilder(
2990
+ this.pluginManager.getPureProtocolProcessorPlugins(),
2991
+ ).build(),
2992
+ );
2993
+ input.sql = sql;
2994
+ return this.engine.executeRawSQL(
2995
+ input,
2996
+ this.pluginManager.getPureProtocolProcessorPlugins(),
2944
2997
  );
2945
2998
  }
2946
2999
 
@@ -3352,6 +3405,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3352
3405
  entities,
3353
3406
  pureModelContextData,
3354
3407
  this.pluginManager.getPureProtocolProcessorPlugins(),
3408
+ this.subtypeInfo,
3355
3409
  TEMPORARY__entityPathIndex,
3356
3410
  );
3357
3411
  await Promise.all(
@@ -3398,7 +3452,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3398
3452
  elementFilter ? elementFilter(element) : true,
3399
3453
  );
3400
3454
  prunedGraphData.INTERNAL__rawDependencyEntities =
3401
- data.INTERNAL__rawDependencyEntities.filter((entity) =>
3455
+ data.INTERNAL__rawDependencyEntities?.filter((entity) =>
3402
3456
  entityFilter ? entityFilter(entity) : true,
3403
3457
  );
3404
3458
  return prunedGraphData;
@@ -3461,6 +3515,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3461
3515
  ),
3462
3516
  data,
3463
3517
  this.pluginManager.getPureProtocolProcessorPlugins(),
3518
+ this.subtypeInfo,
3464
3519
  );
3465
3520
  const mainGraphBuilderInput: V1_PureGraphBuilderInput[] = [
3466
3521
  {
@@ -3498,6 +3553,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3498
3553
  ),
3499
3554
  projectModelData,
3500
3555
  this.pluginManager.getPureProtocolProcessorPlugins(),
3556
+ this.subtypeInfo,
3501
3557
  );
3502
3558
  },
3503
3559
  ),
@@ -3547,10 +3603,13 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3547
3603
  ...contextData1.elements,
3548
3604
  ...contextData2.elements,
3549
3605
  ];
3550
- contextData1.INTERNAL__rawDependencyEntities = [
3551
- ...contextData1.INTERNAL__rawDependencyEntities,
3552
- ...contextData2.INTERNAL__rawDependencyEntities,
3606
+ const rawDependencyEntities = [
3607
+ ...(contextData1.INTERNAL__rawDependencyEntities ?? []),
3608
+ ...(contextData2.INTERNAL__rawDependencyEntities ?? []),
3553
3609
  ];
3610
+ contextData1.INTERNAL__rawDependencyEntities = rawDependencyEntities.length
3611
+ ? rawDependencyEntities
3612
+ : undefined;
3554
3613
  return contextData1;
3555
3614
  }
3556
3615
 
@@ -3580,6 +3639,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3580
3639
  entities,
3581
3640
  graphData,
3582
3641
  this.pluginManager.getPureProtocolProcessorPlugins(),
3642
+ this.subtypeInfo,
3583
3643
  );
3584
3644
  return graphData;
3585
3645
  }
@@ -3606,7 +3666,8 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
3606
3666
  ): string => {
3607
3667
  if (
3608
3668
  protocol instanceof V1_INTERNAL__UnknownPackageableElement ||
3609
- protocol instanceof V1_INTERNAL__UnknownFunctionActivator
3669
+ protocol instanceof V1_INTERNAL__UnknownFunctionActivator ||
3670
+ protocol instanceof V1_INTERNAL__UnknownStore
3610
3671
  ) {
3611
3672
  const _type = protocol.content._type;
3612
3673
  const classifierPath = isString(_type)
@@ -65,7 +65,10 @@ import {
65
65
  V1_buildParserError,
66
66
  } from './V1_EngineHelper.js';
67
67
  import { V1_LightQuery, V1_Query } from './query/V1_Query.js';
68
- import { V1_DatabaseBuilderInput } from './generation/V1_DatabaseBuilderInput.js';
68
+ import {
69
+ type V1_DatabaseBuilderInput,
70
+ V1_serializeDatabaseBuilderInput,
71
+ } from './generation/V1_DatabaseBuilderInput.js';
69
72
  import type { V1_ServiceConfigurationInfo } from './service/V1_ServiceConfiguration.js';
70
73
  import {
71
74
  V1_ExecuteInput,
@@ -113,10 +116,17 @@ import type { V1_SourceInformation } from '../model/V1_SourceInformation.js';
113
116
  import { V1_INTERNAL__PackageableElementWithSourceInformation } from '../transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js';
114
117
  import { ELEMENT_PATH_DELIMITER } from '../../../../../graph/MetaModelConst.js';
115
118
  import { V1_serializeExecutionResult } from './execution/V1_ExecutionHelper.js';
116
- import type { ClassifierPathMapping } from '../../../../action/protocol/ClassifierPathMapping.js';
119
+ import type {
120
+ ClassifierPathMapping,
121
+ SubtypeInfo,
122
+ } from '../../../../action/protocol/ProtocolInfo.js';
117
123
  import { V1_FunctionActivatorInfo } from './functionActivator/V1_FunctionActivatorInfo.js';
118
124
  import { V1_FunctionActivatorError } from './functionActivator/V1_FunctionActivatorError.js';
119
125
  import { V1_FunctionActivatorInput } from './functionActivator/V1_FunctionActivatorInput.js';
126
+ import {
127
+ V1_serializeRawSQLExecuteInput,
128
+ type V1_RawSQLExecuteInput,
129
+ } from './execution/V1_RawSQLExecuteInput.js';
120
130
 
121
131
  class V1_EngineConfig extends TEMPORARY__AbstractEngineConfig {
122
132
  private engine: V1_Engine;
@@ -228,6 +238,24 @@ export class V1_Engine {
228
238
  }
229
239
  }
230
240
 
241
+ async getSubtypeInfo(): Promise<SubtypeInfo> {
242
+ try {
243
+ return await this.engineServerClient.getSubtypeInfo();
244
+ } catch {
245
+ // NOTE: this is temporary until we have this API functional and released
246
+ // See https://github.com/finos/legend-engine/pull/1858
247
+ return {
248
+ functionActivatorSubtypes: ['snowflakeApp'],
249
+ storeSubtypes: [
250
+ 'MongoDatabase',
251
+ 'serviceStore',
252
+ 'relational',
253
+ 'binding',
254
+ ],
255
+ };
256
+ }
257
+ }
258
+
231
259
  // ------------------------------------------- Grammar -------------------------------------------
232
260
 
233
261
  private extractElementSourceInformationIndexFromPureModelContextDataJSON(
@@ -859,14 +887,24 @@ export class V1_Engine {
859
887
 
860
888
  async buildDatabase(
861
889
  input: V1_DatabaseBuilderInput,
890
+ plugins: PureProtocolProcessorPlugin[],
862
891
  ): Promise<V1_PureModelContextData> {
863
892
  return V1_deserializePureModelContextData(
864
893
  await this.engineServerClient.buildDatabase(
865
- serialize(V1_DatabaseBuilderInput, input),
894
+ V1_serializeDatabaseBuilderInput(input, plugins),
866
895
  ),
867
896
  );
868
897
  }
869
898
 
899
+ async executeRawSQL(
900
+ input: V1_RawSQLExecuteInput,
901
+ plugins: PureProtocolProcessorPlugin[],
902
+ ): Promise<string> {
903
+ return this.engineServerClient.executeRawSQL(
904
+ V1_serializeRawSQLExecuteInput(input, plugins),
905
+ );
906
+ }
907
+
870
908
  // ------------------------------------------- Function -------------------------------------------
871
909
 
872
910
  async getAvailableFunctionActivators(): Promise<V1_FunctionActivatorInfo[]> {
@@ -63,10 +63,15 @@ import type {
63
63
  V1_SurveyDatasetsResult,
64
64
  } from './analytics/V1_StoreEntitlementAnalysis.js';
65
65
  import type { V1_RunTestsResult } from './test/V1_RunTestsResult.js';
66
- import type { ClassifierPathMapping } from '../../../../action/protocol/ClassifierPathMapping.js';
66
+ import type {
67
+ ClassifierPathMapping,
68
+ SubtypeInfo,
69
+ } from '../../../../action/protocol/ProtocolInfo.js';
67
70
  import type { V1_FunctionActivatorInfo } from './functionActivator/V1_FunctionActivatorInfo.js';
68
71
  import type { V1_FunctionActivatorError } from './functionActivator/V1_FunctionActivatorError.js';
69
72
  import type { V1_FunctionActivatorInput } from './functionActivator/V1_FunctionActivatorInput.js';
73
+ import type { V1_DatabaseBuilderInput } from './generation/V1_DatabaseBuilderInput.js';
74
+ import type { V1_RawSQLExecuteInput } from './execution/V1_RawSQLExecuteInput.js';
70
75
 
71
76
  enum CORE_ENGINE_ACTIVITY_TRACE {
72
77
  GRAMMAR_TO_JSON = 'transform Pure code to protocol',
@@ -99,6 +104,9 @@ enum CORE_ENGINE_ACTIVITY_TRACE {
99
104
  MAPPING_MODEL_COVERAGE_ANALYTICS = 'mapping model coverage analytics',
100
105
  SURVEY_DATASET_ANALYTICS = 'survey dataset analytics',
101
106
  STORE_ENTITLEMENT_ANALYTICS = 'store entitlement analytics',
107
+
108
+ DATABASE_SCHEMA_EXPLORATION = 'database schema exploration',
109
+ DATABASE_RAW_SQL_EXECUTION = 'database raw SQL execution',
102
110
  }
103
111
 
104
112
  type GrammarParserBatchInputEntry = {
@@ -165,6 +173,9 @@ export class V1_EngineServerClient extends AbstractServerClient {
165
173
  getClassifierPathMap = (): Promise<ClassifierPathMapping[]> =>
166
174
  this.get(`${this._pure()}/protocol/pure/getClassifierPathMap`);
167
175
 
176
+ getSubtypeInfo = (): Promise<SubtypeInfo> =>
177
+ this.get(`${this._pure()}/protocol/pure/getSubtypeInfo`);
178
+
168
179
  // ------------------------------------------- Grammar -------------------------------------------
169
180
 
170
181
  _grammarToJSON = (): string => `${this._pure()}/grammar/grammarToJson`;
@@ -622,15 +633,27 @@ export class V1_EngineServerClient extends AbstractServerClient {
622
633
  );
623
634
 
624
635
  _databaseUtilities = (): string => `${this._pure()}/utilities/database`;
636
+
625
637
  buildDatabase = (
626
- input: PlainObject<V1_ExecuteInput>,
638
+ input: PlainObject<V1_DatabaseBuilderInput>,
627
639
  ): Promise<PlainObject<V1_PureModelContextData>> =>
628
640
  this.postWithTracing(
629
- this.getTraceData(CORE_ENGINE_ACTIVITY_TRACE.GENERATE_EXECUTION_PLAN),
641
+ this.getTraceData(CORE_ENGINE_ACTIVITY_TRACE.DATABASE_SCHEMA_EXPLORATION),
630
642
  `${this._databaseUtilities()}/schemaExploration`,
631
643
  input,
632
644
  );
633
645
 
646
+ executeRawSQL = (
647
+ input: PlainObject<V1_RawSQLExecuteInput>,
648
+ ): Promise<string> =>
649
+ this.postWithTracing(
650
+ this.getTraceData(CORE_ENGINE_ACTIVITY_TRACE.DATABASE_RAW_SQL_EXECUTION),
651
+ `${this._databaseUtilities()}/executeRawSQL`,
652
+ input,
653
+ {},
654
+ { [HttpHeader.ACCEPT]: ContentType.TEXT_PLAIN },
655
+ );
656
+
634
657
  // ------------------------------------------- Function ---------------------------------------
635
658
 
636
659
  _functionActivator = (): string => `${this.baseUrl}/functionActivator`;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ createModelSchema,
19
+ primitive,
20
+ custom,
21
+ serialize,
22
+ type ModelSchema,
23
+ } from 'serializr';
24
+ import { type PlainObject } from '@finos/legend-shared';
25
+ import {
26
+ V1_serializeConnectionValue,
27
+ V1_deserializeConnectionValue,
28
+ } from '../../transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js';
29
+ import type { V1_RelationalDatabaseConnection } from '../../model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js';
30
+ import type { PureProtocolProcessorPlugin } from '../../../PureProtocolProcessorPlugin.js';
31
+
32
+ export class V1_RawSQLExecuteInput {
33
+ connection!: V1_RelationalDatabaseConnection;
34
+ sql!: string;
35
+ }
36
+
37
+ const createRawSQLExecuteInpuModelSchema = (
38
+ plugins: PureProtocolProcessorPlugin[],
39
+ ): ModelSchema<V1_RawSQLExecuteInput> =>
40
+ createModelSchema(V1_RawSQLExecuteInput, {
41
+ connection: custom(
42
+ (val) => V1_serializeConnectionValue(val, false, plugins),
43
+ (val) => V1_deserializeConnectionValue(val, false, plugins),
44
+ ),
45
+ sql: primitive(),
46
+ });
47
+
48
+ export const V1_serializeRawSQLExecuteInput = (
49
+ value: V1_RawSQLExecuteInput,
50
+ plugins: PureProtocolProcessorPlugin[],
51
+ ): PlainObject<V1_RawSQLExecuteInput> =>
52
+ serialize(createRawSQLExecuteInpuModelSchema(plugins), value);
@@ -20,8 +20,14 @@ import {
20
20
  custom,
21
21
  list,
22
22
  optional,
23
+ serialize,
24
+ type ModelSchema,
23
25
  } from 'serializr';
24
- import { SerializationFactory, usingModelSchema } from '@finos/legend-shared';
26
+ import {
27
+ SerializationFactory,
28
+ usingModelSchema,
29
+ type PlainObject,
30
+ } from '@finos/legend-shared';
25
31
  import {
26
32
  V1_serializeConnectionValue,
27
33
  V1_deserializeConnectionValue,
@@ -81,9 +87,9 @@ export class V1_DatabaseBuilderInput {
81
87
  targetDatabase!: V1_TargetDatabase;
82
88
  }
83
89
 
84
- export const V1_setupDatabaseBuilderInputSerialization = (
90
+ const createDatabaseBuilderInputModelSchema = (
85
91
  plugins: PureProtocolProcessorPlugin[],
86
- ): void => {
92
+ ): ModelSchema<V1_DatabaseBuilderInput> =>
87
93
  createModelSchema(V1_DatabaseBuilderInput, {
88
94
  config: usingModelSchema(V1_DatabaseBuilderConfig.serialization.schema),
89
95
  connection: custom(
@@ -92,4 +98,9 @@ export const V1_setupDatabaseBuilderInputSerialization = (
92
98
  ),
93
99
  targetDatabase: usingModelSchema(V1_TargetDatabase.serialization.schema),
94
100
  });
95
- };
101
+
102
+ export const V1_serializeDatabaseBuilderInput = (
103
+ value: V1_DatabaseBuilderInput,
104
+ plugins: PureProtocolProcessorPlugin[],
105
+ ): PlainObject<V1_DatabaseBuilderInput> =>
106
+ serialize(createDatabaseBuilderInputModelSchema(plugins), value);
@@ -25,9 +25,9 @@ export class V1_PureModelContextData extends V1_PureModelContext {
25
25
  serializer?: V1_Protocol | undefined;
26
26
  elements: V1_PackageableElement[] = [];
27
27
  /**
28
- * we use this to hold serialized elements as entities to save on transforming/serializing immutable entities
28
+ * We use this to hold serialized elements as entities to save on transforming/serializing immutable entities
29
29
  *
30
30
  * @discrepancy model
31
31
  */
32
- INTERNAL__rawDependencyEntities: Entity[] = [];
32
+ INTERNAL__rawDependencyEntities?: Entity[] | undefined;
33
33
  }
@@ -24,5 +24,10 @@ export class V1_SimpleExecutionPlan extends V1_ExecutionPlan {
24
24
  serializer!: V1_Protocol;
25
25
  templateFunctions: string[] = [];
26
26
  rootExecutionNode!: V1_ExecutionNode;
27
- // globalImplementationSupport!: V1_PlatformImplementation; // TODO: this is WIP for M2M case in engine
27
+ /**
28
+ * Studio does not process the platform implementation info
29
+ *
30
+ * @discrepancy model
31
+ */
32
+ globalImplementationSupport!: object;
28
33
  }
@@ -21,5 +21,10 @@ export abstract class V1_ExecutionNode {
21
21
  resultType!: V1_ResultType;
22
22
  executionNodes: V1_ExecutionNode[] = [];
23
23
  resultSizeRange?: V1_Multiplicity | undefined;
24
- // globalImplementationSupport!: V1_PlatformImplementation; // TODO: this is WIP for M2M case in engine
24
+ /**
25
+ * Studio does not process the platform implementation info
26
+ *
27
+ * @discrepancy model
28
+ */
29
+ implementation!: object;
25
30
  }
@@ -36,6 +36,7 @@ import { ELEMENT_PATH_DELIMITER } from '../../../../../../graph/MetaModelConst.j
36
36
  import type { V1_ExecutionEnvironmentInstance } from './service/V1_ExecutionEnvironmentInstance.js';
37
37
  import type { V1_INTERNAL__UnknownPackageableElement } from './V1_INTERNAL__UnknownPackageableElement.js';
38
38
  import type { V1_INTERNAL__UnknownFunctionActivator } from './function/V1_INTERNAL__UnknownFunctionActivator.js';
39
+ import type { V1_INTERNAL__UnknownStore } from './store/V1_INTERNAL__UnknownStore.js';
39
40
 
40
41
  export interface V1_PackageableElementVisitor<T> {
41
42
  visit_PackageableElement(element: V1_PackageableElement): T;
@@ -45,6 +46,7 @@ export interface V1_PackageableElementVisitor<T> {
45
46
  visit_INTERNAL__UnknownFunctionActivator(
46
47
  element: V1_INTERNAL__UnknownFunctionActivator,
47
48
  ): T;
49
+ visit_INTERNAL__UnknownStore(element: V1_INTERNAL__UnknownStore): T;
48
50
 
49
51
  visit_SectionIndex(element: V1_SectionIndex): T;
50
52
  visit_Profile(element: V1_Profile): T;
@@ -20,14 +20,14 @@ import { V1_TestSuite } from '../../test/V1_TestSuite.js';
20
20
  import type { V1_TestData } from './V1_TestData.js';
21
21
 
22
22
  export class V1_ServiceTestSuite extends V1_TestSuite implements Hashable {
23
- testData!: V1_TestData;
23
+ testData?: V1_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
  }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ type Hashable,
19
+ hashArray,
20
+ type PlainObject,
21
+ } from '@finos/legend-shared';
22
+ import { V1_Store } from './V1_Store.js';
23
+ import {
24
+ CORE_HASH_STRUCTURE,
25
+ hashObjectWithoutSourceInformation,
26
+ } from '../../../../../../../graph/Core_HashUtils.js';
27
+ import type { V1_PackageableElementVisitor } from '../V1_PackageableElement.js';
28
+
29
+ export class V1_INTERNAL__UnknownStore extends V1_Store implements Hashable {
30
+ content!: PlainObject;
31
+
32
+ override get hashCode(): string {
33
+ return hashArray([
34
+ CORE_HASH_STRUCTURE.INTERNAL__UNKNOWN_STORE,
35
+ this.path,
36
+ hashObjectWithoutSourceInformation(this.content),
37
+ ]);
38
+ }
39
+
40
+ accept_PackageableElementVisitor<T>(
41
+ visitor: V1_PackageableElementVisitor<T>,
42
+ ): T {
43
+ return visitor.visit_INTERNAL__UnknownStore(this);
44
+ }
45
+ }
@@ -16,16 +16,19 @@
16
16
 
17
17
  import type { V1_PropertyGraphFetchTree } from './V1_PropertyGraphFetchTree.js';
18
18
  import type { V1_RootGraphFetchTree } from './V1_RootGraphFetchTree.js';
19
+ import type { V1_SubTypeGraphFetchTree } from './V1_SubTypeGraphFetchTree.js';
19
20
 
20
21
  export interface V1_GraphFetchTreeVisitor<T> {
21
22
  visit_RootGraphFetchTree(valueSpecification: V1_RootGraphFetchTree): T;
22
23
  visit_PropertyGraphFetchTree(
23
24
  valueSpecification: V1_PropertyGraphFetchTree,
24
25
  ): T;
26
+ visit_SubTypeGraphFetchTree(valueSpecification: V1_SubTypeGraphFetchTree): T;
25
27
  }
26
28
 
27
29
  export abstract class V1_GraphFetchTree {
28
30
  subTrees: V1_GraphFetchTree[] = [];
31
+ subTypeTrees: V1_SubTypeGraphFetchTree[] = [];
29
32
 
30
33
  abstract accept_GraphFetchTreeVisitor<T>(
31
34
  visitor: V1_GraphFetchTreeVisitor<T>,
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ V1_GraphFetchTree,
19
+ type V1_GraphFetchTreeVisitor,
20
+ } from './V1_GraphFetchTree.js';
21
+
22
+ export class V1_SubTypeGraphFetchTree extends V1_GraphFetchTree {
23
+ subTypeClass!: string;
24
+
25
+ accept_GraphFetchTreeVisitor<T>(visitor: V1_GraphFetchTreeVisitor<T>): T {
26
+ return visitor.visit_SubTypeGraphFetchTree(this);
27
+ }
28
+ }
@@ -447,7 +447,7 @@ class ConnectionTransformer implements ConnectionVisitor<V1_Connection> {
447
447
  connection: INTERNAL__UnknownConnection,
448
448
  ): V1_Connection {
449
449
  const protocol = new V1_INTERNAL__UnknownConnection();
450
- protocol.store = undefined;
450
+ protocol.store = connection.store.valueForSerialization ?? '';
451
451
  protocol.content = connection.content;
452
452
  return protocol;
453
453
  }