@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,388 +0,0 @@
1
- /* eslint-disable max-classes-per-file */
2
- import { NamedDefaultableRepetitionContextAndRenderInMemoryEntity } from "@mat3ra/code/dist/js/entity";
3
- import { HashedEntityMixin } from "@mat3ra/code/dist/js/entity/mixins/hash";
4
- import workflowSchema from "@mat3ra/esse/dist/js/schema/workflow.json";
5
- import { ComputedEntityMixin, getDefaultComputeConfig } from "@mat3ra/ide";
6
- import { tree } from "@mat3ra/mode";
7
- import { Utils } from "@mat3ra/utils";
8
- import lodash from "lodash";
9
- import { mix } from "mixwith";
10
- import _ from "underscore";
11
- import s from "underscore.string";
12
-
13
- import { UNIT_TYPES } from "../enums";
14
- import { Subworkflow } from "../subworkflows/subworkflow";
15
- import { MapUnit } from "../units";
16
- import { UnitFactory } from "../units/factory";
17
- import { setNextLinks, setUnitsHead } from "../utils";
18
- import defaultWorkflowConfig from "./default";
19
- import { RelaxationLogicMixin } from "./relaxation";
20
-
21
- const { MODEL_NAMES } = tree;
22
-
23
- class BaseWorkflow extends mix(NamedDefaultableRepetitionContextAndRenderInMemoryEntity).with(
24
- ComputedEntityMixin,
25
- RelaxationLogicMixin,
26
- HashedEntityMixin,
27
- ) {}
28
-
29
- export class Workflow extends BaseWorkflow {
30
- static getDefaultComputeConfig = getDefaultComputeConfig;
31
-
32
- static jsonSchema = workflowSchema;
33
-
34
- static usePredefinedIds = false;
35
-
36
- constructor(
37
- config,
38
- _Subworkflow = Subworkflow,
39
- _UnitFactory = UnitFactory,
40
- _Workflow = Workflow,
41
- _MapUnit = MapUnit,
42
- ) {
43
- if (!config._id) {
44
- config._id = Workflow.generateWorkflowId(
45
- config.name,
46
- config.properties,
47
- config.subworkflows,
48
- config.applicationName,
49
- );
50
- }
51
- super(config);
52
- this._Subworkflow = _Subworkflow;
53
- this._UnitFactory = _UnitFactory;
54
- this._Workflow = _Workflow;
55
- this._MapUnit = _MapUnit;
56
- if (!config.skipInitialize) this.initialize();
57
- }
58
-
59
- initialize() {
60
- const me = this;
61
- this._subworkflows = this.prop("subworkflows").map((x) => new me._Subworkflow(x));
62
- this._units = this.prop("units").map((unit) => me._UnitFactory.create(unit));
63
- this._json.workflows = this._json.workflows || [];
64
- this._workflows = this.prop("workflows").map((x) => new me._Workflow(x));
65
- }
66
-
67
- static get defaultConfig() {
68
- return defaultWorkflowConfig;
69
- }
70
-
71
- static generateWorkflowId(
72
- name,
73
- properties = null,
74
- subworkflows = null,
75
- applicationName = null,
76
- ) {
77
- const propsInfo = properties?.length ? properties.sort().join(",") : "";
78
- const swInfo = subworkflows?.length
79
- ? subworkflows.map((sw) => sw.name || "unknown").join(",")
80
- : "";
81
- const seed = [`workflow-${name}`, applicationName, propsInfo, swInfo]
82
- .filter((p) => p)
83
- .join("-");
84
- if (this.usePredefinedIds) return Utils.uuid.getUUIDFromNamespace(seed);
85
- return Utils.uuid.getUUID();
86
- }
87
-
88
- static fromSubworkflow(subworkflow, ClsConstructor = Workflow) {
89
- const config = {
90
- name: subworkflow.name,
91
- subworkflows: [subworkflow.toJSON()],
92
- units: setNextLinks(setUnitsHead([subworkflow.getAsUnit().toJSON()])),
93
- properties: subworkflow.properties,
94
- applicationName: subworkflow.application.name,
95
- };
96
- return new ClsConstructor(config);
97
- }
98
-
99
- static fromSubworkflows(name, ClsConstructor = Workflow, ...subworkflows) {
100
- return new ClsConstructor(
101
- name,
102
- subworkflows,
103
- subworkflows.map((sw) => sw.getAsUnit()),
104
- );
105
- }
106
-
107
- /**
108
- * @summary Adds subworkflow to current workflow.
109
- * @param subworkflow {Subworkflow}
110
- * @param head {Boolean}
111
- */
112
- addSubworkflow(subworkflow, head = false, index = -1) {
113
- const subworkflowUnit = subworkflow.getAsUnit();
114
- if (head) {
115
- this.subworkflows.unshift(subworkflow);
116
- this.addUnit(subworkflowUnit, head, index);
117
- } else {
118
- this.subworkflows.push(subworkflow);
119
- this.addUnit(subworkflowUnit, head, index);
120
- }
121
- }
122
-
123
- removeSubworkflow(id) {
124
- const subworkflowUnit = this.units.find((u) => u.id === id);
125
- if (subworkflowUnit) this.removeUnit(subworkflowUnit.flowchartId);
126
- }
127
-
128
- subworkflowId(index) {
129
- const sw = this.prop(`subworkflows[${index}]`);
130
- return sw ? sw._id : null;
131
- }
132
-
133
- replaceSubworkflowAtIndex(index, newSubworkflow) {
134
- this._subworkflows[index] = newSubworkflow;
135
- this.setUnits(setNextLinks(setUnitsHead(this._units)));
136
- }
137
-
138
- get units() {
139
- return this._units;
140
- }
141
-
142
- setUnits(arr) {
143
- this._units = arr;
144
- }
145
-
146
- // returns a list of `app` Classes
147
- get usedApplications() {
148
- const swApplications = this.subworkflows.map((sw) => sw.application);
149
- const wfApplications = lodash.flatten(this.workflows.map((w) => w.usedApplications));
150
- return lodash.uniqBy(swApplications.concat(wfApplications), (a) => a.name);
151
- }
152
-
153
- // return application names
154
- get usedApplicationNames() {
155
- return this.usedApplications.map((a) => a.name);
156
- }
157
-
158
- get usedApplicationVersions() {
159
- return this.usedApplications.map((a) => a.version);
160
- }
161
-
162
- get usedApplicationNamesWithVersions() {
163
- return this.usedApplications.map((a) => `${a.name} ${a.version}`);
164
- }
165
-
166
- get usedModels() {
167
- return lodash.uniq(this.subworkflows.map((sw) => sw.model.type));
168
- }
169
-
170
- get humanReadableUsedModels() {
171
- return this.usedModels.filter((m) => m !== "unknown").map((m) => MODEL_NAMES[m]);
172
- }
173
-
174
- toJSON(exclude = []) {
175
- return lodash.omit(
176
- {
177
- ...super.toJSON(),
178
- units: this._units.map((x) => x.toJSON()),
179
- subworkflows: this._subworkflows.map((x) => x.toJSON()),
180
- workflows: this.workflows.map((x) => x.toJSON()),
181
- ...(this.compute ? { compute: this.compute } : {}), // {"compute": null } won't pass esse validation
182
- },
183
- exclude,
184
- );
185
- }
186
-
187
- get isDefault() {
188
- return this.prop("isDefault", false);
189
- }
190
-
191
- get isMultiMaterial() {
192
- const fromSubworkflows = this.subworkflows.some((sw) => sw.isMultiMaterial);
193
- return this.prop("isMultiMaterial") || fromSubworkflows;
194
- }
195
-
196
- set isMultiMaterial(value) {
197
- this.setProp("isMultiMaterial", value);
198
- }
199
-
200
- set isUsingDataset(value) {
201
- this.setProp("isUsingDataset", value);
202
- }
203
-
204
- get isUsingDataset() {
205
- return !!this.prop("isUsingDataset", false);
206
- }
207
-
208
- get properties() {
209
- return lodash.uniq(lodash.flatten(this._subworkflows.map((x) => x.properties)));
210
- }
211
-
212
- get humanReadableProperties() {
213
- return this.properties.map((name) => s.humanize(name));
214
- }
215
-
216
- get systemName() {
217
- return s.slugify(`${this.usedApplicationNames.join(":")}-${this.name.toLowerCase()}`);
218
- }
219
-
220
- get defaultDescription() {
221
- return `${this.usedModels
222
- .join(", ")
223
- .toUpperCase()} workflow using ${this.usedApplicationNames.join(", ")}.`;
224
- }
225
-
226
- get exabyteId() {
227
- return this.prop("exabyteId");
228
- }
229
-
230
- get hash() {
231
- return this.prop("hash", "");
232
- }
233
-
234
- get isOutdated() {
235
- return this.prop("isOutdated", false);
236
- }
237
-
238
- get history() {
239
- return this.prop("history", []);
240
- }
241
-
242
- setMethodData(methodData) {
243
- this.subworkflows.forEach((sw) => {
244
- const method = methodData.getMethodBySubworkflow(sw);
245
- if (method) sw.model.setMethod(method);
246
- });
247
-
248
- this.workflows.forEach((wf) => {
249
- wf.subworkflows.forEach((sw) => {
250
- const method = methodData.getMethodBySubworkflow(sw);
251
- if (method) sw.model.setMethod(method);
252
- });
253
- });
254
- }
255
-
256
- /**
257
- * @param unit {Unit}
258
- * @param head {Boolean}
259
- * @param index {Number}
260
- */
261
- addUnit(unit, head = false, index = -1) {
262
- const { units } = this;
263
- if (units.length === 0) {
264
- unit.head = true;
265
- this.setUnits([unit]);
266
- } else {
267
- if (head) {
268
- units.unshift(unit);
269
- } else if (index >= 0) {
270
- units.splice(index, 0, unit);
271
- } else {
272
- units.push(unit);
273
- }
274
- this.setUnits(setNextLinks(setUnitsHead(units)));
275
- }
276
- }
277
-
278
- removeUnit(flowchartId) {
279
- if (this.units.length < 2) return;
280
-
281
- const unit = this.units.find((x) => x.flowchartId === flowchartId);
282
- const previousUnit = this.units.find((x) => x.next === unit.flowchartId);
283
- if (previousUnit) {
284
- delete previousUnit.next;
285
- }
286
-
287
- this._subworkflows = this._subworkflows.filter((x) => x.id !== unit.id);
288
- this._units = setNextLinks(
289
- setUnitsHead(this._units.filter((x) => x.flowchartId !== flowchartId)),
290
- );
291
- }
292
-
293
- /**
294
- * @return Subworkflow[]
295
- */
296
- get subworkflows() {
297
- return this._subworkflows;
298
- }
299
-
300
- get workflows() {
301
- return this._workflows;
302
- }
303
-
304
- /*
305
- * @param type {String|Object} Unit type, map or subworkflow
306
- * @param head {Boolean}
307
- * @param index {Number} Index at which the unit will be added. -1 by default (ignored).
308
- */
309
- addUnitType(type, head = false, index = -1) {
310
- switch (type) {
311
- case UNIT_TYPES.map:
312
- // eslint-disable-next-line no-case-declarations
313
- const workflowConfig = defaultWorkflowConfig;
314
- // eslint-disable-next-line no-case-declarations
315
- const mapUnit = new this._MapUnit();
316
- workflowConfig._id = this._Workflow.generateWorkflowId(
317
- workflowConfig.name,
318
- workflowConfig.properties,
319
- workflowConfig.subworkflows,
320
- this.applicationName,
321
- );
322
- this.prop("workflows").push(workflowConfig);
323
- this._workflows = this.prop("workflows").map((x) => new this._Workflow(x));
324
- mapUnit.setWorkflowId(workflowConfig._id);
325
- this.addUnit(mapUnit, head, index);
326
- break;
327
- case UNIT_TYPES.subworkflow:
328
- this.addSubworkflow(this._Subworkflow.createDefault(), head, index);
329
- break;
330
- default:
331
- console.log(`unit_type=${type} unrecognized, skipping.`);
332
- }
333
- }
334
-
335
- addMapUnit(mapUnit, mapWorkflow) {
336
- const mapWorkflowConfig = mapWorkflow.toJSON();
337
- if (!mapWorkflowConfig._id) {
338
- mapWorkflowConfig._id = this._Workflow.generateWorkflowId(
339
- mapWorkflowConfig.name,
340
- mapWorkflowConfig.properties,
341
- mapWorkflowConfig.subworkflows,
342
- mapWorkflow.applicationName || this.applicationName,
343
- );
344
- }
345
- mapUnit.setWorkflowId(mapWorkflowConfig._id);
346
- this.addUnit(mapUnit);
347
- this._json.workflows.push(mapWorkflowConfig);
348
- const me = this;
349
- this._workflows = this.prop("workflows").map((x) => new me._Workflow(x));
350
- }
351
-
352
- findSubworkflowById(id) {
353
- if (!id) return;
354
-
355
- const workflows = this.workflows || [];
356
- const subworkflows = this.subworkflows || [];
357
-
358
- const subworkflow = subworkflows.find((sw) => sw.id === id);
359
- if (subworkflow) return subworkflow;
360
-
361
- const workflow = workflows.find((w) => w.findSubworkflowById(id));
362
- if (workflow) return workflow.findSubworkflowById(id);
363
-
364
- console.warn("attempted to find a non-existing subworkflow");
365
- }
366
-
367
- get allSubworkflows() {
368
- const subworkflowsList = [];
369
- this.subworkflows.forEach((sw) => subworkflowsList.push(sw));
370
- this.workflows.forEach((workflow) => {
371
- return Array.prototype.push.apply(subworkflowsList, workflow.allSubworkflows);
372
- });
373
- return subworkflowsList;
374
- }
375
-
376
- /**
377
- * @summary
378
- * Returns object for hashing of the workflow. Meaningful fields are units and subworkflows.
379
- * units and subworkflows must be sorted topologically before hashing (already sorted).
380
- */
381
- getHashObject() {
382
- return {
383
- units: _.map(this.units, (u) => u.calculateHash()).join(),
384
- subworkflows: _.map(this.subworkflows, (sw) => sw.calculateHash()).join(),
385
- workflows: _.map(this.workflows, (w) => w.calculateHash()).join(),
386
- };
387
- }
388
- }