@finos/legend-graph 10.1.2 → 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 (338) 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/GraphManagerState.d.ts +21 -18
  10. package/lib/GraphManagerState.d.ts.map +1 -1
  11. package/lib/GraphManagerState.js +68 -59
  12. package/lib/GraphManagerState.js.map +1 -1
  13. package/lib/GraphManagerTestUtils.js.map +1 -1
  14. package/lib/MetaModelConst.d.ts +44 -42
  15. package/lib/MetaModelConst.d.ts.map +1 -1
  16. package/lib/MetaModelConst.js +52 -50
  17. package/lib/MetaModelConst.js.map +1 -1
  18. package/lib/graph/BasicModel.d.ts +1 -1
  19. package/lib/graph/BasicModel.d.ts.map +1 -1
  20. package/lib/graph/BasicModel.js +4 -4
  21. package/lib/graph/BasicModel.js.map +1 -1
  22. package/lib/graph/DependencyManager.d.ts +1 -1
  23. package/lib/graph/DependencyManager.d.ts.map +1 -1
  24. package/lib/graph/DependencyManager.js +2 -2
  25. package/lib/graph/DependencyManager.js.map +1 -1
  26. package/lib/graph/PureModel.d.ts +8 -2
  27. package/lib/graph/PureModel.d.ts.map +1 -1
  28. package/lib/graph/PureModel.js +8 -2
  29. package/lib/graph/PureModel.js.map +1 -1
  30. package/lib/graphManager/AbstractPureGraphManager.d.ts +21 -16
  31. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  32. package/lib/graphManager/AbstractPureGraphManager.js +15 -0
  33. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  34. package/lib/graphManager/GraphManagerEvent.d.ts +1 -0
  35. package/lib/graphManager/GraphManagerEvent.d.ts.map +1 -1
  36. package/lib/graphManager/GraphManagerEvent.js +1 -0
  37. package/lib/graphManager/GraphManagerEvent.js.map +1 -1
  38. package/lib/graphManager/action/analytics/{MappingAnalytics.d.ts → MappingModelCoverageAnalysis.d.ts} +3 -3
  39. package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.d.ts.map +1 -0
  40. package/lib/graphManager/action/analytics/{MappingAnalytics.js → MappingModelCoverageAnalysis.js} +5 -7
  41. package/lib/graphManager/action/analytics/MappingModelCoverageAnalysis.js.map +1 -0
  42. package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts +1 -2
  43. package/lib/graphManager/action/changeDetection/CoreObserverHelper.d.ts.map +1 -1
  44. package/lib/graphManager/action/changeDetection/CoreObserverHelper.js +0 -4
  45. package/lib/graphManager/action/changeDetection/CoreObserverHelper.js.map +1 -1
  46. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.d.ts.map +1 -1
  47. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js +4 -2
  48. package/lib/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.js.map +1 -1
  49. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts +2 -2
  50. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.d.ts.map +1 -1
  51. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js +16 -8
  52. package/lib/graphManager/action/changeDetection/DSLMapping_ObserverHelper.js.map +1 -1
  53. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +1 -1
  54. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
  55. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.d.ts.map +1 -1
  56. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js +4 -2
  57. package/lib/graphManager/action/changeDetection/ValueSpecificationObserver.js.map +1 -1
  58. package/lib/helpers/DSLMapping_Helper.js +1 -1
  59. package/lib/helpers/DSLMapping_Helper.js.map +1 -1
  60. package/lib/helpers/DomainHelper.d.ts +2 -0
  61. package/lib/helpers/DomainHelper.d.ts.map +1 -1
  62. package/lib/helpers/DomainHelper.js +5 -1
  63. package/lib/helpers/DomainHelper.js.map +1 -1
  64. package/lib/index.d.ts +3 -9
  65. package/lib/index.d.ts.map +1 -1
  66. package/lib/index.js +3 -9
  67. package/lib/index.js.map +1 -1
  68. package/lib/models/metamodels/pure/Reference.d.ts +16 -19
  69. package/lib/models/metamodels/pure/Reference.d.ts.map +1 -1
  70. package/lib/models/metamodels/pure/Reference.js +14 -19
  71. package/lib/models/metamodels/pure/Reference.js.map +1 -1
  72. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts +2 -27
  73. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.d.ts.map +1 -1
  74. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js +2 -73
  75. package/lib/models/metamodels/pure/packageableElements/PackageableElementReference.js.map +1 -1
  76. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts +2 -2
  77. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.d.ts.map +1 -1
  78. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js +4 -1
  79. package/lib/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.js.map +1 -1
  80. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts +3 -3
  81. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.d.ts.map +1 -1
  82. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js +3 -3
  83. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.js.map +1 -1
  84. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts +10 -10
  85. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.d.ts.map +1 -1
  86. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js +7 -7
  87. package/lib/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.js.map +1 -1
  88. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts +18 -14
  89. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.d.ts.map +1 -1
  90. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js +17 -13
  91. package/lib/models/metamodels/pure/packageableElements/mapping/PropertyMapping.js.map +1 -1
  92. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts +8 -19
  93. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.d.ts.map +1 -1
  94. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js +13 -34
  95. package/lib/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.js.map +1 -1
  96. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts +4 -3
  97. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.d.ts.map +1 -1
  98. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js +1 -1
  99. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.js.map +1 -1
  100. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts +4 -4
  101. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.d.ts.map +1 -1
  102. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js +2 -3
  103. package/lib/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.js.map +1 -1
  104. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts +3 -3
  105. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.d.ts.map +1 -1
  106. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js +1 -1
  107. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.js.map +1 -1
  108. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts +4 -4
  109. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.d.ts.map +1 -1
  110. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js +2 -3
  111. package/lib/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.js.map +1 -1
  112. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts +3 -2
  113. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.d.ts.map +1 -1
  114. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.js.map +1 -1
  115. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts +2 -2
  116. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.d.ts.map +1 -1
  117. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js +2 -3
  118. package/lib/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.js.map +1 -1
  119. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts +3 -3
  120. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.d.ts.map +1 -1
  121. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js +2 -5
  122. package/lib/models/metamodels/pure/valueSpecification/GraphFetchTree.js.map +1 -1
  123. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.d.ts.map +1 -1
  124. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js +4 -4
  125. package/lib/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.js.map +1 -1
  126. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts +4 -8
  127. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
  128. package/lib/models/protocols/pure/PureProtocolProcessorPlugin.js.map +1 -1
  129. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts +35 -17
  130. package/lib/models/protocols/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  131. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js +153 -146
  132. package/lib/models/protocols/pure/v1/V1_PureGraphManager.js.map +1 -1
  133. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts +4 -2
  134. package/lib/models/protocols/pure/v1/engine/V1_Engine.d.ts.map +1 -1
  135. package/lib/models/protocols/pure/v1/engine/V1_Engine.js +5 -3
  136. package/lib/models/protocols/pure/v1/engine/V1_Engine.js.map +1 -1
  137. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts +2 -2
  138. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.d.ts.map +1 -1
  139. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js +52 -52
  140. package/lib/models/protocols/pure/v1/engine/V1_EngineServerClient.js.map +1 -1
  141. package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.d.ts → V1_MappingModelCoverageAnalysis.d.ts} +2 -2
  142. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.d.ts.map +1 -0
  143. package/lib/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.js → V1_MappingModelCoverageAnalysis.js} +2 -2
  144. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingModelCoverageAnalysis.js.map +1 -0
  145. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts +18 -0
  146. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.d.ts.map +1 -0
  147. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js +35 -0
  148. package/lib/models/protocols/pure/v1/helper/V1_DomainHelper.js.map +1 -0
  149. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts +17 -0
  150. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.d.ts.map +1 -1
  151. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js +18 -5
  152. package/lib/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.js.map +1 -1
  153. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.d.ts.map +1 -1
  154. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js +1 -1
  155. package/lib/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.js.map +1 -1
  156. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.d.ts.map +1 -1
  157. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js +50 -86
  158. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.js.map +1 -1
  159. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js +1 -1
  160. package/lib/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.js.map +1 -1
  161. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts → V1_ClassMappingFirstPassBuilder.d.ts} +3 -3
  162. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.d.ts.map +1 -0
  163. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js → V1_ClassMappingFirstPassBuilder.js} +6 -7
  164. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingFirstPassBuilder.js.map +1 -0
  165. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts → V1_ClassMappingSecondPassBuilder.d.ts} +2 -2
  166. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.d.ts.map +1 -0
  167. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js → V1_ClassMappingSecondPassBuilder.js} +13 -14
  168. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ClassMappingSecondPassBuilder.js.map +1 -0
  169. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts → V1_ElementFifthPassBuilder.d.ts} +2 -2
  170. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -0
  171. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.js → V1_ElementFifthPassBuilder.js} +2 -2
  172. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -0
  173. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts → V1_ElementFirstPassBuilder.d.ts} +2 -2
  174. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -0
  175. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.js → V1_ElementFirstPassBuilder.js} +2 -2
  176. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -0
  177. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts → V1_ElementFourthPassBuilder.d.ts} +2 -2
  178. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -0
  179. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.js → V1_ElementFourthPassBuilder.js} +4 -4
  180. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -0
  181. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts → V1_ElementSecondPassBuilder.d.ts} +3 -3
  182. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -0
  183. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.js → V1_ElementSecondPassBuilder.js} +16 -17
  184. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -0
  185. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts → V1_ElementThirdPassBuilder.d.ts} +3 -3
  186. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -0
  187. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.js → V1_ElementThirdPassBuilder.js} +7 -7
  188. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -0
  189. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.d.ts.map +1 -1
  190. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js +2 -2
  191. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.js.map +1 -1
  192. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts → V1_PropertyMappingBuilder.d.ts} +4 -4
  193. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.d.ts.map +1 -0
  194. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.js → V1_PropertyMappingBuilder.js} +50 -34
  195. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_PropertyMappingBuilder.js.map +1 -0
  196. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts → V1_RawValueSpecificationBuilder.d.ts} +3 -3
  197. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.d.ts.map +1 -0
  198. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.js → V1_RawValueSpecificationBuilder.js} +2 -2
  199. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js.map +1 -0
  200. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.d.ts.map +1 -1
  201. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js +2 -2
  202. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.js.map +1 -1
  203. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js +3 -3
  204. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.js.map +1 -1
  205. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts +22 -0
  206. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.d.ts.map +1 -0
  207. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.js → helpers/V1_ConnectionBuilderHelper.js} +16 -15
  208. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ConnectionBuilderHelper.js.map +1 -0
  209. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts +2 -11
  210. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.d.ts.map +1 -1
  211. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js +2 -1
  212. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.js.map +1 -1
  213. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts +1 -1
  214. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.d.ts.map +1 -1
  215. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js +12 -12
  216. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.js.map +1 -1
  217. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js +1 -1
  218. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.js.map +1 -1
  219. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.d.ts.map +1 -1
  220. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js +5 -6
  221. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.js.map +1 -1
  222. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js +4 -4
  223. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.js.map +1 -1
  224. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.d.ts.map +1 -1
  225. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js +7 -8
  226. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.js.map +1 -1
  227. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts +1 -1
  228. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.d.ts.map +1 -1
  229. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js +4 -4
  230. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.js.map +1 -1
  231. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.d.ts.map +1 -1
  232. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js +2 -2
  233. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.js.map +1 -1
  234. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.d.ts.map +1 -1
  235. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js +2 -2
  236. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.js.map +1 -1
  237. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.d.ts.map +1 -1
  238. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js +3 -3
  239. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.js.map +1 -1
  240. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  241. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +3 -4
  242. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  243. package/lib/package.json +5 -5
  244. package/package.json +8 -8
  245. package/src/DSLData_Exports.ts +1 -1
  246. package/src/DSLMapping_Exports.ts +20 -6
  247. package/src/GraphManagerState.ts +104 -91
  248. package/src/GraphManagerTestUtils.tsx +4 -4
  249. package/src/MetaModelConst.ts +59 -56
  250. package/src/graph/BasicModel.ts +4 -4
  251. package/src/graph/DependencyManager.ts +2 -2
  252. package/src/graph/PureModel.ts +10 -2
  253. package/src/graphManager/AbstractPureGraphManager.ts +54 -31
  254. package/src/graphManager/GraphManagerEvent.ts +1 -0
  255. package/src/graphManager/action/analytics/{MappingAnalytics.ts → MappingModelCoverageAnalysis.ts} +8 -6
  256. package/src/graphManager/action/changeDetection/CoreObserverHelper.ts +1 -14
  257. package/src/graphManager/action/changeDetection/DSLExternalFormat_ObserverHelper.ts +3 -2
  258. package/src/graphManager/action/changeDetection/DSLMapping_ObserverHelper.ts +17 -12
  259. package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +2 -2
  260. package/src/graphManager/action/changeDetection/ValueSpecificationObserver.ts +3 -2
  261. package/src/helpers/DSLMapping_Helper.ts +1 -1
  262. package/src/helpers/DomainHelper.ts +14 -0
  263. package/src/index.ts +6 -17
  264. package/src/models/metamodels/pure/Reference.ts +17 -26
  265. package/src/models/metamodels/pure/packageableElements/PackageableElementReference.ts +2 -131
  266. package/src/models/metamodels/pure/packageableElements/externalFormat/store/DSLExternalFormat_Binding.ts +6 -3
  267. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMapping.ts +10 -9
  268. package/src/models/metamodels/pure/packageableElements/mapping/EnumerationMappingReference.ts +18 -18
  269. package/src/models/metamodels/pure/packageableElements/mapping/PropertyMapping.ts +21 -17
  270. package/src/models/metamodels/pure/packageableElements/mapping/SetImplementationReference.ts +17 -66
  271. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/EmbeddedFlatDataPropertyMapping.ts +5 -7
  272. package/src/models/metamodels/pure/packageableElements/store/flatData/mapping/FlatDataPropertyMapping.ts +6 -6
  273. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PureInstanceSetImplementation.ts +4 -7
  274. package/src/models/metamodels/pure/packageableElements/store/modelToModel/mapping/PurePropertyMapping.ts +6 -6
  275. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/EmbeddedRelationalInstanceSetImplementation.ts +4 -6
  276. package/src/models/metamodels/pure/packageableElements/store/relational/mapping/RelationalPropertyMapping.ts +3 -3
  277. package/src/models/metamodels/pure/valueSpecification/GraphFetchTree.ts +4 -10
  278. package/src/models/protocols/pure/DSLExternalFormat_PureProtocolProcessorPlugin.ts +5 -10
  279. package/src/models/protocols/pure/PureProtocolProcessorPlugin.ts +8 -8
  280. package/src/models/protocols/pure/v1/V1_PureGraphManager.ts +243 -232
  281. package/src/models/protocols/pure/v1/engine/V1_Engine.ts +7 -2
  282. package/src/models/protocols/pure/v1/engine/V1_EngineServerClient.ts +34 -32
  283. package/src/models/protocols/pure/v1/engine/analytics/{V1_MappingAnalytics.ts → V1_MappingModelCoverageAnalysis.ts} +1 -1
  284. package/src/models/protocols/pure/v1/helper/V1_DomainHelper.ts +51 -0
  285. package/src/models/protocols/pure/v1/model/packageableElements/mapping/V1_PropertyMapping.ts +18 -5
  286. package/src/models/protocols/pure/v1/model/packageableElements/runtime/V1_Runtime.ts +1 -1
  287. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_MappingTransformer.ts +32 -86
  288. package/src/models/protocols/pure/v1/transformation/pureGraph/from/V1_ValueSpecificationTransformer.ts +1 -1
  289. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingFirstPassBuilder.ts → V1_ClassMappingFirstPassBuilder.ts} +6 -10
  290. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelClassMappingSecondPassBuilder.ts → V1_ClassMappingSecondPassBuilder.ts} +12 -19
  291. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFifthPassBuilder.ts → V1_ElementFifthPassBuilder.ts} +1 -1
  292. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFirstPassBuilder.ts → V1_ElementFirstPassBuilder.ts} +1 -1
  293. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphFourthPassBuilder.ts → V1_ElementFourthPassBuilder.ts} +3 -6
  294. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphSecondPassBuilder.ts → V1_ElementSecondPassBuilder.ts} +18 -20
  295. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelGraphThirdPassBuilder.ts → V1_ElementThirdPassBuilder.ts} +6 -9
  296. package/src/models/protocols/pure/v1/transformation/pureGraph/to/V1_ExecutionPlanBuilder.ts +2 -4
  297. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelPropertyMappingBuilder.ts → V1_PropertyMappingBuilder.ts} +105 -40
  298. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelRawValueSpecificationBuilder.ts → V1_RawValueSpecificationBuilder.ts} +2 -2
  299. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AggregationAwareClassMappingBuilderHelper.ts +2 -5
  300. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_AssociationMappingHelper.ts +3 -3
  301. package/src/models/protocols/pure/v1/transformation/pureGraph/to/{V1_ProtocolToMetaModelConnectionBuilder.ts → helpers/V1_ConnectionBuilderHelper.ts} +33 -26
  302. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DataElementBuilderHelper.ts +7 -3
  303. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DatabaseBuilderHelper.ts +14 -12
  304. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_DomainBuilderHelper.ts +1 -1
  305. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MappingBuilderHelper.ts +6 -9
  306. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_MilestoningBuilderHelper.ts +4 -4
  307. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ProcessingContext.ts +7 -8
  308. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalClassMappingBuilderHelper.ts +5 -5
  309. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_RuntimeBuilderHelper.ts +6 -5
  310. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ServiceBuilderHelper.ts +2 -4
  311. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_TestBuilderHelper.ts +3 -7
  312. package/src/models/protocols/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +3 -6
  313. package/tsconfig.json +13 -12
  314. package/lib/graphManager/action/analytics/MappingAnalytics.d.ts.map +0 -1
  315. package/lib/graphManager/action/analytics/MappingAnalytics.js.map +0 -1
  316. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.d.ts.map +0 -1
  317. package/lib/models/protocols/pure/v1/engine/analytics/V1_MappingAnalytics.js.map +0 -1
  318. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.d.ts.map +0 -1
  319. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingFirstPassBuilder.js.map +0 -1
  320. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.d.ts.map +0 -1
  321. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelClassMappingSecondPassBuilder.js.map +0 -1
  322. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts +0 -40
  323. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.d.ts.map +0 -1
  324. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelConnectionBuilder.js.map +0 -1
  325. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.d.ts.map +0 -1
  326. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js.map +0 -1
  327. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.d.ts.map +0 -1
  328. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js.map +0 -1
  329. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.d.ts.map +0 -1
  330. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js.map +0 -1
  331. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.d.ts.map +0 -1
  332. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js.map +0 -1
  333. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.d.ts.map +0 -1
  334. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js.map +0 -1
  335. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.d.ts.map +0 -1
  336. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelPropertyMappingBuilder.js.map +0 -1
  337. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.d.ts.map +0 -1
  338. package/lib/models/protocols/pure/v1/transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js.map +0 -1
