@finos/legend-graph 29.0.2 → 29.0.3

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 (274) hide show
  1. package/lib/__lib__/GraphManagerEvent.d.ts +2 -1
  2. package/lib/__lib__/GraphManagerEvent.d.ts.map +1 -1
  3. package/lib/__lib__/GraphManagerEvent.js +2 -1
  4. package/lib/__lib__/GraphManagerEvent.js.map +1 -1
  5. package/lib/graph/BasicModel.d.ts +7 -1
  6. package/lib/graph/BasicModel.d.ts.map +1 -1
  7. package/lib/graph/BasicModel.js +23 -1
  8. package/lib/graph/BasicModel.js.map +1 -1
  9. package/lib/graph/Core_HashUtils.d.ts +3 -1
  10. package/lib/graph/Core_HashUtils.d.ts.map +1 -1
  11. package/lib/graph/Core_HashUtils.js +3 -1
  12. package/lib/graph/Core_HashUtils.js.map +1 -1
  13. package/lib/graph/DependencyManager.d.ts +4 -1
  14. package/lib/graph/DependencyManager.d.ts.map +1 -1
  15. package/lib/graph/DependencyManager.js +4 -0
  16. package/lib/graph/DependencyManager.js.map +1 -1
  17. package/lib/graph/MetaModelConst.d.ts +2 -1
  18. package/lib/graph/MetaModelConst.d.ts.map +1 -1
  19. package/lib/graph/MetaModelConst.js +1 -0
  20. package/lib/graph/MetaModelConst.js.map +1 -1
  21. package/lib/graph/PureModel.d.ts +4 -1
  22. package/lib/graph/PureModel.d.ts.map +1 -1
  23. package/lib/graph/PureModel.js +16 -1
  24. package/lib/graph/PureModel.js.map +1 -1
  25. package/lib/graph/helpers/DomainHelper.d.ts +5 -1
  26. package/lib/graph/helpers/DomainHelper.d.ts.map +1 -1
  27. package/lib/graph/helpers/DomainHelper.js +20 -0
  28. package/lib/graph/helpers/DomainHelper.js.map +1 -1
  29. package/lib/graph/helpers/PureLanguageHelper.d.ts +5 -2
  30. package/lib/graph/helpers/PureLanguageHelper.d.ts.map +1 -1
  31. package/lib/graph/helpers/PureLanguageHelper.js +7 -4
  32. package/lib/graph/helpers/PureLanguageHelper.js.map +1 -1
  33. package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts +3 -1
  34. package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts.map +1 -1
  35. package/lib/graph/metamodel/pure/packageableElements/PackageableElement.js.map +1 -1
  36. package/lib/graph/metamodel/pure/packageableElements/domain/PrimitiveType.d.ts +1 -0
  37. package/lib/graph/metamodel/pure/packageableElements/domain/PrimitiveType.d.ts.map +1 -1
  38. package/lib/graph/metamodel/pure/packageableElements/domain/PrimitiveType.js +1 -0
  39. package/lib/graph/metamodel/pure/packageableElements/domain/PrimitiveType.js.map +1 -1
  40. package/lib/graph/metamodel/pure/packageableElements/{domain → function}/ConcreteFunctionDefinition.d.ts +3 -3
  41. package/lib/graph/metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.d.ts.map +1 -0
  42. package/lib/graph/metamodel/pure/packageableElements/{domain → function}/ConcreteFunctionDefinition.js +2 -2
  43. package/lib/graph/metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.js.map +1 -0
  44. package/lib/graph/metamodel/pure/packageableElements/function/FunctionActivator.d.ts +29 -0
  45. package/lib/graph/metamodel/pure/packageableElements/function/FunctionActivator.d.ts.map +1 -0
  46. package/lib/graph/metamodel/pure/packageableElements/function/FunctionActivator.js +26 -0
  47. package/lib/graph/metamodel/pure/packageableElements/function/FunctionActivator.js.map +1 -0
  48. package/lib/graph/metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.d.ts +24 -0
  49. package/lib/graph/metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.d.ts.map +1 -0
  50. package/lib/graph/metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.js +33 -0
  51. package/lib/graph/metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.js.map +1 -0
  52. package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnknownMappingInclude.d.ts +24 -0
  53. package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnknownMappingInclude.d.ts.map +1 -0
  54. package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnknownMappingInclude.js +34 -0
  55. package/lib/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnknownMappingInclude.js.map +1 -0
  56. package/lib/graph/metamodel/pure/packageableElements/mapping/MappingInclude.d.ts +4 -5
  57. package/lib/graph/metamodel/pure/packageableElements/mapping/MappingInclude.d.ts.map +1 -1
  58. package/lib/graph/metamodel/pure/packageableElements/mapping/MappingInclude.js +3 -15
  59. package/lib/graph/metamodel/pure/packageableElements/mapping/MappingInclude.js.map +1 -1
  60. package/lib/graph/metamodel/pure/packageableElements/mapping/MappingIncludeMapping.d.ts +7 -0
  61. package/lib/graph/metamodel/pure/packageableElements/mapping/MappingIncludeMapping.d.ts.map +1 -0
  62. package/lib/graph/metamodel/pure/packageableElements/mapping/MappingIncludeMapping.js +32 -0
  63. package/lib/graph/metamodel/pure/packageableElements/mapping/MappingIncludeMapping.js.map +1 -0
  64. package/lib/graph/metamodel/pure/packageableElements/mapping/SubstituteStore.d.ts +3 -3
  65. package/lib/graph/metamodel/pure/packageableElements/mapping/SubstituteStore.d.ts.map +1 -1
  66. package/lib/graph/metamodel/pure/packageableElements/mapping/SubstituteStore.js.map +1 -1
  67. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts +5 -0
  68. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts.map +1 -1
  69. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js +6 -0
  70. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js.map +1 -1
  71. package/lib/graph-manager/AbstractPureGraphManager.d.ts +19 -13
  72. package/lib/graph-manager/AbstractPureGraphManager.d.ts.map +1 -1
  73. package/lib/graph-manager/AbstractPureGraphManager.js.map +1 -1
  74. package/lib/graph-manager/GraphManagerState.d.ts +1 -1
  75. package/lib/graph-manager/GraphManagerState.d.ts.map +1 -1
  76. package/lib/graph-manager/action/changeDetection/CoreObserverHelper.js +1 -1
  77. package/lib/graph-manager/action/changeDetection/CoreObserverHelper.js.map +1 -1
  78. package/lib/graph-manager/action/changeDetection/DSL_Data_ObserverHelper.js +1 -1
  79. package/lib/graph-manager/action/changeDetection/DSL_Data_ObserverHelper.js.map +1 -1
  80. package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.d.ts.map +1 -1
  81. package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.js +14 -9
  82. package/lib/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.js.map +1 -1
  83. package/lib/graph-manager/action/changeDetection/DomainObserverHelper.d.ts +3 -1
  84. package/lib/graph-manager/action/changeDetection/DomainObserverHelper.d.ts.map +1 -1
  85. package/lib/graph-manager/action/changeDetection/DomainObserverHelper.js +7 -0
  86. package/lib/graph-manager/action/changeDetection/DomainObserverHelper.js.map +1 -1
  87. package/lib/graph-manager/action/changeDetection/GraphObserverHelper.d.ts.map +1 -1
  88. package/lib/graph-manager/action/changeDetection/GraphObserverHelper.js +4 -0
  89. package/lib/graph-manager/action/changeDetection/GraphObserverHelper.js.map +1 -1
  90. package/lib/graph-manager/action/changeDetection/PackageableElementObserver.d.ts.map +1 -1
  91. package/lib/graph-manager/action/changeDetection/PackageableElementObserver.js +4 -1
  92. package/lib/graph-manager/action/changeDetection/PackageableElementObserver.js.map +1 -1
  93. package/lib/graph-manager/action/changeDetection/STO_Relational_ObserverHelper.d.ts.map +1 -1
  94. package/lib/graph-manager/action/changeDetection/STO_Relational_ObserverHelper.js +4 -3
  95. package/lib/graph-manager/action/changeDetection/STO_Relational_ObserverHelper.js.map +1 -1
  96. package/lib/graph-manager/action/functionActivator/FunctionActivatorConfiguration.d.ts +26 -0
  97. package/lib/graph-manager/action/functionActivator/FunctionActivatorConfiguration.d.ts.map +1 -0
  98. package/lib/graph-manager/action/functionActivator/FunctionActivatorConfiguration.js +25 -0
  99. package/lib/graph-manager/action/functionActivator/FunctionActivatorConfiguration.js.map +1 -0
  100. package/lib/graph-manager/protocol/pure/extensions/DSL_Mapping_PureProtocolProcessorPlugin_Extension.d.ts +12 -0
  101. package/lib/graph-manager/protocol/pure/extensions/DSL_Mapping_PureProtocolProcessorPlugin_Extension.d.ts.map +1 -1
  102. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts +18 -11
  103. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  104. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js +176 -121
  105. package/lib/graph-manager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
  106. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.d.ts +5 -0
  107. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  108. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.js +31 -2
  109. package/lib/graph-manager/protocol/pure/v1/engine/V1_Engine.js.map +1 -1
  110. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts +19 -14
  111. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  112. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js +25 -19
  113. package/lib/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  114. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorError.d.ts +21 -0
  115. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorError.d.ts.map +1 -0
  116. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorError.js +25 -0
  117. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorError.js.map +1 -0
  118. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorInfo.d.ts +30 -0
  119. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorInfo.d.ts.map +1 -0
  120. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorInfo.js +41 -0
  121. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorInfo.js.map +1 -0
  122. package/lib/graph-manager/protocol/pure/v1/engine/{service/V1_TEMPORARY__SnowflakeServiceDeploymentInput.d.ts → functionActivator/V1_FunctionActivatorInput.d.ts} +4 -10
  123. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorInput.d.ts.map +1 -0
  124. package/lib/graph-manager/protocol/pure/v1/engine/{service/V1_TEMPORARY__SnowflakeServiceDeploymentInput.js → functionActivator/V1_FunctionActivatorInput.js} +7 -13
  125. package/lib/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorInput.js.map +1 -0
  126. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts +2 -0
  127. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts.map +1 -1
  128. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.js.map +1 -1
  129. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.d.ts +21 -0
  130. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.d.ts.map +1 -0
  131. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.js +20 -0
  132. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.js.map +1 -0
  133. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.d.ts +24 -0
  134. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.d.ts.map +1 -0
  135. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.js +33 -0
  136. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.js.map +1 -0
  137. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_INTERNAL__UnknownMappingInclude.d.ts +22 -0
  138. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_INTERNAL__UnknownMappingInclude.d.ts.map +1 -0
  139. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_INTERNAL__UnknownMappingInclude.js +28 -0
  140. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_INTERNAL__UnknownMappingInclude.js.map +1 -0
  141. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_MappingInclude.d.ts +4 -1
  142. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_MappingInclude.d.ts.map +1 -1
  143. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_MappingInclude.js +3 -1
  144. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_MappingInclude.js.map +1 -1
  145. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts +5 -0
  146. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts.map +1 -1
  147. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js +6 -0
  148. package/lib/graph-manager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js.map +1 -1
  149. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
  150. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +1 -0
  151. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
  152. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.d.ts +1 -1
  153. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.d.ts.map +1 -1
  154. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  155. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +33 -14
  156. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  157. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts.map +1 -1
  158. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js +8 -0
  159. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js.map +1 -1
  160. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts +2 -0
  161. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -1
  162. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js +3 -0
  163. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -1
  164. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts +2 -0
  165. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -1
  166. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js +13 -1
  167. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -1
  168. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts +2 -0
  169. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -1
  170. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js +3 -0
  171. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -1
  172. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts +4 -0
  173. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -1
  174. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js +48 -5
  175. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -1
  176. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts +2 -0
  177. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -1
  178. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js +3 -0
  179. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -1
  180. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.d.ts +1 -1
  181. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.d.ts.map +1 -1
  182. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_GraphBuilderExtensions.d.ts.map +1 -1
  183. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_GraphBuilderExtensions.js +2 -0
  184. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_GraphBuilderExtensions.js.map +1 -1
  185. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -1
  186. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js +1 -0
  187. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -1
  188. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts +2 -2
  189. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
  190. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +22 -5
  191. package/lib/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  192. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
  193. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +3 -0
  194. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
  195. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.d.ts.map +1 -1
  196. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js +1 -0
  197. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js.map +1 -1
  198. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.d.ts +2 -0
  199. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.d.ts.map +1 -1
  200. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.js +6 -0
  201. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.js.map +1 -1
  202. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.d.ts.map +1 -1
  203. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js +45 -11
  204. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.js.map +1 -1
  205. package/lib/index.d.ts +8 -2
  206. package/lib/index.d.ts.map +1 -1
  207. package/lib/index.js +8 -2
  208. package/lib/index.js.map +1 -1
  209. package/lib/package.json +2 -2
  210. package/package.json +5 -5
  211. package/src/__lib__/GraphManagerEvent.ts +2 -1
  212. package/src/graph/BasicModel.ts +29 -1
  213. package/src/graph/Core_HashUtils.ts +3 -1
  214. package/src/graph/DependencyManager.ts +10 -1
  215. package/src/graph/MetaModelConst.ts +1 -0
  216. package/src/graph/PureModel.ts +21 -1
  217. package/src/graph/helpers/DomainHelper.ts +42 -1
  218. package/src/graph/helpers/PureLanguageHelper.ts +16 -8
  219. package/src/graph/metamodel/pure/packageableElements/PackageableElement.ts +5 -1
  220. package/src/graph/metamodel/pure/packageableElements/domain/PrimitiveType.ts +1 -0
  221. package/src/graph/metamodel/pure/packageableElements/{domain → function}/ConcreteFunctionDefinition.ts +4 -4
  222. package/src/graph/metamodel/pure/packageableElements/function/FunctionActivator.ts +33 -0
  223. package/src/graph/metamodel/pure/packageableElements/function/INTERNAL__UnknownFunctionActivator.ts +49 -0
  224. package/src/graph/metamodel/pure/packageableElements/mapping/INTERNAL__UnknownMappingInclude.ts +43 -0
  225. package/src/graph/metamodel/pure/packageableElements/mapping/MappingInclude.ts +5 -17
  226. package/src/graph/metamodel/pure/packageableElements/mapping/MappingIncludeMapping.ts +34 -0
  227. package/src/graph/metamodel/pure/packageableElements/mapping/SubstituteStore.ts +3 -3
  228. package/src/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.ts +7 -0
  229. package/src/graph-manager/AbstractPureGraphManager.ts +61 -46
  230. package/src/graph-manager/GraphManagerState.ts +1 -1
  231. package/src/graph-manager/action/changeDetection/CoreObserverHelper.ts +1 -1
  232. package/src/graph-manager/action/changeDetection/DSL_Data_ObserverHelper.ts +1 -1
  233. package/src/graph-manager/action/changeDetection/DSL_Mapping_ObserverHelper.ts +14 -9
  234. package/src/graph-manager/action/changeDetection/DomainObserverHelper.ts +16 -1
  235. package/src/graph-manager/action/changeDetection/GraphObserverHelper.ts +5 -0
  236. package/src/graph-manager/action/changeDetection/PackageableElementObserver.ts +9 -1
  237. package/src/graph-manager/action/changeDetection/STO_Relational_ObserverHelper.ts +4 -3
  238. package/src/graph-manager/action/functionActivator/FunctionActivatorConfiguration.ts +28 -0
  239. package/src/graph-manager/protocol/pure/extensions/DSL_Mapping_PureProtocolProcessorPlugin_Extension.ts +35 -0
  240. package/src/graph-manager/protocol/pure/v1/V1_PureGraphManager.ts +527 -422
  241. package/src/graph-manager/protocol/pure/v1/engine/V1_Engine.ts +53 -3
  242. package/src/graph-manager/protocol/pure/v1/engine/V1_EngineServerClient.ts +81 -75
  243. package/src/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorError.ts +28 -0
  244. package/src/graph-manager/protocol/pure/v1/engine/functionActivator/V1_FunctionActivatorInfo.ts +50 -0
  245. package/src/graph-manager/protocol/pure/v1/engine/{service/V1_TEMPORARY__SnowflakeServiceDeploymentInput.ts → functionActivator/V1_FunctionActivatorInput.ts} +6 -23
  246. package/src/graph-manager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.ts +4 -0
  247. package/src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_FunctionActivator.ts +25 -0
  248. package/src/graph-manager/protocol/pure/v1/model/packageableElements/function/V1_INTERNAL__UnknownFunctionActivator.ts +49 -0
  249. package/src/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_INTERNAL__UnknownMappingInclude.ts +33 -0
  250. package/src/graph-manager/protocol/pure/v1/model/packageableElements/mapping/V1_MappingInclude.ts +8 -3
  251. package/src/graph-manager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.ts +7 -0
  252. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +1 -0
  253. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_DomainTransformer.ts +1 -1
  254. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +45 -13
  255. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.ts +13 -1
  256. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.ts +7 -0
  257. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts +30 -1
  258. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.ts +7 -0
  259. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts +79 -10
  260. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.ts +7 -0
  261. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_GraphBuilderContext.ts +1 -1
  262. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/V1_GraphBuilderExtensions.ts +2 -0
  263. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.ts +1 -0
  264. package/src/graph-manager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +44 -14
  265. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +7 -0
  266. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.ts +1 -0
  267. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.ts +8 -0
  268. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_MappingSerializationHelper.ts +78 -18
  269. package/src/index.ts +13 -3
  270. package/tsconfig.json +12 -2
  271. package/lib/graph/metamodel/pure/packageableElements/domain/ConcreteFunctionDefinition.d.ts.map +0 -1
  272. package/lib/graph/metamodel/pure/packageableElements/domain/ConcreteFunctionDefinition.js.map +0 -1
  273. package/lib/graph-manager/protocol/pure/v1/engine/service/V1_TEMPORARY__SnowflakeServiceDeploymentInput.d.ts.map +0 -1
  274. package/lib/graph-manager/protocol/pure/v1/engine/service/V1_TEMPORARY__SnowflakeServiceDeploymentInput.js.map +0 -1
