@mat3ra/wode 2026.4.9-0 → 2026.5.29-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 (361) 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/utils.js +2 -7
  159. package/dist/js/workflows/default.d.ts +3 -0
  160. package/dist/js/workflows/default.js +43 -39
  161. package/dist/js/workflows/workflow.d.ts +4404 -0
  162. package/dist/js/workflows/workflow.js +310 -306
  163. package/package.json +56 -44
  164. package/src/js/Subworkflow.ts +532 -0
  165. package/src/js/Workflow.ts +390 -0
  166. package/src/js/context/mixins/ApplicationContextMixin.ts +21 -0
  167. package/src/js/context/mixins/MaterialContextMixin.ts +35 -0
  168. package/src/js/context/mixins/MaterialsContextMixin.ts +24 -0
  169. package/src/js/context/mixins/MaterialsSetContextMixin.ts +42 -0
  170. package/src/js/context/providers/BoundaryConditionsFormDataManager.ts +88 -0
  171. package/src/js/context/providers/CollinearMagnetizationDataManager.ts +140 -0
  172. package/src/js/context/providers/Hubbard/HubbardContextManagerLegacy.ts +93 -0
  173. package/src/js/context/providers/Hubbard/HubbardContextProvider.ts +85 -0
  174. package/src/js/context/providers/Hubbard/HubbardJContextManager.ts +82 -0
  175. package/src/js/context/providers/Hubbard/HubbardUContextManager.ts +78 -0
  176. package/src/js/context/providers/Hubbard/HubbardVContextManager.ts +100 -0
  177. package/src/js/context/providers/IonDynamicsDataManager.ts +64 -0
  178. package/src/js/context/providers/MLSettingsDataManager.ts +61 -0
  179. package/src/js/context/providers/MLTrainTestSplitDataManager.ts +59 -0
  180. package/src/js/context/providers/NEBFormDataManager.ts +57 -0
  181. package/src/js/context/providers/NonCollinearMagnetizationDataManager.ts +229 -0
  182. package/src/js/context/providers/PlanewaveCutoffDataManager.ts +110 -0
  183. package/src/js/context/providers/PointsGrid/IGridFormDataManager.ts +36 -0
  184. package/src/js/context/providers/PointsGrid/KGridFormDataManager.ts +46 -0
  185. package/src/js/context/providers/PointsGrid/PointsGridFormDataProvider.ts +371 -0
  186. package/src/js/context/providers/PointsGrid/QGridFormDataManager.ts +36 -0
  187. package/src/js/context/providers/PointsPath/ExplicitKPath2PIBAFormDataManager.ts +26 -0
  188. package/src/js/context/providers/PointsPath/ExplicitKPathFormDataManager.ts +24 -0
  189. package/src/js/context/providers/PointsPath/IPathFormDataManager.ts +22 -0
  190. package/src/js/context/providers/PointsPath/KPathFormDataManager.ts +22 -0
  191. package/src/js/context/providers/PointsPath/PointsPathFormDataProvider.ts +192 -0
  192. package/src/js/context/providers/PointsPath/QPathFormDataManager.ts +22 -0
  193. package/src/js/context/providers/base/ContextProvider.ts +150 -0
  194. package/src/js/context/providers/base/JSONSchemaDataProvider.ts +31 -0
  195. package/src/js/context/providers/base/JSONSchemaFormDataProvider.ts +38 -0
  196. package/src/js/context/providers/by_application/espresso/QENEBInputDataManager.ts +107 -0
  197. package/src/js/context/providers/by_application/espresso/QEPWXInputDataManager.ts +178 -0
  198. package/src/js/context/providers/by_application/nwchem/NWChemInputDataManager.ts +93 -0
  199. package/src/js/context/providers/by_application/vasp/VASPInputDataManager.ts +89 -0
  200. package/src/js/context/providers/by_application/vasp/VASPNEBInputDataManager.ts +92 -0
  201. package/src/js/context/providers/index.ts +155 -0
  202. package/src/js/context/providers/settings.ts +13 -0
  203. package/src/js/convergence/ConvergenceParameter.ts +37 -0
  204. package/src/js/convergence/NonUniformKGridConvergence.ts +38 -0
  205. package/src/js/convergence/UniformKGridConvergence.ts +26 -0
  206. package/src/js/convergence/factory.ts +18 -0
  207. package/src/js/{enums.js → enums.ts} +27 -22
  208. package/src/js/generated/AssertionUnitSchemaMixin.ts +34 -0
  209. package/src/js/generated/AssignmentUnitSchemaMixin.ts +40 -0
  210. package/src/js/generated/BaseUnitSchemaMixin.ts +64 -0
  211. package/src/js/generated/ConditionUnitSchemaMixin.ts +58 -0
  212. package/src/js/generated/ExecutionUnitInputSchemaMixin.ts +36 -0
  213. package/src/js/generated/ExecutionUnitSchemaMixin.ts +52 -0
  214. package/src/js/generated/IOUnitSchemaMixin.ts +40 -0
  215. package/src/js/generated/MapUnitSchemaMixin.ts +34 -0
  216. package/src/js/generated/ReduceUnitSchemaMixin.ts +34 -0
  217. package/src/js/generated/StatusSchemaMixin.ts +28 -0
  218. package/src/js/generated/SubworkflowSchemaMixin.ts +58 -0
  219. package/src/js/generated/SubworkflowUnitSchemaMixin.ts +22 -0
  220. package/src/js/generated/WorkflowSchemaMixin.ts +58 -0
  221. package/src/js/index.ts +44 -0
  222. package/src/js/units/AssertionUnit.ts +49 -0
  223. package/src/js/units/AssignmentUnit.ts +49 -0
  224. package/src/js/units/BaseUnit.ts +117 -0
  225. package/src/js/units/ConditionUnit.ts +52 -0
  226. package/src/js/units/ExecutionUnit.ts +274 -0
  227. package/src/js/units/ExecutionUnitInput.ts +71 -0
  228. package/src/js/units/IOUnit.ts +43 -0
  229. package/src/js/units/MapUnit.ts +59 -0
  230. package/src/js/units/ReduceUnit.ts +46 -0
  231. package/src/js/units/SubworkflowUnit.ts +44 -0
  232. package/src/js/units/factory.ts +131 -0
  233. package/src/js/units/index.ts +27 -0
  234. package/src/js/units/mixins/RuntimeItemsUILogicMixin.ts +81 -0
  235. package/src/js/utils/baseUnits.ts +11 -0
  236. package/src/js/utils/index.ts +3 -0
  237. package/src/js/utils/units.ts +23 -0
  238. package/src/js/utils/workflow.ts +69 -0
  239. package/src/js/workflows/{default.js → default.ts} +8 -1
  240. package/build_workflows.js +0 -65
  241. package/dist/js/context/context.js +0 -49
  242. package/dist/js/context/mixins/JobContextMixin.js +0 -39
  243. package/dist/js/context/mixins/MethodDataContextMixin.js +0 -48
  244. package/dist/js/context/mixins/WorkflowContextMixin.js +0 -28
  245. package/dist/js/context/providers/BoundaryConditionsFormDataProvider.js +0 -84
  246. package/dist/js/context/providers/CollinearMagnetizationContextProvider.js +0 -96
  247. package/dist/js/context/providers/HubbardContextProviderLegacy.js +0 -68
  248. package/dist/js/context/providers/HubbardJContextProvider.js +0 -67
  249. package/dist/js/context/providers/HubbardUContextProvider.js +0 -70
  250. package/dist/js/context/providers/HubbardVContextProvider.js +0 -92
  251. package/dist/js/context/providers/IonDynamicsContextProvider.js +0 -58
  252. package/dist/js/context/providers/MLSettingsContextProvider.js +0 -51
  253. package/dist/js/context/providers/MLTrainTestSplitContextProvider.js +0 -47
  254. package/dist/js/context/providers/NEBFormDataProvider.js +0 -42
  255. package/dist/js/context/providers/NonCollinearMagnetizationContextProvider.js +0 -187
  256. package/dist/js/context/providers/PlanewaveCutoffsContextProvider.js +0 -67
  257. package/dist/js/context/providers/PointsGridFormDataProvider.js +0 -263
  258. package/dist/js/context/providers/PointsPathFormDataProvider.js +0 -147
  259. package/dist/js/context/providers/by_application/ExecutableContextProvider.js +0 -25
  260. package/dist/js/context/providers/by_application/espresso/QENEBContextProvider.js +0 -61
  261. package/dist/js/context/providers/by_application/espresso/QEPWXContextProvider.js +0 -150
  262. package/dist/js/context/providers/by_application/nwchem/NWChemTotalEnergyContextProvider.js +0 -85
  263. package/dist/js/context/providers/by_application/vasp/VASPContextProvider.js +0 -65
  264. package/dist/js/context/providers/by_application/vasp/VASPNEBContextProvider.js +0 -57
  265. package/dist/js/context/providers.js +0 -199
  266. package/dist/js/patch.js +0 -19
  267. package/dist/js/subworkflows/convergence/non_uniform_kgrid.js +0 -31
  268. package/dist/js/subworkflows/convergence/parameter.js +0 -70
  269. package/dist/js/subworkflows/convergence/uniform_kgrid.js +0 -26
  270. package/dist/js/subworkflows/convergence.js +0 -189
  271. package/dist/js/subworkflows/create.js +0 -293
  272. package/dist/js/subworkflows/dynamic/espresso/getQpointIrrep.js +0 -34
  273. package/dist/js/subworkflows/dynamic/index.js +0 -19
  274. package/dist/js/subworkflows/dynamic/surfaceEnergy.js +0 -67
  275. package/dist/js/subworkflows/index.js +0 -19
  276. package/dist/js/units/assertion.js +0 -37
  277. package/dist/js/units/assignment.js +0 -42
  278. package/dist/js/units/base.js +0 -91
  279. package/dist/js/units/builders/AssertionUnitConfigBuilder.js +0 -34
  280. package/dist/js/units/builders/AssignmentUnitConfigBuilder.js +0 -41
  281. package/dist/js/units/builders/ExecutionUnitConfigBuilder.js +0 -67
  282. package/dist/js/units/builders/IOUnitConfigBuilder.js +0 -54
  283. package/dist/js/units/builders/UnitConfigBuilder.js +0 -85
  284. package/dist/js/units/builders/index.js +0 -18
  285. package/dist/js/units/condition.js +0 -52
  286. package/dist/js/units/execution.js +0 -225
  287. package/dist/js/units/io.js +0 -148
  288. package/dist/js/units/map.js +0 -38
  289. package/dist/js/units/processing.js +0 -41
  290. package/dist/js/units/reduce.js +0 -24
  291. package/dist/js/units/subworkflow.js +0 -23
  292. package/dist/js/workflows/create.js +0 -318
  293. package/dist/js/workflows/index.js +0 -113
  294. package/dist/js/workflows/relaxation.js +0 -38
  295. package/src/js/context/context.js +0 -47
  296. package/src/js/context/mixins/ApplicationContextMixin.js +0 -19
  297. package/src/js/context/mixins/JobContextMixin.js +0 -36
  298. package/src/js/context/mixins/MaterialContextMixin.js +0 -41
  299. package/src/js/context/mixins/MaterialsContextMixin.js +0 -18
  300. package/src/js/context/mixins/MaterialsSetContextMixin.js +0 -24
  301. package/src/js/context/mixins/MethodDataContextMixin.js +0 -48
  302. package/src/js/context/mixins/WorkflowContextMixin.js +0 -25
  303. package/src/js/context/providers/BoundaryConditionsFormDataProvider.js +0 -72
  304. package/src/js/context/providers/CollinearMagnetizationContextProvider.js +0 -105
  305. package/src/js/context/providers/HubbardContextProviderLegacy.js +0 -67
  306. package/src/js/context/providers/HubbardJContextProvider.js +0 -65
  307. package/src/js/context/providers/HubbardUContextProvider.js +0 -95
  308. package/src/js/context/providers/HubbardVContextProvider.js +0 -96
  309. package/src/js/context/providers/IonDynamicsContextProvider.js +0 -44
  310. package/src/js/context/providers/MLSettingsContextProvider.js +0 -45
  311. package/src/js/context/providers/MLTrainTestSplitContextProvider.js +0 -43
  312. package/src/js/context/providers/NEBFormDataProvider.js +0 -33
  313. package/src/js/context/providers/NonCollinearMagnetizationContextProvider.js +0 -179
  314. package/src/js/context/providers/PlanewaveCutoffsContextProvider.js +0 -65
  315. package/src/js/context/providers/PointsGridFormDataProvider.js +0 -271
  316. package/src/js/context/providers/PointsPathFormDataProvider.js +0 -163
  317. package/src/js/context/providers/by_application/ExecutableContextProvider.js +0 -17
  318. package/src/js/context/providers/by_application/espresso/QENEBContextProvider.js +0 -58
  319. package/src/js/context/providers/by_application/espresso/QEPWXContextProvider.js +0 -168
  320. package/src/js/context/providers/by_application/nwchem/NWChemTotalEnergyContextProvider.js +0 -89
  321. package/src/js/context/providers/by_application/vasp/VASPContextProvider.js +0 -58
  322. package/src/js/context/providers/by_application/vasp/VASPNEBContextProvider.js +0 -48
  323. package/src/js/context/providers/settings.js +0 -38
  324. package/src/js/context/providers.js +0 -140
  325. package/src/js/index.js +0 -57
  326. package/src/js/patch.js +0 -12
  327. package/src/js/subworkflows/convergence/enums.js +0 -12
  328. package/src/js/subworkflows/convergence/factory.js +0 -15
  329. package/src/js/subworkflows/convergence/non_uniform_kgrid.js +0 -28
  330. package/src/js/subworkflows/convergence/parameter.js +0 -58
  331. package/src/js/subworkflows/convergence/uniform_kgrid.js +0 -22
  332. package/src/js/subworkflows/convergence.js +0 -196
  333. package/src/js/subworkflows/create.js +0 -220
  334. package/src/js/subworkflows/dynamic/espresso/getQpointIrrep.js +0 -35
  335. package/src/js/subworkflows/dynamic/index.js +0 -8
  336. package/src/js/subworkflows/dynamic/surfaceEnergy.js +0 -124
  337. package/src/js/subworkflows/index.js +0 -2
  338. package/src/js/subworkflows/subworkflow.js +0 -345
  339. package/src/js/units/assertion.js +0 -29
  340. package/src/js/units/assignment.js +0 -34
  341. package/src/js/units/base.js +0 -97
  342. package/src/js/units/builders/AssertionUnitConfigBuilder.js +0 -28
  343. package/src/js/units/builders/AssignmentUnitConfigBuilder.js +0 -36
  344. package/src/js/units/builders/ExecutionUnitConfigBuilder.js +0 -59
  345. package/src/js/units/builders/IOUnitConfigBuilder.js +0 -53
  346. package/src/js/units/builders/UnitConfigBuilder.js +0 -92
  347. package/src/js/units/builders/index.js +0 -15
  348. package/src/js/units/condition.js +0 -47
  349. package/src/js/units/execution.js +0 -267
  350. package/src/js/units/factory.js +0 -53
  351. package/src/js/units/index.js +0 -25
  352. package/src/js/units/io.js +0 -163
  353. package/src/js/units/map.js +0 -33
  354. package/src/js/units/processing.js +0 -39
  355. package/src/js/units/reduce.js +0 -17
  356. package/src/js/units/subworkflow.js +0 -15
  357. package/src/js/utils.js +0 -73
  358. package/src/js/workflows/create.js +0 -227
  359. package/src/js/workflows/index.js +0 -98
  360. package/src/js/workflows/relaxation.js +0 -42
  361. package/src/js/workflows/workflow.js +0 -388