@@ -17,7 +17,6 @@
17
17
  import { GRAPH_MANAGER_EVENT } from '../../../../graphManager/GraphManagerEvent.js';
18
18
  import {
19
19
  CORE_PURE_PATH,
20
- ELEMENT_PATH_DELIMITER,
21
20
  PackageableElementPointerType,
22
21
  } from '../../../../MetaModelConst.js';
23
22
  import {
@@ -103,12 +102,12 @@ import {
103
102
  type V1_PackageableElementVisitor,
104
103
  V1_PackageableElementPointer,
105
104
  } from './model/packageableElements/V1_PackageableElement.js';
106
- import { V1_ProtocolToMetaModelGraphFirstPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFirstPassBuilder.js';
107
- import { V1_ProtocolToMetaModelGraphSecondPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphSecondPassBuilder.js';
108
- import { V1_ProtocolToMetaModelGraphThirdPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphThirdPassBuilder.js';
109
- import { V1_ProtocolToMetaModelGraphFourthPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFourthPassBuilder.js';
110
- import { V1_ProtocolToMetaModelGraphFifthPassBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelGraphFifthPassBuilder.js';
111
- import { V1_ProtocolToMetaModelRawValueSpecificationBuilder } from './transformation/pureGraph/to/V1_ProtocolToMetaModelRawValueSpecificationBuilder.js';
105
+ import { V1_ElementFirstPassBuilder } from './transformation/pureGraph/to/V1_ElementFirstPassBuilder.js';
106
+ import { V1_ElementSecondPassBuilder } from './transformation/pureGraph/to/V1_ElementSecondPassBuilder.js';
107
+ import { V1_ElementThirdPassBuilder } from './transformation/pureGraph/to/V1_ElementThirdPassBuilder.js';
108
+ import { V1_ElementFourthPassBuilder } from './transformation/pureGraph/to/V1_ElementFourthPassBuilder.js';
109
+ import { V1_ElementFifthPassBuilder } from './transformation/pureGraph/to/V1_ElementFifthPassBuilder.js';
110
+ import { V1_RawValueSpecificationBuilder } from './transformation/pureGraph/to/V1_RawValueSpecificationBuilder.js';
112
111
  import { V1_RawBaseExecutionContext } from './model/rawValueSpecification/V1_RawExecutionContext.js';
113
112
  import {
114
113
  type V1_GraphBuilderContext,
@@ -164,8 +163,6 @@ import {
164
163
  import { V1_transformRelationalDatabaseConnection } from './transformation/pureGraph/from/V1_ConnectionTransformer.js';
165
164
  import { V1_FlatData } from './model/packageableElements/store/flatData/model/V1_FlatData.js';
166
165
  import { V1_Database } from './model/packageableElements/store/relational/model/V1_Database.js';
167
- import type { V1_Multiplicity } from './model/packageableElements/domain/V1_Multiplicity.js';
168
- import type { V1_RawVariable } from './model/rawValueSpecification/V1_RawVariable.js';
169
166
  import { V1_setupDatabaseSerialization } from './transformation/pureProtocol/serializationHelpers/V1_DatabaseSerializationHelper.js';
170
167
  import {
171
168
  V1_setupEngineRuntimeSerialization,
@@ -254,38 +251,13 @@ import {
254
251
  V1_buildModelCoverageAnalysisResult,
255
252
  V1_MappingModelCoverageAnalysisInput,
256
253
  V1_MappingModelCoverageAnalysisResult,
257
- } from './engine/analytics/V1_MappingAnalytics.js';
254
+ } from './engine/analytics/V1_MappingModelCoverageAnalysis.js';
258
255
  import type {
259
256
  MappingModelCoverageAnalysisResult,
260
257
  RawMappingModelCoverageAnalysisResult,
261
- } from '../../../../graphManager/action/analytics/MappingAnalytics.js';
258
+ } from '../../../../graphManager/action/analytics/MappingModelCoverageAnalysis.js';
262
259
  import { deserialize } from 'serializr';
263
-
264
- const V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE = 'MANY';
265
-
266
- const getMultiplicitySuffix = (multiplicity: V1_Multiplicity): string => {
267
- if (multiplicity.lowerBound === multiplicity.upperBound) {
268
- return multiplicity.lowerBound.toString();
269
- } else if (
270
- multiplicity.lowerBound === 0 &&
271
- multiplicity.upperBound === undefined
272
- ) {
273
- return V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE;
274
- }
275
- return `$${multiplicity.lowerBound}_${
276
- multiplicity.upperBound ?? V1_FUNCTION_SUFFIX_MULTIPLICITY_INFINITE
277
- }$`;
278
- };
279
-
280
- const getVariableSuffix = (variable: V1_RawVariable): string =>
281
- `${variable.class
282
- .split(ELEMENT_PATH_DELIMITER)
283
- .pop()}_${getMultiplicitySuffix(variable.multiplicity)}_`;
284
-
285
- const getFunctionSuffix = (fn: V1_ConcreteFunctionDefinition): string =>
286
- `${fn.parameters.map((p) => getVariableSuffix(p)).join('_')}_${fn.returnType
287
- .split(ELEMENT_PATH_DELIMITER)
288
- .pop()}_${getMultiplicitySuffix(fn.returnMultiplicity)}_`;
260
+ import { V1_getFunctionSuffix } from './helper/V1_DomainHelper.js';
289
261
 
290
262
  class V1_PureModelContextDataIndex {
291
263
  elements: V1_PackageableElement[] = [];
@@ -333,7 +305,7 @@ const mergePureModelContextData = (
333
305
  return mergedData;
334
306
  };
335
307
 
336
- const indexPureModelContextData = (
308
+ export const V1_indexPureModelContextData = (
337
309
  report: GraphBuilderReport,
338
310
  data: V1_PureModelContextData,
339
311
  extensions: V1_GraphBuilderExtensions,
@@ -438,7 +410,7 @@ const indexPureModelContextData = (
438
410
  // NOTE: this interface is somewhat naive since `model` is of type `BasicModel`,
439
411
  // so this can only be used for pre-processing/indexing
440
412
  // we might need to change model to PureModel in the future when we support other use case
441
- interface V1_GraphBuilderInput {
413
+ interface V1_PureGraphBuilderInput {
442
414
  model: BasicModel;
443
415
  data: V1_PureModelContextDataIndex;
444
416
  }
@@ -453,7 +425,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
453
425
  // Organizing these constants will help with configuring
454
426
  // target protocol version in the future
455
427
  // See https://github.com/finos/legend-studio/issues/475
456
- private static readonly TARGET_PROTOCOL_VERSION = PureClientVersion.VX_X_X;
428
+ static readonly TARGET_PROTOCOL_VERSION = PureClientVersion.VX_X_X;
457
429
 
458
430
  engine: V1_Engine;
459
431
  graphBuilderExtensions: V1_GraphBuilderExtensions;
@@ -543,7 +515,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
543
515
  const buildInputs = [
544
516
  {
545
517
  model: systemModel,
546
- data: indexPureModelContextData(
518
+ data: V1_indexPureModelContextData(
547
519
  report,
548
520
  systemData,
549
521
  this.graphBuilderExtensions,
@@ -584,7 +556,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
584
556
  coreModel: CoreModel,
585
557
  systemModel: SystemModel,
586
558
  dependencyManager: DependencyManager,
587
- dependencyEntitiesMap: Map<string, Entity[]>,
559
+ dependencyEntitiesIndex: Map<string, Entity[]>,
588
560
  buildState: ActionState,
589
561
  options?: GraphBuilderOptions,
590
562
  ): Promise<GraphBuilderReport> {
@@ -601,16 +573,19 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
601
573
  graph.dependencyManager = dependencyManager;
602
574
 
603
575
  try {
604
- dependencyManager.initialize(dependencyEntitiesMap);
576
+ dependencyManager.initialize(dependencyEntitiesIndex);
605
577
 
606
578
  // deserialize
607
579
  buildState.setMessage(`Partitioning and deserializing elements...`);
608
- const dependencyDataMap = new Map<string, V1_PureModelContextData>();
580
+ const dependencyGraphDataIndex = new Map<
581
+ string,
582
+ V1_PureModelContextData
583
+ >();
609
584
  await Promise.all(
610
- Array.from(dependencyEntitiesMap.entries()).map(
585
+ Array.from(dependencyEntitiesIndex.entries()).map(
611
586
  ([dependencyKey, entities]) => {
612
587
  const projectModelData = new V1_PureModelContextData();
613
- dependencyDataMap.set(dependencyKey, projectModelData);
588
+ dependencyGraphDataIndex.set(dependencyKey, projectModelData);
614
589
  return V1_entitiesToPureModelContextData(
615
590
  entities,
616
591
  projectModelData,
@@ -622,11 +597,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
622
597
  stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
623
598
 
624
599
  // prepare build inputs
625
- const buildInputs: V1_GraphBuilderInput[] = Array.from(
626
- dependencyDataMap.entries(),
600
+ const buildInputs: V1_PureGraphBuilderInput[] = Array.from(
601
+ dependencyGraphDataIndex.entries(),
627
602
  ).map(([dependencyKey, dependencyData]) => ({
628
603
  model: graph.dependencyManager.getModel(dependencyKey),
629
- data: indexPureModelContextData(
604
+ data: V1_indexPureModelContextData(
630
605
  report,
631
606
  dependencyData,
632
607
  this.graphBuilderExtensions,
@@ -644,7 +619,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
644
619
  );
645
620
 
646
621
  buildState.pass();
647
- report.otherStats.projectCount = dependencyEntitiesMap.size;
622
+ report.otherStats.projectCount = dependencyEntitiesIndex.size;
648
623
  report.timings = {
649
624
  ...Object.fromEntries(stopWatch.records),
650
625
  [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
@@ -685,10 +660,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
685
660
  stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
686
661
 
687
662
  // prepare build inputs
688
- const buildInputs: V1_GraphBuilderInput[] = [
663
+ const buildInputs: V1_PureGraphBuilderInput[] = [
689
664
  {
690
665
  model: graph,
691
- data: indexPureModelContextData(
666
+ data: V1_indexPureModelContextData(
692
667
  report,
693
668
  data,
694
669
  this.graphBuilderExtensions,
@@ -754,12 +729,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
754
729
  try {
755
730
  // deserialize
756
731
  buildState.setMessage(`Deserializing elements...`);
757
- const generatedDataMap = new Map<string, V1_PureModelContextData>();
732
+ const generationGraphDataIndex = new Map<
733
+ string,
734
+ V1_PureModelContextData
735
+ >();
758
736
  await Promise.all(
759
737
  Array.from(generatedEntities.entries()).map(
760
738
  ([generationParentPath, entities]) => {
761
739
  const generatedData = new V1_PureModelContextData();
762
- generatedDataMap.set(generationParentPath, generatedData);
740
+ generationGraphDataIndex.set(generationParentPath, generatedData);
763
741
  return V1_entitiesToPureModelContextData(
764
742
  entities,
765
743
  generatedData,
@@ -771,11 +749,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
771
749
  stopWatch.record(GRAPH_MANAGER_EVENT.GRAPH_BUILDER_ELEMENTS_DESERIALIZED);
772
750
 
773
751
  // prepare build inputs
774
- const buildInputs: V1_GraphBuilderInput[] = Array.from(
775
- generatedDataMap.entries(),
752
+ const buildInputs: V1_PureGraphBuilderInput[] = Array.from(
753
+ generationGraphDataIndex.entries(),
776
754
  ).map(([generationParentPath, generatedData]) => ({
777
755
  model: generatedModel,
778
- data: indexPureModelContextData(
756
+ data: V1_indexPureModelContextData(
779
757
  report,
780
758
  generatedData,
781
759
  this.graphBuilderExtensions,
@@ -793,7 +771,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
793
771
  );
794
772
 
795
773
  buildState.pass();
796
- report.otherStats.generationCount = generatedDataMap.size;
774
+ report.otherStats.generationCount = generationGraphDataIndex.size;
797
775
  report.timings = {
798
776
  ...Object.fromEntries(stopWatch.records),
799
777
  [GRAPH_MANAGER_EVENT.GRAPH_BUILDER_COMPLETED]: stopWatch.elapsed,
@@ -820,7 +798,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
820
798
 
821
799
  private async buildGraphFromInputs(
822
800
  graph: PureModel,
823
- inputs: V1_GraphBuilderInput[],
801
+ inputs: V1_PureGraphBuilderInput[],
824
802
  report: GraphBuilderReport,
825
803
  stopWatch: StopWatch,
826
804
  graphBuilderState: ActionState,
@@ -905,7 +883,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
905
883
  */
906
884
  private async initializeAndIndexElements(
907
885
  graph: PureModel,
908
- inputs: V1_GraphBuilderInput[],
886
+ inputs: V1_PureGraphBuilderInput[],
909
887
  options?: GraphBuilderOptions,
910
888
  ): Promise<void> {
911
889
  // create the element path cache for faster duplication check
@@ -926,7 +904,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
926
904
  input.data.nativeElements.map((element) =>
927
905
  this.visitWithGraphBuilderErrorHandling(
928
906
  element,
929
- new V1_ProtocolToMetaModelGraphFirstPassBuilder(
907
+ new V1_ElementFirstPassBuilder(
930
908
  this.getBuilderContext(graph, input.model, element, options),
931
909
  packageCache,
932
910
  elementPathCache,
@@ -941,7 +919,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
941
919
  (element) =>
942
920
  this.visitWithGraphBuilderErrorHandling(
943
921
  element,
944
- new V1_ProtocolToMetaModelGraphFirstPassBuilder(
922
+ new V1_ElementFirstPassBuilder(
945
923
  this.getBuilderContext(
946
924
  graph,
947
925
  input.model,
@@ -961,7 +939,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
961
939
 
962
940
  private async buildTypes(
963
941
  graph: PureModel,
964
- inputs: V1_GraphBuilderInput[],
942
+ inputs: V1_PureGraphBuilderInput[],
965
943
  options?: GraphBuilderOptions,
966
944
  ): Promise<void> {
967
945
  // Second pass
@@ -970,7 +948,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
970
948
  input.data.profiles.map((element) =>
971
949
  this.visitWithGraphBuilderErrorHandling(
972
950
  element,
973
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
951
+ new V1_ElementSecondPassBuilder(
974
952
  this.getBuilderContext(graph, input.model, element, options),
975
953
  ),
976
954
  ),
@@ -982,7 +960,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
982
960
  input.data.classes.map((element) =>
983
961
  this.visitWithGraphBuilderErrorHandling(
984
962
  element,
985
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
963
+ new V1_ElementSecondPassBuilder(
986
964
  this.getBuilderContext(graph, input.model, element, options),
987
965
  ),
988
966
  ),
@@ -994,7 +972,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
994
972
  input.data.enumerations.map((element) =>
995
973
  this.visitWithGraphBuilderErrorHandling(
996
974
  element,
997
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
975
+ new V1_ElementSecondPassBuilder(
998
976
  this.getBuilderContext(graph, input.model, element, options),
999
977
  ),
1000
978
  ),
@@ -1006,7 +984,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1006
984
  input.data.measures.map((element) =>
1007
985
  this.visitWithGraphBuilderErrorHandling(
1008
986
  element,
1009
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
987
+ new V1_ElementSecondPassBuilder(
1010
988
  this.getBuilderContext(graph, input.model, element, options),
1011
989
  ),
1012
990
  ),
@@ -1018,7 +996,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1018
996
  input.data.functions.map((element) =>
1019
997
  this.visitWithGraphBuilderErrorHandling(
1020
998
  element,
1021
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
999
+ new V1_ElementSecondPassBuilder(
1022
1000
  this.getBuilderContext(graph, input.model, element, options),
1023
1001
  ),
1024
1002
  ),
@@ -1031,7 +1009,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1031
1009
  input.data.classes.map((element) =>
1032
1010
  this.visitWithGraphBuilderErrorHandling(
1033
1011
  element,
1034
- new V1_ProtocolToMetaModelGraphThirdPassBuilder(
1012
+ new V1_ElementThirdPassBuilder(
1035
1013
  this.getBuilderContext(graph, input.model, element, options),
1036
1014
  ),
1037
1015
  ),
@@ -1043,7 +1021,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1043
1021
  input.data.associations.map((element) =>
1044
1022
  this.visitWithGraphBuilderErrorHandling(
1045
1023
  element,
1046
- new V1_ProtocolToMetaModelGraphThirdPassBuilder(
1024
+ new V1_ElementThirdPassBuilder(
1047
1025
  this.getBuilderContext(graph, input.model, element, options),
1048
1026
  ),
1049
1027
  ),
@@ -1056,7 +1034,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1056
1034
  input.data.classes.map((element) =>
1057
1035
  this.visitWithGraphBuilderErrorHandling(
1058
1036
  element,
1059
- new V1_ProtocolToMetaModelGraphFourthPassBuilder(
1037
+ new V1_ElementFourthPassBuilder(
1060
1038
  this.getBuilderContext(graph, input.model, element, options),
1061
1039
  ),
1062
1040
  ),
@@ -1068,7 +1046,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1068
1046
  input.data.associations.map((element) =>
1069
1047
  this.visitWithGraphBuilderErrorHandling(
1070
1048
  element,
1071
- new V1_ProtocolToMetaModelGraphFourthPassBuilder(
1049
+ new V1_ElementFourthPassBuilder(
1072
1050
  this.getBuilderContext(graph, input.model, element, options),
1073
1051
  ),
1074
1052
  ),
@@ -1081,7 +1059,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1081
1059
  input.data.classes.map((element) =>
1082
1060
  this.visitWithGraphBuilderErrorHandling(
1083
1061
  element,
1084
- new V1_ProtocolToMetaModelGraphFifthPassBuilder(
1062
+ new V1_ElementFifthPassBuilder(
1085
1063
  this.getBuilderContext(graph, input.model, element, options),
1086
1064
  ),
1087
1065
  ),
@@ -1092,7 +1070,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1092
1070
 
1093
1071
  private async buildStores(
1094
1072
  graph: PureModel,
1095
- inputs: V1_GraphBuilderInput[],
1073
+ inputs: V1_PureGraphBuilderInput[],
1096
1074
  options?: GraphBuilderOptions,
1097
1075
  ): Promise<void> {
1098
1076
  await Promise.all(
@@ -1100,7 +1078,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1100
1078
  input.data.stores.map((element) =>
1101
1079
  this.visitWithGraphBuilderErrorHandling(
1102
1080
  element,
1103
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1081
+ new V1_ElementSecondPassBuilder(
1104
1082
  this.getBuilderContext(graph, input.model, element, options),
1105
1083
  ),
1106
1084
  ),
@@ -1112,7 +1090,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1112
1090
  input.data.stores.map((element) =>
1113
1091
  this.visitWithGraphBuilderErrorHandling(
1114
1092
  element,
1115
- new V1_ProtocolToMetaModelGraphThirdPassBuilder(
1093
+ new V1_ElementThirdPassBuilder(
1116
1094
  this.getBuilderContext(graph, input.model, element, options),
1117
1095
  ),
1118
1096
  ),
@@ -1124,7 +1102,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1124
1102
  input.data.stores.map((element) =>
1125
1103
  this.visitWithGraphBuilderErrorHandling(
1126
1104
  element,
1127
- new V1_ProtocolToMetaModelGraphFourthPassBuilder(
1105
+ new V1_ElementFourthPassBuilder(
1128
1106
  this.getBuilderContext(graph, input.model, element, options),
1129
1107
  ),
1130
1108
  ),
@@ -1136,7 +1114,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1136
1114
  input.data.stores.map((element) =>
1137
1115
  this.visitWithGraphBuilderErrorHandling(
1138
1116
  element,
1139
- new V1_ProtocolToMetaModelGraphFifthPassBuilder(
1117
+ new V1_ElementFifthPassBuilder(
1140
1118
  this.getBuilderContext(graph, input.model, element, options),
1141
1119
  ),
1142
1120
  ),
@@ -1147,7 +1125,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1147
1125
 
1148
1126
  private async buildMappings(
1149
1127
  graph: PureModel,
1150
- inputs: V1_GraphBuilderInput[],
1128
+ inputs: V1_PureGraphBuilderInput[],
1151
1129
  options?: GraphBuilderOptions,
1152
1130
  ): Promise<void> {
1153
1131
  await Promise.all(
@@ -1155,7 +1133,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1155
1133
  input.data.mappings.map((element) =>
1156
1134
  this.visitWithGraphBuilderErrorHandling(
1157
1135
  element,
1158
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1136
+ new V1_ElementSecondPassBuilder(
1159
1137
  this.getBuilderContext(graph, input.model, element, options),
1160
1138
  ),
1161
1139
  ),
@@ -1167,7 +1145,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1167
1145
  input.data.mappings.map((element) =>
1168
1146
  this.visitWithGraphBuilderErrorHandling(
1169
1147
  element,
1170
- new V1_ProtocolToMetaModelGraphThirdPassBuilder(
1148
+ new V1_ElementThirdPassBuilder(
1171
1149
  this.getBuilderContext(graph, input.model, element, options),
1172
1150
  ),
1173
1151
  ),
@@ -1179,7 +1157,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1179
1157
  input.data.mappings.map((element) =>
1180
1158
  this.visitWithGraphBuilderErrorHandling(
1181
1159
  element,
1182
- new V1_ProtocolToMetaModelGraphFourthPassBuilder(
1160
+ new V1_ElementFourthPassBuilder(
1183
1161
  this.getBuilderContext(graph, input.model, element, options),
1184
1162
  ),
1185
1163
  ),
@@ -1190,7 +1168,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1190
1168
 
1191
1169
  private async buildConnectionsAndRuntimes(
1192
1170
  graph: PureModel,
1193
- inputs: V1_GraphBuilderInput[],
1171
+ inputs: V1_PureGraphBuilderInput[],
1194
1172
  options?: GraphBuilderOptions,
1195
1173
  ): Promise<void> {
1196
1174
  // NOTE: connections must be built before runtimes
@@ -1199,7 +1177,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1199
1177
  input.data.connections.map((element) =>
1200
1178
  this.visitWithGraphBuilderErrorHandling(
1201
1179
  element,
1202
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1180
+ new V1_ElementSecondPassBuilder(
1203
1181
  this.getBuilderContext(graph, input.model, element, options),
1204
1182
  ),
1205
1183
  ),
@@ -1211,7 +1189,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1211
1189
  input.data.runtimes.map((element) =>
1212
1190
  this.visitWithGraphBuilderErrorHandling(
1213
1191
  element,
1214
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1192
+ new V1_ElementSecondPassBuilder(
1215
1193
  this.getBuilderContext(graph, input.model, element, options),
1216
1194
  ),
1217
1195
  ),
@@ -1222,7 +1200,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1222
1200
 
1223
1201
  private async buildServices(
1224
1202
  graph: PureModel,
1225
- inputs: V1_GraphBuilderInput[],
1203
+ inputs: V1_PureGraphBuilderInput[],
1226
1204
  options?: GraphBuilderOptions,
1227
1205
  ): Promise<void> {
1228
1206
  await Promise.all(
@@ -1230,7 +1208,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1230
1208
  input.data.services.map((element) =>
1231
1209
  this.visitWithGraphBuilderErrorHandling(
1232
1210
  element,
1233
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1211
+ new V1_ElementSecondPassBuilder(
1234
1212
  this.getBuilderContext(graph, input.model, element, options),
1235
1213
  ),
1236
1214
  ),
@@ -1241,7 +1219,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1241
1219
 
1242
1220
  private async buildDataElements(
1243
1221
  graph: PureModel,
1244
- inputs: V1_GraphBuilderInput[],
1222
+ inputs: V1_PureGraphBuilderInput[],
1245
1223
  options?: GraphBuilderOptions,
1246
1224
  ): Promise<void> {
1247
1225
  await Promise.all(
@@ -1249,7 +1227,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1249
1227
  input.data.dataElements.map((element) =>
1250
1228
  this.visitWithGraphBuilderErrorHandling(
1251
1229
  element,
1252
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1230
+ new V1_ElementSecondPassBuilder(
1253
1231
  this.getBuilderContext(graph, input.model, element, options),
1254
1232
  ),
1255
1233
  ),
@@ -1260,7 +1238,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1260
1238
 
1261
1239
  private async buildFileGenerations(
1262
1240
  graph: PureModel,
1263
- inputs: V1_GraphBuilderInput[],
1241
+ inputs: V1_PureGraphBuilderInput[],
1264
1242
  options?: GraphBuilderOptions,
1265
1243
  ): Promise<void> {
1266
1244
  await Promise.all(
@@ -1268,7 +1246,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1268
1246
  input.data.fileGenerations.map((element) =>
1269
1247
  this.visitWithGraphBuilderErrorHandling(
1270
1248
  element,
1271
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1249
+ new V1_ElementSecondPassBuilder(
1272
1250
  this.getBuilderContext(graph, input.model, element, options),
1273
1251
  ),
1274
1252
  ),
@@ -1279,7 +1257,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1279
1257
 
1280
1258
  private async buildGenerationSpecifications(
1281
1259
  graph: PureModel,
1282
- inputs: V1_GraphBuilderInput[],
1260
+ inputs: V1_PureGraphBuilderInput[],
1283
1261
  options?: GraphBuilderOptions,
1284
1262
  ): Promise<void> {
1285
1263
  await Promise.all(
@@ -1287,7 +1265,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1287
1265
  input.data.generationSpecifications.map((element) =>
1288
1266
  this.visitWithGraphBuilderErrorHandling(
1289
1267
  element,
1290
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1268
+ new V1_ElementSecondPassBuilder(
1291
1269
  this.getBuilderContext(graph, input.model, element, options),
1292
1270
  ),
1293
1271
  ),
@@ -1298,7 +1276,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1298
1276
 
1299
1277
  private async buildSectionIndices(
1300
1278
  graph: PureModel,
1301
- inputs: V1_GraphBuilderInput[],
1279
+ inputs: V1_PureGraphBuilderInput[],
1302
1280
  options?: GraphBuilderOptions,
1303
1281
  ): Promise<void> {
1304
1282
  await Promise.all(
@@ -1306,7 +1284,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1306
1284
  input.data.sectionIndices.map((element) =>
1307
1285
  this.visitWithGraphBuilderErrorHandling(
1308
1286
  element,
1309
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1287
+ new V1_ElementSecondPassBuilder(
1310
1288
  this.getBuilderContext(graph, input.model, element, options),
1311
1289
  ),
1312
1290
  ),
@@ -1317,7 +1295,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1317
1295
 
1318
1296
  private async buildOtherElements(
1319
1297
  graph: PureModel,
1320
- inputs: V1_GraphBuilderInput[],
1298
+ inputs: V1_PureGraphBuilderInput[],
1321
1299
  options?: GraphBuilderOptions,
1322
1300
  ): Promise<void> {
1323
1301
  await Promise.all(
@@ -1329,7 +1307,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1329
1307
  (element) =>
1330
1308
  this.visitWithGraphBuilderErrorHandling(
1331
1309
  element,
1332
- new V1_ProtocolToMetaModelGraphSecondPassBuilder(
1310
+ new V1_ElementSecondPassBuilder(
1333
1311
  this.getBuilderContext(
1334
1312
  graph,
1335
1313
  input.model,
@@ -1347,7 +1325,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1347
1325
  (element) =>
1348
1326
  this.visitWithGraphBuilderErrorHandling(
1349
1327
  element,
1350
- new V1_ProtocolToMetaModelGraphThirdPassBuilder(
1328
+ new V1_ElementThirdPassBuilder(
1351
1329
  this.getBuilderContext(
1352
1330
  graph,
1353
1331
  input.model,
@@ -1365,7 +1343,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1365
1343
  (element) =>
1366
1344
  this.visitWithGraphBuilderErrorHandling(
1367
1345
  element,
1368
- new V1_ProtocolToMetaModelGraphFourthPassBuilder(
1346
+ new V1_ElementFourthPassBuilder(
1369
1347
  this.getBuilderContext(
1370
1348
  graph,
1371
1349
  input.model,
@@ -1383,7 +1361,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1383
1361
  (element) =>
1384
1362
  this.visitWithGraphBuilderErrorHandling(
1385
1363
  element,
1386
- new V1_ProtocolToMetaModelGraphFifthPassBuilder(
1364
+ new V1_ElementFifthPassBuilder(
1387
1365
  this.getBuilderContext(
1388
1366
  graph,
1389
1367
  input.model,
@@ -1462,8 +1440,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1462
1440
  async pureCodeToLambda(
1463
1441
  lambda: string,
1464
1442
  lambdaId?: string,
1443
+ options?: {
1444
+ pruneSourceInformation?: boolean;
1445
+ },
1465
1446
  ): Promise<RawLambda> {
1466
- const result = await this.engine.transformCodeToLambda(lambda, lambdaId);
1447
+ const result = await this.engine.transformCodeToLambda(
1448
+ lambda,
1449
+ lambdaId,
1450
+ options,
1451
+ );
1467
1452
  return new RawLambda(result.parameters, result.body);
1468
1453
  }
1469
1454
 
@@ -1783,7 +1768,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1783
1768
  // deserialize json and builds metamodal raw value spec
1784
1769
  const rawValueSpecification = V1_deserializeRawValueSpecification(json);
1785
1770
  return rawValueSpecification.accept_RawValueSpecificationVisitor(
1786
- new V1_ProtocolToMetaModelRawValueSpecificationBuilder(
1771
+ new V1_RawValueSpecificationBuilder(
1787
1772
  new V1_GraphBuilderContextBuilder(
1788
1773
  graph,
1789
1774
  graph,
@@ -1971,10 +1956,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1971
1956
  };
1972
1957
 
1973
1958
  async executeMapping(
1974
- graph: PureModel,
1975
- mapping: Mapping,
1976
1959
  lambda: RawLambda,
1960
+ mapping: Mapping,
1977
1961
  runtime: Runtime,
1962
+ graph: PureModel,
1978
1963
  options?: ExecutionOptions,
1979
1964
  ): Promise<ExecutionResult> {
1980
1965
  return V1_buildExecutionResult(
@@ -1992,11 +1977,11 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
1992
1977
  }
1993
1978
 
1994
1979
  generateExecuteTestData(
1995
- graph: PureModel,
1996
- mapping: Mapping,
1997
1980
  lambda: RawLambda,
1998
- runtime: Runtime,
1999
1981
  parameters: (string | number | boolean)[],
1982
+ mapping: Mapping,
1983
+ runtime: Runtime,
1984
+ graph: PureModel,
2000
1985
  options?: {
2001
1986
  anonymizeGeneratedData?: boolean;
2002
1987
  },
@@ -2019,10 +2004,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2019
2004
  }
2020
2005
 
2021
2006
  generateExecutionPlan(
2022
- graph: PureModel,
2023
- mapping: Mapping,
2024
2007
  lambda: RawLambda,
2008
+ mapping: Mapping,
2025
2009
  runtime: Runtime,
2010
+ graph: PureModel,
2026
2011
  ): Promise<RawExecutionPlan> {
2027
2012
  return this.engine.generateExecutionPlan(
2028
2013
  this.createExecutionInput(
@@ -2036,10 +2021,10 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2036
2021
  }
2037
2022
 
2038
2023
  async debugExecutionPlanGeneration(
2039
- graph: PureModel,
2040
- mapping: Mapping,
2041
2024
  lambda: RawLambda,
2025
+ mapping: Mapping,
2042
2026
  runtime: Runtime,
2027
+ graph: PureModel,
2043
2028
  ): Promise<{ plan: RawExecutionPlan; debug: string }> {
2044
2029
  const result = await this.engine.debugExecutionPlanGeneration(
2045
2030
  this.createExecutionInput(
@@ -2100,13 +2085,13 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2100
2085
  // --------------------------------------------- Service ---------------------------------------------
2101
2086
 
2102
2087
  async registerService(
2103
- graph: PureModel,
2104
2088
  service: Service,
2105
- groupdId: string,
2089
+ graph: PureModel,
2090
+ groupId: string,
2106
2091
  artifactId: string,
2092
+ version: string | undefined,
2107
2093
  server: string,
2108
2094
  executionMode: ServiceExecutionMode,
2109
- version: string | undefined,
2110
2095
  ): Promise<ServiceRegistrationResult> {
2111
2096
  const serverServiceInfo = await this.engine.getServerServiceInfo();
2112
2097
  // input
@@ -2123,7 +2108,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2123
2108
  break;
2124
2109
  }
2125
2110
  case ServiceExecutionMode.SEMI_INTERACTIVE: {
2126
- const sdlcInfo = new V1_AlloySDLC(groupdId, artifactId, version);
2111
+ const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
2127
2112
  const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
2128
2113
  // data
2129
2114
  const data = new V1_PureModelContextData();
@@ -2160,7 +2145,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2160
2145
  break;
2161
2146
  }
2162
2147
  case ServiceExecutionMode.PROD: {
2163
- const sdlcInfo = new V1_AlloySDLC(groupdId, artifactId, version);
2148
+ const sdlcInfo = new V1_AlloySDLC(groupId, artifactId, version);
2164
2149
  const pointer = new V1_PureModelContextPointer(protocol, sdlcInfo);
2165
2150
  sdlcInfo.packageableElementPointers = [
2166
2151
  new V1_PackageableElementPointer(
@@ -2227,78 +2212,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2227
2212
  );
2228
2213
  }
2229
2214
 
2230
- // TODO: we could potentially reshape this method to build light graph with just indexing
2231
- // and return a slightly more complicated object instead: separating the graph and the dependencies part instead of
2232
- // return a list of `V1_GraphBuilderInput`. This method would be useful for any other light graph builder algo.
2233
- async indexEntitiesWithDependencyIntoGraph(
2234
- graph: PureModel,
2235
- _entities: Entity[],
2236
- dependencyEntities: Map<string, Entity[]>,
2237
- entityFilterFunc?: (entity: Entity) => boolean,
2238
- ): Promise<V1_GraphBuilderInput[]> {
2239
- let entities = _entities;
2240
- graph.dependencyManager.initialize(dependencyEntities);
2241
- if (entityFilterFunc) {
2242
- Array.from(dependencyEntities.entries()).forEach(
2243
- ([dependencyKey, dEntities]) => {
2244
- dependencyEntities.set(
2245
- dependencyKey,
2246
- dEntities.filter(entityFilterFunc),
2247
- );
2248
- },
2249
- );
2250
- entities = _entities.filter(entityFilterFunc);
2251
- }
2252
- const report = new GraphBuilderReport();
2253
- // build dependency pmcd models
2254
- const dependencyDataMap = new Map<string, V1_PureModelContextData>();
2255
- await Promise.all(
2256
- Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
2257
- const projectModelData = new V1_PureModelContextData();
2258
- dependencyDataMap.set(dependencyKey, projectModelData);
2259
- return V1_entitiesToPureModelContextData(
2260
- value,
2261
- projectModelData,
2262
-
2263
- this.pluginManager.getPureProtocolProcessorPlugins(),
2264
- );
2265
- }),
2266
- );
2267
- const dependencyGraphBuilderInput: V1_GraphBuilderInput[] = Array.from(
2268
- dependencyDataMap.entries(),
2269
- ).map(([dependencyKey, dependencyData]) => ({
2270
- data: indexPureModelContextData(
2271
- report,
2272
- dependencyData,
2273
- this.graphBuilderExtensions,
2274
- ),
2275
- model: graph.dependencyManager.getModel(dependencyKey),
2276
- }));
2277
- // build main pmcd
2278
- const data = new V1_PureModelContextData();
2279
- await V1_entitiesToPureModelContextData(
2280
- entities,
2281
- data,
2282
- this.pluginManager.getPureProtocolProcessorPlugins(),
2283
- );
2284
- const mainGraphBuilderInput: V1_GraphBuilderInput[] = [
2285
- {
2286
- model: graph,
2287
- data: indexPureModelContextData(
2288
- report,
2289
- data,
2290
- this.graphBuilderExtensions,
2291
- ),
2292
- },
2293
- ];
2294
- const graphBuilderInput = [
2295
- ...dependencyGraphBuilderInput,
2296
- ...mainGraphBuilderInput,
2297
- ];
2298
- await this.initializeAndIndexElements(graph, graphBuilderInput);
2299
- return graphBuilderInput;
2300
- }
2301
-
2302
2215
  // --------------------------------------------- Query ------------------------------------------------------
2303
2216
 
2304
2217
  async getQuery(queryId: string, graph: PureModel): Promise<Query> {
@@ -2385,18 +2298,15 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2385
2298
  };
2386
2299
 
2387
2300
  async analyzeMappingModelCoverage(
2388
- graph: PureModel,
2389
2301
  mapping: Mapping,
2302
+ graph: PureModel,
2390
2303
  ): Promise<MappingModelCoverageAnalysisResult> {
2391
- const modelCoverageAnalysisInput =
2392
- new V1_MappingModelCoverageAnalysisInput();
2393
- modelCoverageAnalysisInput.clientVersion =
2394
- V1_PureGraphManager.TARGET_PROTOCOL_VERSION;
2395
- modelCoverageAnalysisInput.mapping = mapping.path;
2396
- modelCoverageAnalysisInput.model =
2397
- this.buildMappingModelCoverageAnalysisInputContextData(graph);
2304
+ const input = new V1_MappingModelCoverageAnalysisInput();
2305
+ input.clientVersion = V1_PureGraphManager.TARGET_PROTOCOL_VERSION;
2306
+ input.mapping = mapping.path;
2307
+ input.model = this.buildMappingModelCoverageAnalysisInputContextData(graph);
2398
2308
  return V1_buildModelCoverageAnalysisResult(
2399
- await this.engine.analyzeMappingModelCoverage(modelCoverageAnalysisInput),
2309
+ await this.engine.analyzeMappingModelCoverage(input),
2400
2310
  );
2401
2311
  }
2402
2312
 
@@ -2411,22 +2321,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2411
2321
  );
2412
2322
  }
2413
2323
 
2414
- // --------------------------------------------- Utilities ---------------------------------------------
2415
-
2416
- elementToEntity = (
2417
- element: PackageableElement,
2418
- options?: {
2419
- pruneSourceInformation?: boolean;
2420
- },
2421
- ): Entity => {
2422
- const entity = this.elementProtocolToEntity(
2423
- this.elementToProtocol<V1_PackageableElement>(element),
2424
- );
2425
- if (options?.pruneSourceInformation) {
2426
- entity.content = pruneSourceInformation(entity.content);
2427
- }
2428
- return entity;
2429
- };
2324
+ // --------------------------------------------- Database ---------------------------------------------
2430
2325
 
2431
2326
  async buildDatabase(input: DatabaseBuilderInput): Promise<Entity[]> {
2432
2327
  const dbBuilderInput = new V1_DatabaseBuilderInput();
@@ -2571,21 +2466,125 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2571
2466
  );
2572
2467
  }
2573
2468
 
2469
+ // --------------------------------------------- Utilities ---------------------------------------------
2470
+
2471
+ elementToEntity = (
2472
+ element: PackageableElement,
2473
+ options?: {
2474
+ pruneSourceInformation?: boolean;
2475
+ },
2476
+ ): Entity => {
2477
+ const entity = this.elementProtocolToEntity(
2478
+ this.elementToProtocol<V1_PackageableElement>(element),
2479
+ );
2480
+ if (options?.pruneSourceInformation) {
2481
+ entity.content = pruneSourceInformation(entity.content);
2482
+ }
2483
+ return entity;
2484
+ };
2485
+
2574
2486
  // --------------------------------------------- Shared ---------------------------------------------
2575
2487
 
2576
- private async entitiesToPureModelContextData(
2488
+ /**
2489
+ * This method helps indexing the graph from graph and dependencies' entities
2490
+ * This will produce a _light_ graph with empty unprocesed elements, they are just indexed in the graph
2491
+ * and the Pure model context data which can be used to further build the graph
2492
+ *
2493
+ * There are a few simple analytics we want to do on the graph which does not necessarily
2494
+ * require us to build the full-graph, in fact, doing so would be too costly. In those scenarios,
2495
+ * we need to build the _light_ graph, hence the existence of this utility method
2496
+ *
2497
+ * TODO?: do we need to account for system elements?
2498
+ */
2499
+ async indexLightGraph(
2500
+ graph: PureModel,
2577
2501
  entities: Entity[],
2578
- ): Promise<V1_PureModelContextData> {
2579
- const graphData = new V1_PureModelContextData();
2502
+ dependencyEntities: Map<string, Entity[]>,
2503
+ entityFilterFn?: ((entity: Entity) => boolean) | undefined,
2504
+ entityProcessorFn?: ((entity: Entity) => Entity) | undefined,
2505
+ ): Promise<V1_PureGraphBuilderInput[]> {
2506
+ const report = new GraphBuilderReport();
2507
+
2508
+ // build main graph builder input
2509
+ const data = new V1_PureModelContextData();
2580
2510
  await V1_entitiesToPureModelContextData(
2581
- entities,
2582
- graphData,
2511
+ entities
2512
+ .filter((entity) => {
2513
+ // never exclude section index as it could be used for path resolution when building the graph later
2514
+ if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
2515
+ return true;
2516
+ }
2517
+ if (entityFilterFn) {
2518
+ return entityFilterFn(entity);
2519
+ }
2520
+ return true;
2521
+ })
2522
+ .map((entity) =>
2523
+ entityProcessorFn ? entityProcessorFn(entity) : entity,
2524
+ ),
2525
+ data,
2583
2526
  this.pluginManager.getPureProtocolProcessorPlugins(),
2584
2527
  );
2585
- return graphData;
2528
+ const mainGraphBuilderInput: V1_PureGraphBuilderInput[] = [
2529
+ {
2530
+ model: graph,
2531
+ data: V1_indexPureModelContextData(
2532
+ report,
2533
+ data,
2534
+ this.graphBuilderExtensions,
2535
+ ),
2536
+ },
2537
+ ];
2538
+
2539
+ // build dependencies graph builder input
2540
+ graph.dependencyManager.initialize(dependencyEntities);
2541
+ const dependencyGraphDataIndex = new Map<string, V1_PureModelContextData>();
2542
+ await Promise.all(
2543
+ Array.from(dependencyEntities.entries()).map(([dependencyKey, value]) => {
2544
+ const projectModelData = new V1_PureModelContextData();
2545
+ dependencyGraphDataIndex.set(dependencyKey, projectModelData);
2546
+ return V1_entitiesToPureModelContextData(
2547
+ value
2548
+ .filter((entity) => {
2549
+ // never exclude section index as it could be used for path resolution when building the graph later
2550
+ if (entity.classifierPath === CORE_PURE_PATH.SECTION_INDEX) {
2551
+ return true;
2552
+ }
2553
+ if (entityFilterFn) {
2554
+ return entityFilterFn(entity);
2555
+ }
2556
+ return true;
2557
+ })
2558
+ .map((entity) =>
2559
+ entityProcessorFn ? entityProcessorFn(entity) : entity,
2560
+ ),
2561
+ projectModelData,
2562
+ this.pluginManager.getPureProtocolProcessorPlugins(),
2563
+ );
2564
+ }),
2565
+ );
2566
+ const dependencyGraphBuilderInput: V1_PureGraphBuilderInput[] = Array.from(
2567
+ dependencyGraphDataIndex.entries(),
2568
+ ).map(([dependencyKey, dependencyData]) => ({
2569
+ data: V1_indexPureModelContextData(
2570
+ report,
2571
+ dependencyData,
2572
+ this.graphBuilderExtensions,
2573
+ ),
2574
+ model: graph.dependencyManager.getModel(dependencyKey),
2575
+ }));
2576
+
2577
+ // index simplified graph
2578
+ const graphBuilderInput = [
2579
+ ...dependencyGraphBuilderInput,
2580
+ ...mainGraphBuilderInput,
2581
+ ];
2582
+ await this.initializeAndIndexElements(graph, graphBuilderInput);
2583
+
2584
+ return graphBuilderInput;
2586
2585
  }
2587
2586
 
2588
- private getFullGraphModelData(
2587
+ getFullGraphModelData(
2589
2588
  graph: PureModel,
2590
2589
  options?: { keepSourceInformation?: boolean | undefined } | undefined,
2591
2590
  ): V1_PureModelContextData {
@@ -2600,6 +2599,29 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2600
2599
  return contextData1;
2601
2600
  }
2602
2601
 
2602
+ elementProtocolToEntity = (
2603
+ elementProtocol: V1_PackageableElement,
2604
+ ): Entity => ({
2605
+ path: this.getElementPath(elementProtocol),
2606
+ content: V1_serializePackageableElement(
2607
+ elementProtocol,
2608
+ this.pluginManager.getPureProtocolProcessorPlugins(),
2609
+ ),
2610
+ classifierPath: this.getElementClassiferPath(elementProtocol),
2611
+ });
2612
+
2613
+ private async entitiesToPureModelContextData(
2614
+ entities: Entity[],
2615
+ ): Promise<V1_PureModelContextData> {
2616
+ const graphData = new V1_PureModelContextData();
2617
+ await V1_entitiesToPureModelContextData(
2618
+ entities,
2619
+ graphData,
2620
+ this.pluginManager.getPureProtocolProcessorPlugins(),
2621
+ );
2622
+ return graphData;
2623
+ }
2624
+
2603
2625
  private elementToProtocol = <T extends V1_PackageableElement>(
2604
2626
  element: PackageableElement,
2605
2627
  options?: { keepSourceInformation?: boolean | undefined } | undefined,
@@ -2621,17 +2643,6 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2621
2643
  this.elementProtocolToEntity(element),
2622
2644
  );
2623
2645
 
2624
- private elementProtocolToEntity = (
2625
- elementProtocol: V1_PackageableElement,
2626
- ): Entity => ({
2627
- path: this.getElementPath(elementProtocol),
2628
- content: V1_serializePackageableElement(
2629
- elementProtocol,
2630
- this.pluginManager.getPureProtocolProcessorPlugins(),
2631
- ),
2632
- classifierPath: this.getElementClassiferPath(elementProtocol),
2633
- });
2634
-
2635
2646
  private getElementPath = (elementProtocol: V1_PackageableElement): string => {
2636
2647
  let name = elementProtocol.name;
2637
2648
  // These functions calculation the function suffix and are used to identify if an
@@ -2640,7 +2651,7 @@ export class V1_PureGraphManager extends AbstractPureGraphManager {
2640
2651
  // TODO: to be revised when we support function overloading
2641
2652
  if (elementProtocol instanceof V1_ConcreteFunctionDefinition) {
2642
2653
  const suffixIndex = elementProtocol.name.indexOf(
2643
- getFunctionSuffix(elementProtocol),
2654
+ V1_getFunctionSuffix(elementProtocol),
2644
2655
  );
2645
2656
  if (suffixIndex > 0) {
2646
2657
  name = elementProtocol.name.substring(0, suffixIndex - 1);