@@ -37,7 +37,7 @@ import type { Mapping } from '../graph/metamodel/pure/packageableElements/mappin
37
37
  import type { Profile } from '../graph/metamodel/pure/packageableElements/domain/Profile.js';
38
38
  import type { Store } from '../graph/metamodel/pure/packageableElements/store/Store.js';
39
39
  import { DependencyManager } from '../graph/DependencyManager.js';
40
- import { ConcreteFunctionDefinition } from '../graph/metamodel/pure/packageableElements/domain/ConcreteFunctionDefinition.js';
40
+ import { ConcreteFunctionDefinition } from './metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.js';
41
41
  import type { Service } from '../graph/metamodel/pure/packageableElements/service/Service.js';
42
42
  import { BasicModel } from './BasicModel.js';
43
43
  import { FlatData } from '../graph/metamodel/pure/packageableElements/store/flatData/model/FlatData.js';
@@ -59,6 +59,7 @@ import type { PackageableElement } from '../graph/metamodel/pure/packageableElem
59
59
  import type { SectionIndex } from '../graph/metamodel/pure/packageableElements/section/SectionIndex.js';
60
60
  import type { PropertyOwner } from './metamodel/pure/packageableElements/domain/AbstractProperty.js';
61
61
  import type { ExecutionEnvironmentInstance } from './metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
