@mat3ra/wode 2026.5.23-0 → 2026.6.5-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 (360) hide show
  1. package/.babelrc +1 -1
  2. package/dist/js/Subworkflow.d.ts +714 -0
  3. package/dist/js/Subworkflow.js +397 -0
  4. package/dist/js/Workflow.d.ts +82 -0
  5. package/dist/js/Workflow.js +286 -0
  6. package/dist/js/WorkflowDesignerMaterial.d.ts +21 -0
  7. package/dist/js/WorkflowDesignerMaterial.js +26 -0
  8. package/dist/js/context/mixins/ApplicationContextMixin.d.ts +10 -0
  9. package/dist/js/context/mixins/ApplicationContextMixin.js +10 -17
  10. package/dist/js/context/mixins/MaterialContextMixin.d.ts +18 -0
  11. package/dist/js/context/mixins/MaterialContextMixin.js +14 -38
  12. package/dist/js/context/mixins/MaterialsContextMixin.d.ts +10 -0
  13. package/dist/js/context/mixins/MaterialsContextMixin.js +11 -17
  14. package/dist/js/context/mixins/MaterialsSetContextMixin.d.ts +14 -0
  15. package/dist/js/context/mixins/MaterialsSetContextMixin.js +21 -23
  16. package/dist/js/context/providers/BoundaryConditionsFormDataManager.d.ts +30 -0
  17. package/dist/js/context/providers/BoundaryConditionsFormDataManager.js +62 -0
  18. package/dist/js/context/providers/CollinearMagnetizationDataManager.d.ts +42 -0
  19. package/dist/js/context/providers/CollinearMagnetizationDataManager.js +101 -0
  20. package/dist/js/context/providers/Hubbard/HubbardContextManagerLegacy.d.ts +29 -0
  21. package/dist/js/context/providers/Hubbard/HubbardContextManagerLegacy.js +69 -0
  22. package/dist/js/context/providers/Hubbard/HubbardContextProvider.d.ts +20 -0
  23. package/dist/js/context/providers/Hubbard/HubbardContextProvider.js +47 -0
  24. package/dist/js/context/providers/Hubbard/HubbardJContextManager.d.ts +22 -0
  25. package/dist/js/context/providers/Hubbard/HubbardJContextManager.js +61 -0
  26. package/dist/js/context/providers/Hubbard/HubbardUContextManager.d.ts +22 -0
  27. package/dist/js/context/providers/Hubbard/HubbardUContextManager.js +57 -0
  28. package/dist/js/context/providers/Hubbard/HubbardVContextManager.d.ts +22 -0
  29. package/dist/js/context/providers/Hubbard/HubbardVContextManager.js +79 -0
  30. package/dist/js/context/providers/IonDynamicsDataManager.d.ts +27 -0
  31. package/dist/js/context/providers/IonDynamicsDataManager.js +48 -0
  32. package/dist/js/context/providers/MLSettingsDataManager.d.ts +24 -0
  33. package/dist/js/context/providers/MLSettingsDataManager.js +42 -0
  34. package/dist/js/context/providers/MLTrainTestSplitDataManager.d.ts +23 -0
  35. package/dist/js/context/providers/MLTrainTestSplitDataManager.js +40 -0
  36. package/dist/js/context/providers/NEBFormDataManager.d.ts +23 -0
  37. package/dist/js/context/providers/NEBFormDataManager.js +39 -0
  38. package/dist/js/context/providers/NonCollinearMagnetizationDataManager.d.ts +78 -0
  39. package/dist/js/context/providers/NonCollinearMagnetizationDataManager.js +181 -0
  40. package/dist/js/context/providers/PlanewaveCutoffDataManager.d.ts +26 -0
  41. package/dist/js/context/providers/PlanewaveCutoffDataManager.js +69 -0
  42. package/dist/js/context/providers/PointsGrid/IGridFormDataManager.d.ts +13 -0
  43. package/dist/js/context/providers/PointsGrid/IGridFormDataManager.js +23 -0
  44. package/dist/js/context/providers/PointsGrid/KGridFormDataManager.d.ts +15 -0
  45. package/dist/js/context/providers/PointsGrid/KGridFormDataManager.js +30 -0
  46. package/dist/js/context/providers/PointsGrid/PointsGridFormDataProvider.d.ts +171 -0
  47. package/dist/js/context/providers/PointsGrid/PointsGridFormDataProvider.js +270 -0
  48. package/dist/js/context/providers/PointsGrid/QGridFormDataManager.d.ts +13 -0
  49. package/dist/js/context/providers/PointsGrid/QGridFormDataManager.js +23 -0
  50. package/dist/js/context/providers/PointsPath/ExplicitKPath2PIBAFormDataManager.d.ts +10 -0
  51. package/dist/js/context/providers/PointsPath/ExplicitKPath2PIBAFormDataManager.js +19 -0
  52. package/dist/js/context/providers/PointsPath/ExplicitKPathFormDataManager.d.ts +9 -0
  53. package/dist/js/context/providers/PointsPath/ExplicitKPathFormDataManager.js +18 -0
  54. package/dist/js/context/providers/PointsPath/IPathFormDataManager.d.ts +8 -0
  55. package/dist/js/context/providers/PointsPath/IPathFormDataManager.js +17 -0
  56. package/dist/js/context/providers/PointsPath/KPathFormDataManager.d.ts +8 -0
  57. package/dist/js/context/providers/PointsPath/KPathFormDataManager.js +17 -0
  58. package/dist/js/context/providers/PointsPath/PointsPathFormDataProvider.d.ts +40 -0
  59. package/dist/js/context/providers/PointsPath/PointsPathFormDataProvider.js +125 -0
  60. package/dist/js/context/providers/PointsPath/QPathFormDataManager.d.ts +8 -0
  61. package/dist/js/context/providers/PointsPath/QPathFormDataManager.js +17 -0
  62. package/dist/js/context/providers/base/ContextProvider.d.ts +75 -0
  63. package/dist/js/context/providers/base/ContextProvider.js +87 -0
  64. package/dist/js/context/providers/base/JSONSchemaDataProvider.d.ts +16 -0
  65. package/dist/js/context/providers/base/JSONSchemaDataProvider.js +17 -0
  66. package/dist/js/context/providers/base/JSONSchemaFormDataProvider.d.ts +19 -0
  67. package/dist/js/context/providers/base/JSONSchemaFormDataProvider.js +32 -0
  68. package/dist/js/context/providers/by_application/espresso/QENEBInputDataManager.d.ts +26 -0
  69. package/dist/js/context/providers/by_application/espresso/QENEBInputDataManager.js +54 -0
  70. package/dist/js/context/providers/by_application/espresso/QEPWXInputDataManager.d.ts +78 -0
  71. package/dist/js/context/providers/by_application/espresso/QEPWXInputDataManager.js +104 -0
  72. package/dist/js/context/providers/by_application/nwchem/NWChemInputDataManager.d.ts +36 -0
  73. package/dist/js/context/providers/by_application/nwchem/NWChemInputDataManager.js +58 -0
  74. package/dist/js/context/providers/by_application/vasp/VASPInputDataManager.d.ts +36 -0
  75. package/dist/js/context/providers/by_application/vasp/VASPInputDataManager.js +56 -0
  76. package/dist/js/context/providers/by_application/vasp/VASPNEBInputDataManager.d.ts +30 -0
  77. package/dist/js/context/providers/by_application/vasp/VASPNEBInputDataManager.js +50 -0
  78. package/dist/js/context/providers/index.d.ts +92 -0
  79. package/dist/js/context/providers/index.js +107 -0
  80. package/dist/js/context/providers/settings.d.ts +7 -0
  81. package/dist/js/context/providers/settings.js +11 -33
  82. package/dist/js/convergence/ConvergenceParameter.d.ts +26 -0
  83. package/dist/js/convergence/ConvergenceParameter.js +13 -0
  84. package/dist/js/convergence/NonUniformKGridConvergence.d.ts +12 -0
  85. package/dist/js/convergence/NonUniformKGridConvergence.js +31 -0
  86. package/dist/js/convergence/UniformKGridConvergence.d.ts +8 -0
  87. package/dist/js/convergence/UniformKGridConvergence.js +22 -0
  88. package/dist/js/convergence/factory.d.ts +8 -0
  89. package/dist/js/convergence/factory.js +18 -0
  90. package/dist/js/enums.d.ts +62 -0
  91. package/dist/js/enums.js +66 -61
  92. package/dist/js/generated/AssertionUnitSchemaMixin.d.ts +5 -0
  93. package/dist/js/generated/AssertionUnitSchemaMixin.js +27 -0
  94. package/dist/js/generated/AssignmentUnitSchemaMixin.d.ts +5 -0
  95. package/dist/js/generated/AssignmentUnitSchemaMixin.js +33 -0
  96. package/dist/js/generated/BaseUnitSchemaMixin.d.ts +5 -0
  97. package/dist/js/generated/BaseUnitSchemaMixin.js +57 -0
  98. package/dist/js/generated/ConditionUnitSchemaMixin.d.ts +5 -0
  99. package/dist/js/generated/ConditionUnitSchemaMixin.js +51 -0
  100. package/dist/js/generated/ExecutionUnitInputSchemaMixin.d.ts +5 -0
  101. package/dist/js/generated/ExecutionUnitInputSchemaMixin.js +27 -0
  102. package/dist/js/generated/ExecutionUnitSchemaMixin.d.ts +5 -0
  103. package/dist/js/generated/ExecutionUnitSchemaMixin.js +45 -0
  104. package/dist/js/generated/IOUnitSchemaMixin.d.ts +5 -0
  105. package/dist/js/generated/IOUnitSchemaMixin.js +33 -0
  106. package/dist/js/generated/MapUnitSchemaMixin.d.ts +5 -0
  107. package/dist/js/generated/MapUnitSchemaMixin.js +27 -0
  108. package/dist/js/generated/ReduceUnitSchemaMixin.d.ts +5 -0
  109. package/dist/js/generated/ReduceUnitSchemaMixin.js +27 -0
  110. package/dist/js/generated/StatusSchemaMixin.d.ts +5 -0
  111. package/dist/js/generated/StatusSchemaMixin.js +21 -0
  112. package/dist/js/generated/SubworkflowSchemaMixin.d.ts +5 -0
  113. package/dist/js/generated/SubworkflowSchemaMixin.js +51 -0
  114. package/dist/js/generated/SubworkflowUnitSchemaMixin.d.ts +5 -0
  115. package/dist/js/generated/SubworkflowUnitSchemaMixin.js +15 -0
  116. package/dist/js/generated/WorkflowSchemaMixin.d.ts +5 -0
  117. package/dist/js/generated/WorkflowSchemaMixin.js +51 -0
  118. package/dist/js/index.d.ts +13 -0
  119. package/dist/js/index.js +66 -176
  120. package/dist/js/units/AssertionUnit.d.ts +20 -0
  121. package/dist/js/units/AssertionUnit.js +33 -0
  122. package/dist/js/units/AssignmentUnit.d.ts +17 -0
  123. package/dist/js/units/AssignmentUnit.js +35 -0
  124. package/dist/js/units/BaseUnit.d.ts +39 -0
  125. package/dist/js/units/BaseUnit.js +70 -0
  126. package/dist/js/units/ConditionUnit.d.ts +17 -0
  127. package/dist/js/units/ConditionUnit.js +37 -0
  128. package/dist/js/units/ExecutionUnit.d.ts +115 -0
  129. package/dist/js/units/ExecutionUnit.js +181 -0
  130. package/dist/js/units/ExecutionUnitInput.d.ts +22 -0
  131. package/dist/js/units/ExecutionUnitInput.js +47 -0
  132. package/dist/js/units/IOUnit.d.ts +16 -0
  133. package/dist/js/units/IOUnit.js +31 -0
  134. package/dist/js/units/MapUnit.d.ts +34 -0
  135. package/dist/js/units/MapUnit.js +46 -0
  136. package/dist/js/units/ReduceUnit.d.ts +16 -0
  137. package/dist/js/units/ReduceUnit.js +30 -0
  138. package/dist/js/units/SubworkflowUnit.d.ts +16 -0
  139. package/dist/js/units/SubworkflowUnit.js +28 -0
  140. package/dist/js/units/factory.d.ts +31 -0
  141. package/dist/js/units/factory.js +65 -47
  142. package/dist/js/units/index.d.ts +14 -0
  143. package/dist/js/units/index.js +25 -81
  144. package/dist/js/units/mixins/RuntimeItemsUILogicMixin.d.ts +26 -0
  145. package/dist/js/units/mixins/RuntimeItemsUILogicMixin.js +50 -0
  146. package/dist/js/utils/baseUnits.d.ts +2 -0
  147. package/dist/js/utils/baseUnits.js +11 -0
  148. package/dist/js/utils/index.d.ts +3 -0
  149. package/dist/js/utils/index.js +39 -0
  150. package/dist/js/utils/subworkflow.d.ts +2 -0
  151. package/dist/js/utils/subworkflow.js +29 -0
  152. package/dist/js/utils/underscoreStringSlugify.d.ts +6 -0
  153. package/dist/js/utils/underscoreStringSlugify.js +32 -0
  154. package/dist/js/utils/units.d.ts +4 -0
  155. package/dist/js/utils/units.js +16 -0
  156. package/dist/js/utils/workflow.d.ts +9 -0
  157. package/dist/js/utils/workflow.js +67 -0
  158. package/dist/js/workflows/default.d.ts +3 -0
  159. package/dist/js/workflows/default.js +43 -39
  160. package/dist/js/workflows/workflow.d.ts +4404 -0
  161. package/dist/js/workflows/workflow.js +310 -306
  162. package/package.json +56 -44
  163. package/src/js/Subworkflow.ts +532 -0
  164. package/src/js/Workflow.ts +390 -0
  165. package/src/js/context/mixins/ApplicationContextMixin.ts +21 -0
  166. package/src/js/context/mixins/MaterialContextMixin.ts +35 -0
  167. package/src/js/context/mixins/MaterialsContextMixin.ts +24 -0
  168. package/src/js/context/mixins/MaterialsSetContextMixin.ts +42 -0
  169. package/src/js/context/providers/BoundaryConditionsFormDataManager.ts +88 -0
  170. package/src/js/context/providers/CollinearMagnetizationDataManager.ts +140 -0
  171. package/src/js/context/providers/Hubbard/HubbardContextManagerLegacy.ts +93 -0
  172. package/src/js/context/providers/Hubbard/HubbardContextProvider.ts +85 -0
  173. package/src/js/context/providers/Hubbard/HubbardJContextManager.ts +82 -0
  174. package/src/js/context/providers/Hubbard/HubbardUContextManager.ts +78 -0
  175. package/src/js/context/providers/Hubbard/HubbardVContextManager.ts +100 -0
  176. package/src/js/context/providers/IonDynamicsDataManager.ts +64 -0
  177. package/src/js/context/providers/MLSettingsDataManager.ts +61 -0
  178. package/src/js/context/providers/MLTrainTestSplitDataManager.ts +59 -0
  179. package/src/js/context/providers/NEBFormDataManager.ts +57 -0
  180. package/src/js/context/providers/NonCollinearMagnetizationDataManager.ts +229 -0
  181. package/src/js/context/providers/PlanewaveCutoffDataManager.ts +110 -0
  182. package/src/js/context/providers/PointsGrid/IGridFormDataManager.ts +36 -0
  183. package/src/js/context/providers/PointsGrid/KGridFormDataManager.ts +46 -0
  184. package/src/js/context/providers/PointsGrid/PointsGridFormDataProvider.ts +371 -0
  185. package/src/js/context/providers/PointsGrid/QGridFormDataManager.ts +36 -0
  186. package/src/js/context/providers/PointsPath/ExplicitKPath2PIBAFormDataManager.ts +26 -0
  187. package/src/js/context/providers/PointsPath/ExplicitKPathFormDataManager.ts +24 -0
  188. package/src/js/context/providers/PointsPath/IPathFormDataManager.ts +22 -0
  189. package/src/js/context/providers/PointsPath/KPathFormDataManager.ts +22 -0
  190. package/src/js/context/providers/PointsPath/PointsPathFormDataProvider.ts +192 -0
  191. package/src/js/context/providers/PointsPath/QPathFormDataManager.ts +22 -0
  192. package/src/js/context/providers/base/ContextProvider.ts +150 -0
  193. package/src/js/context/providers/base/JSONSchemaDataProvider.ts +31 -0
  194. package/src/js/context/providers/base/JSONSchemaFormDataProvider.ts +38 -0
  195. package/src/js/context/providers/by_application/espresso/QENEBInputDataManager.ts +107 -0
  196. package/src/js/context/providers/by_application/espresso/QEPWXInputDataManager.ts +178 -0
  197. package/src/js/context/providers/by_application/nwchem/NWChemInputDataManager.ts +93 -0
  198. package/src/js/context/providers/by_application/vasp/VASPInputDataManager.ts +89 -0
  199. package/src/js/context/providers/by_application/vasp/VASPNEBInputDataManager.ts +92 -0
  200. package/src/js/context/providers/index.ts +155 -0
  201. package/src/js/context/providers/settings.ts +13 -0
  202. package/src/js/convergence/ConvergenceParameter.ts +37 -0
  203. package/src/js/convergence/NonUniformKGridConvergence.ts +38 -0
  204. package/src/js/convergence/UniformKGridConvergence.ts +26 -0
  205. package/src/js/convergence/factory.ts +18 -0
  206. package/src/js/{enums.js → enums.ts} +27 -22
  207. package/src/js/generated/AssertionUnitSchemaMixin.ts +34 -0
  208. package/src/js/generated/AssignmentUnitSchemaMixin.ts +40 -0
  209. package/src/js/generated/BaseUnitSchemaMixin.ts +64 -0
  210. package/src/js/generated/ConditionUnitSchemaMixin.ts +58 -0
  211. package/src/js/generated/ExecutionUnitInputSchemaMixin.ts +36 -0
  212. package/src/js/generated/ExecutionUnitSchemaMixin.ts +52 -0
  213. package/src/js/generated/IOUnitSchemaMixin.ts +40 -0
  214. package/src/js/generated/MapUnitSchemaMixin.ts +34 -0
  215. package/src/js/generated/ReduceUnitSchemaMixin.ts +34 -0
  216. package/src/js/generated/StatusSchemaMixin.ts +28 -0
  217. package/src/js/generated/SubworkflowSchemaMixin.ts +58 -0
  218. package/src/js/generated/SubworkflowUnitSchemaMixin.ts +22 -0
  219. package/src/js/generated/WorkflowSchemaMixin.ts +58 -0
  220. package/src/js/index.ts +44 -0
  221. package/src/js/units/AssertionUnit.ts +49 -0
  222. package/src/js/units/AssignmentUnit.ts +49 -0
  223. package/src/js/units/BaseUnit.ts +117 -0
  224. package/src/js/units/ConditionUnit.ts +52 -0
  225. package/src/js/units/ExecutionUnit.ts +274 -0
  226. package/src/js/units/ExecutionUnitInput.ts +71 -0
  227. package/src/js/units/IOUnit.ts +43 -0
  228. package/src/js/units/MapUnit.ts +59 -0
  229. package/src/js/units/ReduceUnit.ts +46 -0
  230. package/src/js/units/SubworkflowUnit.ts +44 -0
  231. package/src/js/units/factory.ts +131 -0
  232. package/src/js/units/index.ts +27 -0
  233. package/src/js/units/mixins/RuntimeItemsUILogicMixin.ts +81 -0
  234. package/src/js/utils/baseUnits.ts +11 -0
  235. package/src/js/utils/index.ts +3 -0
  236. package/src/js/utils/units.ts +23 -0
  237. package/src/js/utils/workflow.ts +69 -0
  238. package/src/js/workflows/{default.js → default.ts} +8 -1
  239. package/build_workflows.js +0 -65
  240. package/dist/js/context/context.js +0 -49
  241. package/dist/js/context/mixins/JobContextMixin.js +0 -39
  242. package/dist/js/context/mixins/MethodDataContextMixin.js +0 -48
  243. package/dist/js/context/mixins/WorkflowContextMixin.js +0 -28
  244. package/dist/js/context/providers/BoundaryConditionsFormDataProvider.js +0 -84
  245. package/dist/js/context/providers/CollinearMagnetizationContextProvider.js +0 -96
  246. package/dist/js/context/providers/HubbardContextProviderLegacy.js +0 -68
  247. package/dist/js/context/providers/HubbardJContextProvider.js +0 -67
  248. package/dist/js/context/providers/HubbardUContextProvider.js +0 -70
  249. package/dist/js/context/providers/HubbardVContextProvider.js +0 -92
  250. package/dist/js/context/providers/IonDynamicsContextProvider.js +0 -58
  251. package/dist/js/context/providers/MLSettingsContextProvider.js +0 -51
  252. package/dist/js/context/providers/MLTrainTestSplitContextProvider.js +0 -47
  253. package/dist/js/context/providers/NEBFormDataProvider.js +0 -42
  254. package/dist/js/context/providers/NonCollinearMagnetizationContextProvider.js +0 -187
  255. package/dist/js/context/providers/PlanewaveCutoffsContextProvider.js +0 -67
  256. package/dist/js/context/providers/PointsGridFormDataProvider.js +0 -263
  257. package/dist/js/context/providers/PointsPathFormDataProvider.js +0 -147
  258. package/dist/js/context/providers/by_application/ExecutableContextProvider.js +0 -25
  259. package/dist/js/context/providers/by_application/espresso/QENEBContextProvider.js +0 -61
  260. package/dist/js/context/providers/by_application/espresso/QEPWXContextProvider.js +0 -150
  261. package/dist/js/context/providers/by_application/nwchem/NWChemTotalEnergyContextProvider.js +0 -85
  262. package/dist/js/context/providers/by_application/vasp/VASPContextProvider.js +0 -65
  263. package/dist/js/context/providers/by_application/vasp/VASPNEBContextProvider.js +0 -57
  264. package/dist/js/context/providers.js +0 -199
  265. package/dist/js/patch.js +0 -19
  266. package/dist/js/subworkflows/convergence/non_uniform_kgrid.js +0 -31
  267. package/dist/js/subworkflows/convergence/parameter.js +0 -70
  268. package/dist/js/subworkflows/convergence/uniform_kgrid.js +0 -26
  269. package/dist/js/subworkflows/convergence.js +0 -189
  270. package/dist/js/subworkflows/create.js +0 -293
  271. package/dist/js/subworkflows/dynamic/espresso/getQpointIrrep.js +0 -34
  272. package/dist/js/subworkflows/dynamic/index.js +0 -19
  273. package/dist/js/subworkflows/dynamic/surfaceEnergy.js +0 -67
  274. package/dist/js/subworkflows/index.js +0 -19
  275. package/dist/js/units/assertion.js +0 -37
  276. package/dist/js/units/assignment.js +0 -42
  277. package/dist/js/units/base.js +0 -91
  278. package/dist/js/units/builders/AssertionUnitConfigBuilder.js +0 -34
  279. package/dist/js/units/builders/AssignmentUnitConfigBuilder.js +0 -41
  280. package/dist/js/units/builders/ExecutionUnitConfigBuilder.js +0 -67
  281. package/dist/js/units/builders/IOUnitConfigBuilder.js +0 -54
  282. package/dist/js/units/builders/UnitConfigBuilder.js +0 -85
  283. package/dist/js/units/builders/index.js +0 -18
  284. package/dist/js/units/condition.js +0 -52
  285. package/dist/js/units/execution.js +0 -225
  286. package/dist/js/units/io.js +0 -148
  287. package/dist/js/units/map.js +0 -38
  288. package/dist/js/units/processing.js +0 -41
  289. package/dist/js/units/reduce.js +0 -24
  290. package/dist/js/units/subworkflow.js +0 -23
  291. package/dist/js/workflows/create.js +0 -318
  292. package/dist/js/workflows/index.js +0 -113
  293. package/dist/js/workflows/relaxation.js +0 -38
  294. package/src/js/context/context.js +0 -47
  295. package/src/js/context/mixins/ApplicationContextMixin.js +0 -19
  296. package/src/js/context/mixins/JobContextMixin.js +0 -36
  297. package/src/js/context/mixins/MaterialContextMixin.js +0 -41
  298. package/src/js/context/mixins/MaterialsContextMixin.js +0 -18
  299. package/src/js/context/mixins/MaterialsSetContextMixin.js +0 -24
  300. package/src/js/context/mixins/MethodDataContextMixin.js +0 -48
  301. package/src/js/context/mixins/WorkflowContextMixin.js +0 -25
  302. package/src/js/context/providers/BoundaryConditionsFormDataProvider.js +0 -72
  303. package/src/js/context/providers/CollinearMagnetizationContextProvider.js +0 -105
  304. package/src/js/context/providers/HubbardContextProviderLegacy.js +0 -67
  305. package/src/js/context/providers/HubbardJContextProvider.js +0 -65
  306. package/src/js/context/providers/HubbardUContextProvider.js +0 -95
  307. package/src/js/context/providers/HubbardVContextProvider.js +0 -96
  308. package/src/js/context/providers/IonDynamicsContextProvider.js +0 -44
  309. package/src/js/context/providers/MLSettingsContextProvider.js +0 -45
  310. package/src/js/context/providers/MLTrainTestSplitContextProvider.js +0 -43
  311. package/src/js/context/providers/NEBFormDataProvider.js +0 -33
  312. package/src/js/context/providers/NonCollinearMagnetizationContextProvider.js +0 -179
  313. package/src/js/context/providers/PlanewaveCutoffsContextProvider.js +0 -65
  314. package/src/js/context/providers/PointsGridFormDataProvider.js +0 -271
  315. package/src/js/context/providers/PointsPathFormDataProvider.js +0 -163
  316. package/src/js/context/providers/by_application/ExecutableContextProvider.js +0 -17
  317. package/src/js/context/providers/by_application/espresso/QENEBContextProvider.js +0 -58
  318. package/src/js/context/providers/by_application/espresso/QEPWXContextProvider.js +0 -168
  319. package/src/js/context/providers/by_application/nwchem/NWChemTotalEnergyContextProvider.js +0 -89
  320. package/src/js/context/providers/by_application/vasp/VASPContextProvider.js +0 -58
  321. package/src/js/context/providers/by_application/vasp/VASPNEBContextProvider.js +0 -48
  322. package/src/js/context/providers/settings.js +0 -38
  323. package/src/js/context/providers.js +0 -140
  324. package/src/js/index.js +0 -57
  325. package/src/js/patch.js +0 -12
  326. package/src/js/subworkflows/convergence/enums.js +0 -12
  327. package/src/js/subworkflows/convergence/factory.js +0 -15
  328. package/src/js/subworkflows/convergence/non_uniform_kgrid.js +0 -28
  329. package/src/js/subworkflows/convergence/parameter.js +0 -58
  330. package/src/js/subworkflows/convergence/uniform_kgrid.js +0 -22
  331. package/src/js/subworkflows/convergence.js +0 -196
  332. package/src/js/subworkflows/create.js +0 -220
  333. package/src/js/subworkflows/dynamic/espresso/getQpointIrrep.js +0 -35
  334. package/src/js/subworkflows/dynamic/index.js +0 -8
  335. package/src/js/subworkflows/dynamic/surfaceEnergy.js +0 -124
  336. package/src/js/subworkflows/index.js +0 -2
  337. package/src/js/subworkflows/subworkflow.js +0 -345
  338. package/src/js/units/assertion.js +0 -29
  339. package/src/js/units/assignment.js +0 -34
  340. package/src/js/units/base.js +0 -97
  341. package/src/js/units/builders/AssertionUnitConfigBuilder.js +0 -28
  342. package/src/js/units/builders/AssignmentUnitConfigBuilder.js +0 -36
  343. package/src/js/units/builders/ExecutionUnitConfigBuilder.js +0 -59
  344. package/src/js/units/builders/IOUnitConfigBuilder.js +0 -53
  345. package/src/js/units/builders/UnitConfigBuilder.js +0 -92
  346. package/src/js/units/builders/index.js +0 -15
  347. package/src/js/units/condition.js +0 -47
  348. package/src/js/units/execution.js +0 -267
  349. package/src/js/units/factory.js +0 -53
  350. package/src/js/units/index.js +0 -25
  351. package/src/js/units/io.js +0 -163
  352. package/src/js/units/map.js +0 -33
  353. package/src/js/units/processing.js +0 -39
  354. package/src/js/units/reduce.js +0 -17
  355. package/src/js/units/subworkflow.js +0 -15
  356. package/src/js/utils.js +0 -73
  357. package/src/js/workflows/create.js +0 -227
  358. package/src/js/workflows/index.js +0 -98
  359. package/src/js/workflows/relaxation.js +0 -42
  360. package/src/js/workflows/workflow.js +0 -388
