@finos/legend-graph 10.1.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/lib/DSLData_Exports.d.ts +1 -1
  2. package/lib/DSLData_Exports.d.ts.map +1 -1
  3. package/lib/DSLData_Exports.js +1 -1
  4. package/lib/DSLData_Exports.js.map +1 -1
  5. package/lib/DSLMapping_Exports.d.ts +6 -2
  6. package/lib/DSLMapping_Exports.d.ts.map +1 -1
  7. package/lib/DSLMapping_Exports.js +6 -2
  8. package/lib/DSLMapping_Exports.js.map +1 -1
  9. package/lib/DSLService_Exports.d.ts +1 -0
  10. package/lib/DSLService_Exports.d.ts.map +1 -1
  11. package/lib/DSLService_Exports.js +1 -0
  12. package/lib/DSLService_Exports.js.map +1 -1
  13. package/lib/GraphManagerState.d.ts +21 -18
  14. package/lib/GraphManagerState.d.ts.map +1 -1
  15. package/lib/GraphManagerState.js +68 -59
  16. package/lib/GraphManagerState.js.map +1 -1
  17. package/lib/GraphManagerTestUtils.js.map +1 -1
  18. package/lib/MetaModelConst.d.ts +44 -42
  19. package/lib/MetaModelConst.d.ts.map +1 -1
  20. package/lib/MetaModelConst.js +52 -50
  21. package/lib/MetaModelConst.js.map +1 -1
  22. package/lib/graph/BasicModel.d.ts +1 -1
  23. package/lib/graph/BasicModel.d.ts.map +1 -1
  24. package/lib/graph/BasicModel.js +4 -4
  25. package/lib/graph/BasicModel.js.map +1 -1
  26. package/lib/graph/DependencyManager.d.ts +1 -1
  27. package/lib/graph/DependencyManager.d.ts.map +1 -1
  28. package/lib/graph/DependencyManager.js +2 -2
  29. package/lib/graph/DependencyManager.js.map +1 -1
  30. package/lib/graph/PureModel.d.ts +8 -2
  31. package/lib/graph/PureModel.d.ts.map +1 -1
  32. package/lib/graph/PureModel.js +8 -2
  33. package/lib/graph/PureModel.js.map +1 -1
  34. package/lib/graphManager/AbstractPureGraphManager.d.ts +21 -21
  35. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  36. package/lib/graphManager/AbstractPureGraphManager.js +15 -0
  37. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  38. package/lib/graphManager/GraphManagerEvent.d.ts +1 -0
  39. package/lib/graphManager/GraphManagerEvent.d.ts.map +1 -1
  40. package/lib/graphManager/GraphManagerEvent.js +1 -0
  41. package/lib/graphManager/GraphManagerEvent.js.map +1 -1
  42. package/lib/graphManager/action/analytics/{MappingAnalytics.d.ts → MappingModelCoverageAnalysis.d.ts} +3 -3
  43. package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.d.ts.map +1 -0
  44. package/lib/graphManager/action/analytics/{MappingAnalytics.js → MappingModelCoverageAnalysis.js} +5 -7
  45. package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.js.map +1 -0
  46. package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts +1 -2
  47. package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts.map +1 -1
  48. package/lib/graphManager/action/changeDetection/CoreObserverHelper.js +0 -4
  49. package/lib/graphManager/action/changeDetection/CoreObserverHelper.js.map +1 -1
  50. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.d.ts.map +1 -1
  51. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js +4 -2
  52. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js.map +1 -1
  53. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts +2 -2
  54. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts.map +1 -1
  55. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js +16 -8
  56. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js.map +1 -1
  57. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +1 -1
  58. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
  59. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.d.ts.map +1 -1
  60. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js +4 -2
  61. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js.map +1 -1
  62. package/lib/graphManager/action/validation/DSLService_ValidationHelper.d.ts +3 -2
  63. package/lib/graphManager/action/validation/DSLService_ValidationHelper.d.ts.map +1 -1
  64. package/lib/graphManager/action/validation/DSLService_ValidationHelper.js +1 -1
  65. package/lib/graphManager/action/validation/DSLService_ValidationHelper.js.map +1 -1
  66. package/lib/helpers/DSLMapping_Helper.js +1 -1
  67. package/lib/helpers/DSLMapping_Helper.js.map +1 -1
  68. package/lib/helpers/DomainHelper.d.ts +2 -0
  69. package/lib/helpers/DomainHelper.d.ts.map +1 -1
  70. package/lib/helpers/DomainHelper.js +5 -1
  71. package/lib/helpers/DomainHelper.js.map +1 -1
  72. package/lib/index.d.ts +7 -11
  73. package/lib/index.d.ts.map +1 -1
  74. package/lib/index.js +8 -11
  75. package/lib/index.js.map +1 -1
  76. package/lib/models/metamodels/pure/Reference.d.ts +16 -19
  77. package/lib/models/metamodels/pure/Reference.d.ts.map +1 -1
  78. package/lib/models/metamodels/pure/Reference.js +14 -19
  79. package/lib/models/metamodels/pure/Reference.js.map +1 -1
  80. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts +2 -27
  81. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts.map +1 -1
  82. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js +2 -73
  83. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js.map +1 -1
  84. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +2 -2
  85. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -1
  86. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +4 -1
  87. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -1
  88. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts +3 -3
  89. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts.map +1 -1
  90. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js +3 -3
  91. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js.map +1 -1
  92. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts +10 -10
  93. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts.map +1 -1
  94. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js +7 -7
  95. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js.map +1 -1
  96. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts +18 -14
  97. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts.map +1 -1
  98. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js +17 -13
  99. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js.map +1 -1
  100. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts +8 -19
  101. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts.map +1 -1
  102. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js +13 -34
  103. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js.map +1 -1
  104. package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.d.ts +20 -0
  105. package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.d.ts.map +1 -0
  106. package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.js +20 -0
  107. package/lib/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.js.map +1 -0
  108. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts +4 -3
  109. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts.map +1 -1
  110. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js +1 -1
  111. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js.map +1 -1
  112. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts +4 -4
  113. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts.map +1 -1
  114. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js +2 -3
  115. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js.map +1 -1
  116. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts +3 -3
  117. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts.map +1 -1
  118. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js +1 -1
  119. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js.map +1 -1
  120. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts +4 -4
  121. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts.map +1 -1
  122. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js +2 -3
  123. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js.map +1 -1
  124. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts +3 -2
  125. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts.map +1 -1
  126. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js.map +1 -1
  127. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +2 -2
  128. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
  129. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +2 -3
  130. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
  131. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts +3 -3
  132. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts.map +1 -1
  133. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js +2 -5
  134. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js.map +1 -1
  135. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
  136. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +4 -4
  137. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
  138. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +4 -8
  139. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
  140. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
  141. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +35 -19
  142. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  143. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +159 -158
  144. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  145. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -4
  146. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  147. package/lib/models/protocols/pure/v1/engine/V1_Engine.js +5 -7
  148. package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
  149. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +2 -4
  150. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  151. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +52 -53
  152. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  153. package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.d.ts → V1_MappingModelCoverageAnalysis.d.ts} +2 -2
  154. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.d.ts.map +1 -0
  155. package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.js → V1_MappingModelCoverageAnalysis.js} +2 -2
  156. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.js.map +1 -0
  157. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts +18 -0
  158. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts.map +1 -0
  159. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js +35 -0
  160. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js.map +1 -0
  161. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts +17 -0
  162. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts.map +1 -1
  163. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js +18 -5
  164. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js.map +1 -1
  165. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.d.ts.map +1 -1
  166. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js +1 -1
  167. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js.map +1 -1
  168. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.d.ts +20 -0
  169. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.d.ts.map +1 -0
  170. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.js +20 -0
  171. package/lib/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.js.map +1 -0
  172. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  173. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +50 -86
  174. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  175. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +1 -1
  176. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
  177. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts → V1_ClassMappingFirstPassBuilder.d.ts} +3 -3
  178. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.d.ts.map +1 -0
  179. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js → V1_ClassMappingFirstPassBuilder.js} +6 -7
  180. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.js.map +1 -0
  181. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts → V1_ClassMappingSecondPassBuilder.d.ts} +2 -2
  182. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.d.ts.map +1 -0
  183. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js → V1_ClassMappingSecondPassBuilder.js} +13 -14
  184. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.js.map +1 -0
  185. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts → V1_ElementFifthPassBuilder.d.ts} +2 -2
  186. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -0
  187. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.js → V1_ElementFifthPassBuilder.js} +2 -2
  188. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -0
  189. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts → V1_ElementFirstPassBuilder.d.ts} +2 -2
  190. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -0
  191. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.js → V1_ElementFirstPassBuilder.js} +2 -2
  192. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -0
  193. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts → V1_ElementFourthPassBuilder.d.ts} +2 -2
  194. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -0
  195. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.js → V1_ElementFourthPassBuilder.js} +4 -4
  196. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -0
  197. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts → V1_ElementSecondPassBuilder.d.ts} +3 -3
  198. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -0
  199. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.js → V1_ElementSecondPassBuilder.js} +16 -17
  200. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -0
  201. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts → V1_ElementThirdPassBuilder.d.ts} +3 -3
  202. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -0
  203. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.js → V1_ElementThirdPassBuilder.js} +7 -7
  204. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -0
  205. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
  206. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +2 -2
  207. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
  208. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts → V1_PropertyMappingBuilder.d.ts} +4 -4
  209. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.d.ts.map +1 -0
  210. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.js → V1_PropertyMappingBuilder.js} +50 -34
  211. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js.map +1 -0
  212. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts → V1_RawValueSpecificationBuilder.d.ts} +3 -3
  213. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.d.ts.map +1 -0
  214. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.js → V1_RawValueSpecificationBuilder.js} +2 -2
  215. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js.map +1 -0
  216. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.d.ts.map +1 -1
  217. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js +2 -2
  218. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js.map +1 -1
  219. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js +3 -3
  220. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js.map +1 -1
  221. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts +22 -0
  222. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -0
  223. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.js → helpers/V1_ConnectionBuilderHelper.js} +16 -15
  224. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -0
  225. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts +2 -11
  226. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts.map +1 -1
  227. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js +2 -1
  228. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js.map +1 -1
  229. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts +1 -1
  230. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
  231. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +12 -12
  232. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
  233. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +1 -1
  234. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
  235. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
  236. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +5 -6
  237. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  238. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js +4 -4
  239. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js.map +1 -1
  240. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts.map +1 -1
  241. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js +7 -8
  242. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js.map +1 -1
  243. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts +1 -1
  244. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts.map +1 -1
  245. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js +4 -4
  246. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js.map +1 -1
  247. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.d.ts.map +1 -1
  248. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js +2 -2
  249. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js.map +1 -1
  250. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
  251. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +2 -2
  252. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  253. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts.map +1 -1
  254. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js +3 -3
  255. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js.map +1 -1
  256. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.d.ts +5 -2
  257. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.d.ts.map +1 -1
  258. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.js +17 -2
  259. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.js.map +1 -1
  260. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  261. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +3 -4
  262. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  263. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts +3 -1
  264. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.d.ts.map +1 -1
  265. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js +16 -4
  266. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.js.map +1 -1
  267. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js +9 -9
  268. package/lib/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js.map +1 -1
  269. package/lib/package.json +5 -5
  270. package/package.json +8 -8
  271. package/src/DSLData_Exports.ts +1 -1
  272. package/src/DSLMapping_Exports.ts +20 -6
  273. package/src/DSLService_Exports.ts +1 -0
  274. package/src/GraphManagerState.ts +104 -91
  275. package/src/GraphManagerTestUtils.tsx +4 -4
  276. package/src/MetaModelConst.ts +59 -56
  277. package/src/graph/BasicModel.ts +4 -4
  278. package/src/graph/DependencyManager.ts +2 -2
  279. package/src/graph/PureModel.ts +10 -2
  280. package/src/graphManager/AbstractPureGraphManager.ts +54 -40
  281. package/src/graphManager/GraphManagerEvent.ts +1 -0
  282. package/src/graphManager/action/analytics/{MappingAnalytics.ts → MappingModelCoverageAnalysis.ts} +8 -6
  283. package/src/graphManager/action/changeDetection/CoreObserverHelper.ts +1 -14
  284. package/src/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.ts +3 -2
  285. package/src/graphManager/action/changeDetection/DSLMapping_ObserverHelper.ts +17 -12
  286. package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +2 -2
  287. package/src/graphManager/action/changeDetection/ValueSpecificationObserver.ts +3 -2
  288. package/src/graphManager/action/validation/DSLService_ValidationHelper.ts +4 -7
  289. package/src/helpers/DSLMapping_Helper.ts +1 -1
  290. package/src/helpers/DomainHelper.ts +14 -0
  291. package/src/index.ts +14 -18
  292. package/src/models/metamodels/pure/Reference.ts +17 -26
  293. package/src/models/metamodels/pure/packageableElements/PackageableElementReference.ts +2 -131
  294. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +6 -3
  295. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.ts +10 -9
  296. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.ts +18 -18
  297. package/src/models/metamodels/pure/packageableElements/mapping/PropertyMapping.ts +21 -17
  298. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.ts +17 -66
  299. package/src/models/metamodels/pure/packageableElements/service/MultiExecutionServiceTestResult.ts +21 -0
  300. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.ts +5 -7
  301. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.ts +6 -6
  302. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.ts +4 -7
  303. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.ts +6 -6
  304. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.ts +4 -6
  305. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +3 -3
  306. package/src/models/metamodels/pure/valueSpecification/GraphFetchTree.ts +4 -10
  307. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +5 -10
  308. package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +8 -8
  309. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +248 -255
  310. package/src/models/protocols/pure/v1/engine/V1_Engine.ts +7 -13
  311. package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +34 -45
  312. package/src/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.ts → V1_MappingModelCoverageAnalysis.ts} +1 -1
  313. package/src/models/protocols/pure/v1/helper/V1_DomainHelper.ts +51 -0
  314. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.ts +18 -5
  315. package/src/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.ts +1 -1
  316. package/src/models/protocols/pure/v1/model/packageableElements/service/V1_MultiExecutionServiceTestResult.ts +21 -0
  317. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +32 -86
  318. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +1 -1
  319. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts → V1_ClassMappingFirstPassBuilder.ts} +6 -10
  320. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts → V1_ClassMappingSecondPassBuilder.ts} +12 -19
  321. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.ts → V1_ElementFifthPassBuilder.ts} +1 -1
  322. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.ts → V1_ElementFirstPassBuilder.ts} +1 -1
  323. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.ts → V1_ElementFourthPassBuilder.ts} +3 -6
  324. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.ts → V1_ElementSecondPassBuilder.ts} +18 -20
  325. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.ts → V1_ElementThirdPassBuilder.ts} +6 -9
  326. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +2 -4
  327. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.ts → V1_PropertyMappingBuilder.ts} +105 -40
  328. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.ts → V1_RawValueSpecificationBuilder.ts} +2 -2
  329. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.ts +2 -5
  330. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.ts +3 -3
  331. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.ts → helpers/V1_ConnectionBuilderHelper.ts} +33 -26
  332. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.ts +7 -3
  333. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +14 -12
  334. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +1 -1
  335. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +6 -9
  336. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.ts +4 -4
  337. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.ts +7 -8
  338. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.ts +5 -5
  339. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.ts +6 -5
  340. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +2 -4
  341. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts +3 -7
  342. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestResultBuilderHelper.ts +25 -4
  343. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +3 -6
  344. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_TestSerializationHelper.ts +29 -3
  345. package/src/models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.ts +9 -9
  346. package/tsconfig.json +15 -12
  347. package/lib/graphManager/action/analytics/MappingAnalytics.d.ts.map +0 -1
  348. package/lib/graphManager/action/analytics/MappingAnalytics.js.map +0 -1
  349. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts.map +0 -1
  350. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js.map +0 -1
  351. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +0 -1
  352. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +0 -1
  353. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +0 -1
  354. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +0 -1
  355. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts +0 -40
  356. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts.map +0 -1
  357. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js.map +0 -1
  358. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts.map +0 -1
  359. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js.map +0 -1
  360. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts.map +0 -1
  361. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js.map +0 -1
  362. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts.map +0 -1
  363. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js.map +0 -1
  364. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +0 -1
  365. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +0 -1
  366. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +0 -1
  367. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +0 -1
  368. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +0 -1
  369. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +0 -1
  370. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts.map +0 -1
  371. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js.map +0 -1