62
+ import { FunctionActivator } from './metamodel/pure/packageableElements/function/FunctionActivator.js';
62
63
 
63
64
  /**
64
65
  * CoreModel holds meta models which are constant and basic building block of the graph. Since throughout the lifetime
@@ -104,6 +105,7 @@ export class CoreModel extends BasicModel {
104
105
  PrimitiveType.DATETIME,
105
106
  PrimitiveType.STRICTTIME,
106
107
  PrimitiveType.LATESTDATE,
108
+ PrimitiveType.BYTE,
107
109
  ].forEach((primitiveType) => {
108
110
  this.primitiveTypesIndex.set(primitiveType.path, primitiveType);
109
111
  this.setOwnType(primitiveType.path, primitiveType);
@@ -250,6 +252,15 @@ export class PureModel extends BasicModel {
250
252
  ...this.generationModel.ownFunctions,
251
253
  ];
252
254
  }
255
+ get functionActivators(): FunctionActivator[] {
256
+ return [
257
+ ...this.coreModel.ownFunctionActivators,
258
+ ...this.systemModel.ownFunctionActivators,
259
+ ...this.dependencyManager.functionActivators,
260
+ ...this.ownFunctionActivators,
261
+ ...this.generationModel.ownFunctionActivators,
262
+ ];
263
+ }
253
264
  get stores(): Store[] {
254
265
  return [
255
266
  ...this.coreModel.ownStores,
@@ -419,6 +430,15 @@ export class PureModel extends BasicModel {
419
430
  ConcreteFunctionDefinition,
420
431
  `Can't find function '${path}'`,
421
432
  );
433
+ getFunctionActivator = (path: string): FunctionActivator =>
434
+ guaranteeType(
435
+ this.getOwnNullableFunctionActivator(path) ??
436
+ this.generationModel.getOwnNullableFunctionActivator(path) ??
437
+ this.dependencyManager.getOwnNullableFunctionActivator(path) ??
438
+ this.systemModel.getOwnNullableFunctionActivator(path),
439
+ FunctionActivator,
440
+ `Can't find function activator '${path}'`,
441
+ );
422
442
  getStore = (path: string): Store =>
423
443
  guaranteeNonNullable(
424
444
  this.getOwnNullableStore(path) ??
@@ -67,7 +67,7 @@ import type { Constraint } from '../metamodel/pure/packageableElements/domain/Co
67
67
  import type { GenericType } from '../metamodel/pure/packageableElements/domain/GenericType.js';
68
68
  import { Multiplicity } from '../metamodel/pure/packageableElements/domain/Multiplicity.js';
69
69
  import type { AnnotatedElement } from '../metamodel/pure/packageableElements/domain/AnnotatedElement.js';
70
- import type { ConcreteFunctionDefinition } from '../metamodel/pure/packageableElements/domain/ConcreteFunctionDefinition.js';
70
+ import type { ConcreteFunctionDefinition } from '../metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.js';
71
71
  import { extractDependencyGACoordinateFromRootPackageName } from '../DependencyManager.js';
72
72
 
73
73
  export const addElementToPackage = (
@@ -713,3 +713,44 @@ export const getFunctionName = (
713
713
  export const getFunctionNameWithPath = (
714
714
  func: ConcreteFunctionDefinition,
715
715
  ): string => func.package?.path + ELEMENT_PATH_DELIMITER + func.functionName;
716
+
717
+ const _classHasCycle = (
718
+ _class: Class,
719
+ __classesIndex: Set<string>,
720
+ options?: {
721
+ traverseNonRequiredProperties?: boolean | undefined;
722
+ excludedPaths?: Map<string, string[]> | undefined;
723
+ },
724
+ ): boolean => {
725
+ if (__classesIndex.has(_class.path)) {
726
+ return true;
727
+ }
728
+ const excludedProperties = options?.excludedPaths?.get(_class.path) ?? [];
729
+ const properties = options?.traverseNonRequiredProperties
730
+ ? getAllClassProperties(_class)
731
+ : getAllClassProperties(_class).filter(
732
+ (property) => property.multiplicity.lowerBound,
733
+ );
734
+ const complexPropertyTypes = properties
735
+ .filter((property) => !excludedProperties.includes(property.name))
736
+ .map((property) => property.genericType.value.rawType)
737
+ .filter(filterByType(Class));
738
+ if (complexPropertyTypes.length > 0) {
739
+ // we only count classes with complex properties in the cycle
740
+ __classesIndex.add(_class.path);
741
+ }
742
+ // we only check unique complex property classes; 2 same property classes on the same level do not count as a cycle
743
+ return Boolean(
744
+ Array.from(new Set(complexPropertyTypes)).find((type) =>
745
+ _classHasCycle(type, __classesIndex, options),
746
+ ),
747
+ );
748
+ };
749
+
750
+ export const classHasCycle = (
751
+ _class: Class,
752
+ options?: {
753
+ traverseNonRequiredProperties?: boolean | undefined;
754
+ excludedPaths?: Map<string, string[]> | undefined;
755
+ },
756
+ ): boolean => _classHasCycle(_class, new Set<string>(), options);
@@ -21,7 +21,7 @@ import {
21
21
  MULTIPLICITY_RANGE_OPERATOR,
22
22
  PRIMITIVE_TYPE,
23
23
  } from '../MetaModelConst.js';
24
- import type { ConcreteFunctionDefinition } from '../metamodel/pure/packageableElements/domain/ConcreteFunctionDefinition.js';
24
+ import type { ConcreteFunctionDefinition } from '../metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.js';
25
25
  import type { Type } from '../metamodel/pure/packageableElements/domain/Type.js';
26
26
  import { PrimitiveType } from '../metamodel/pure/packageableElements/domain/PrimitiveType.js';
27
27
  import { Enumeration } from '../metamodel/pure/packageableElements/domain/Enumeration.js';
@@ -138,12 +138,14 @@ export const generateFunctionCallString = (
138
138
 
139
139
  export const generateFunctionPrettyName = (
140
140
  element: ConcreteFunctionDefinition,
141
- fullPath: boolean,
141
+ options?: {
142
+ fullPath?: boolean;
143
+ spacing?: boolean;
144
+ },
142
145
  ): string =>
143
146
  `${
144
- (fullPath ? element.package?.path + ELEMENT_PATH_DELIMITER : '') +
145
- element.functionName
146
- }(${element.parameters
147
+ options?.fullPath ? `${element.package?.path}${ELEMENT_PATH_DELIMITER}` : ''
148
+ }${element.functionName}(${element.parameters
147
149
  .map(
148
150
  (p) =>
149
151
  `${p.name}: ${p.type.value.name}[${generateMultiplicityString(
@@ -151,8 +153,14 @@ export const generateFunctionPrettyName = (
151
153
  p.multiplicity.upperBound,
152
154
  )}]`,
153
155
  )
154
- .join(', ')})` +
155
- `: ${element.returnType.value.name}[${generateMultiplicityString(
156
+ .join(', ')}): ${
157
+ element.returnType.value.name
158
+ }[${generateMultiplicityString(
156
159
  element.returnMultiplicity.lowerBound,
157
160
  element.returnMultiplicity.upperBound,
158
- )}]`;
161
+ )}]`.replaceAll(/\s*/gu, (val) => {
162
+ if (options?.spacing) {
163
+ return val;
164
+ }
165
+ return '';
166
+ });
@@ -27,7 +27,7 @@ import type { Profile } from './domain/Profile.js';
27
27
  import type { Enumeration } from './domain/Enumeration.js';
