@finos/legend-graph 24.0.1 → 25.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 (230) hide show
  1. package/lib/graph/BasicModel.d.ts +6 -0
  2. package/lib/graph/BasicModel.d.ts.map +1 -1
  3. package/lib/graph/BasicModel.js +23 -0
  4. package/lib/graph/BasicModel.js.map +1 -1
  5. package/lib/graph/Core_HashUtils.d.ts +7 -1
  6. package/lib/graph/Core_HashUtils.d.ts.map +1 -1
  7. package/lib/graph/Core_HashUtils.js +8 -1
  8. package/lib/graph/Core_HashUtils.js.map +1 -1
  9. package/lib/graph/DependencyManager.d.ts +3 -0
  10. package/lib/graph/DependencyManager.d.ts.map +1 -1
  11. package/lib/graph/DependencyManager.js +4 -0
  12. package/lib/graph/DependencyManager.js.map +1 -1
  13. package/lib/graph/MetaModelConst.d.ts +1 -0
  14. package/lib/graph/MetaModelConst.d.ts.map +1 -1
  15. package/lib/graph/MetaModelConst.js +1 -0
  16. package/lib/graph/MetaModelConst.js.map +1 -1
  17. package/lib/graph/PureModel.d.ts +2 -0
  18. package/lib/graph/PureModel.d.ts.map +1 -1
  19. package/lib/graph/PureModel.js +9 -0
  20. package/lib/graph/PureModel.js.map +1 -1
  21. package/lib/graph/helpers/DomainHelper.d.ts.map +1 -1
  22. package/lib/graph/helpers/DomainHelper.js +6 -0
  23. package/lib/graph/helpers/DomainHelper.js.map +1 -1
  24. package/lib/graph/helpers/PureLanguageHelper.d.ts +2 -1
  25. package/lib/graph/helpers/PureLanguageHelper.d.ts.map +1 -1
  26. package/lib/graph/helpers/PureLanguageHelper.js +1 -0
  27. package/lib/graph/helpers/PureLanguageHelper.js.map +1 -1
  28. package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts +2 -0
  29. package/lib/graph/metamodel/pure/packageableElements/PackageableElement.d.ts.map +1 -1
  30. package/lib/graph/metamodel/pure/packageableElements/PackageableElement.js.map +1 -1
  31. package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.d.ts +40 -0
  32. package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.d.ts.map +1 -0
  33. package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js +58 -0
  34. package/lib/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js.map +1 -0
  35. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts +6 -0
  36. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.d.ts.map +1 -1
  37. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js +16 -0
  38. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js.map +1 -1
  39. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts +17 -0
  40. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.d.ts.map +1 -1
  41. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js +41 -0
  42. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js.map +1 -1
  43. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts +2 -1
  44. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.d.ts.map +1 -1
  45. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js +1 -0
  46. package/lib/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.js.map +1 -1
  47. package/lib/graphManager/AbstractPureGraphManager.d.ts +1 -2
  48. package/lib/graphManager/AbstractPureGraphManager.d.ts.map +1 -1
  49. package/lib/graphManager/AbstractPureGraphManager.js.map +1 -1
  50. package/lib/graphManager/action/{service/BulkServiceRegistrationResult.d.ts → changeDetection/DSL_ExecutionEnvironment_ObseverHelper.d.ts} +3 -14
  51. package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.d.ts.map +1 -0
  52. package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.js +26 -0
  53. package/lib/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.js.map +1 -0
  54. package/lib/graphManager/action/changeDetection/GraphObserverHelper.d.ts.map +1 -1
  55. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js +4 -0
  56. package/lib/graphManager/action/changeDetection/GraphObserverHelper.js.map +1 -1
  57. package/lib/graphManager/action/changeDetection/PackageableElementObserver.d.ts.map +1 -1
  58. package/lib/graphManager/action/changeDetection/PackageableElementObserver.js +4 -0
  59. package/lib/graphManager/action/changeDetection/PackageableElementObserver.js.map +1 -1
  60. package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.d.ts +5 -2
  61. package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.d.ts.map +1 -1
  62. package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.js +31 -2
  63. package/lib/graphManager/action/changeDetection/STO_Relational_ObserverHelper.js.map +1 -1
  64. package/lib/graphManager/action/execution/ExecutionResult.d.ts +8 -2
  65. package/lib/graphManager/action/execution/ExecutionResult.d.ts.map +1 -1
  66. package/lib/graphManager/action/execution/ExecutionResult.js +9 -3
  67. package/lib/graphManager/action/execution/ExecutionResult.js.map +1 -1
  68. package/lib/graphManager/action/service/ServiceRegistrationResult.d.ts +8 -0
  69. package/lib/graphManager/action/service/ServiceRegistrationResult.d.ts.map +1 -1
  70. package/lib/graphManager/action/service/ServiceRegistrationResult.js +11 -0
  71. package/lib/graphManager/action/service/ServiceRegistrationResult.js.map +1 -1
  72. package/lib/graphManager/protocol/pure/PureProtocolProcessorPlugin.d.ts +1 -1
  73. package/lib/graphManager/protocol/pure/PureProtocolProcessorPlugin.d.ts.map +1 -1
  74. package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.d.ts +4 -3
  75. package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.d.ts.map +1 -1
  76. package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.js +18 -6
  77. package/lib/graphManager/protocol/pure/v1/V1_PureGraphManager.js.map +1 -1
  78. package/lib/graphManager/protocol/pure/v1/engine/V1_EngineHelper.d.ts +1 -1
  79. package/lib/graphManager/protocol/pure/v1/engine/V1_EngineHelper.d.ts.map +1 -1
  80. package/lib/graphManager/protocol/pure/v1/engine/V1_EngineHelper.js +2 -2
  81. package/lib/graphManager/protocol/pure/v1/engine/V1_EngineHelper.js.map +1 -1
  82. package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionHelper.d.ts.map +1 -1
  83. package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionHelper.js +10 -9
  84. package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionHelper.js.map +1 -1
  85. package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.d.ts +9 -3
  86. package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.d.ts.map +1 -1
  87. package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.js +10 -4
  88. package/lib/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.js.map +1 -1
  89. package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts +4 -2
  90. package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.d.ts.map +1 -1
  91. package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.js +1 -1
  92. package/lib/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.js.map +1 -1
  93. package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.d.ts +38 -0
  94. package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.d.ts.map +1 -0
  95. package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.js +58 -0
  96. package/lib/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.js.map +1 -0
  97. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts +5 -0
  98. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.d.ts.map +1 -1
  99. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js +11 -0
  100. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js.map +1 -1
  101. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts +15 -0
  102. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.d.ts.map +1 -1
  103. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js +32 -0
  104. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js.map +1 -1
  105. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts +2 -1
  106. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.d.ts.map +1 -1
  107. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js +1 -0
  108. package/lib/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.js.map +1 -1
  109. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.d.ts.map +1 -1
  110. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js +29 -4
  111. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.js.map +1 -1
  112. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.d.ts +20 -0
  113. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.d.ts.map +1 -0
  114. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.js +46 -0
  115. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.js.map +1 -0
  116. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.d.ts.map +1 -1
  117. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js +4 -0
  118. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.js.map +1 -1
  119. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts +2 -0
  120. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.d.ts.map +1 -1
  121. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js +3 -0
  122. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.js.map +1 -1
  123. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts +2 -0
  124. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.d.ts.map +1 -1
  125. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js +11 -0
  126. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.js.map +1 -1
  127. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts +2 -0
  128. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.d.ts.map +1 -1
  129. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js +3 -0
  130. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.js.map +1 -1
  131. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts +2 -0
  132. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.d.ts.map +1 -1
  133. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js +5 -0
  134. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.js.map +1 -1
  135. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts +2 -0
  136. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.d.ts.map +1 -1
  137. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js +3 -0
  138. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.js.map +1 -1
  139. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.d.ts +21 -0
  140. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.d.ts.map +1 -0
  141. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.js +51 -0
  142. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.js.map +1 -0
  143. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.d.ts.map +1 -1
  144. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js +23 -4
  145. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.js.map +1 -1
  146. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts +2 -2
  147. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -1
  148. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js +5 -11
  149. package/lib/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.js.map +1 -1
  150. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.d.ts.map +1 -1
  151. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js +6 -0
  152. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.js.map +1 -1
  153. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.d.ts.map +1 -1
  154. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js +34 -3
  155. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.js.map +1 -1
  156. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js +1 -1
  157. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.js.map +1 -1
  158. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.d.ts +20 -0
  159. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.d.ts.map +1 -0
  160. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.js +62 -0
  161. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.js.map +1 -0
  162. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.d.ts +1 -0
  163. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.d.ts.map +1 -1
  164. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js +14 -0
  165. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.js.map +1 -1
  166. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.d.ts.map +1 -1
  167. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js +3 -17
  168. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.js.map +1 -1
  169. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.d.ts.map +1 -1
  170. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js +7 -7
  171. package/lib/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.js.map +1 -1
  172. package/lib/index.d.ts +2 -2
  173. package/lib/index.d.ts.map +1 -1
  174. package/lib/index.js +2 -2
  175. package/lib/index.js.map +1 -1
  176. package/lib/package.json +3 -3
  177. package/package.json +6 -6
  178. package/src/graph/BasicModel.ts +33 -0
  179. package/src/graph/Core_HashUtils.ts +12 -2
  180. package/src/graph/DependencyManager.ts +10 -0
  181. package/src/graph/MetaModelConst.ts +1 -0
  182. package/src/graph/PureModel.ts +11 -0
  183. package/src/graph/helpers/DomainHelper.ts +6 -0
  184. package/src/graph/helpers/PureLanguageHelper.ts +1 -0
  185. package/src/graph/metamodel/pure/packageableElements/PackageableElement.ts +2 -0
  186. package/src/graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.ts +78 -0
  187. package/src/graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.ts +25 -0
  188. package/src/graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.ts +53 -0
  189. package/src/graph/metamodel/pure/packageableElements/store/relational/connection/RelationalDatabaseConnection.ts +1 -0
  190. package/src/graphManager/AbstractPureGraphManager.ts +1 -2
  191. package/src/graphManager/action/changeDetection/DSL_ExecutionEnvironment_ObseverHelper.ts +40 -0
  192. package/src/graphManager/action/changeDetection/GraphObserverHelper.ts +5 -0
  193. package/src/graphManager/action/changeDetection/PackageableElementObserver.ts +8 -0
  194. package/src/graphManager/action/changeDetection/STO_Relational_ObserverHelper.ts +47 -0
  195. package/src/graphManager/action/execution/ExecutionResult.ts +11 -4
  196. package/src/graphManager/action/service/ServiceRegistrationResult.ts +15 -0
  197. package/src/graphManager/protocol/pure/PureProtocolProcessorPlugin.ts +1 -1
  198. package/src/graphManager/protocol/pure/v1/V1_PureGraphManager.ts +39 -11
  199. package/src/graphManager/protocol/pure/v1/engine/V1_EngineHelper.ts +5 -2
  200. package/src/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionHelper.ts +17 -12
  201. package/src/graphManager/protocol/pure/v1/engine/execution/V1_ExecutionResult.ts +12 -4
  202. package/src/graphManager/protocol/pure/v1/model/packageableElements/V1_PackageableElement.ts +7 -3
  203. package/src/graphManager/protocol/pure/v1/model/packageableElements/service/V1_ExecutionEnvironmentInstance.ts +82 -0
  204. package/src/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.ts +16 -0
  205. package/src/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_DatasourceSpecification.ts +39 -0
  206. package/src/graphManager/protocol/pure/v1/model/packageableElements/store/relational/connection/V1_RelationalDatabaseConnection.ts +1 -0
  207. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ConnectionTransformer.ts +33 -0
  208. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_ExecutionEnvironmentTransformer.ts +72 -0
  209. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/from/V1_PackageableElementTransformer.ts +8 -0
  210. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFifthPassBuilder.ts +7 -0
  211. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFirstPassBuilder.ts +28 -0
  212. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementFourthPassBuilder.ts +7 -0
  213. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementSecondPassBuilder.ts +13 -0
  214. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ElementThirdPassBuilder.ts +7 -0
  215. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/V1_ExecutionEnvironmentBuilderHelper.ts +88 -0
  216. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_RelationalConnectionBuilderHelper.ts +46 -0
  217. package/src/graphManager/protocol/pure/v1/transformation/pureGraph/to/helpers/V1_ValueSpecificationBuilderHelper.ts +17 -21
  218. package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/V1_PackageableElementSerialization.ts +13 -0
  219. package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ConnectionSerializationHelper.ts +50 -0
  220. package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_CoreSerializationHelper.ts +1 -1
  221. package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.ts +122 -0
  222. package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_RuntimeSerializationHelper.ts +19 -0
  223. package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/V1_ServiceSerializationHelper.ts +3 -31
  224. package/src/graphManager/protocol/pure/v1/transformation/pureProtocol/serializationHelpers/executionPlan/V1_ExecutionPlanSerializationHelper.ts +9 -18
  225. package/src/index.ts +5 -6
  226. package/tsconfig.json +6 -1
  227. package/lib/graphManager/action/service/BulkServiceRegistrationResult.d.ts.map +0 -1
  228. package/lib/graphManager/action/service/BulkServiceRegistrationResult.js +0 -37
  229. package/lib/graphManager/action/service/BulkServiceRegistrationResult.js.map +0 -1
  230. package/src/graphManager/action/service/BulkServiceRegistrationResult.ts +0 -41
