@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,345 +0,0 @@
1
- import { Application } from "@mat3ra/ade";
2
- import {
3
- ContextAndRenderFieldsMixin,
4
- NamedDefaultableRepetitionImportantSettingsInMemoryEntity,
5
- } from "@mat3ra/code/dist/js/entity";
6
- import { HashedEntityMixin } from "@mat3ra/code/dist/js/entity/mixins/hash";
7
- import { Model, ModelFactory } from "@mat3ra/mode";
8
- import { Utils } from "@mat3ra/utils";
9
- import lodash from "lodash";
10
- import { mix } from "mixwith";
11
- import _ from "underscore";
12
-
13
- import { UNIT_TYPES } from "../enums";
14
- import { UnitFactory } from "../units";
15
- import { setNextLinks, setUnitsHead } from "../utils";
16
- import { ConvergenceMixin } from "./convergence";
17
- import { ConvergenceParameterName } from "./convergence/enums";
18
-
19
- /* eslint max-classes-per-file:0 */
20
- class BaseSubworkflow extends mix(NamedDefaultableRepetitionImportantSettingsInMemoryEntity).with(
21
- ConvergenceMixin,
22
- ContextAndRenderFieldsMixin,
23
- HashedEntityMixin,
24
- ) {}
25
-
26
- export class Subworkflow extends BaseSubworkflow {
27
- static usePredefinedIds = false;
28
-
29
- constructor(
30
- config,
31
- _Application = Application,
32
- _ModelFactory = ModelFactory,
33
- _UnitFactory = UnitFactory,
34
- ) {
35
- super(config);
36
- this._Application = _Application;
37
- this._ModelFactory = _ModelFactory;
38
- this._UnitFactory = _UnitFactory;
39
- this.initialize();
40
- }
41
-
42
- initialize() {
43
- this._application = new this._Application(this.prop("application"));
44
- this._model = this._ModelFactory.create({
45
- ...this.prop("model"),
46
- application: this.prop("application"),
47
- });
48
- this._units = setNextLinks(setUnitsHead(this.prop("units", [])), this.id).map((cfg) =>
49
- this._UnitFactory.create(
50
- Object.assign(cfg, { application: this.application.toJSON() }),
51
- ),
52
- );
53
- }
54
-
55
- static generateSubworkflowId(name, application = null, model = null, method = null) {
56
- const appName = application ? application.name || application : "";
57
- const modelInfo = model
58
- ? `${(model.toJSON?.() || model).type}-${(model.toJSON?.() || model).subtype || ""}`
59
- : "";
60
- const methodInfo = method
61
- ? `${(method.toJSON?.() || method).type}-${(method.toJSON?.() || method).subtype || ""}`
62
- : "";
63
- const seed = [`subworkflow-${name}`, appName, modelInfo, methodInfo]
64
- .filter((p) => p)
65
- .join("-");
66
- if (this.usePredefinedIds) return Utils.uuid.getUUIDFromNamespace(seed);
67
- return Utils.uuid.getUUID();
68
- }
69
-
70
- static get defaultConfig() {
71
- const defaultName = "New Subworkflow";
72
- return {
73
- _id: this.generateSubworkflowId(defaultName),
74
- name: defaultName,
75
- application: Application.defaultConfig,
76
- model: Model.defaultConfig,
77
- properties: [],
78
- units: [],
79
- };
80
- }
81
-
82
- /*
83
- * @returns {SubworkflowUnit}
84
- */
85
- getAsUnit() {
86
- return this._UnitFactory.create({
87
- type: UNIT_TYPES.subworkflow,
88
- _id: this.id,
89
- name: this.name,
90
- });
91
- }
92
-
93
- /*
94
- * @summary Used to generate initial application tree, therefore omit setting application.
95
- */
96
- static fromArguments(
97
- application,
98
- model,
99
- method,
100
- name,
101
- units = [],
102
- config = {},
103
- Cls = Subworkflow,
104
- ) {
105
- const nameForIdGeneration = config.attributes?.name || name;
106
- const { functions, attributes, ...cleanConfig } = config;
107
-
108
- // Set the method on the model so it can be properly serialized
109
- model.setMethod(method);
110
-
111
- return new Cls({
112
- ...cleanConfig,
113
- _id: Cls.generateSubworkflowId(nameForIdGeneration, application, model, method),
114
- name,
115
- application: application.toJSON(),
116
- properties: lodash.sortedUniq(
117
- lodash.flatten(units.filter((x) => x.resultNames).map((x) => x.resultNames)),
118
- ),
119
- model: {
120
- ...model.toJSON(),
121
- method: method.toJSON(),
122
- },
123
- units: units.map((unit) => (unit.toJSON ? unit.toJSON() : unit)),
124
- });
125
- }
126
-
127
- get application() {
128
- return this._application;
129
- }
130
-
131
- setApplication(application) {
132
- // TODO: adjust the logic above to take into account whether units need re-rendering after version change etc.
133
- // reset units if application name changes
134
- const previousApplicationName = this.application.name;
135
- this._application = application;
136
-
137
- if (previousApplicationName !== application.name) {
138
- // TODO: figure out how to set a default unit per new application instead of removing all
139
- this.setUnits([]);
140
- } else {
141
- // propagate new application version to all units
142
- this.units
143
- .filter((unit) => typeof unit.setApplication === "function")
144
- .forEach((unit) => unit.setApplication(application, true));
145
- }
146
-
147
- this.setProp("application", application.toJSON());
148
- // set model to the default one for the application selected
149
- this.setModel(
150
- this._ModelFactory.createFromApplication({
151
- application: this.prop("application"),
152
- }),
153
- );
154
- }
155
-
156
- get model() {
157
- return this._model;
158
- }
159
-
160
- setModel(model) {
161
- this._model = model;
162
- }
163
-
164
- get units() {
165
- return this._units;
166
- }
167
-
168
- setUnits(units) {
169
- this._units = units;
170
- }
171
-
172
- toJSON(exclude = []) {
173
- return {
174
- ...super.toJSON(exclude),
175
- model: this.model.toJSON(),
176
- units: this.units.map((x) => x.toJSON()),
177
- ...(this.compute ? { compute: this.compute } : {}), // {"compute": null } won't pass esse validation
178
- };
179
- }
180
-
181
- get contextProviders() {
182
- const unitsWithContextProviders = this.units.filter(
183
- (u) => u.allContextProviders && u.allContextProviders.length,
184
- );
185
- const allContextProviders = _.flatten(
186
- unitsWithContextProviders.map((u) => u.allContextProviders),
187
- );
188
- const subworkflowContextProviders = allContextProviders.filter(
189
- (p) => p.isSubworkflowContextProvider,
190
- );
191
- return _.uniq(subworkflowContextProviders, (p) => p.name);
192
- }
193
-
194
- /**
195
- * Extracts a reduced version of the entity config to be stored inside redux state.
196
- * This is used to track changes to context, monitors, properties, etc. when multiple materials are in state.
197
- */
198
- extractReducedExternalDependentConfig() {
199
- return {
200
- id: this.id,
201
- context: this.context || {},
202
- units: this.units.map((unit) => unit.extractReducedExternalDependentConfig()),
203
- };
204
- }
205
-
206
- /**
207
- * Applies the reduced config obtained from extractReducedExternalDependentConfig on the entity.
208
- */
209
- applyReducedExternalDependentConfig(config) {
210
- this.context = config.context || {};
211
- this.units.forEach((unit) => {
212
- const unitConfig = (config.units || []).find((c) => c.id === unit.flowchartId);
213
- unit.applyReducedExternalDependentConfig(unitConfig || {});
214
- });
215
- }
216
-
217
- get contextFromAssignmentUnits() {
218
- const ctx = {};
219
- this.units
220
- .filter((u) => u.type === UNIT_TYPES.assignment)
221
- .forEach((u) => {
222
- ctx[u.operand] = u.value;
223
- });
224
- return ctx;
225
- }
226
-
227
- render(context = {}) {
228
- const ctx = {
229
- ...context,
230
- application: this.application,
231
- methodData: this.model.Method.data,
232
- model: this.model.toJSON(),
233
- // context below is assembled from context providers and passed to units to override theirs
234
- ...this.context,
235
- subworkflowContext: this.contextFromAssignmentUnits,
236
- };
237
-
238
- this.units.forEach((u) => u.render(ctx));
239
- }
240
-
241
- /**
242
- * TODO: reuse workflow function instead
243
- * @param unit {Unit}
244
- * @param head {Boolean}
245
- * @param index {Number}
246
- */
247
- addUnit(unit, index = -1) {
248
- const { units } = this;
249
- if (units.length === 0) {
250
- unit.head = true;
251
- this.setUnits([unit]);
252
- } else {
253
- if (index >= 0) units.splice(index, 0, unit);
254
- else units.push(unit);
255
- this.setUnits(setNextLinks(setUnitsHead(units)));
256
- }
257
- }
258
-
259
- removeUnit(flowchartId) {
260
- const previousUnit = this.units.find((x) => x.next === flowchartId);
261
- if (previousUnit) previousUnit.unsetProp("next");
262
- // TODO: remove the setNextLinks and setUnitsHead and handle the logic via flowchart designer
263
- this.setUnits(
264
- setNextLinks(setUnitsHead(this.units.filter((x) => x.flowchartId !== flowchartId))),
265
- );
266
- }
267
-
268
- get properties() {
269
- return lodash.flatten(this.units.map((x) => x.resultNames));
270
- }
271
-
272
- getUnit(flowchartId) {
273
- return this.units.find((x) => x.flowchartId === flowchartId);
274
- }
275
-
276
- unitIndex(flowchartId) {
277
- return lodash.findIndex(this.units, (unit) => {
278
- return unit.flowchartId === flowchartId;
279
- });
280
- }
281
-
282
- replaceUnit(index, unit) {
283
- this.units[index] = unit;
284
- this.setUnits(setNextLinks(setUnitsHead(this.units)));
285
- }
286
-
287
- // eslint-disable-next-line class-methods-use-this
288
- get scopeVariables() {
289
- return [ConvergenceParameterName.N_k, ConvergenceParameterName.N_k_nonuniform];
290
- }
291
-
292
- // eslint-disable-next-line class-methods-use-this
293
- get scalarResults() {
294
- return ["total_energy", "pressure"];
295
- }
296
-
297
- get isMultiMaterial() {
298
- return this.prop("isMultiMaterial", false);
299
- }
300
-
301
- get isDraft() {
302
- return this.prop("isDraft", false);
303
- }
304
-
305
- setIsDraft(bool) {
306
- return this.setProp("isDraft", bool);
307
- }
308
-
309
- get methodData() {
310
- return this.model.Method.data;
311
- }
312
-
313
- /**
314
- * @summary
315
- * Returns object for hashing of the workflow. Meaningful fields are units, app and model.
316
- * units must be sorted topologically before hashing (already sorted).
317
- */
318
- getHashObject() {
319
- const config = this.toJSON();
320
- const meaningfulFields = {
321
- application: new Application(config.application).calculateHash(),
322
- model: new Model(config.model).calculateHash(),
323
- units: _.map(this.units, (u) => u.calculateHash()).join(),
324
- };
325
- return meaningfulFields;
326
- }
327
-
328
- findUnitById(id) {
329
- // TODO: come back and refactor after converting flowchartId to id
330
- return this.units.find((u) => u.flowchartId === id);
331
- }
332
-
333
- findUnitKeyById(id) {
334
- const index = this.units.findIndex((u) => u.flowchartId === id);
335
- return `units.${index}`;
336
- }
337
-
338
- findUnitWithTag(tag) {
339
- return this.units.find((unit) => unit.tags.includes(tag));
340
- }
341
-
342
- get hasConvergence() {
343
- return !!this.convergenceParam && !!this.convergenceResult && !!this.convergenceSeries;
344
- }
345
- }
@@ -1,29 +0,0 @@
1
- import { UNIT_TYPES } from "../enums";
2
- import { BaseUnit } from "./base";
3
-
4
- export class AssertionUnit extends BaseUnit {
5
- constructor(config) {
6
- super({ ...AssertionUnit.getAssertionConfig(), ...config });
7
- }
8
-
9
- static getAssertionConfig() {
10
- return {
11
- name: UNIT_TYPES.assertion,
12
- type: UNIT_TYPES.assertion,
13
- statement: "true",
14
- errorMessage: "assertion failed",
15
- };
16
- }
17
-
18
- get statement() {
19
- return this.prop("statement");
20
- }
21
-
22
- get errorMessage() {
23
- return this.prop("errorMessage");
24
- }
25
-
26
- getHashObject() {
27
- return { statement: this.statement, errorMessage: this.errorMessage };
28
- }
29
- }
@@ -1,34 +0,0 @@
1
- import { UNIT_TYPES } from "../enums";
2
- import { BaseUnit } from "./base";
3
-
4
- export class AssignmentUnit extends BaseUnit {
5
- constructor(config) {
6
- super({ ...AssignmentUnit.getAssignmentConfig(), ...config });
7
- }
8
-
9
- static getAssignmentConfig() {
10
- return {
11
- name: UNIT_TYPES.assignment,
12
- type: UNIT_TYPES.assignment,
13
- operand: "X",
14
- value: "1",
15
- input: [],
16
- };
17
- }
18
-
19
- get operand() {
20
- return this.prop("operand");
21
- }
22
-
23
- get value() {
24
- return this.prop("value");
25
- }
26
-
27
- get input() {
28
- return this.prop("input");
29
- }
30
-
31
- getHashObject() {
32
- return { input: this.input, operand: this.operand, value: this.value };
33
- }
34
- }
@@ -1,97 +0,0 @@
1
- import { NamedDefaultableRepetitionRuntimeItemsImportantSettingsContextAndRenderHashedInMemoryEntity } from "@mat3ra/code/dist/js/entity";
2
- import { taggableMixin } from "@mat3ra/code/dist/js/entity/mixins/TaggableMixin";
3
- import { Utils } from "@mat3ra/utils";
4
- import lodash from "lodash";
5
-
6
- import { UNIT_STATUSES } from "../enums";
7
-
8
- // eslint-disable-next-line max-len
9
- export class BaseUnit extends NamedDefaultableRepetitionRuntimeItemsImportantSettingsContextAndRenderHashedInMemoryEntity {
10
- static usePredefinedIds = false;
11
-
12
- constructor(config) {
13
- const flowchartId =
14
- config.flowchartId || BaseUnit.generateFlowChartId.call(new.target, config.name);
15
- super({
16
- ...config,
17
- status: config.status || UNIT_STATUSES.idle,
18
- statusTrack: config.statusTrack || [],
19
- flowchartId,
20
- tags: config.tags || [],
21
- });
22
- }
23
-
24
- static generateFlowChartId(...args) {
25
- args[0] = `flowchart-${args[0]}`;
26
- if (this.usePredefinedIds) return Utils.uuid.getUUIDFromNamespace(...args);
27
- return Utils.uuid.getUUID();
28
- }
29
-
30
- get flowchartId() {
31
- return this.prop("flowchartId");
32
- }
33
-
34
- get head() {
35
- return this.prop("head", false);
36
- }
37
-
38
- set head(bool) {
39
- this.setProp("head", bool);
40
- }
41
-
42
- get next() {
43
- return this.prop("next");
44
- }
45
-
46
- set next(flowchartId) {
47
- this.setProp("next", flowchartId);
48
- }
49
-
50
- get status() {
51
- return lodash.get(this.lastStatusUpdate, "status") || UNIT_STATUSES.idle;
52
- }
53
-
54
- set status(s) {
55
- this.setProp("status", s);
56
- }
57
-
58
- get lastStatusUpdate() {
59
- const statusTrack = this.prop("statusTrack", []).filter(
60
- (s) => (s.repetition || 0) === this.repetition,
61
- );
62
- const sortedStatusTrack = lodash.sortBy(statusTrack || [], (x) => x.trackedAt);
63
- return sortedStatusTrack[sortedStatusTrack.length - 1];
64
- }
65
-
66
- get type() {
67
- return this.prop("type");
68
- }
69
-
70
- get isDraft() {
71
- return this.prop("isDraft", false);
72
- }
73
-
74
- getHashObject() {
75
- return { ...this.hashObjectFromRuntimeItems, type: this.type };
76
- }
77
-
78
- /**
79
- * Checks whether a unit is currently in a given status (e.g. idle, active, etc). The full list can be found
80
- * in the UNIT_STATUSES variable in enums.js.
81
- * @param status (String) name of the status to check
82
- * @returns Boolean
83
- */
84
- isInStatus(status) {
85
- return this.status === status;
86
- }
87
-
88
- clone(extraContext) {
89
- const flowchartIDOverrideConfigAsExtraContext = {
90
- flowchartId: this.constructor.generateFlowChartId(),
91
- ...extraContext,
92
- };
93
- return super.clone(flowchartIDOverrideConfigAsExtraContext);
94
- }
95
- }
96
-
97
- taggableMixin(BaseUnit.prototype);
@@ -1,28 +0,0 @@
1
- import { UNIT_TYPES } from "../../enums";
2
- import { UnitConfigBuilder } from "./UnitConfigBuilder";
3
-
4
- export class AssertionUnitConfigBuilder extends UnitConfigBuilder {
5
- constructor(name, statement, errorMessage) {
6
- super({ name, type: UNIT_TYPES.assertion });
7
- this._statement = statement;
8
- this._errorMessage = errorMessage;
9
- }
10
-
11
- statement(str) {
12
- this._statement = str;
13
- return this;
14
- }
15
-
16
- errorMessage(str) {
17
- this._errorMessage = str;
18
- return this;
19
- }
20
-
21
- build() {
22
- return {
23
- ...super.build(),
24
- statement: this._statement,
25
- errorMessage: this._errorMessage,
26
- };
27
- }
28
- }
@@ -1,36 +0,0 @@
1
- import { UNIT_TYPES } from "../../enums";
2
- import { UnitConfigBuilder } from "./UnitConfigBuilder";
3
-
4
- export class AssignmentUnitConfigBuilder extends UnitConfigBuilder {
5
- constructor(name, variableName, variableValue, input = [], results = []) {
6
- super({ name, type: UNIT_TYPES.assignment });
7
- this._variableName = variableName;
8
- this._variableValue = variableValue;
9
- this._input = input;
10
- this._results = results;
11
- }
12
-
13
- input(arr) {
14
- this._input = arr;
15
- return this;
16
- }
17
-
18
- variableName(str) {
19
- this._variableName = str;
20
- return this;
21
- }
22
-
23
- variableValue(str) {
24
- this._variableValue = str;
25
- return this;
26
- }
27
-
28
- build() {
29
- return {
30
- ...super.build(),
31
- input: this._input,
32
- operand: this._variableName,
33
- value: this._variableValue,
34
- };
35
- }
36
- }
@@ -1,59 +0,0 @@
1
- /* eslint-disable class-methods-use-this */
2
- import { ApplicationRegistry } from "@mat3ra/ade";
3
-
4
- import { UNIT_TYPES } from "../../enums";
5
- import { UnitConfigBuilder } from "./UnitConfigBuilder";
6
-
7
- export class ExecutionUnitConfigBuilder extends UnitConfigBuilder {
8
- constructor(name, application, execName, flavorName, flowchartId, cache = []) {
9
- super({ name, type: UNIT_TYPES.execution, flowchartId, cache });
10
-
11
- try {
12
- this.initialize(application, execName, flavorName);
13
- } catch (e) {
14
- console.error(`Can't initialize executable/flavor: ${execName}/${flavorName}`);
15
- throw e;
16
- }
17
-
18
- // initialize runtimeItems
19
- this._results = this.flavor.results;
20
- this._monitors = this.flavor.monitors;
21
- this._preProcessors = this.flavor.preProcessors;
22
- this._postProcessors = this.flavor.postProcessors;
23
- }
24
-
25
- initialize(application, execName, flavorName) {
26
- this.application = application;
27
- this.executable = this._createExecutable(this.application, execName);
28
- this.flavor = this._createFlavor(this.executable, flavorName);
29
- }
30
-
31
- build() {
32
- return {
33
- ...super.build(),
34
- application: this.application.toJSON(),
35
- executable: this.executable.toJSON(),
36
- flavor: this.flavor.toJSON(),
37
- };
38
- }
39
-
40
- /**
41
- * Creates an executable instance. This method is intended to be overridden in subclasses.
42
- * @param {Application} application - The application object
43
- * @param {string} execName - The name of the executable
44
- * @returns {Executable} The created executable instance
45
- */
46
- _createExecutable(application, execName) {
47
- return ApplicationRegistry.getExecutableByName(application.name, execName);
48
- }
49
-
50
- /**
51
- * Creates a flavor instance. This method is intended to be overridden in subclasses.
52
- * @param {Executable} executable - The executable object
53
- * @param {string} flavorName - The name of the flavor
54
- * @returns {Flavor} The created flavor instance
55
- */
56
- _createFlavor(executable, flavorName) {
57
- return ApplicationRegistry.getFlavorByName(executable, flavorName);
58
- }
59
- }
@@ -1,53 +0,0 @@
1
- import { UNIT_TYPES } from "../../enums";
2
- import { UnitConfigBuilder } from "./UnitConfigBuilder";
3
-
4
- export class IOUnitConfigBuilder extends UnitConfigBuilder {
5
- constructor(name, endpointName, endpointOptions) {
6
- super({ name, type: UNIT_TYPES.io });
7
- this._endpointName = endpointName;
8
- this._endpointOptions = endpointOptions;
9
- this._variableName = "DATA";
10
- this._subtype = "input";
11
- this._source = "api";
12
- }
13
-
14
- endpointName(str) {
15
- this._endpointName = str;
16
- return this;
17
- }
18
-
19
- endpointOptions(options) {
20
- this._endpointOptions = options;
21
- return this;
22
- }
23
-
24
- variableName(str) {
25
- this._variableName = str;
26
- return this;
27
- }
28
-
29
- subtype(str) {
30
- this._subtype = str;
31
- return this;
32
- }
33
-
34
- source(str) {
35
- this._source = str;
36
- return this;
37
- }
38
-
39
- build() {
40
- return {
41
- ...super.build(),
42
- subtype: this._subtype,
43
- source: this._source,
44
- input: [
45
- {
46
- endpoint: this._endpointName,
47
- endpoint_options: this._endpointOptions,
48
- name: this._variableName,
49
- },
50
- ],
51
- };
52
- }
53
- }