@@ -0,0 +1,397 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ade_1 = require("@mat3ra/ade");
7
+ const entity_1 = require("@mat3ra/code/dist/js/entity");
8
+ const DefaultableMixin_1 = require("@mat3ra/code/dist/js/entity/mixins/DefaultableMixin");
9
+ const HashedEntityMixin_1 = require("@mat3ra/code/dist/js/entity/mixins/HashedEntityMixin");
10
+ const NamedEntityMixin_1 = require("@mat3ra/code/dist/js/entity/mixins/NamedEntityMixin");
11
+ const JSONSchemasInterface_1 = __importDefault(require("@mat3ra/esse/dist/js/esse/JSONSchemasInterface"));
12
+ const compute_1 = require("@mat3ra/ide/dist/js/compute");
13
+ const mode_1 = require("@mat3ra/mode");
14
+ const standata_1 = require("@mat3ra/standata");
15
+ const utils_1 = require("@mat3ra/utils");
16
+ const factory_1 = require("./convergence/factory");
17
+ const enums_1 = require("./enums");
18
+ const SubworkflowSchemaMixin_1 = require("./generated/SubworkflowSchemaMixin");
19
+ const units_1 = require("./units");
20
+ class Subworkflow extends entity_1.InMemoryEntity {
21
+ static get jsonSchema() {
22
+ return JSONSchemasInterface_1.default.getSchemaById("workflow/subworkflow");
23
+ }
24
+ constructor(config, _ModelFactory = mode_1.ModelFactory) {
25
+ super(config);
26
+ this.properties = [];
27
+ this.repetition = 0;
28
+ this.ModelFactory = _ModelFactory;
29
+ this.applicationInstance = new ade_1.Application(this.application);
30
+ this.modelInstance = this.ModelFactory.create({
31
+ ...this.model,
32
+ application: this.application,
33
+ });
34
+ this.setUnits(this.units.map((cfg) => units_1.UnitFactory.createInSubworkflow(cfg)));
35
+ }
36
+ static get defaultConfig() {
37
+ const defaultName = "New Subworkflow";
38
+ return {
39
+ _id: utils_1.Utils.uuid.getUUID(),
40
+ name: defaultName,
41
+ application: new standata_1.ApplicationRegistry().getDefaultApplication(),
42
+ // TODO: confirm if `functional` is required field. If not, update ESSE schema
43
+ // `Model.defaultConfig` from @mat3ra/mode may omit `functional`; ESSE subworkflow schema requires it once schemas are registered.
44
+ model: { ...mode_1.Model.defaultConfig, functional: "pbe" },
45
+ properties: [],
46
+ units: [],
47
+ };
48
+ }
49
+ setRepetition(repetition) {
50
+ this.repetition = repetition;
51
+ this.unitsInstances.forEach((u) => u.setRepetition(repetition));
52
+ }
53
+ getAsUnit() {
54
+ return new units_1.SubworkflowUnit({
55
+ type: enums_1.UnitType.subworkflow,
56
+ _id: this.id,
57
+ name: this.name,
58
+ preProcessors: [],
59
+ postProcessors: [],
60
+ monitors: [],
61
+ results: [],
62
+ flowchartId: "",
63
+ });
64
+ }
65
+ setApplication(application) {
66
+ // TODO: adjust the logic above to take into account whether units need re-rendering after version change etc.
67
+ // reset units if application name changes
68
+ const previousApplicationName = this.application.name;
69
+ this.applicationInstance = application;
70
+ if (previousApplicationName !== application.name) {
71
+ // TODO: figure out how to set a default unit per new application instead of removing all
72
+ this.setUnits([]);
73
+ }
74
+ else {
75
+ // propagate new application version to all units
76
+ this.unitsInstances
77
+ .filter((unit) => unit.type === enums_1.UnitType.execution)
78
+ .forEach((unit) => {
79
+ unit.setApplication({ application });
80
+ });
81
+ }
82
+ this.application = application.toJSON();
83
+ // set model to the default one for the application selected
84
+ this.setModel(this.ModelFactory.createFromApplication({
85
+ application: this.application,
86
+ }));
87
+ }
88
+ setModel(model) {
89
+ this.modelInstance = model;
90
+ this.model = model.toJSON();
91
+ }
92
+ buildExternalContext(context) {
93
+ const subworkflowContext = this.units
94
+ .filter((u) => u.type === enums_1.UnitType.assignment)
95
+ .reduce((acc, u) => {
96
+ return {
97
+ ...acc,
98
+ [u.operand]: u.value,
99
+ };
100
+ }, {});
101
+ return {
102
+ ...context,
103
+ application: this.applicationInstance.toJSON(),
104
+ methodData: this.model.method.data,
105
+ subworkflowContext,
106
+ };
107
+ }
108
+ render(context) {
109
+ const ctx = this.buildExternalContext(context);
110
+ this.unitsInstances.forEach((u) => {
111
+ if (u.type === enums_1.UnitType.execution) {
112
+ u.render(ctx);
113
+ }
114
+ });
115
+ // Keep serialized `units` in sync with instances after execution units update `input`.
116
+ this.units = this.unitsInstances.map((u) => u.toJSON());
117
+ }
118
+ /**
119
+ * TODO: reuse workflow function instead
120
+ */
121
+ addUnit(unit, index = -1) {
122
+ const { unitsInstances } = this;
123
+ if (unitsInstances.length === 0) {
124
+ this.setUnits([unit]);
125
+ }
126
+ else {
127
+ if (index >= 0) {
128
+ unitsInstances.splice(index, 0, unit);
129
+ }
130
+ else {
131
+ unitsInstances.push(unit);
132
+ }
133
+ this.setUnits(unitsInstances);
134
+ }
135
+ }
136
+ setUnits(units) {
137
+ this.unitsInstances = (0, standata_1.setUnitLinks)(units);
138
+ this.units = units.map((x) => x.toJSON());
139
+ this.properties = units.map((x) => x.resultNames).flat();
140
+ }
141
+ removeUnit(flowchartId) {
142
+ const previousUnit = this.unitsInstances.find((x) => x.next === flowchartId);
143
+ if (previousUnit) {
144
+ previousUnit.unsetProp("next");
145
+ }
146
+ this.setUnits(this.unitsInstances.filter((x) => x.flowchartId !== flowchartId));
147
+ }
148
+ getUnit(flowchartId) {
149
+ return this.unitsInstances.find((x) => x.flowchartId === flowchartId);
150
+ }
151
+ unitIndex(flowchartId) {
152
+ return this.units.findIndex((unit) => {
153
+ return unit.flowchartId === flowchartId;
154
+ });
155
+ }
156
+ replaceUnit(index, unit) {
157
+ this.unitsInstances[index] = unit;
158
+ this.setUnits([...this.unitsInstances]);
159
+ }
160
+ setIsDraft(bool) {
161
+ this.isDraft = bool;
162
+ }
163
+ get methodData() {
164
+ return this.modelInstance.Method.data;
165
+ }
166
+ /**
167
+ * @summary
168
+ * Returns object for hashing of the workflow. Meaningful fields are units, app and model.
169
+ * units must be sorted topologically before hashing (already sorted).
170
+ */
171
+ getHashObject() {
172
+ return {
173
+ application: this.applicationInstance.calculateHash(),
174
+ model: this.modelInstance.calculateHash(),
175
+ units: this.unitsInstances.map((u) => u.calculateHash()).join(),
176
+ };
177
+ }
178
+ findUnitById(id) {
179
+ // TODO: come back and refactor after converting flowchartId to id
180
+ return this.units.find((u) => u.flowchartId === id);
181
+ }
182
+ findUnitKeyById(id) {
183
+ const index = this.units.findIndex((u) => u.flowchartId === id);
184
+ return `units.${index}`;
185
+ }
186
+ findUnitWithTag(tag) {
187
+ return this.units
188
+ .filter((unit) => unit.type === enums_1.UnitType.assignment)
189
+ .find((unit) => { var _a; return (_a = unit.tags) === null || _a === void 0 ? void 0 : _a.includes(tag); });
190
+ }
191
+ get hasConvergence() {
192
+ return !!this.convergenceParam && !!this.convergenceResult;
193
+ }
194
+ get convergenceParam() {
195
+ var _a;
196
+ return (_a = this.findUnitWithTag(enums_1.UnitTag.hasConvergenceParam)) === null || _a === void 0 ? void 0 : _a.operand;
197
+ }
198
+ get convergenceResult() {
199
+ var _a;
200
+ return (_a = this.findUnitWithTag(enums_1.UnitTag.hasConvergenceResult)) === null || _a === void 0 ? void 0 : _a.operand;
201
+ }
202
+ convergenceSeries(scopeTrack) {
203
+ if (!this.hasConvergence || !(scopeTrack === null || scopeTrack === void 0 ? void 0 : scopeTrack.length)) {
204
+ return [];
205
+ }
206
+ let prevResult;
207
+ return scopeTrack
208
+ .map((scopeItem, i) => {
209
+ var _a, _b;
210
+ return {
211
+ x: i,
212
+ // TODO: fix types
213
+ // @ts-ignore
214
+ param: (_a = scopeItem.scope) === null || _a === void 0 ? void 0 : _a.global[this.convergenceParam],
215
+ // @ts-ignore
216
+ y: (_b = scopeItem.scope) === null || _b === void 0 ? void 0 : _b.global[this.convergenceResult],
217
+ };
218
+ })
219
+ .filter(({ y }) => {
220
+ const changed = prevResult !== y;
221
+ prevResult = y;
222
+ return changed;
223
+ })
224
+ .map((item, i) => {
225
+ return {
226
+ x: i + 1,
227
+ param: item.param,
228
+ y: item.y,
229
+ };
230
+ });
231
+ }
232
+ updateMethodData(materials, metaProperties) {
233
+ const method = this.modelInstance.Method;
234
+ const { model } = this;
235
+ const uniqueElements = [...new Set(materials.map((m) => m.uniqueElements).flat())];
236
+ const appName = this.application.name;
237
+ const methodDataItems = metaProperties
238
+ .filter((metaProperty) => {
239
+ return (
240
+ // @ts-ignore TODO: fix types
241
+ uniqueElements.includes(metaProperty.data.element) &&
242
+ metaProperty.data.apps.includes(appName));
243
+ })
244
+ .map((metaProperty) => metaProperty.property);
245
+ if (method.type !== "pseudopotential" || !methodDataItems.length) {
246
+ return;
247
+ }
248
+ const filters = {
249
+ appName,
250
+ exchangeCorrelation: {
251
+ approximation: model.subtype,
252
+ functional: "functional" in model ? model.functional : undefined,
253
+ },
254
+ };
255
+ // We cycle materials in reverse order below b/c of render(),
256
+ // since the default state index is zero, the last material thus corresponds to index 0.
257
+ // Without reversing, context providers in workflow consider material as changed when any update to the workflow
258
+ // is triggered.
259
+ // TODO: figure out how to simplify or remove the need for the above
260
+ (materials || [])
261
+ .concat()
262
+ .reverse()
263
+ .forEach((material) => {
264
+ // updates methodData & overwrites method in subworkflow.model
265
+ method.updateMethodDataByApplicationAndMaterials(methodDataItems, {
266
+ elements: material.uniqueElements,
267
+ ...filters,
268
+ });
269
+ this.modelInstance.setMethod(method);
270
+ this.model = this.modelInstance.toJSON();
271
+ });
272
+ // TODO: Try if/else instead of running both
273
+ if (materials.length > 1) {
274
+ method.updateMethodDataByApplicationAndMaterials(methodDataItems, {
275
+ elements: uniqueElements,
276
+ ...filters,
277
+ });
278
+ this.modelInstance.setMethod(method);
279
+ this.model = this.modelInstance.toJSON();
280
+ }
281
+ }
282
+ addConvergence({ parameter, parameterInitial, parameterIncrement, result, resultInitial, condition, operator, tolerance, maxOccurrences, externalContext, }) {
283
+ // Find unit to converge: should contain passed result in its results list
284
+ // TODO: make user to select unit for convergence explicitly
285
+ const unitForConvergence = this.unitsInstances
286
+ .filter((x) => x.type === enums_1.UnitType.execution)
287
+ .find((x) => {
288
+ return x.resultNames.find((name) => name === result);
289
+ });
290
+ if (!unitForConvergence) {
291
+ throw new Error(`Subworkflow does not contain unit with '${result}' as extracted property.`);
292
+ }
293
+ // initialize parameter
294
+ const convergenceParameter = (0, factory_1.createConvergenceParameter)({
295
+ name: parameter,
296
+ initialValue: parameterInitial,
297
+ increment: parameterIncrement,
298
+ });
299
+ const context = this.buildExternalContext(externalContext);
300
+ unitForConvergence.render(context, convergenceParameter);
301
+ const prevResult = "prev_result";
302
+ const iteration = "iteration";
303
+ // Assignment with result's initial value
304
+ const prevResultInit = new units_1.AssignmentUnit({
305
+ name: "init result",
306
+ head: true,
307
+ operand: prevResult,
308
+ value: resultInitial,
309
+ });
310
+ // Assignment with initial value of convergence parameter
311
+ const paramInit = new units_1.AssignmentUnit({
312
+ name: "init parameter",
313
+ operand: convergenceParameter.name,
314
+ value: convergenceParameter.initialValue,
315
+ tags: [enums_1.UnitTag.hasConvergenceParam],
316
+ });
317
+ // Assignment with initial value of iteration counter
318
+ const iterInit = new units_1.AssignmentUnit({
319
+ name: "init counter",
320
+ operand: iteration,
321
+ value: 1,
322
+ });
323
+ // Assignment for storing iteration result: extracts 'result' from convergence unit scope
324
+ const storePrevResult = new units_1.AssignmentUnit({
325
+ name: "store result",
326
+ input: [
327
+ {
328
+ scope: unitForConvergence.flowchartId,
329
+ name: result,
330
+ },
331
+ ],
332
+ operand: prevResult,
333
+ value: result,
334
+ });
335
+ // Assignment for convergence param increase
336
+ const nextStep = new units_1.AssignmentUnit({
337
+ name: "update parameter",
338
+ input: convergenceParameter.useVariablesFromUnitContext(unitForConvergence.flowchartId),
339
+ operand: convergenceParameter.name,
340
+ value: convergenceParameter.increment,
341
+ next: unitForConvergence.flowchartId,
342
+ });
343
+ // Final step of convergence
344
+ const exit = new units_1.AssignmentUnit({
345
+ name: "exit",
346
+ input: [],
347
+ operand: convergenceParameter.name,
348
+ value: convergenceParameter.finalValue,
349
+ });
350
+ // Final step of convergence
351
+ const storeResult = new units_1.AssignmentUnit({
352
+ name: "update result",
353
+ input: [
354
+ {
355
+ scope: unitForConvergence.flowchartId,
356
+ name: result,
357
+ },
358
+ ],
359
+ operand: result,
360
+ value: result,
361
+ tags: [enums_1.UnitTag.hasConvergenceResult],
362
+ });
363
+ // Assign next iteration value
364
+ const nextIter = new units_1.AssignmentUnit({
365
+ name: "update counter",
366
+ input: [],
367
+ operand: iteration,
368
+ value: `${iteration} + 1`,
369
+ });
370
+ // Convergence condition unit
371
+ const conditionUnit = new units_1.ConditionUnit({
372
+ name: "check convergence",
373
+ statement: `${condition} ${operator} ${tolerance}`,
374
+ then: exit.flowchartId,
375
+ else: storePrevResult.flowchartId,
376
+ maxOccurrences,
377
+ next: storePrevResult.flowchartId,
378
+ });
379
+ this.addUnit(paramInit, 0);
380
+ this.addUnit(prevResultInit, 1);
381
+ this.addUnit(iterInit, 2);
382
+ this.addUnit(storeResult);
383
+ this.addUnit(conditionUnit);
384
+ this.addUnit(storePrevResult);
385
+ this.addUnit(nextIter);
386
+ this.addUnit(nextStep);
387
+ this.addUnit(exit);
388
+ // `addUnit` adjusts the `next` field, hence the below.
389
+ nextStep.next = unitForConvergence.flowchartId;
390
+ }
391
+ }
392
+ (0, NamedEntityMixin_1.namedEntityMixin)(Subworkflow.prototype);
393
+ (0, DefaultableMixin_1.defaultableEntityMixin)(Subworkflow);
394
+ (0, compute_1.computedEntityMixin)(Subworkflow.prototype);
395
+ (0, SubworkflowSchemaMixin_1.subworkflowSchemaMixin)(Subworkflow.prototype);
396
+ (0, HashedEntityMixin_1.hashedEntityMixin)(Subworkflow.prototype);
397
+ exports.default = Subworkflow;
@@ -0,0 +1,82 @@
1
+ import { type NamedInMemoryEntity, InMemoryEntity } from "@mat3ra/code/dist/js/entity";
2
+ import { type Defaultable } from "@mat3ra/code/dist/js/entity/mixins/DefaultableMixin";
3
+ import { type HasDescription } from "@mat3ra/code/dist/js/entity/mixins/HasDescriptionMixin";
4
+ import { type HashedEntity } from "@mat3ra/code/dist/js/entity/mixins/HashedEntityMixin";
5
+ import { Taggable } from "@mat3ra/code/dist/js/entity/mixins/TaggableMixin";
6
+ import type { AnyObject } from "@mat3ra/esse/dist/js/esse/types";
7
+ import type { ApplicationSchema, WorkflowSchema } from "@mat3ra/esse/dist/js/types";
8
+ import { ComputedEntityMixin } from "@mat3ra/ide/dist/js/compute";
9
+ import type { Material } from "@mat3ra/made";
10
+ import type { MetaPropertyHolder } from "@mat3ra/prode";
11
+ import type { MaterialExternalContext } from "./context/mixins/MaterialContextMixin";
12
+ import type { MaterialsExternalContext } from "./context/mixins/MaterialsContextMixin";
13
+ import type { MaterialsSetExternalContext } from "./context/mixins/MaterialsSetContextMixin";
14
+ import type { JobExternalContext } from "./context/providers/by_application/espresso/QEPWXInputDataManager";
15
+ import { UnitType } from "./enums";
16
+ import { type WorkflowSchemaMixin } from "./generated/WorkflowSchemaMixin";
17
+ import Subworkflow from "./Subworkflow";
18
+ import { MapUnit } from "./units";
19
+ import { type AnyWorkflowUnit } from "./units/factory";
20
+ interface Workflow extends Defaultable, NamedInMemoryEntity, WorkflowSchemaMixin, Taggable, HashedEntity, ComputedEntityMixin, HasDescription {
21
+ compute: WorkflowSchema["compute"];
22
+ }
23
+ /** Context passed to Workflow.render() before `workflowHasRelaxation` is injected for subworkflows. */
24
+ export type WorkflowRenderContext = MaterialExternalContext & MaterialsExternalContext & MaterialsSetExternalContext & JobExternalContext;
25
+ declare class Workflow extends InMemoryEntity implements WorkflowSchema {
26
+ createDefault: () => Workflow;
27
+ static readonly defaultConfig: WorkflowSchema;
28
+ _json: WorkflowSchema & AnyObject;
29
+ static get jsonSchema(): import("json-schema").JSONSchema7 | undefined;
30
+ subworkflowInstances: Subworkflow[];
31
+ unitInstances: AnyWorkflowUnit[];
32
+ workflowInstances: Workflow[];
33
+ repetition: number;
34
+ totalRepetitions: number;
35
+ setTotalRepetitions(totalRepetition: number): void;
36
+ setRepetition(repetition: number): void;
37
+ static fromSubworkflow(subworkflow: Subworkflow): Workflow;
38
+ constructor(config: WorkflowSchema & {
39
+ applicationName?: string;
40
+ });
41
+ get workflows(): WorkflowSchema[];
42
+ set workflows(value: WorkflowSchema[]);
43
+ addSubworkflow(subworkflow: Subworkflow, head?: boolean, index?: number): void;
44
+ updateMethodData(materials: Material[], metaProperties: MetaPropertyHolder[]): void;
45
+ removeSubworkflow(id: string): void;
46
+ setUnits(arr: AnyWorkflowUnit[]): void;
47
+ /**
48
+ * A top-level subworkflow branch is represented twice: a {@link UnitType.subworkflow} unit in
49
+ * `unitInstances` (flowchart card) and a full {@link Subworkflow} in `subworkflowInstances`
50
+ * (linked by the same `id` as {@link Subworkflow.getAsUnit}). Their display names must match
51
+ * so `toJSON()` and editors stay consistent. Call this after mutating a subworkflow unit's
52
+ * `name` (and updating `unitInstances` via {@link setUnits}).
53
+ */
54
+ syncLinkedSubworkflowNameFromUnit(unit: AnyWorkflowUnit): void;
55
+ render(context: WorkflowRenderContext): void;
56
+ get usedApplications(): ApplicationSchema[];
57
+ get usedApplicationNames(): string[];
58
+ get usedApplicationVersions(): string[];
59
+ get usedApplicationNamesWithVersions(): string[];
60
+ getUsedModels(): ("dft" | "ml" | "unknown")[];
61
+ getHumanReadableUsedModels(): string[];
62
+ toJSON(): WorkflowSchema & AnyObject;
63
+ getHumanReadableProperties(): string[];
64
+ getProperties(): string[];
65
+ getSystemName(): string;
66
+ getDefaultDescription(): string;
67
+ private addUnit;
68
+ removeUnit(flowchartId: string): void;
69
+ addUnitType(type: UnitType, head?: boolean, index?: number): void;
70
+ addMapUnit(mapUnit: MapUnit, mapWorkflow: Workflow): void;
71
+ get allSubworkflows(): Subworkflow[];
72
+ get hasRelaxation(): boolean;
73
+ toggleRelaxation(): void;
74
+ getHashObject(): {
75
+ units: string;
76
+ subworkflows: string;
77
+ workflows: string;
78
+ };
79
+ private getStandataRelaxationSubworkflow;
80
+ private getRelaxationSubworkflow;
81
+ }
82
+ export default Workflow;