28
28
  import type { Class } from './domain/Class.js';
29
29
  import type { Association } from './domain/Association.js';
30
- import type { ConcreteFunctionDefinition } from './domain/ConcreteFunctionDefinition.js';
30
+ import type { ConcreteFunctionDefinition } from './function/ConcreteFunctionDefinition.js';
31
31
  import type { FlatData } from './store/flatData/model/FlatData.js';
32
32
  import type { Mapping } from './mapping/Mapping.js';
33
33
  import type { Service } from './service/Service.js';
@@ -43,12 +43,16 @@ import type { DataElement } from './data/DataElement.js';
43
43
  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
+ import type { INTERNAL__UnknownFunctionActivator } from './function/INTERNAL__UnknownFunctionActivator.js';
46
47
 
47
48
  export interface PackageableElementVisitor<T> {
48
49
  visit_PackageableElement(element: PackageableElement): T;
49
50
  visit_INTERNAL__UnknownPackageableElement(
50
51
  element: INTERNAL__UnknownPackageableElement,
51
52
  ): T;
53
+ visit_INTERNAL__UnknownFunctionActivator(
54
+ element: INTERNAL__UnknownFunctionActivator,
55
+ ): T;
52
56
 
53
57
  visit_SectionIndex(element: SectionIndex): T;
54
58
  visit_Package(element: Package): T;
@@ -37,4 +37,5 @@ export class PrimitiveType extends DataType {
37
37
  static readonly DATETIME = new PrimitiveType(PRIMITIVE_TYPE.DATETIME);
38
38
  static readonly STRICTTIME = new PrimitiveType(PRIMITIVE_TYPE.STRICTTIME);
39
39
  static readonly LATESTDATE = new PrimitiveType(PRIMITIVE_TYPE.LATESTDATE);
40
+ static readonly BYTE = new PrimitiveType(PRIMITIVE_TYPE.BYTE);
40
41
  }
@@ -18,13 +18,13 @@ import { type Hashable, hashArray } from '@finos/legend-shared';
18
18
  import {
19
19
  CORE_HASH_STRUCTURE,
20
20
  hashRawLambda,
21
- } from '../../../../../graph/Core_HashUtils.js';
21
+ } from '../../../../Core_HashUtils.js';
22
22
  import type { PackageableElementVisitor } from '../PackageableElement.js';