@@ -30,6 +30,8 @@ import {
30
30
  RedshiftDatasourceSpecification,
31
31
  BigQueryDatasourceSpecification,
32
32
  SpannerDatasourceSpecification,
33
+ TrinoDatasourceSpecification,
34
+ TrinoSslSpecification,
33
35
  } from '../../../../../../../../graph/metamodel/pure/packageableElements/store/relational/connection/DatasourceSpecification.js';
34
36
  import {
35
37
  type AuthenticationStrategy,
@@ -42,6 +44,7 @@ import {
42
44
  DelegatedKerberosAuthenticationStrategy,
43
45
  GCPWorkloadIdentityFederationAuthenticationStrategy,
44
46
  MiddleTierUsernamePasswordAuthenticationStrategy,
47
+ TrinoDelegatedKerberosAuthenticationStrategy,
45
48
  } from '../../../../../../../../graph/metamodel/pure/packageableElements/store/relational/connection/AuthenticationStrategy.js';
46
49
  import type { V1_GraphBuilderContext } from '../../../../transformation/pureGraph/to/V1_GraphBuilderContext.js';
47
50
  import {
@@ -54,6 +57,7 @@ import {
54
57
  V1_RedshiftDatasourceSpecification,
55
58
  V1_BigQueryDatasourceSpecification,
56
59
  V1_SpannerDatasourceSpecification,
60
+ V1_TrinoDatasourceSpecification,
57
61
  } from '../../../../model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js';
58
62
  import {
59
63
  type V1_AuthenticationStrategy,
@@ -66,6 +70,7 @@ import {
66
70
  V1_UsernamePasswordAuthenticationStrategy,
67
71
  V1_GCPWorkloadIdentityFederationAuthenticationStrategy,
68
72
  V1_MiddleTierUsernamePasswordAuthenticationStrategy,
73
+ V1_TrinoDelegatedKerberosAuthenticationStrategy,
69
74
  } from '../../../../model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js';
70
75
  import type { STO_Relational_PureProtocolProcessorPlugin_Extension } from '../../../../../extensions/STO_Relational_PureProtocolProcessorPlugin_Extension.js';
71
76
 
@@ -239,6 +244,35 @@ export const V1_buildDatasourceSpecification = (
239
244
  protocol.proxyPort,
240
245
  );
241
246
  return spannerSpec;
247
+ } else if (protocol instanceof V1_TrinoDatasourceSpecification) {
248
+ assertNonEmptyString(
249
+ protocol.host,
250
+ `Trino datasource specification 'host' field is missing or empty`,
251
+ );
252
+ assertNonNullable(
253
+ protocol.port,
254
+ `Trino datasource specification 'port' field is missing or empty`,
255
+ );
256
+ assertNonNullable(
257
+ protocol.sslSpecification.ssl,
258
+ `Trino datasource specification 'ssl' field is missing or empty`,
259
+ );
260
+ const sslSpecification = new TrinoSslSpecification(
261
+ protocol.sslSpecification.ssl,
262
+ );
263
+ sslSpecification.trustStorePathVaultReference =
264
+ protocol.sslSpecification.trustStorePathVaultReference;
265
+ sslSpecification.trustStorePasswordVaultReference =
266
+ protocol.sslSpecification.trustStorePasswordVaultReference;
267
+ const trinoSpec = new TrinoDatasourceSpecification(
268
+ protocol.host,
269
+ protocol.port,
270
+ sslSpecification,
271
+ );
272
+ trinoSpec.catalog = protocol.catalog;
273
+ trinoSpec.schema = protocol.schema;
274
+ trinoSpec.clientTags = protocol.clientTags;
275
+ return trinoSpec;
242
276
  }
243
277
  const extraConnectionDatasourceSpecificationBuilders =
244
278
  context.extensions.plugins.flatMap(
@@ -345,6 +379,18 @@ export const V1_buildAuthenticationStrategy = (
345
379
  return new MiddleTierUsernamePasswordAuthenticationStrategy(
346
380
  protocol.vaultReference,
347
381
  );
382
+ } else if (
383
+ protocol instanceof V1_TrinoDelegatedKerberosAuthenticationStrategy
384
+ ) {
385
+ assertNonEmptyString(
386
+ protocol.kerberosRemoteServiceName,
387
+ `Trino delegated kerberos authentication strategy 'kerberosRemoteServiceName' field is missing or empty`,
388
+ );
389
+
390
+ return new TrinoDelegatedKerberosAuthenticationStrategy(
391
+ protocol.kerberosRemoteServiceName,
392
+ protocol.kerberosUseCanonicalHostname,
393
+ );
348
394
  }
349
395
 
350
396
  const extraConnectionAuthenticationStrategyBuilders =
@@ -215,7 +215,8 @@ export class V1_ValueSpecificationBuilder
215
215
  this.processingContext,
216
216
  );
217
217
  this.processingContext.pop();
218
- return func[0];
218
+
219
+ return func;
219
220
  }
220
221
 
221
222
  visit_AppliedProperty(
@@ -553,25 +554,20 @@ export const V1_buildGenericFunctionExpression = (
553
554
  openVariables: string[],
554
555
  compileContext: V1_GraphBuilderContext,
555
556
  processingContext: V1_ProcessingContext,
556
- ): [SimpleFunctionExpression, ValueSpecification[]] => {
557
- const processedParams = parameters.map((parameter) =>
558
- parameter.accept_ValueSpecificationVisitor(
559
- new V1_ValueSpecificationBuilder(
560
- compileContext,
561
- processingContext,
562
- openVariables,
557
+ ): SimpleFunctionExpression =>
558
+ V1_buildBaseSimpleFunctionExpression(
559
+ parameters.map((parameter) =>
560
+ parameter.accept_ValueSpecificationVisitor(
561
+ new V1_ValueSpecificationBuilder(
562
+ compileContext,
563
+ processingContext,
564
+ openVariables,
565
+ ),
563
566
  ),
564
567
  ),
568
+ functionName,
569
+ compileContext,
565
570
  );
566
- return [
567
- V1_buildBaseSimpleFunctionExpression(
568
- processedParams,
569
- functionName,
570
- compileContext,
571
- ),
572
- processedParams,
573
- ];
574
- };
575
571
  /**
576
572
  * This is fairly similar to how engine does function matching in a way.
577
573
  * Notice that Studio core should not attempt to do any function inferencing/matching
@@ -586,7 +582,7 @@ export function V1_buildFunctionExpression(
586
582
  openVariables: string[],
587
583
  compileContext: V1_GraphBuilderContext,
588
584
  processingContext: V1_ProcessingContext,
589
- ): [SimpleFunctionExpression, ValueSpecification[]] {
585
+ ): SimpleFunctionExpression {
590
586
  if (
591
587
  matchFunctionName(functionName, [
592
588
  SUPPORTED_FUNCTIONS.TODAY,
@@ -600,7 +596,7 @@ export function V1_buildFunctionExpression(
600
596
  compileContext,
601
597
  processingContext,
602
598
  );
603
- expression[0].genericType = GenericTypeExplicitReference.create(
599
+ expression.genericType = GenericTypeExplicitReference.create(
604
600
  new GenericType(PrimitiveType.STRICTDATE),
605
601
  );
606
602
  return expression;
@@ -612,7 +608,7 @@ export function V1_buildFunctionExpression(
612
608
  compileContext,
613
609
  processingContext,
614
610
  );
615
- expression[0].genericType = GenericTypeExplicitReference.create(
611
+ expression.genericType = GenericTypeExplicitReference.create(
616
612
  new GenericType(PrimitiveType.DATETIME),
617
613
  );
618
614
  return expression;
@@ -632,7 +628,7 @@ export function V1_buildFunctionExpression(
632
628
  compileContext,
633
629
  processingContext,
634
630
  );
635
- expression[0].genericType = GenericTypeExplicitReference.create(
631
+ expression.genericType = GenericTypeExplicitReference.create(
636
632
  new GenericType(PrimitiveType.DATE),
637
633
  );
638
634
  return expression;
@@ -100,6 +100,11 @@ import {
100
100
  V1_dataElementModelSchema,
101
101
  V1_DATA_ELEMENT_PROTOCOL_TYPE,
102
102
  } from './serializationHelpers/V1_DataElementSerializationHelper.js';
103
+ import {
104
+ V1_executionEnvModelSchema,
105
+ V1_EXECUTION_ENVIRONMENT_ELEMENT_PROTOCOL_TYPE,
106
+ } from './serializationHelpers/V1_ExecutionEnvironmentSerializationHelper.js';
107
+ import type { V1_ExecutionEnvironmentInstance } from '../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
103
108
 
104
109
  class V1_PackageableElementSerializer
105
110
  implements V1_PackageableElementVisitor<PlainObject<V1_PackageableElement>>
@@ -174,6 +179,12 @@ class V1_PackageableElementSerializer
174
179
  return serialize(V1_serviceModelSchema(this.plugins), element);
175
180
  }
176
181
 
182
+ visit_ExecutionEnvironmentInstance(
183
+ element: V1_ExecutionEnvironmentInstance,
184
+ ): PlainObject<V1_ExecutionEnvironmentInstance> {
185
+ return serialize(V1_executionEnvModelSchema, element);
186
+ }
187
+
177
188
  visit_PackageableRuntime(
178
189
  element: V1_PackageableRuntime,
179
190
  ): PlainObject<V1_PackageableElement> {
@@ -268,6 +279,8 @@ export const V1_deserializePackageableElement = (
268
279
  return deserialize(V1_mappingModelSchema(plugins), json);
269
280
  case V1_SERVICE_ELEMENT_PROTOCOL_TYPE:
270
281
  return deserialize(V1_serviceModelSchema(plugins), json);
282
+ case V1_EXECUTION_ENVIRONMENT_ELEMENT_PROTOCOL_TYPE:
283
+ return deserialize(V1_executionEnvModelSchema, json);
271
284
  case V1_PACKAGEABLE_CONNECTION_ELEMENT_PROTOCOL_TYPE:
272
285
  return deserialize(V1_packageableConnectionModelSchema(plugins), json);
273
286
  case V1_PACKAGEABLE_RUNTIME_ELEMENT_PROTOCOL_TYPE:
@@ -28,6 +28,7 @@ import {
28
28
  import {
29
29
  type PlainObject,
30
30
  usingConstantValueSchema,
31
+ usingModelSchema,
31
32
  IllegalStateError,
32
33
  UnsupportedOperationError,
33
34
  customEquivalentList,
@@ -52,6 +53,8 @@ import {
52
53
  V1_EmbeddedH2DatasourceSpecification,
53
54
  V1_RedshiftDatasourceSpecification,
54
55
  V1_SpannerDatasourceSpecification,
56
+ V1_TrinoDatasourceSpecification,
57
+ V1_TrinoSslSpecification,
55
58
  } from '../../../model/packageableElements/store/relational/connection/V1_DatasourceSpecification.js';
56
59
  import {
57
60
  type V1_AuthenticationStrategy,
@@ -64,6 +67,7 @@ import {
64
67
  V1_UsernamePasswordAuthenticationStrategy,
65
68
  V1_GCPWorkloadIdentityFederationAuthenticationStrategy,
66
69
  V1_MiddleTierUsernamePasswordAuthenticationStrategy,
70
+ V1_TrinoDelegatedKerberosAuthenticationStrategy,
67
71
  } from '../../../model/packageableElements/store/relational/connection/V1_AuthenticationStrategy.js';
68
72
  import type { PureProtocolProcessorPlugin } from '../../../../PureProtocolProcessorPlugin.js';
69
73
  import type { STO_Relational_PureProtocolProcessorPlugin_Extension } from '../../../../extensions/STO_Relational_PureProtocolProcessorPlugin_Extension.js';
@@ -163,6 +167,7 @@ enum V1_DatasourceSpecificationType {
163
167
  REDSHIFT = 'redshift',
164
168
  BIGQUERY = 'bigQuery',
165
169
  SPANNER = 'spanner',
170
+ TRINO = 'Trino',
166
171
  }
167
172
 
168
173
  const staticDatasourceSpecificationModelSchema = createModelSchema(
@@ -260,6 +265,28 @@ const spannerDatasourceSpecificationModelSchema = createModelSchema(
260
265
  },
261
266
  );
262
267
 
268
+ const trinoSslSpecificationModelSchema = createModelSchema(
269
+ V1_TrinoSslSpecification,
270
+ {
271
+ ssl: primitive(),
272
+ trustStorePathVaultReference: optional(primitive()),
273
+ trustStorePasswordVaultReference: optional(primitive()),
274
+ },
275
+ );
276
+
277
+ const trinoDatasourceSpecificationModelSchema = createModelSchema(
278
+ V1_TrinoDatasourceSpecification,
279
+ {
280
+ _type: usingConstantValueSchema(V1_DatasourceSpecificationType.TRINO),
281
+ host: primitive(),
282
+ port: primitive(),
283
+ catalog: optional(primitive()),
284
+ schema: optional(primitive()),
285
+ clientTags: optional(primitive()),
286
+ sslSpecification: usingModelSchema(trinoSslSpecificationModelSchema),
287
+ },
288
+ );
289
+
263
290
  export const V1_serializeDatasourceSpecification = (
264
291
  protocol: V1_DatasourceSpecification,
265
292
  plugins: PureProtocolProcessorPlugin[],
@@ -280,6 +307,8 @@ export const V1_serializeDatasourceSpecification = (
280
307
  return serialize(redshiftDatasourceSpecificationModelSchema, protocol);
281
308
  } else if (protocol instanceof V1_SpannerDatasourceSpecification) {
282
309
  return serialize(spannerDatasourceSpecificationModelSchema, protocol);
310
+ } else if (protocol instanceof V1_TrinoDatasourceSpecification) {
311
+ return serialize(trinoDatasourceSpecificationModelSchema, protocol);
283
312
  }
284
313
  const extraConnectionDatasourceSpecificationProtocolSerializers =
285
314
  plugins.flatMap(
@@ -322,6 +351,8 @@ export const V1_deserializeDatasourceSpecification = (
322
351
  return deserialize(redshiftDatasourceSpecificationModelSchema, json);
323
352
  case V1_DatasourceSpecificationType.SPANNER:
324
353
  return deserialize(spannerDatasourceSpecificationModelSchema, json);
354
+ case V1_DatasourceSpecificationType.TRINO:
355
+ return deserialize(trinoDatasourceSpecificationModelSchema, json);
325
356
  default: {
326
357
  const extraConnectionDatasourceSpecificationProtocolDeserializers =
327
358
  plugins.flatMap(
@@ -356,6 +387,7 @@ enum V1_AuthenticationStrategyType {
356
387
  USERNAME_PASSWORD = 'userNamePassword',
357
388
  GCP_WORKLOAD_IDENTITY_FEDERATION = 'gcpWorkloadIdentityFederation',
358
389
  MIDDLE_TIER_USERNAME_PASSWORD = 'middleTierUserNamePassword',
390
+ TRINO_DELEGATED_KERBEROS = 'TrinoDelegatedKerberosAuth',
359
391
  }
360
392
 
361
393
  const V1_delegatedKerberosAuthenticationStrategyModelSchema = createModelSchema(
@@ -429,6 +461,15 @@ const V1_UsernamePasswordAuthenticationStrategyModelSchema = createModelSchema(
429
461
  },
430
462
  );
431
463
 
464
+ const V1_TrinoDelegatedKerberosAuthenticationStrategyModelSchema =
465
+ createModelSchema(V1_TrinoDelegatedKerberosAuthenticationStrategy, {
466
+ _type: usingConstantValueSchema(
467
+ V1_AuthenticationStrategyType.TRINO_DELEGATED_KERBEROS,
468
+ ),
469
+ kerberosRemoteServiceName: primitive(),
470
+ kerberosUseCanonicalHostname: optional(primitive()),
471
+ });
472
+
432
473
  const V1_oAuthAuthenticationStrategyModelSchema = createModelSchema(
433
474
  V1_OAuthAuthenticationStrategy,
434
475
  {
@@ -485,6 +526,13 @@ export const V1_serializeAuthenticationStrategy = (
485
526
  V1_MiddleTierUsernamePasswordAuthenticationStrategyModelSchema,
486
527
  protocol,
487
528
  );
529
+ } else if (
530
+ protocol instanceof V1_TrinoDelegatedKerberosAuthenticationStrategy
531
+ ) {
532
+ return serialize(
533
+ V1_TrinoDelegatedKerberosAuthenticationStrategyModelSchema,
534
+ protocol,
535
+ );
488
536
  }
489
537
  const extraConnectionAuthenticationStrategyProtocolSerializers =
490
538
  plugins.flatMap(
@@ -547,6 +595,8 @@ export const V1_deserializeAuthenticationStrategy = (
547
595
  V1_MiddleTierUsernamePasswordAuthenticationStrategyModelSchema,
548
596
  json,
549
597
  );
598
+ case V1_AuthenticationStrategyType.TRINO_DELEGATED_KERBEROS:
599
+ return deserialize(V1_TrinoDelegatedKerberosAuthenticationStrategy, json);
550
600
  default: {
551
601
  const extraConnectionAuthenticationStrategyProtocolDeserializers =
552
602
  plugins.flatMap(
@@ -34,7 +34,7 @@ export const V1_packageableElementPointerDeserializerSchema = createModelSchema(
34
34
  V1_PackageableElementPointer,
35
35
  {
36
36
  path: primitive(),
37
- type: primitive(),
37
+ type: optional(primitive()),
38
38
  },
39
39
  );
40
40
 
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import {
18
+ type PlainObject,
19
+ usingConstantValueSchema,
20
+ usingModelSchema,
21
+ UnsupportedOperationError,
22
+ } from '@finos/legend-shared';
23
+ import {
24
+ createModelSchema,
25
+ custom,
26
+ primitive,
27
+ list,
28
+ deserialize,
29
+ serialize,
30
+ } from 'serializr';
31
+ import {
32
+ V1_ExecutionEnvironmentInstance,
33
+ V1_MultiExecutionParameters,
34
+ V1_SingleExecutionParameters,
35
+ type V1_ExecutionParameters,
36
+ } from '../../../model/packageableElements/service/V1_ExecutionEnvironmentInstance.js';
37
+ import {
38
+ V1_deserializeRuntime,
39
+ V1_serializeRuntime,
40
+ } from './V1_RuntimeSerializationHelper.js';
41
+
42
+ export const V1_EXECUTION_ENVIRONMENT_ELEMENT_PROTOCOL_TYPE =
43
+ 'executionEnvironmentInstance';
44
+
45
+ enum V1_ExecEnvirParameterType {
46
+ PURE_SINGLE_EXECUTION = 'singleExecutionParameters',
47
+ PURE_MULTI_EXECUTION = 'multiExecutionParameters',
48
+ }
49
+
50
+ const V1_singleExecutionParametersModelSchema = createModelSchema(
51
+ V1_SingleExecutionParameters,
52
+ {
53
+ _type: usingConstantValueSchema(
54
+ V1_ExecEnvirParameterType.PURE_SINGLE_EXECUTION,
55
+ ),
56
+ key: primitive(),
57
+ mapping: primitive(),
58
+ runtime: custom(
59
+ (val) => V1_serializeRuntime(val),
60
+ (val) => V1_deserializeRuntime(val),
61
+ ),
62
+ },
63
+ );
64
+
65
+ export const V1_multiExecutionParametersmodelSchema = createModelSchema(
66
+ V1_MultiExecutionParameters,
67
+ {
68
+ _type: usingConstantValueSchema(
69
+ V1_ExecEnvirParameterType.PURE_MULTI_EXECUTION,
70
+ ),
71
+ masterKey: primitive(),
72
+ singleExecutionParameters: list(
73
+ usingModelSchema(V1_singleExecutionParametersModelSchema),
74
+ ),
75
+ },
76
+ );
77
+
78
+ const V1_serializeExecutionParameters = (
79
+ protocol: V1_ExecutionParameters,
80
+ ): PlainObject<V1_ExecutionParameters> => {
81
+ if (protocol instanceof V1_SingleExecutionParameters) {
82
+ return serialize(V1_singleExecutionParametersModelSchema, protocol);
83
+ } else if (protocol instanceof V1_MultiExecutionParameters) {
84
+ return serialize(V1_multiExecutionParametersmodelSchema, protocol);
85
+ }
86
+ throw new UnsupportedOperationError(
87
+ `Can't serialize excution env exec parameters`,
88
+ protocol,
89
+ );
90
+ };
91
+
92
+ const V1_deserializeExecutionParameters = (
93
+ json: PlainObject<V1_ExecutionParameters>,
94
+ ): V1_ExecutionParameters => {
95
+ switch (json._type) {
96
+ case V1_ExecEnvirParameterType.PURE_SINGLE_EXECUTION:
97
+ return deserialize(V1_singleExecutionParametersModelSchema, json);
98
+ case V1_ExecEnvirParameterType.PURE_MULTI_EXECUTION:
99
+ return deserialize(V1_multiExecutionParametersmodelSchema, json);
100
+ default:
101
+ throw new UnsupportedOperationError(
102
+ `Can't deserialize execution parameters of type '${json._type}'`,
103
+ );
104
+ }
105
+ };
106
+
107
+ export const V1_executionEnvModelSchema = createModelSchema(
108
+ V1_ExecutionEnvironmentInstance,
109
+ {
110
+ _type: usingConstantValueSchema(
111
+ V1_EXECUTION_ENVIRONMENT_ELEMENT_PROTOCOL_TYPE,
112
+ ),
113
+ name: primitive(),
114
+ executionParameters: list(
115
+ custom(
116
+ (val) => V1_serializeExecutionParameters(val),
117
+ (val) => V1_deserializeExecutionParameters(val),
118
+ ),
119
+ ),
120
+ package: primitive(),
121
+ },
122
+ );
@@ -109,9 +109,28 @@ export const V1_serializeRuntime = (
109
109
  } else if (protocol instanceof V1_RuntimePointer) {
110
110
  return serialize(V1_runtimePointerModelSchema, protocol);
111
111
  }
112
+ // NOTE: we don't want to serialize legacy runtime as we no longer want to circulate it any further
112
113
  throw new UnsupportedOperationError(`Can't serialize runtime`, protocol);
113
114
  };
114
115
 
116
+ export const V1_deserializeRuntime = (
117
+ json: PlainObject<V1_Runtime>,
118
+ ): V1_Runtime => {
119
+ switch (json._type) {
120
+ case V1_RuntimeType.RUNTIME_POINTER:
121
+ return deserialize(V1_runtimePointerModelSchema, json);
122
+ case V1_RuntimeType.ENGINE_RUNTIME:
123
+ return deserialize(V1_EngineRuntime, json);
124
+ case V1_RuntimeType.LEGACY_RUNTIME:
125
+ case undefined:
126
+ return deserialize(V1_LegacyRuntime, json);
127
+ default:
128
+ throw new UnsupportedOperationError(
129
+ `Can't deeserialize runtime of type '${json._type}'`,
130
+ );
131
+ }
132
+ };
133
+
115
134
  export const V1_packageableRuntimeModelSchema = createModelSchema(
116
135
  V1_PackageableRuntime,
117
136
  {
@@ -44,13 +44,7 @@ import {
44
44
  import { V1_Service } from '../../../model/packageableElements/service/V1_Service.js';
45
45
  import { V1_rawLambdaModelSchema } from './V1_RawValueSpecificationSerializationHelper.js';
46
46
  import {
47
- type V1_Runtime,
48
- V1_EngineRuntime,
49
- V1_LegacyRuntime,
50
- } from '../../../model/packageableElements/runtime/V1_Runtime.js';
51
- import {
52
- V1_runtimePointerModelSchema,
53
- V1_RuntimeType,
47
+ V1_deserializeRuntime,
54
48
  V1_serializeRuntime,
55
49
  } from './V1_RuntimeSerializationHelper.js';
56
50
  import { V1_ServiceTest } from '../../../model/packageableElements/service/V1_ServiceTest.js';
@@ -179,22 +173,6 @@ export const V1_serviceTestSuiteModelSchema = (
179
173
  ),
180
174
  });
181
175
 
182
- const V1_deserializeRuntime = (json: PlainObject<V1_Runtime>): V1_Runtime => {
183
- switch (json._type) {
184
- case V1_RuntimeType.RUNTIME_POINTER:
185
- return deserialize(V1_runtimePointerModelSchema, json);
186
- case V1_RuntimeType.ENGINE_RUNTIME:
187
- return deserialize(V1_EngineRuntime, json);
188
- case V1_RuntimeType.LEGACY_RUNTIME:
189
- case undefined:
190
- return deserialize(V1_LegacyRuntime, json);
191
- default:
192
- throw new UnsupportedOperationError(
193
- `Can't deeserialize runtime value of type '${json._type}'`,
194
- );
195
- }
196
- };
197
-
198
176
  const pureSingleExecutionModelSchema = createModelSchema(
199
177
  V1_PureSingleExecution,
200
178
  {
@@ -203,10 +181,7 @@ const pureSingleExecutionModelSchema = createModelSchema(
203
181
  ),
204
182
  func: usingModelSchema(V1_rawLambdaModelSchema),
205
183
  mapping: optional(primitive()),
206
- runtime: optionalCustom(
207
- (val) => V1_serializeRuntime(val),
208
- (val) => V1_deserializeRuntime(val),
209
- ),
184
+ runtime: optionalCustom(V1_serializeRuntime, V1_deserializeRuntime),
210
185
  },
211
186
  );
212
187
 
@@ -215,10 +190,7 @@ const keyedExecutionParamaterModelSchema = createModelSchema(
215
190
  {
216
191
  key: primitive(),
217
192
  mapping: primitive(),
218
- runtime: custom(
219
- (val) => V1_serializeRuntime(val),
220
- (val) => V1_deserializeRuntime(val),
221
- ),
193
+ runtime: optionalCustom(V1_serializeRuntime, V1_deserializeRuntime),
222
194
  },
223
195
  );
224
196
 
@@ -77,7 +77,7 @@ const TDSResultTypeModelSchema = createModelSchema(V1_TDSResultType, {
77
77
  tdsColumns: list(usingModelSchema(TDSColumnModelSchema)),
78
78
  });
79
79
 
80
- const V1_serializeExecutionResultType = (
80
+ const V1_serializeResultType = (
81
81
  protocol: V1_ResultType,
82
82
  ): PlainObject<V1_ResultType> => {
83
83
  if (protocol instanceof V1_DataTypeResultType) {
@@ -91,7 +91,7 @@ const V1_serializeExecutionResultType = (
91
91
  );
92
92
  };
93
93
 
94
- const V1_deserializeExecutionResultType = (
94
+ const V1_deserializeResultType = (
95
95
  json: PlainObject<V1_ResultType>,
96
96
  ): V1_ResultType => {
97
97
  switch (json._type) {
@@ -120,16 +120,10 @@ const relationalTDSInstantationExecutionNodeModelSchema = createModelSchema(
120
120
  V1_ExecutionNodeType.RELATIONAL_TDS_INSTANTIATION,
121
121
  ),
122
122
  executionNodes: list(
123
- custom(
124
- (val) => V1_serializeExecutionNode(val),
125
- (val) => V1_deserializeExecutionNode(val),
126
- ),
123
+ custom(V1_serializeExecutionNode, V1_deserializeExecutionNode),
127
124
  ),
128
125
  resultSizeRange: usingModelSchema(V1_multiplicitySchema),
129
- resultType: custom(
130
- (val) => V1_serializeExecutionResultType(val),
131
- (val) => V1_deserializeExecutionResultType(val),
132
- ),
126
+ resultType: custom(V1_serializeResultType, V1_deserializeResultType),
133
127
  },
134
128
  );
135
129
 
@@ -141,8 +135,8 @@ const SQLResultColumnModelSchema = createModelSchema(V1_SQLResultColumn, {
141
135
  const SQLExecutionNodeModelSchema = createModelSchema(V1_SQLExecutionNode, {
142
136
  _type: usingConstantValueSchema(V1_ExecutionNodeType.SQL),
143
137
  connection: custom(
144
- (val) => V1_serializeDatabaseConnectionValue(val),
145
- (val) => V1_deserializeDatabaseConnectionValue(val),
138
+ V1_serializeDatabaseConnectionValue,
139
+ V1_deserializeDatabaseConnectionValue,
146
140
  ),
147
141
  executionNodes: customList(
148
142
  V1_serializeExecutionNode,
@@ -152,10 +146,7 @@ const SQLExecutionNodeModelSchema = createModelSchema(V1_SQLExecutionNode, {
152
146
  onConnectionCloseRollbackQuery: optional(primitive()),
153
147
  resultColumns: list(usingModelSchema(SQLResultColumnModelSchema)),
154
148
  resultSizeRange: usingModelSchema(V1_multiplicitySchema),
155
- resultType: custom(
156
- (val) => V1_serializeExecutionResultType(val),
157
- (val) => V1_deserializeExecutionResultType(val),
158
- ),
149
+ resultType: custom(V1_serializeResultType, V1_deserializeResultType),
159
150
  sqlQuery: primitive(),
160
151
  });
161
152
 
@@ -209,8 +200,8 @@ const SimpleExecutionPlanModelSchema = createModelSchema(
209
200
  authDependent: primitive(),
210
201
  kerberos: optional(primitive()),
211
202
  rootExecutionNode: custom(
212
- (val) => V1_serializeExecutionNode(val),
213
- (val) => V1_deserializeExecutionNode(val),
203
+ V1_serializeExecutionNode,
204
+ V1_deserializeExecutionNode,
214
205
  ),
215
206
  serializer: usingModelSchema(V1_Protocol.serialization.schema),
216
207
  templateFunctions: list(primitive()),
package/src/index.ts CHANGED
@@ -69,7 +69,7 @@ export {
69
69
  TagReference,
70
70
  TagExplicitReference,
71
71
  } from './graph/metamodel/pure/packageableElements/domain/TagReference.js';
72
-
72
+ export * from './graph/metamodel/pure/packageableElements/service/ExecutionEnvironmentInstance.js';
73
73
  // --------------------------------------------- VALUE SPECIFICATION --------------------------------------------------
74
74
 
75
75
  // metamodels
@@ -203,12 +203,11 @@ export * from './graphManager/action/generation/DatabaseBuilderInput.js';
203
203
  export * from './graphManager/action/generation/GenerationConfigurationDescription.js';
204
204
  export { GenerationOutput } from './graphManager/action/generation/GenerationOutput.js';
205
205
  export { ServiceExecutionMode } from './graphManager/action/service/ServiceExecutionMode.js';
206
- export { ServiceRegistrationResult } from './graphManager/action/service/ServiceRegistrationResult.js';
207
206
  export {
208
- BulkServiceRegistrationResult,
209
- BulkRegistrationResultFail,
210
- BulkRegistrationResultSuccess,
211
- } from './graphManager/action/service/BulkServiceRegistrationResult.js';
207
+ ServiceRegistrationResult,
208
+ ServiceRegistrationFail,
209
+ ServiceRegistrationSuccess,
210
+ } from './graphManager/action/service/ServiceRegistrationResult.js';
212
211
  export { DEPRECATED__ServiceTestResult } from './graphManager/action/service/DEPRECATED__ServiceTestResult.js';
213
212
  export { SourceInformation } from './graphManager/action/SourceInformation.js';
214
213
  export * from './graphManager/protocol/pure/PureProtocolProcessorPlugin.js';