@@ -27,7 +27,7 @@ import type {
27
27
  import type { FileGenerationSpecification } from '../models/metamodels/pure/packageableElements/fileGeneration/FileGenerationSpecification.js';
28
28
  import type { GenerationOutput } from './action/generation/GenerationOutput.js';
29
29
  import type { PackageableElement } from '../models/metamodels/pure/packageableElements/PackageableElement.js';
30
- import type { PureModel, CoreModel, SystemModel } from '../graph/PureModel.js';
30
+ import { PureModel, CoreModel, SystemModel } from '../graph/PureModel.js';
31
31
  import type { Mapping } from '../models/metamodels/pure/packageableElements/mapping/Mapping.js';
32
32
  import type { Runtime } from '../models/metamodels/pure/packageableElements/runtime/Runtime.js';
33
33
  import type { DependencyManager } from '../graph/DependencyManager.js';
@@ -48,11 +48,11 @@ import type {
48
48
  RawExecutionPlan,
49
49
  } from '../models/metamodels/pure/executionPlan/ExecutionPlan.js';
50
50
  import type { ExecutionNode } from '../models/metamodels/pure/executionPlan/nodes/ExecutionNode.js';
51
- import type {
51
+ import {
52
52
  ActionState,
53
- Log,
54
- ServerClientConfig,
55
- TracerService,
53
+ type Log,
54
+ type ServerClientConfig,
55
+ type TracerService,
56
56
  } from '@finos/legend-shared';
57
57
  import type { LightQuery, Query } from './action/query/Query.js';
58
58
  import type { Entity } from '@finos/legend-model-storage';
@@ -61,7 +61,6 @@ import type { ExternalFormatDescription } from './action/externalFormat/External
61
61
  import type { ConfigurationProperty } from '../models/metamodels/pure/packageableElements/fileGeneration/ConfigurationProperty.js';
62
62
  import type { GraphBuilderReport } from './GraphBuilderReport.js';
63
63
  import type { ModelGenerationConfiguration } from '../models/ModelGenerationConfiguration.js';
64
- import type { DEPRECATED__ServiceTestResult } from './action/service/DEPRECATED__ServiceTestResult.js';
65
64
  import type { RunTestsTestableInput } from '../models/metamodels/pure/test/result/RunTestsTestableInput.js';
66
65
  import type { TestResult } from '../models/metamodels/pure/test/result/TestResult.js';
67
66
  import type { GraphPluginManager } from '../GraphPluginManager.js';
@@ -72,7 +71,7 @@ import type { AssertFail } from '../models/metamodels/pure/test/assertion/status
72
71
  import type {
73
72
  MappingModelCoverageAnalysisResult,
74
73
  RawMappingModelCoverageAnalysisResult,
75
- } from './action/analytics/MappingAnalytics.js';
74
+ } from './action/analytics/MappingModelCoverageAnalysis.js';
76
75
 
77
76
  export interface TEMPORARY__EngineSetupConfig {
78
77
  env: string;
@@ -130,6 +129,8 @@ export abstract class AbstractPureGraphManager {
130
129
  );
131
130
  }
132
131
 
132
+ abstract getSupportedProtocolVersion(): string;
133
+
133
134
  /**
134
135
  * TODO: we should not expose a fixed config like this, we probably
135
136
  * should not mention anything about engine because it is an internal construct
@@ -147,8 +148,6 @@ export abstract class AbstractPureGraphManager {
147
148
  },
148
149
  ): Promise<void>;
149
150
 
150
- abstract getSupportedProtocolVersion(): string;
151
-
152
151
  // --------------------------------------------- Graph Builder ---------------------------------------------
153
152
 
154
153
  /**
@@ -164,16 +163,6 @@ export abstract class AbstractPureGraphManager {
164
163
  options?: GraphBuilderOptions,
165
164
  ): Promise<GraphBuilderReport>;
166
165
 
167
- /**
168
- * Process entities and build the main graph.
169
- */
170
- abstract buildGraph(
171
- graph: PureModel,
172
- entities: Entity[],
173
- buildState: ActionState,
174
- options?: GraphBuilderOptions,
175
- ): Promise<GraphBuilderReport>;
176
-
177
166
  /**
178
167
  * Build immutable models which holds dependencies.
179
168
  * Dependency models MUST not depend on the main model.
@@ -186,7 +175,17 @@ export abstract class AbstractPureGraphManager {
186
175
  coreModel: CoreModel,
187
176
  systemModel: SystemModel,
188
177
  dependencyManager: DependencyManager,
189
- dependencyEntitiesMap: Map<string, Entity[]>,
178
+ dependencyEntitiesIndex: Map<string, Entity[]>,
179
+ buildState: ActionState,
180
+ options?: GraphBuilderOptions,
181
+ ): Promise<GraphBuilderReport>;
182
+
183
+ /**
184
+ * Process entities and build the main graph.
185
+ */
186
+ abstract buildGraph(
187
+ graph: PureModel,
188
+ entities: Entity[],
190
189
  buildState: ActionState,
191
190
  options?: GraphBuilderOptions,
192
191
  ): Promise<GraphBuilderReport>;
@@ -211,6 +210,9 @@ export abstract class AbstractPureGraphManager {
211
210
  abstract pureCodeToLambda(
212
211
  lambda: string,
213
212
  lambdaId?: string,
213
+ options?: {
214
+ pruneSourceInformation?: boolean;
215
+ },
214
216
  ): Promise<RawLambda>;
215
217
  abstract lambdaToPureCode(
216
218
  lambda: RawLambda,
@@ -326,25 +328,25 @@ export abstract class AbstractPureGraphManager {
326
328
  // ------------------------------------------- Execute -------------------------------------------
327
329
 
328
330
  abstract executeMapping(
329
- graph: PureModel,
330
- mapping: Mapping,
331
331
  lambda: RawLambda,
332
+ mapping: Mapping,
332
333
  runtime: Runtime,
334
+ graph: PureModel,
333
335
  options?: ExecutionOptions,
334
336
  ): Promise<ExecutionResult>;
335
337
 
336
338
  abstract generateExecutionPlan(
337
- graph: PureModel,
338
- mapping: Mapping,
339
339
  lambda: RawLambda,
340
+ mapping: Mapping,
340
341
  runtime: Runtime,
342
+ graph: PureModel,
341
343
  ): Promise<RawExecutionPlan>;
342
344
 
343
345
  abstract debugExecutionPlanGeneration(
344
- graph: PureModel,
345
- mapping: Mapping,
346
346
  lambda: RawLambda,
347
+ mapping: Mapping,
347
348
  runtime: Runtime,
349
+ graph: PureModel,
348
350
  ): Promise<{ plan: RawExecutionPlan; debug: string }>;
349
351
 
350
352
  abstract buildExecutionPlan(
@@ -359,11 +361,11 @@ export abstract class AbstractPureGraphManager {
359
361
  abstract serializeExecutionNode(executionNode: ExecutionNode): object;
360
362
 
361
363
  abstract generateExecuteTestData(
362
- graph: PureModel,
363
- mapping: Mapping,
364
364
  lambda: RawLambda,
365
- runtime: Runtime,
366
365
  parameters: (string | number | boolean)[],
366
+ mapping: Mapping,
367
+ runtime: Runtime,
368
+ graph: PureModel,
367
369
  options?: {
368
370
  // Anonymizes data by hashing any string values in the generated data
369
371
  anonymizeGeneratedData?: boolean;
@@ -377,27 +379,19 @@ export abstract class AbstractPureGraphManager {
377
379
  */
378
380
 
379
381
  abstract registerService(
380
- graph: PureModel,
381
382
  service: Service,
383
+ graph: PureModel,
382
384
  groupId: string,
383
385
  artifactId: string,
386
+ version: string | undefined,
384
387
  server: string,
385
388
  executionMode: ServiceExecutionMode,
386
- version: string | undefined,
387
389
  ): Promise<ServiceRegistrationResult>;
388
390
  abstract activateService(
389
391
  serviceUrl: string,
390
392
  serviceId: string,
391
393
  ): Promise<void>;
392
394
 
393
- /**
394
- * @deprecated
395
- */
396
- abstract runLegacyServiceTests(
397
- service: Service,
398
- graph: PureModel,
399
- ): Promise<DEPRECATED__ServiceTestResult[]>;
400
-
401
395
  // ------------------------------------------- Database -------------------------------------------
402
396
  /**
403
397
  * @modularize
@@ -423,8 +417,8 @@ export abstract class AbstractPureGraphManager {
423
417
  // -------------------------------------- Analysis --------------------------------------
424
418
 
425
419
  abstract analyzeMappingModelCoverage(
426
- graph: PureModel,
427
420
  mapping: Mapping,
421
+ graph: PureModel,
428
422
  ): Promise<MappingModelCoverageAnalysisResult>;
429
423
 
430
424
  abstract buildMappingModelCoverageAnalysisResult(
@@ -440,6 +434,26 @@ export abstract class AbstractPureGraphManager {
440
434
  },
441
435
  ): Entity;
442
436
 
437
+ async createEmptyGraph(options?: {
438
+ initializeSystem?: boolean;
439
+ }): Promise<PureModel> {
440
+ const extensionElementClasses = this.pluginManager
441
+ .getPureGraphPlugins()
442
+ .flatMap((plugin) => plugin.getExtraPureGraphExtensionClasses?.() ?? []);
443
+ const coreModel = new CoreModel(extensionElementClasses);
444
+ const systemModel = new SystemModel(extensionElementClasses);
445
+ if (options?.initializeSystem) {
446
+ await this.buildSystem(coreModel, systemModel, ActionState.create());
447
+ systemModel.initializeAutoImports();
448
+ }
449
+ const graph = new PureModel(
450
+ coreModel,
451
+ systemModel,
452
+ this.pluginManager.getPureGraphPlugins(),
453
+ );
454
+ return graph;
455
+ }
456
+
443
457
  // ------------------------------------------- Change detection -------------------------------------------
444
458
 
445
459
  abstract buildHashesIndex(entities: Entity[]): Promise<Map<string, string>>;
@@ -27,6 +27,7 @@ export enum GRAPH_MANAGER_EVENT {
27
27
  GRAPH_BUILDER_OTHER_ELEMENTS_BUILT = 'graph-manager.graph-builder.build-other-elements.success',
28
28
  GRAPH_BUILDER_COMPLETED = 'graph-manager.graph-builder.success',
29
29
 
30
+ GRAPH_SYSTEM_INITIALIZED = 'graph-manager.system-initialization.success',
30
31
  GRAPH_INITIALIZED = 'graph-manager.graph-initialization.success',
31
32
  GRAPH_DEPENDENCIES_FETCHED = 'graph-manager.fetch-dependencies.success',
32
33
  GRAPH_ENTITIES_FETCHED = 'graph-manager.entities-dependencies.success',
@@ -17,7 +17,7 @@
17
17
  export type RawMappingModelCoverageAnalysisResult = object;
18
18
 
19
19
  export class MappedEntity {
20
- readonly __NAME_TO_PROPERTY!: Map<string, MappedProperty>;
20
+ readonly __PROPERTIES_INDEX = new Map<string, MappedProperty>();
21
21
 
22
22
  path: string;
23
23
  properties: MappedProperty[];
@@ -25,8 +25,9 @@ export class MappedEntity {
25
25
  constructor(path: string, properties: MappedProperty[]) {
26
26
  this.path = path;
27
27
  this.properties = properties;
28
- this.__NAME_TO_PROPERTY = new Map<string, MappedProperty>();
29
- properties.map((p) => this.__NAME_TO_PROPERTY.set(p.name, p));
28
+ properties.forEach((property) =>
29
+ this.__PROPERTIES_INDEX.set(property.name, property),
30
+ );
30
31
  }
31
32
  }
32
33
 
@@ -59,13 +60,14 @@ export class EnumMappedProperty extends MappedProperty {
59
60
  }
60
61
 
61
62
  export class MappingModelCoverageAnalysisResult {
62
- readonly __PATH_TO_ENTITY!: Map<string, MappedEntity>;
63
+ readonly __ENTITIES_INDEX = new Map<string, MappedEntity>();
63
64
 
64
65
  mappedEntities: MappedEntity[];
65
66
 
66
67
  constructor(mappedEntities: MappedEntity[]) {
67
68
  this.mappedEntities = mappedEntities;
68
- this.__PATH_TO_ENTITY = new Map<string, MappedEntity>();
69
- mappedEntities.map((e) => this.__PATH_TO_ENTITY.set(e.path, e));
69
+ mappedEntities.forEach((entity) =>
70
+ this.__ENTITIES_INDEX.set(entity.path, entity),
71
+ );
70
72
  }
71
73
  }
@@ -22,10 +22,7 @@ import {
22
22
  observable,
23
23
  } from 'mobx';
24
24
  import type { PackageableElement } from '../../../models/metamodels/pure/packageableElements/PackageableElement.js';
25
- import type {
26
- OptionalPackageableElementReference,
27
- PackageableElementReference,
28
- } from '../../../models/metamodels/pure/packageableElements/PackageableElementReference.js';
25
+ import type { PackageableElementReference } from '../../../models/metamodels/pure/packageableElements/PackageableElementReference.js';
29
26
  import type { Multiplicity } from '../../../models/metamodels/pure/packageableElements/domain/Multiplicity.js';
30
27
  import type { InferableValue } from '../../../models/metamodels/pure/InferableValue.js';
31
28
  import type { PureGraphManagerPlugin } from '../../PureGraphManagerPlugin.js';
@@ -80,16 +77,6 @@ export const observe_PackageableElementReference = skipObserved(
80
77
  }),
81
78
  );
82
79
 
83
- export const observe_OptionalPackageableElementReference = skipObserved(
84
- <T extends PackageableElement>(
85
- metamodel: OptionalPackageableElementReference<T>,
86
- ): OptionalPackageableElementReference<T> =>
87
- makeObservable(metamodel, {
88
- value: observable,
89
- valueForSerialization: computed,
90
- }),
91
- );
92
-
93
80
  export const observe_Multiplicity = skipObserved(
94
81
  (metamodel: Multiplicity): Multiplicity =>
95
82
  makeObservable(metamodel, {
@@ -25,7 +25,6 @@ import type { ModelUnit } from '../../../models/metamodels/pure/packageableEleme
25
25
  import {
26
26
  observe_PackageableElementReference,
27
27
  skipObserved,
28
- observe_OptionalPackageableElementReference,
29
28
  observe_Abstract_PackageableElement,
30
29
  } from './CoreObserverHelper.js';
31
30
  import {
@@ -65,7 +64,9 @@ export const observe_Binding = skipObserved((metamodel: Binding): Binding => {
65
64
  _elementHashCode: override,
66
65
  });
67
66
 
68
- observe_OptionalPackageableElementReference(metamodel.schemaSet);
67
+ if (metamodel.schemaSet) {
68
+ observe_PackageableElementReference(metamodel.schemaSet);
69
+ }
69
70
  observe_ModelUnit(metamodel.modelUnit);
70
71
 
71
72
  return metamodel;
@@ -25,7 +25,7 @@ import type { AggregationAwarePropertyMapping } from '../../../models/metamodels
25
25
  import type { AggregationAwareSetImplementation } from '../../../models/metamodels/pure/packageableElements/mapping/aggregationAware/AggregationAwareSetImplementation.js';
26
26
  import type { AssociationImplementation } from '../../../models/metamodels/pure/packageableElements/mapping/AssociationImplementation.js';
27
27
  import type { EnumerationMapping } from '../../../models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js';
28
- import type { OptionalEnumerationMappingReference } from '../../../models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js';
28
+ import type { EnumerationMappingReference } from '../../../models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js';
29
29
  import type {
30
30
  EnumValueMapping,
31
31
  SourceValue,
@@ -92,7 +92,6 @@ import {
92
92
  skipObserved,
93
93
  skipObservedWithContext,
94
94
  observe_Multiplicity,
95
- observe_OptionalPackageableElementReference,
96
95
  } from './CoreObserverHelper.js';
97
96
  import {
98
97
  observe_EnumValueReference,
@@ -131,16 +130,14 @@ export const observe_Abstract_Store = (metamodel: Store): void => {
131
130
 
132
131
  // ------------------------------------- Mapping -------------------------------------
133
132
 
134
- export const observe_OptionalEnumerationMappingReference = skipObserved(
135
- (
136
- metamodel: OptionalEnumerationMappingReference,
137
- ): OptionalEnumerationMappingReference => {
133
+ export const observe_EnumerationMappingReference = skipObserved(
134
+ (metamodel: EnumerationMappingReference): EnumerationMappingReference => {
138
135
  makeObservable(metamodel, {
139
136
  value: observable,
140
137
  valueForSerialization: computed,
141
138
  });
142
139
 
143
- observe_OptionalPackageableElementReference(metamodel.ownerReference);
140
+ observe_PackageableElementReference(metamodel.ownerReference);
144
141
 
145
142
  return metamodel;
146
143
  },
@@ -184,8 +181,10 @@ export const observe_Abstract_PropertyMapping = (
184
181
  });
185
182
 
186
183
  observe_PropertyReference(metamodel.property);
187
- // TODO: source
188
- // TODO: target
184
+ observe_SetImplementationReference(metamodel.sourceSetImplementation);
185
+ if (metamodel.targetSetImplementation) {
186
+ observe_SetImplementationReference(metamodel.targetSetImplementation);
187
+ }
189
188
  if (metamodel.localMappingProperty) {
190
189
  observe_LocalMappingPropertyInfo(metamodel.localMappingProperty);
191
190
  }
@@ -202,7 +201,9 @@ export const observe_PurePropertyMapping = skipObservedWithContext(
202
201
  hashCode: computed,
203
202
  });
204
203
 
205
- observe_OptionalEnumerationMappingReference(metamodel.transformer);
204
+ if (metamodel.transformer) {
205
+ observe_EnumerationMappingReference(metamodel.transformer);
206
+ }
206
207
  observe_RawLambda(metamodel.transform);
207
208
 
208
209
  return metamodel;
@@ -425,7 +426,9 @@ export const observe_PureInstanceSetImplementation = skipObservedWithContext(
425
426
  hashCode: computed,
426
427
  });
427
428
 
428
- observe_OptionalPackageableElementReference(metamodel.srcClass);
429
+ if (metamodel.srcClass) {
430
+ observe_PackageableElementReference(metamodel.srcClass);
431
+ }
429
432
  if (metamodel.filter) {
430
433
  observe_RawLambda(metamodel.filter);
431
434
  }
@@ -595,7 +598,9 @@ export const observe_EnumerationMapping = skipObserved(
595
598
 
596
599
  observe_PackageableElementReference(metamodel.enumeration);
597
600
  observe_InferableMappingElementIdValue(metamodel.id);
598
- observe_OptionalPackageableElementReference(metamodel.sourceType);
601
+ if (metamodel.sourceType) {
602
+ observe_PackageableElementReference(metamodel.sourceType);
603
+ }
599
604
  metamodel.enumValueMappings.forEach(observe_EnumValueMapping);
600
605
 
601
606
  return metamodel;
@@ -36,7 +36,7 @@ const observe_PureGraphExtension = skipObserved(
36
36
  const observe_Abstract_BasicModel = (metamodel: BasicModel): void => {
37
37
  makeObservable<
38
38
  BasicModel,
39
- | 'elementSectionMap'
39
+ | 'elementSectionIndex'
40
40
  | 'sectionIndicesIndex'
41
41
  | 'profilesIndex'
42
42
  | 'typesIndex'
@@ -51,7 +51,7 @@ const observe_Abstract_BasicModel = (metamodel: BasicModel): void => {
51
51
  | 'fileGenerationsIndex'
52
52
  | 'dataElementsIndex'
53
53
  >(metamodel, {
54
- elementSectionMap: observable,
54
+ elementSectionIndex: observable,
55
55
  extensions: observable,
56
56
 
57
57
  sectionIndicesIndex: observable,
@@ -60,7 +60,6 @@ import {
60
60
  type ObserverContext,
61
61
  skipObservedWithContext,
62
62
  skipObserved,
63
- observe_OptionalPackageableElementReference,
64
63
  observe_Multiplicity,
65
64
  observe_PackageableElementReference,
66
65
  } from './CoreObserverHelper.js';
@@ -511,7 +510,9 @@ function _observe_PropertyGraphFetchTree(
511
510
  metamodel.parameters.forEach((value) =>
512
511
  observe_ValueSpecification(value, context),
513
512
  );
514
- observe_OptionalPackageableElementReference(metamodel.subType);
513
+ if (metamodel.subType) {
514
+ observe_PackageableElementReference(metamodel.subType);
515
+ }
515
516
 
516
517
  return metamodel;
517
518
  }
@@ -15,11 +15,8 @@
15
15
  */
16
16
 
17
17
  import { addUniqueEntry } from '@finos/legend-shared';
18
- import type {
19
- KeyedExecutionParameter,
20
- PureExecution,
21
- PureSingleExecution,
22
- } from '../../../models/metamodels/pure/packageableElements/service/ServiceExecution.js';
18
+ import type { Mapping } from '../../../models/metamodels/pure/packageableElements/mapping/Mapping.js';
19
+ import type { PureExecution } from '../../../models/metamodels/pure/packageableElements/service/ServiceExecution.js';
23
20
  import { isStubbed_PackageableElement } from '../creation/DomainModelCreatorHelper.js';
24
21
  import { isStubbed_RawLambda } from '../creation/RawValueSpecificationCreatorHelper.js';
25
22
  import {
@@ -56,8 +53,8 @@ export const validate_PureExecutionQuery = (
56
53
  };
57
54
 
58
55
  export const validate_PureExecutionMapping = (
59
- metamodel: PureSingleExecution | KeyedExecutionParameter,
56
+ mapping: Mapping,
60
57
  ): ValidationIssue | undefined =>
61
- isStubbed_PackageableElement(metamodel.mapping.value)
58
+ isStubbed_PackageableElement(mapping)
62
59
  ? createValidationError(['Service execution mapping cannot be empty'])
63
60
  : undefined;
@@ -215,7 +215,7 @@ export const findPropertyMapping = (
215
215
  return properties.find(
216
216
  (propertyMapping) =>
217
217
  propertyMapping.targetSetImplementation &&
218
- propertyMapping.targetSetImplementation.id.value === targetId,
218
+ propertyMapping.targetSetImplementation.value.id.value === targetId,
219
219
  );
220
220
  };
221
221
 
@@ -23,6 +23,7 @@ import {
23
23
  MILESTONING_STEREOTYPE,
24
24
  PRIMITIVE_TYPE,
25
25
  MULTIPLICITY_INFINITE,
26
+ PURE_DEPRECATED_STEREOTYPE,
26
27
  } from '../MetaModelConst.js';
27
28
  import { Package } from '../models/metamodels/pure/packageableElements/domain/Package.js';
28
29
  import type { PackageableElement } from '../models/metamodels/pure/packageableElements/PackageableElement.js';
@@ -59,6 +60,7 @@ import type { Enum } from '../models/metamodels/pure/packageableElements/domain/
59
60
  import type { Constraint } from '../models/metamodels/pure/packageableElements/domain/Constraint.js';
60
61
  import type { GenericType } from '../models/metamodels/pure/packageableElements/domain/GenericType.js';
61
62
  import type { Multiplicity } from '../models/metamodels/pure/packageableElements/domain/Multiplicity.js';
63
+ import type { AnnotatedElement } from '../models/metamodels/pure/packageableElements/domain/AnnotatedElement.js';
62
64
 
63
65
  export const addElementToPackage = (
64
66
  parent: Package,
@@ -518,3 +520,15 @@ export const getMultiplicityDescription = (
518
520
  : `Must have at least ${multiplicity.lowerBound} values(s)`
519
521
  }`;
520
522
  };
523
+
524
+ export const isElementDeprecated = (
525
+ element: AnnotatedElement | Class,
526
+ graph: PureModel,
527
+ ): boolean =>
528
+ element.stereotypes.some(
529
+ (st) =>
530
+ st.value ===
531
+ graph
532
+ .getProfile(CORE_PURE_PATH.PROFILE_DOC)
533
+ .p_stereotypes.find((s) => s.value === PURE_DEPRECATED_STEREOTYPE),
534
+ );
package/src/index.ts CHANGED
@@ -18,9 +18,9 @@
18
18
 
19
19
  // metamodels
20
20
  export * from './models/metamodels/pure/Reference.js';
21
- export * from './models/metamodels/pure/packageableElements/connection/Connection.js';
22
21
  export * from './models/metamodels/pure/packageableElements/PackageableElement.js';
23
22
  export * from './models/metamodels/pure/packageableElements/PackageableElementReference.js';
23
+ export * from './models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js';
24
24
  export { SectionIndex } from './models/metamodels/pure/packageableElements/section/SectionIndex.js';
25
25
 
26
26
  export { Multiplicity } from './models/metamodels/pure/packageableElements/domain/Multiplicity.js';
@@ -71,6 +71,8 @@ export {
71
71
  RuntimePointer,
72
72
  StoreConnections,
73
73
  } from './models/metamodels/pure/packageableElements/runtime/Runtime.js';
74
+ // relational packageable elements
75
+ export { Database } from './models/metamodels/pure/packageableElements/store/relational/model/Database.js';
74
76
  // metamodel external formats
75
77
  export { Binding } from './models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js';
76
78
  export { ModelUnit } from './models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_ModelUnit.js';
@@ -184,7 +186,10 @@ export * from './graph/PureGraphPlugin.js';
184
186
 
185
187
  export { type GraphPluginManager } from './GraphPluginManager.js';
186
188
  export { CorePureGraphManagerPlugin } from './graphManager/CorePureGraphManagerPlugin.js';
187
- export { GraphManagerState } from './GraphManagerState.js';
189
+ export {
190
+ BasicGraphManagerState,
191
+ GraphManagerState,
192
+ } from './GraphManagerState.js';
188
193
  export * from './GraphManagerStateProvider.js';
189
194
  export * from './GraphManagerTestUtils.js';
190
195
  export {
@@ -219,14 +224,6 @@ export { ServiceExecutionMode } from './graphManager/action/service/ServiceExecu
219
224
  export { ServiceRegistrationResult } from './graphManager/action/service/ServiceRegistrationResult.js';
220
225
  export { DEPRECATED__ServiceTestResult } from './graphManager/action/service/DEPRECATED__ServiceTestResult.js';
221
226
  export { SourceInformation } from './graphManager/action/SourceInformation.js';
222
- export {
223
- MappingModelCoverageAnalysisResult,
224
- MappedEntity,
225
- MappedProperty,
226
- EntityMappedProperty,
227
- EnumMappedProperty,
228
- } from './graphManager/action/analytics/MappingAnalytics.js';
229
- export { V1_MappingModelCoverageAnalysisResult } from './models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js';
230
227
  export * from './models/protocols/pure/PureProtocolProcessorPlugin.js';
231
228
 
232
229
  // --------------------------------------------- TRANSFORMATION --------------------------------------------------
@@ -245,28 +242,22 @@ export * from './models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1
245
242
  export * from './models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementBuilder.js';
246
243
  export { V1_RawLambda } from './models/protocols/pure/v1/model/rawValueSpecification/V1_RawLambda.js';
247
244
  export { V1_ProcessingContext } from './models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js';
248
- export { V1_ProtocolToMetaModelConnectionBuilder } from './models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js';
249
245
  export * from './models/protocols/pure/v1/transformation/pureGraph/from/V1_GraphTransformerContext.js';
250
246
  export * from './models/protocols/pure/v1/transformation/pureGraph/from/V1_CoreTransformerHelper.js';
251
247
  export {
252
248
  V1_RawValueSpecificationTransformer,
253
249
  V1_transformRawLambda,
254
250
  } from './models/protocols/pure/v1/transformation/pureGraph/from/V1_RawValueSpecificationTransformer.js';
255
- export {
256
- V1_deserializeConnectionValue,
257
- V1_serializeConnectionValue,
258
- } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js';
259
- export { V1_runtimePointerModelSchema } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js';
260
251
  export {
261
252
  V1_rawLambdaModelSchema,
262
253
  V1_deserializeRawValueSpecification,
263
254
  V1_serializeRawValueSpecification,
264
255
  } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RawValueSpecificationSerializationHelper.js';
265
256
  export { V1_transformPropertyReference } from './models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js';
266
- export { V1_buildEngineRuntime } from './models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js';
267
257
  export { V1_EngineServerClient } from './models/protocols/pure/v1/engine/V1_EngineServerClient.js';
268
258
  export { V1_Engine } from './models/protocols/pure/v1/engine/V1_Engine.js';
269
259
  export {
260
+ V1_PureModelContextType,
270
261
  V1_entitiesToPureModelContextData,
271
262
  V1_deserializePureModelContextData,
272
263
  } from './models/protocols/pure/v1/transformation/pureProtocol/V1_PureProtocolSerialization.js';
@@ -275,8 +266,13 @@ export {
275
266
  V1_stereotypePtrSchema,
276
267
  V1_taggedValueSchema,
277
268
  } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_DomainSerializationHelper.js';
278
- export { V1_serializeValueSpecification } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js';
279
269
  export {
270
+ V1_deserializeValueSpecification,
271
+ V1_serializeValueSpecification,
272
+ } from './models/protocols/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ValueSpecificationSerializer.js';
273
+ export { V1_transformRootValueSpecification } from './models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js';
274
+ export {
275
+ V1_buildValueSpecification,
280
276
  V1_ValueSpecificationBuilder,
281
277
  V1_buildGenericFunctionExpression,
282
278
  V1_buildBaseSimpleFunctionExpression,
@@ -31,8 +31,8 @@
31
31
  * (let's say the user put in an import statement and expect the pointer to just have name of class instead of its full-path,
32
32
  * we would like to keep the pointer as is during serialization if the class has not been changed).
33
33
  *
34
- * As such, this class `Reference` is kept to be as generic as possible, because we can extend it to have many various
35
- * information. But only one thing we know for sure that is a refernece must have a `value`, which is the actual
34
+ * As such, this class `Reference` is kept to be as generic as possible, because we can extend it hold more
35
+ * information. But regardless, only one thing we know for sure that is a reference must have a `value`, which is the actual
36
36
  * object-reference
37
37
  *
38
38
  * Given such meaning for reference, below are some guideline on how we modify the reference while modifying the metamodel:
@@ -40,44 +40,35 @@
40
40
  * NEVER change the reference instance: only change the value of the reference so other information (inference context)
41
41
  * are kept, so we can do proper serialization
42
42
  * 2. For property which is optional and single (multiplicity: [0..1]):
43
- * NEVER change the reference instance. Turn this into a required single property of `OptionalReference`
44
- * so the value can be `undefined`. This way we can keep the inference context.
43
+ * NEVER change the reference instance, unless the reference is removed (i.e. set to `undefined`).
44
+ * If the reference is unset, and later on re-established, we will create a fresh new reference, even if it has the
45
+ * same as the original's. This is intended so the behavior is consistent with case (3) below.
46
+ * NOTE: We have considered another alternative to always keep the reference, just like case (1) using the
47
+ * construct `OptionalReference`; this way we can keep the inference context. However, there are a few downsides to this:
48
+ * i. it is complicated, it makes the code for reference complex for a small gain
49
+ * ii. it makes our treatment of reference diverging from Pure and would make it hard to code-generate the metamodels
50
+ * iii. it makes case (2) and case (3) treatment seem inconsistent.
45
51
  * 3. For property which can be multiple (multiplicity: [*] or similar):
46
- * ALWAYS change the reference instance, for DELETE or ADD, this is obvious, but for MODIFY, we can follow case 1,
52
+ * ALWAYS change the reference instance, for DELETE or ADD, this is obvious, but for MODIFY, we can follow case (1),
47
53
  * but for simplicity sake, we will just swap out to use new a new reference
48
54
  */
49
55
  export abstract class Reference {
50
- abstract value?: unknown | undefined;
51
- }
52
-
53
- export abstract class OptionalReference extends Reference {}
54
-
55
- export abstract class RequiredReference extends Reference {
56
- abstract override value: unknown;
56
+ abstract value: unknown;
57
57
  }
58
58
 
59
59
  /**
60
- * This is intended for information derived from a reference, such as property pointer, enum-value pointer, etc.
61
- * since those references we resolve after we resolve the reference to the class or enumeration they belong to.
60
+ * This can be used for references to sub-elements, such as property pointer, enum-value pointer, etc.
61
+ * since those references are often resolved after we resolve the reference to the class or enumeration they belong to.
62
62
  * In other words, these reference has an owner reference.
63
63
  *
64
64
  * The rule for modifying these references is similar to that of `Reference` with one addition. That is
65
65
  * if we modify the child, we should ALWAYS modify the owner reference accordingly (except when we have a list, we will
66
66
  * trash the reference)
67
67
  */
68
- export abstract class ReferenceWithOwner extends RequiredReference {
69
- readonly ownerReference: RequiredReference;
70
-
71
- protected constructor(ownerReference: RequiredReference) {
72
- super();
73
- this.ownerReference = ownerReference;
74
- }
75
- }
76
-
77
- export abstract class OptionalReferenceWithOwner extends OptionalReference {
78
- readonly ownerReference: OptionalReference;
68
+ export abstract class ReferenceWithOwner extends Reference {
69
+ readonly ownerReference: Reference;
79
70
 
80
- protected constructor(ownerReference: OptionalReference) {
71
+ protected constructor(ownerReference: Reference) {
81
72
  super();
82
73
  this.ownerReference = ownerReference;
83
74
  }