23
23
  import type { RawVariableExpression } from '../../rawValueSpecification/RawVariableExpression.js';
24
- import type { Type } from './Type.js';
25
- import type { Multiplicity } from './Multiplicity.js';
24
+ import type { Type } from '../domain/Type.js';
25
+ import type { Multiplicity } from '../domain/Multiplicity.js';
26
26
  import type { PackageableElementReference } from '../PackageableElementReference.js';
27
- import { FunctionDefinition } from './Function.js';
27
+ import { FunctionDefinition } from '../domain/Function.js';
28
28
 
29
29
  export class ConcreteFunctionDefinition
30
30
  extends FunctionDefinition
@@ -0,0 +1,33 @@
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 type { Hashable } from '@finos/legend-shared';
18
+ import { PackageableElement } from '../PackageableElement.js';
19
+ import type { PackageableElementReference } from '../PackageableElementReference.js';
20
+ import type { ConcreteFunctionDefinition } from './ConcreteFunctionDefinition.js';
21
+
22
+ export abstract class FunctionActivator
23
+ extends PackageableElement
24
+ implements Hashable
25
+ {
26
+ /**
27
+ * This should be a reference to PackageableFunction but we haven't done that yet
28
+ * See https://github.com/finos/legend-studio/issues/1070
29
+ *
30
+ * @discrepancy model
31
+ */
32
+ function!: PackageableElementReference<ConcreteFunctionDefinition>;
33
+ }
@@ -0,0 +1,49 @@
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 { FunctionActivator } from './FunctionActivator.js';
23
+ import {
24
+ CORE_HASH_STRUCTURE,
25
+ hashObjectWithoutSourceInformation,
26
+ } from '../../../../Core_HashUtils.js';
27
+ import type { PackageableElementVisitor } from '../PackageableElement.js';
28
+
29
+ export class INTERNAL__UnknownFunctionActivator
30
+ extends FunctionActivator
31
+ implements Hashable
32
+ {
33
+ content!: PlainObject;
34
+
35
+ protected override get _elementHashCode(): string {
36
+ return hashArray([
37
+ CORE_HASH_STRUCTURE.INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR,
38
+ this.path,
39
+ this.function.valueForSerialization ?? '',
40
+ hashObjectWithoutSourceInformation(this.content),
41
+ ]);
42
+ }
43
+
44
+ accept_PackageableElementVisitor<T>(
45
+ visitor: PackageableElementVisitor<T>,
46
+ ): T {
47
+ return visitor.visit_INTERNAL__UnknownFunctionActivator(this);
48
+ }
49
+ }
@@ -0,0 +1,43 @@
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 { hashArray, type PlainObject } from '@finos/legend-shared';
18
+ import type { Mapping } from './Mapping.js';
19
+ import { MappingInclude } from './MappingInclude.js';
20
+ import { INTERNAL__PseudoMapping } from './INTERNAL__PseudoMapping.js';
21
+ import { PackageableElementExplicitReference } from './../PackageableElementReference.js';
22
+ import {
23
+ CORE_HASH_STRUCTURE,
24
+ hashObjectWithoutSourceInformation,
25
+ } from '../../../../Core_HashUtils.js';
26
+
27
+ export class INTERNAL__UnknownMappingInclude extends MappingInclude {
28
+ content!: PlainObject;
29
+
30
+ constructor(_OWNER: Mapping) {
31
+ const mappingReference = PackageableElementExplicitReference.create(
32
+ INTERNAL__PseudoMapping.INSTANCE,
33
+ );
34
+ super(_OWNER, mappingReference);
35
+ }
36
+
37
+ override get hashCode(): string {
38
+ return hashArray([
39
+ CORE_HASH_STRUCTURE.INTERNAL__UNKNOWN_MAPPING_INCLUDE,
40
+ hashObjectWithoutSourceInformation(this.content),
41
+ ]);
42
+ }
43
+ }
@@ -14,31 +14,19 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { hashArray, getNullableFirstEntry } from '@finos/legend-shared';
18
- import { CORE_HASH_STRUCTURE } from '../../../../../graph/Core_HashUtils.js';
17
+ import { type Hashable } from '@finos/legend-shared';
19
18
  import type { PackageableElementReference } from '../PackageableElementReference.js';