@@ -1,39 +0,0 @@
1
- import { UNIT_TYPES } from "../enums";
2
- import { BaseUnit } from "./base";
3
-
4
- export class ProcessingUnit extends BaseUnit {
5
- constructor(config) {
6
- super({ ...ProcessingUnit.getProcessingConfig(), ...config });
7
- }
8
-
9
- static getProcessingConfig() {
10
- return {
11
- name: UNIT_TYPES.processing,
12
- type: UNIT_TYPES.processing,
13
- };
14
- }
15
-
16
- setOperation(op) {
17
- this.setProp("operation", op);
18
- }
19
-
20
- setOperationType(type) {
21
- this.setProp("operationType", type);
22
- }
23
-
24
- setInput(input) {
25
- this.setProp("input", input);
26
- }
27
-
28
- get operation() {
29
- return this.prop("operation");
30
- }
31
-
32
- get operationType() {
33
- return this.prop("operationType");
34
- }
35
-
36
- get input() {
37
- return this.prop("input");
38
- }
39
- }
@@ -1,17 +0,0 @@
1
- import { UNIT_TYPES } from "../enums";
2
- import { BaseUnit } from "./base";
3
-
4
- export class ReduceUnit extends BaseUnit {
5
- constructor(unitName, mapUnit, input) {
6
- super({ ...ReduceUnit.getReduceConfig(unitName, mapUnit, input) });
7
- }
8
-
9
- static getReduceConfig(unitName, mapUnit, input) {
10
- return {
11
- type: UNIT_TYPES.reduce,
12
- name: unitName,
13
- mapFlowchartId: mapUnit,
14
- input,
15
- };
16
- }
17
- }
@@ -1,15 +0,0 @@
1
- import { UNIT_TYPES } from "../enums";
2
- import { BaseUnit } from "./base";
3
-
4
- export class SubworkflowUnit extends BaseUnit {
5
- constructor(config) {
6
- super({ ...SubworkflowUnit.getSubworkflowConfig(), ...config });
7
- }
8
-
9
- static getSubworkflowConfig() {
10
- return {
11
- name: "New Subworkflow",
12
- type: UNIT_TYPES.subworkflow,
13
- };
14
- }
15
- }
package/src/js/utils.js DELETED
@@ -1,73 +0,0 @@
1
- import lodash from "lodash";
2
-
3
- /**
4
- * @summary set the head of an array of units
5
- * @param units
6
- * @returns {Unit[]}
7
- */
8
- export function setUnitsHead(units) {
9
- if (units.length > 0) {
10
- units[0].head = true;
11
- lodash.tail(units).map((x) => (x.head = false));
12
- }
13
- return units;
14
- }
15
-
16
- // TODO: fix setNextLinks on unit removal and convergence logic.
17
- /**
18
- * @summary Re-establishes the linked `next => flowchartId` logic in an array of units
19
- * @params units {Unit[]}
20
- * @returns units {Unit[]}
21
- */
22
- export function setNextLinks(units) {
23
- const flowchartIds = units.map((u) => u.flowchartId);
24
- for (let i = 0; i < units.length - 1; i++) {
25
- if (!units[i].next) {
26
- // newly added units don't have next set yet => set it
27
- units[i].next = units[i + 1].flowchartId;
28
- if (i > 0) units[i - 1].next = units[i].flowchartId;
29
- } else if (!flowchartIds.includes(units[i].next)) {
30
- // newly removed units may create broken next links => fix it
31
- units[i].next = units[i + 1].flowchartId;
32
- }
33
- }
34
- return units;
35
- }
36
-
37
- /**
38
- * @summary Apply configuration data to an object
39
- * @param obj {*} object / class containing methods or attributes to be set
40
- * @param config { functions: {}, attributes: {} } functions to call and attributes to set
41
- * @param callBuild {boolean} if true; call build between applying functions and attributes
42
- * @returns {*} updated object
43
- */
44
- export function applyConfig({ obj, config = {}, callBuild = false }) {
45
- const { functions = {}, attributes = {} } = config;
46
- // eslint-disable-next-line no-restricted-syntax
47
- for (const [func, args] of Object.entries(functions)) {
48
- // eslint-disable-next-line no-nested-ternary
49
- if (obj[func]) {
50
- if (args) obj[func](args);
51
- else obj[func]();
52
- }
53
- }
54
- const modified = callBuild ? obj.build() : obj;
55
- // eslint-disable-next-line no-restricted-syntax
56
- for (const [key, values] of Object.entries(attributes)) {
57
- modified[key] = values;
58
- }
59
- return modified;
60
- }
61
-
62
- /**
63
- * @summary Safely extract unit object from subworkflow data
64
- * @param subworkflowData {Object} subworkflow data
65
- * @param index {number} index of subworkflow unit
66
- * @param type {string} type of subworkflow unit
67
- * @returns {Object|null} subworkflow unit object (not a unit class instance!)
68
- */
69
- export function findUnit({ subworkflowData, index, type }) {
70
- const unit = subworkflowData.units[index];
71
- if (unit.type !== type) throw new Error("findUnit() error: unit type does not match!");
72
- return unit;
73
- }
@@ -1,227 +0,0 @@
1
- import { createSubworkflow } from "../subworkflows/create";
2
- import { UnitFactory } from "../units";
3
- import { defaultMapConfig } from "../units/map";
4
- import { applyConfig, findUnit } from "../utils";
5
- import { Workflow } from "./workflow";
6
-
7
- /**
8
- * @summary Helper for creating Map units for complex workflows
9
- * @param config {Object} map unit configuration
10
- * @param unitFactoryCls {*} class factory for map unit
11
- * @returns {*} map unit
12
- */
13
- function createMapUnit({ config, unitFactoryCls = UnitFactory }) {
14
- let { input: defaultInput } = defaultMapConfig;
15
- if (config.input) {
16
- defaultInput = { ...defaultInput, ...config.input };
17
- }
18
- const unit = unitFactoryCls.create({ ...defaultMapConfig, input: defaultInput });
19
- return unit;
20
- }
21
-
22
- /**
23
- * @summary Update subworkflow units with patch configuration defined in the workflow config
24
- * @param subworkflowData {Object} subworkflow data
25
- * @param unitConfigs {Array<Object>} array of patch configs for subworkflow units
26
- * @returns subworkflowData {Object} subworkflowData with patches applied to units
27
- */
28
- function updateUnitConfigs({ subworkflowData, unitConfigs }) {
29
- unitConfigs.forEach((config) => {
30
- const { index, type, config: unitConfig } = config; // unitConfig should contain 'attributes' key
31
- const unit = findUnit({ subworkflowData, index, type });
32
- console.log(` patching ${type} unit ${index} of subworkflow ${subworkflowData.name}`);
33
- unit.config = applyConfig({ obj: unit.config, config: unitConfig });
34
- return null;
35
- });
36
- return subworkflowData;
37
- }
38
-
39
- /**
40
- * @summary Use subworkflow.createSubworkflow to create a Subworkflow unit
41
- * @param appName {String} application name
42
- * @param unitData {*} object containing subworkflow configuration data
43
- * @param workflowData {*} object containing all workflow configuration data
44
- * @param swArgs {*} subworkflow classes
45
- * @returns {*} subworkflow object
46
- */
47
- function createSubworkflowUnit({ appName, unitData, workflowData, cache, ...swArgs }) {
48
- const { name: unitName, unitConfigs, config } = unitData;
49
- const { subworkflows } = workflowData;
50
- const { [appName]: dataByApp } = subworkflows;
51
- let { [unitName]: subworkflowData } = dataByApp;
52
- subworkflowData.config = { ...subworkflowData.config, ...config };
53
- if (unitConfigs) subworkflowData = updateUnitConfigs({ subworkflowData, unitConfigs });
54
- return createSubworkflow({
55
- subworkflowData,
56
- cache,
57
- ...swArgs,
58
- });
59
- }
60
-
61
- /**
62
- * @summary Create the first workflow object specified in a workflow configuration
63
- * @param workflow {*|null} the workflow (if already initialized, no-op)
64
- * @param unit {*} workflow unit object
65
- * @param type {String} value in ["workflow", "subworkflow"]
66
- * @param workflowCls {*} workflow class
67
- * @returns {Workflow|*} workflow object
68
- */
69
- function createWorkflowHead({ workflow, unit, type, workflowCls }) {
70
- if (workflow) return workflow;
71
- let wf;
72
- switch (type) {
73
- case "workflow":
74
- wf = unit;
75
- break;
76
- case "subworkflow":
77
- wf = workflowCls.fromSubworkflow(unit);
78
- break;
79
- default:
80
- throw new Error(`workflow type=${type} not understood.`);
81
- }
82
- return wf;
83
- }
84
-
85
- /**
86
- * @summary Combine workflow units together
87
- * @param workflow {*} the workflow object
88
- * @param unit {*} workflow/subworkflow object
89
- * @param config {*} additional configuration for e.g. map units
90
- * @param type {String} value in ["workflow", "subworkflow"]
91
- * @param unitFactoryCls {*} unit factory class for e.g. map units
92
- * @returns {*} modified workflow
93
- */
94
- function composeWorkflow({ workflow, unit, config, type, unitFactoryCls }) {
95
- /* eslint-disable no-case-declarations */
96
- switch (type) {
97
- case "workflow":
98
- const { mapUnit: isMapUnit, ...mapUnitConfig } = config;
99
- if (isMapUnit) {
100
- const mapUnit = createMapUnit({ config: mapUnitConfig, unitFactoryCls });
101
- workflow.addMapUnit(mapUnit, unit);
102
- } else {
103
- console.log("adding workflows directly to workflows is not supported.");
104
- }
105
- break;
106
- case "subworkflow":
107
- workflow.addSubworkflow(unit);
108
- break;
109
- default:
110
- throw new Error(`workflow type=${type} not understood.`);
111
- }
112
- /* eslint-enable no-case-declarations */
113
- return workflow;
114
- }
115
-
116
- /**
117
- * @summary Convert a flattened array of workflow units to a properly constructed workflow
118
- * @param wfUnits {Array} array of workflow units
119
- * @param workflowCls {*} workflow class
120
- * @param unitFactoryCls {*} unit factory class
121
- * @returns {*} constructed workflow
122
- */
123
- function createFromWorkflowUnits({ wfUnits, workflowCls, unitFactoryCls }) {
124
- let workflow, unit, config, type;
125
- wfUnits.map((wfUnit) => {
126
- ({ unit, config, type } = wfUnit);
127
- if (!workflow) {
128
- workflow = createWorkflowHead({
129
- workflow,
130
- unit,
131
- type,
132
- workflowCls,
133
- });
134
- } else {
135
- workflow = composeWorkflow({
136
- workflow,
137
- unit,
138
- config,
139
- type,
140
- unitFactoryCls,
141
- });
142
- }
143
- return null;
144
- });
145
- return applyConfig({ obj: workflow, config });
146
- }
147
-
148
- /**
149
- * @summary Creates a flattened array of workflow units from nested workflow/subworkflow
150
- * configuration data comprising a simple or complex workflow
151
- * @param appName
152
- * @param units
153
- * @param swArgs
154
- * @returns {*[]}
155
- */
156
- function createWorkflowUnits({
157
- appName,
158
- workflowData,
159
- workflowSubworkflowMapByApplication,
160
- workflowCls,
161
- cache = [],
162
- ...swArgs
163
- }) {
164
- const wfUnits = [];
165
- const { units } = workflowData;
166
- let unit, config;
167
- units.map((unitData) => {
168
- const { type } = unitData;
169
- switch (type) {
170
- case "workflow":
171
- ({ config } = unitData);
172
- unit = createWorkflowUnits({
173
- appName,
174
- workflowData: unitData,
175
- workflowSubworkflowMapByApplication,
176
- workflowCls,
177
- ...swArgs,
178
- });
179
- break;
180
- case "subworkflow":
181
- ({ config } = workflowData);
182
- unit = createSubworkflowUnit({
183
- appName,
184
- unitData,
185
- workflowData: workflowSubworkflowMapByApplication,
186
- cache,
187
- ...swArgs,
188
- });
189
- break;
190
- default:
191
- break;
192
- }
193
- wfUnits.push({ config, unit, type });
194
- return null;
195
- });
196
- return createFromWorkflowUnits({
197
- wfUnits,
198
- workflowCls,
199
- subworkflowCls: swArgs.subworkflowCls,
200
- unitFactoryCls: swArgs.unitFactoryCls,
201
- });
202
- }
203
-
204
- function createWorkflow({
205
- appName,
206
- workflowData,
207
- workflowSubworkflowMapByApplication,
208
- workflowCls = Workflow,
209
- ...swArgs
210
- }) {
211
- const cache = [];
212
- const { name } = workflowData;
213
- console.log(`wode: creating ${appName} workflow ${name}`);
214
- const wf = createWorkflowUnits({
215
- appName,
216
- workflowData,
217
- workflowSubworkflowMapByApplication,
218
- workflowCls,
219
- cache,
220
- ...swArgs,
221
- });
222
- wf.setName(name);
223
- wf.applicationName = appName;
224
- return wf;
225
- }
226
-
227
- export { createWorkflow };
@@ -1,98 +0,0 @@
1
- import { allApplications } from "@mat3ra/ade";
2
- import JSONSchemasInterface from "@mat3ra/esse/dist/js/esse/JSONSchemasInterface";
3
- import schemas from "@mat3ra/esse/dist/js/schemas.json";
4
-
5
- // Import Template here to apply context provider patch
6
- // eslint-disable-next-line no-unused-vars
7
- import { Template } from "../patch";
8
- import { createWorkflow } from "./create";
9
- import { Workflow } from "./workflow";
10
-
11
- // Running this to set schemas for validation, removing the redundant data from application-flavors tree: `flavors`
12
- JSONSchemasInterface.setSchemas(schemas);
13
-
14
- /*
15
- Workflow construction follows these rules:
16
- 1. Workflow is constructed as a collection of subworkflows defined in JSON
17
- 2. A "units" key should contain at least one object referencing the workflow itself
18
- 3. Additional workflows are added in order specified in the same "units" array
19
- 4. map units are added along with their workflows according to data in "units"
20
- 5. top-level subworkflows are added directly in the order also specified by "units"
21
- */
22
- function createWorkflows({
23
- appName = null,
24
- workflowCls = Workflow,
25
- workflowSubworkflowMapByApplication,
26
- ...swArgs
27
- }) {
28
- let apps = appName !== null ? [appName] : allApplications;
29
- const allApplicationsFromWorkflowData = Object.keys(
30
- workflowSubworkflowMapByApplication.workflows,
31
- );
32
- // output warning if allApplications and allApplicationsFromWorkflowData do not match
33
- if (appName === null) {
34
- if (apps && apps.sort().join(",") !== allApplicationsFromWorkflowData.sort().join(",")) {
35
- // eslint-disable-next-line no-console
36
- console.warn(
37
- `Warning: allApplications and allApplicationsFromWorkflowData do not match:
38
- ${apps.sort().join(",")} !== ${allApplicationsFromWorkflowData.sort().join(",")}`,
39
- );
40
- console.warn("Using allApplicationsFromWorkflowData");
41
- }
42
- apps = allApplicationsFromWorkflowData;
43
- }
44
- const wfs = [];
45
- const { workflows } = workflowSubworkflowMapByApplication;
46
- apps.map((name) => {
47
- const { [name]: dataByApp } = workflows;
48
- Object.values(dataByApp).map((workflowDataForApp) => {
49
- wfs.push(
50
- createWorkflow({
51
- appName: name,
52
- workflowData: workflowDataForApp,
53
- workflowSubworkflowMapByApplication,
54
- workflowCls,
55
- ...swArgs,
56
- }),
57
- );
58
- return null;
59
- });
60
- return null;
61
- });
62
- return wfs;
63
- }
64
-
65
- /**
66
- * @summary Create workflow configurations for all applications
67
- * @param applications {Array<String>} array of application names
68
- * @param workflowCls {*} workflow class to instantiate
69
- * @param workflowSubworkflowMapByApplication {Object} object containing all workflow/subworkflow map by application
70
- * @param swArgs {Object} other classes for instantiation
71
- * @returns {Array<Object>} array of workflow configurations
72
- */
73
- function createWorkflowConfigs({
74
- applications,
75
- workflowCls = Workflow,
76
- workflowSubworkflowMapByApplication,
77
- ...swArgs
78
- }) {
79
- const configs = [];
80
- applications.forEach((app) => {
81
- const workflows = createWorkflows({
82
- appName: app,
83
- workflowCls,
84
- workflowSubworkflowMapByApplication,
85
- ...swArgs,
86
- });
87
- workflows.forEach((wf) => {
88
- configs.push({
89
- application: app,
90
- name: wf.prop("name"),
91
- config: wf.toJSON(),
92
- });
93
- });
94
- });
95
- return configs;
96
- }
97
-
98
- export { Workflow, createWorkflows, createWorkflowConfigs, createWorkflow };
@@ -1,42 +0,0 @@
1
- import { SubworkflowStandata } from "@mat3ra/standata";
2
-
3
- export const RelaxationLogicMixin = (superclass) =>
4
- class extends superclass {
5
- get relaxationSubworkflow() {
6
- const appName = this.subworkflows[0]?.application?.name;
7
- if (!appName) return undefined;
8
- const subworkflowStandata = new SubworkflowStandata();
9
- const relaxationSubworkflow =
10
- subworkflowStandata.getRelaxationSubworkflowByApplication(appName);
11
- if (!relaxationSubworkflow) return undefined;
12
- return new this._Subworkflow(relaxationSubworkflow);
13
- }
14
-
15
- isRelaxationSubworkflow(subworkflow) {
16
- const { relaxationSubworkflow } = this;
17
- return (
18
- relaxationSubworkflow?.systemName !== undefined &&
19
- relaxationSubworkflow.systemName === subworkflow.systemName
20
- );
21
- }
22
-
23
- get hasRelaxation() {
24
- return this.subworkflows.some((subworkflow) =>
25
- this.isRelaxationSubworkflow(subworkflow),
26
- );
27
- }
28
-
29
- toggleRelaxation() {
30
- if (this.hasRelaxation) {
31
- const relaxSubworkflow = this.subworkflows.find((sw) =>
32
- this.isRelaxationSubworkflow(sw),
33
- );
34
- this.removeSubworkflow(relaxSubworkflow.id);
35
- } else {
36
- const vcRelax = this.relaxationSubworkflow;
37
- if (vcRelax) {
38
- this.addSubworkflow(vcRelax, true);
39
- }
40
- }
41
- }
42
- };