20
19
  import type { Mapping } from './Mapping.js';
21
- import type { SubstituteStore } from './SubstituteStore.js';
22
20
 
23
- export class MappingInclude {
21
+ export abstract class MappingInclude implements Hashable {
24
22
  readonly _OWNER: Mapping;
25
23
 
26
24
  included: PackageableElementReference<Mapping>;
27
- storeSubstitutions: SubstituteStore[] = [];
28
25
 
29
- constructor(owner: Mapping, included: PackageableElementReference<Mapping>) {
30
- this._OWNER = owner;
26
+ constructor(_OWNER: Mapping, included: PackageableElementReference<Mapping>) {
27
+ this._OWNER = _OWNER;
31
28
  this.included = included;
32
29
  }
33
30
 
34
- get hashCode(): string {
35
- return hashArray([
36
- CORE_HASH_STRUCTURE.MAPPING_INCLUDE,
37
- this.included.valueForSerialization ?? '',
38
- getNullableFirstEntry(this.storeSubstitutions)?.original
39
- .valueForSerialization ?? '',
40
- getNullableFirstEntry(this.storeSubstitutions)?.substitute
41
- .valueForSerialization ?? '',
42
- ]);
43
- }
31
+ abstract get hashCode(): string;
44
32
  }
@@ -0,0 +1,34 @@
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
+ import { CORE_HASH_STRUCTURE } from '../../../../../graph/Core_HashUtils.js';
17
+ import { hashArray, getNullableFirstEntry } from '@finos/legend-shared';
18
+ import type { SubstituteStore } from './SubstituteStore.js';
19
+ import { MappingInclude } from './MappingInclude.js';
20
+
21
+ export class MappingIncludeMapping extends MappingInclude {
22
+ storeSubstitutions: SubstituteStore[] = [];
23
+
24
+ override get hashCode(): string {
25
+ return hashArray([
26
+ CORE_HASH_STRUCTURE.MAPPING_INCLUDE_MAPPING,
27
+ this.included.valueForSerialization ?? '',
28
+ getNullableFirstEntry(this.storeSubstitutions)?.original
29
+ .valueForSerialization ?? '',
30
+ getNullableFirstEntry(this.storeSubstitutions)?.substitute
31
+ .valueForSerialization ?? '',
32
+ ]);
33
+ }
34
+ }
@@ -16,16 +16,16 @@
16
16
 
17
17
  import type { Store } from '../store/Store.js';
18
18
  import type { PackageableElementReference } from '../PackageableElementReference.js';
19
- import type { MappingInclude } from './MappingInclude.js';
19
+ import type { MappingIncludeMapping } from './MappingIncludeMapping.js';
20
20
 
21
21
  export class SubstituteStore {
22
- readonly _OWNER: MappingInclude;
22
+ readonly _OWNER: MappingIncludeMapping;
23
23
 
24
24
  original: PackageableElementReference<Store>;
25
25
  substitute: PackageableElementReference<Store>;
26
26
 
27
27
  constructor(
28
- owner: MappingInclude,
28
+ owner: MappingIncludeMapping,
29
29
  original: PackageableElementReference<Store>,
30
30
  substitue: PackageableElementReference<Store>,
31
31
  ) {
@@ -77,6 +77,12 @@ export class RelationalDatabaseConnection extends DatabaseConnection {
77
77
  authenticationStrategy: AuthenticationStrategy;
78
78
  postProcessors: PostProcessor[] = [];
79
79
 
80
+ /**
81
+ * HACKY: this is done to quickly add support for local connection
82
+ * See https://github.com/finos/legend-engine/pull/1807
83
+ */
84
+ localMode?: boolean | undefined;
85
+
80
86
  constructor(
81
87
  store: PackageableElementReference<Database>,
82
88
  type: string,
@@ -96,6 +102,7 @@ export class RelationalDatabaseConnection extends DatabaseConnection {
96
102
  this.quoteIdentifiers?.toString() ?? '',
97
103
  this.datasourceSpecification,
98
104
  this.authenticationStrategy,
105
+ this.localMode?.toString() ?? '',
99
106
  hashArray(this.postProcessors),
100
107
  ]);
101
108
  }
@@ -98,6 +98,8 @@ import { EmbeddedFlatDataPropertyMapping } from '../graph/metamodel/pure/package
98
98
  import { EmbeddedRelationalInstanceSetImplementation } from '../graph/metamodel/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js';
99
99
  import type { SourceInformation } from './action/SourceInformation.js';
100
100
  import type { ClassifierPathMapping } from './action/protocol/ClassifierPathMapping.js';
101
+ import type { FunctionActivatorConfiguration } from './action/functionActivator/FunctionActivatorConfiguration.js';
102
+ import type { FunctionActivator } from '../graph/metamodel/pure/packageableElements/function/FunctionActivator.js';
101
103
 
102
104
  export interface TEMPORARY__EngineSetupConfig {
103
105
  env: string;
@@ -412,7 +414,7 @@ export abstract class AbstractPureGraphManager {
412
414
  graph: PureModel,
413
415
  ): Promise<SchemaSet[]>;
414
416
 
415
- // ------------------------------------------- Import -------------------------------------------
417
+ // ------------------------------------------- Model Import -------------------------------------------
416
418
 
417
419
  abstract getExamplePureProtocolText(): string;
418
420
  abstract getExampleExternalFormatImportText(): string;
@@ -485,51 +487,6 @@ export abstract class AbstractPureGraphManager {
485
487
 
486
488
  abstract serializeExecutionNode(executionNode: ExecutionNode): object;
487
489
 
488
- // ------------------------------------------- Service -------------------------------------------
489
- /**
490
- * @modularize
491
- * See https://github.com/finos/legend-studio/issues/65
492
- */
493
-
494
- abstract registerService(
495
- service: Service,
496
- graph: PureModel,
497
- groupId: string,
498
- artifactId: string,
499
- version: string | undefined,
500
- server: string,
501
- executionMode: ServiceExecutionMode,
502
- options?: ServiceRegistrationOptions,
503
- ): Promise<ServiceRegistrationSuccess>;
504
- abstract bulkServiceRegistration(
505
- service: Service[],
506
- graph: PureModel,
507
- groupId: string,
508
- artifactId: string,
509
- version: string | undefined,
510
- server: string,
511
- executionMode: ServiceExecutionMode,
512
- options?: ServiceRegistrationOptions,
513
- ): Promise<ServiceRegistrationResult[]>;
514
- abstract activateService(
515
- serviceUrl: string,
516
- serviceId: string,
517
- ): Promise<void>;
518
- abstract TEMPORARY__deploySnowflakeService(
519
- query: RawLambda,
520
- graph: PureModel,
521
- ): Promise<PlainObject>;
522
-
523
- // ------------------------------------------- Database -------------------------------------------
524
- /**
525
- * @modularize
526
- * See https://github.com/finos/legend-studio/issues/65
527
- */
528
-
529
- abstract buildDatabase(
530
- databaseBuilderInput: DatabaseBuilderInput,
531
- ): Promise<Entity[]>;
532
-
533
490
  // ------------------------------------------- Query -------------------------------------------
534
491
 
535
492
  abstract searchQueries(
@@ -571,6 +528,64 @@ export abstract class AbstractPureGraphManager {
571
528
  graphData: GraphData,
572
529
  ): Promise<DatasetEntitlementReport[]>;
573
530
 
531
+ /**
532
+ * TODO: Move this to store relational extension
533
+ *
534
+ * @modularize
535
+ * See https://github.com/finos/legend-studio/issues/65
536
+ */
537
+ abstract buildDatabase(
538
+ databaseBuilderInput: DatabaseBuilderInput,
539
+ ): Promise<Entity[]>;
540
+
541
+ // ------------------------------------------- Function -------------------------------------------
542
+
543
+ abstract getAvailableFunctionActivatorConfigurations(
544
+ coreModel: CoreModel,
545
+ systemModel: SystemModel,
546
+ ): Promise<FunctionActivatorConfiguration[]>;
547
+
548
+ abstract validateFunctionActivator(
549
+ functionActivator: FunctionActivator,
550
+ graphData: GraphData,
551
+ ): Promise<void>;
552
+
553
+ abstract publishFunctionActivatorToSandbox(
554
+ functionActivator: FunctionActivator,
555
+ graphData: GraphData,
556
+ ): Promise<void>;
557
+
558
+ // ------------------------------------------- Service -------------------------------------------
559
+ /**
560
+ * @modularize
561
+ * See https://github.com/finos/legend-studio/issues/65
562
+ */
563
+
564
+ abstract registerService(
565
+ service: Service,
566
+ graph: PureModel,
567
+ groupId: string,
568
+ artifactId: string,
569
+ version: string | undefined,
570
+ server: string,
571
+ executionMode: ServiceExecutionMode,
572
+ options?: ServiceRegistrationOptions,
573
+ ): Promise<ServiceRegistrationSuccess>;
574
+ abstract bulkServiceRegistration(
575
+ service: Service[],
576
+ graph: PureModel,
577
+ groupId: string,
578
+ artifactId: string,
579
+ version: string | undefined,
580
+ server: string,
581
+ executionMode: ServiceExecutionMode,
582
+ options?: ServiceRegistrationOptions,
583
+ ): Promise<ServiceRegistrationResult[]>;
584
+ abstract activateService(
585
+ serviceUrl: string,
586
+ serviceId: string,
587
+ ): Promise<void>;
588
+
574
589
  // ------------------------------------------- Change detection -------------------------------------------
575
590
 
576
591
  abstract buildHashesIndex(entities: Entity[]): Promise<Map<string, string>>;
@@ -33,7 +33,7 @@ import type { Enumeration } from '../graph/metamodel/pure/packageableElements/do
33
33
  import type { Measure } from '../graph/metamodel/pure/packageableElements/domain/Measure.js';
34
34
  import type { Class } from '../graph/metamodel/pure/packageableElements/domain/Class.js';
35
35
  import type { Association } from '../graph/metamodel/pure/packageableElements/domain/Association.js';
36
- import type { ConcreteFunctionDefinition } from '../graph/metamodel/pure/packageableElements/domain/ConcreteFunctionDefinition.js';
36
+ import type { ConcreteFunctionDefinition } from '../graph/metamodel/pure/packageableElements/function/ConcreteFunctionDefinition.js';
37
37
  import type { Store } from '../graph/metamodel/pure/packageableElements/store/Store.js';
38
38
  import type { Database } from '../graph/metamodel/pure/packageableElements/store/relational/model/Database.js';
39
39
  import type { Mapping } from '../graph/metamodel/pure/packageableElements/mapping/Mapping.js';
@@ -74,7 +74,7 @@ export const observe_INTERNAL__UnknownPackageableElement = skipObserved(
74
74
  observe_Abstract_PackageableElement(metamodel);
75
75
 
76
76
  makeObservable(metamodel, {
77
- content: observable,
77
+ content: observable.ref,
78
78
  });
79
79
 
80
80
  return metamodel;
@@ -99,7 +99,7 @@ const observe_RelationalCSVData = skipObserved(
99
99
  export const observe_INTERNAL__UnknownEmbeddedData = skipObserved(
100
100
  (metamodel: INTERNAL__UnknownEmbeddedData): INTERNAL__UnknownEmbeddedData => {
101
101
  makeObservable(metamodel, {
102
- content: observable,
102
+ content: observable.ref,
103
103
  });
104
104
 
105
105
  return metamodel;