@mat3ra/esse 2026.5.18-3 → 2026.5.27-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 (382) hide show
  1. package/dist/js/esse/JSONSchemasGenerator.d.ts +2 -1
  2. package/dist/js/esse/JSONSchemasGenerator.js +1 -1
  3. package/dist/js/esse/JSONSchemasInterface.d.ts +1 -1
  4. package/dist/js/esse/JSONSchemasInterface.js +1 -1
  5. package/dist/js/esse/JSONSchemasInterfaceServer.js +3 -2
  6. package/dist/js/esse/schemaUtils.d.ts +1 -1
  7. package/dist/js/esse/schemaUtils.js +2 -1
  8. package/dist/js/esse/server/utils.d.ts +12 -0
  9. package/dist/js/esse/server/utils.js +68 -0
  10. package/dist/js/esse/utils.d.ts +0 -11
  11. package/dist/js/esse/utils.js +3 -60
  12. package/dist/js/example/job.json +38 -11
  13. package/dist/js/example/material.json +7 -1
  14. package/dist/js/example/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +35 -5
  15. package/dist/js/example/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +28 -4
  16. package/dist/js/example/materials_category/defective_structures/two_dimensional/adatom/configuration.json +28 -4
  17. package/dist/js/example/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +35 -5
  18. package/dist/js/example/materials_category/defective_structures/two_dimensional/island/configuration.json +42 -6
  19. package/dist/js/example/materials_category/defective_structures/two_dimensional/terrace/configuration.json +42 -6
  20. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +14 -2
  21. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +14 -2
  22. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +14 -2
  23. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json +7 -1
  24. package/dist/js/example/materials_category/pristine_structures/two_dimensional/nanoribbon.json +21 -3
  25. package/dist/js/example/materials_category/pristine_structures/two_dimensional/nanotape.json +14 -2
  26. package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab.json +14 -2
  27. package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +14 -2
  28. package/dist/js/example/materials_category/processed_structures/two_dimensional/passivation/configuration.json +28 -4
  29. package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +7 -1
  30. package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +7 -1
  31. package/dist/js/example/materials_category_components/entities/core/three_dimensional/crystal.json +7 -1
  32. package/dist/js/example/materials_category_components/entities/core/two_dimensional/vacuum.json +7 -1
  33. package/dist/js/example/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +7 -1
  34. package/dist/js/example/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +7 -1
  35. package/dist/js/example/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +28 -4
  36. package/dist/js/example/materials_category_components/operations/core/combinations/merge.json +14 -2
  37. package/dist/js/example/materials_category_components/operations/core/combinations/stack.json +14 -2
  38. package/dist/js/example/materials_category_components/operations/core/modifications/perturb.json +7 -1
  39. package/dist/js/example/model.json +2 -1
  40. package/dist/js/example/software/application.json +1 -0
  41. package/dist/js/example/software/executable.json +3 -4
  42. package/dist/js/example/software/flavor.json +9 -2
  43. package/dist/js/example/software/template.json +5 -8
  44. package/dist/js/example/software_directory/modeling/espresso.json +2 -1
  45. package/dist/js/example/software_directory/modeling/nwchem.json +3 -1
  46. package/dist/js/example/software_directory/modeling/unit/execution.json +57 -15
  47. package/dist/js/example/software_directory/modeling/vasp.json +2 -1
  48. package/dist/js/example/software_directory/scripting/jupyter_lab.json +2 -1
  49. package/dist/js/example/software_directory/scripting/python.json +2 -1
  50. package/dist/js/example/software_directory/scripting/shell.json +2 -1
  51. package/dist/js/example/software_directory/scripting/unit/execution.json +57 -15
  52. package/dist/js/example/system/runtime_items.json +14 -0
  53. package/dist/js/example/workflow/subworkflow.json +32 -10
  54. package/dist/js/example/workflow/unit/assignment.json +5 -1
  55. package/dist/js/example/workflow/unit/condition.json +5 -1
  56. package/dist/js/example/workflow/unit/execution.json +29 -9
  57. package/dist/js/example/workflow/unit/io/api.json +1 -0
  58. package/dist/js/example/workflow/unit/io/db_collection.json +5 -0
  59. package/dist/js/example/workflow/unit/io/db_ids.json +6 -0
  60. package/dist/js/example/workflow/unit/io/object_storage.json +2 -1
  61. package/dist/js/example/workflow/unit/io.json +22 -2
  62. package/dist/js/example/workflow/unit/map.json +5 -1
  63. package/dist/js/example/workflow/unit/reduce.json +5 -1
  64. package/dist/js/example/workflow.json +38 -11
  65. package/dist/js/schema/apse/file/applications/espresso/7.2/pw.x/atomic_species.json +5 -0
  66. package/dist/js/schema/apse/file/applications/espresso/7.2/pw.x.json +5 -0
  67. package/dist/js/schema/context_providers_directory/by_application/nwchem_total_energy_context_provider.json +7 -1
  68. package/dist/js/schema/context_providers_directory/by_application/qe_neb_context_provider.json +164 -6
  69. package/dist/js/schema/context_providers_directory/by_application/qe_pwx_base_context_provider.json +10 -0
  70. package/dist/js/schema/context_providers_directory/by_application/qe_pwx_context_provider.json +17 -1
  71. package/dist/js/schema/context_providers_directory/by_application/vasp_context_provider.json +7 -1
  72. package/dist/js/schema/context_providers_directory/by_application/vasp_neb_context_provider.json +7 -1
  73. package/dist/js/schema/context_providers_directory/collinear_magnetization_context_provider.json +14 -0
  74. package/dist/js/schema/context_providers_directory/non_collinear_magnetization_context_provider.json +7 -0
  75. package/dist/js/schema/context_providers_directory/points_grid_data_provider.json +23 -6
  76. package/dist/js/schema/context_providers_directory/points_path_data_provider.json +6 -2
  77. package/dist/js/schema/context_providers_directory/points_path_data_provider_rendering.json +32 -0
  78. package/dist/js/schema/core/primitive/linked_list/named_node.json +2 -1
  79. package/dist/js/schema/core/primitive/linked_list/named_node_in_group.json +2 -1
  80. package/dist/js/schema/core/primitive/linked_list.json +4 -2
  81. package/dist/js/schema/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.json +3 -0
  82. package/dist/js/schema/in_memory_entity/named.json +3 -0
  83. package/dist/js/schema/in_memory_entity/named_defaultable.json +3 -0
  84. package/dist/js/schema/in_memory_entity/named_defaultable_has_metadata.json +3 -0
  85. package/dist/js/schema/in_memory_entity/named_defaultable_runtime_items.json +3 -0
  86. package/dist/js/schema/job/base.json +133 -132
  87. package/dist/js/schema/job/compute.json +1 -1
  88. package/dist/js/schema/job/compute_property.json +182 -0
  89. package/dist/js/schema/job.json +3829 -4566
  90. package/dist/js/schema/material/material_properties.json +736 -0
  91. package/dist/js/schema/material/metadata/boundary_conditions.json +32 -0
  92. package/dist/js/schema/material/metadata/bulk_properties.json +13 -0
  93. package/dist/js/schema/material/metadata/slab_properties.json +41 -0
  94. package/dist/js/schema/material/metadata.json +101 -0
  95. package/dist/js/schema/material.json +117 -27
  96. package/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +1069 -268
  97. package/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +1069 -268
  98. package/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json +464 -108
  99. package/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +1069 -268
  100. package/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json +698 -164
  101. package/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json +698 -164
  102. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +116 -27
  103. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +232 -54
  104. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +232 -54
  105. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json +116 -27
  106. package/dist/js/schema/materials_category/pristine_structures/three_dimensional/ideal_crystal.json +116 -27
  107. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json +348 -81
  108. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json +232 -54
  109. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json +232 -54
  110. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +232 -54
  111. package/dist/js/schema/materials_category/processed_structures/two_dimensional/passivation/configuration.json +233 -54
  112. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +116 -27
  113. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +116 -27
  114. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json +116 -27
  115. package/dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json +116 -27
  116. package/dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json +116 -27
  117. package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +116 -27
  118. package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +116 -27
  119. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json +116 -27
  120. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json +116 -27
  121. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_uniform.json +116 -27
  122. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/supercell.json +116 -27
  123. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json +116 -27
  124. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json +116 -27
  125. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json +116 -27
  126. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json +116 -27
  127. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +348 -81
  128. package/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json +117 -27
  129. package/dist/js/schema/method/categorized_method.json +4 -0
  130. package/dist/js/schema/method/unit_method.json +3 -0
  131. package/dist/js/schema/method.json +7 -1
  132. package/dist/js/schema/methods_directory/legacy/localorbital.json +7 -1
  133. package/dist/js/schema/methods_directory/legacy/pseudopotential.json +7 -1
  134. package/dist/js/schema/methods_directory/legacy/regression.json +4 -0
  135. package/dist/js/schema/methods_directory/legacy/unknown.json +7 -1
  136. package/dist/js/schema/methods_directory/mathematical/cg.json +2 -1
  137. package/dist/js/schema/methods_directory/mathematical/davidson.json +2 -1
  138. package/dist/js/schema/methods_directory/mathematical/regression.json +3 -2
  139. package/dist/js/schema/methods_directory/physical/ao/dunning.json +2 -1
  140. package/dist/js/schema/methods_directory/physical/ao/other.json +2 -1
  141. package/dist/js/schema/methods_directory/physical/ao/pople.json +2 -1
  142. package/dist/js/schema/methods_directory/physical/psp.json +2 -1
  143. package/dist/js/schema/methods_directory/physical/pw.json +2 -1
  144. package/dist/js/schema/methods_directory/physical/smearing.json +2 -1
  145. package/dist/js/schema/methods_directory/physical/tetrahedron.json +2 -1
  146. package/dist/js/schema/model/categorized_model.json +5 -0
  147. package/dist/js/schema/model/model_without_method.json +1 -0
  148. package/dist/js/schema/model.json +7 -2
  149. package/dist/js/schema/models_directory/double_hybrid.json +1 -0
  150. package/dist/js/schema/models_directory/gga.json +1 -0
  151. package/dist/js/schema/models_directory/gw.json +1 -0
  152. package/dist/js/schema/models_directory/hybrid.json +1 -0
  153. package/dist/js/schema/models_directory/lda.json +1 -0
  154. package/dist/js/schema/models_directory/legacy/any.json +488 -0
  155. package/dist/js/schema/models_directory/legacy/dft.json +267 -39
  156. package/dist/js/schema/models_directory/legacy/ml.json +10 -9
  157. package/dist/js/schema/models_directory/legacy/unknown.json +10 -9
  158. package/dist/js/schema/models_directory/mgga.json +1 -0
  159. package/dist/js/schema/models_directory/re.json +1 -0
  160. package/dist/js/schema/project.json +3 -0
  161. package/dist/js/schema/properties_directory/non_scalar/workflow.json +3682 -4421
  162. package/dist/js/schema/property/holder.json +3717 -4456
  163. package/dist/js/schema/software/application.json +53 -24
  164. package/dist/js/schema/software/application_properties.json +68 -0
  165. package/dist/js/schema/software/application_with_build_config.json +52 -23
  166. package/dist/js/schema/software/executable.json +67 -108
  167. package/dist/js/schema/software/executable_properties.json +24 -0
  168. package/dist/js/schema/software/flavor.json +90 -128
  169. package/dist/js/schema/software/flavor_properties.json +50 -0
  170. package/dist/js/schema/software/template.json +30 -35
  171. package/dist/js/schema/software/template_properties.json +44 -0
  172. package/dist/js/schema/software_directory/modeling/deepmd.json +48 -19
  173. package/dist/js/schema/software_directory/modeling/lammps.json +47 -18
  174. package/dist/js/schema/software_directory/modeling/nwchem.json +48 -19
  175. package/dist/js/schema/software_directory/modeling/unit/execution.json +2019 -455
  176. package/dist/js/schema/software_directory/modeling/vasp.json +48 -19
  177. package/dist/js/schema/software_directory/scripting/jupyter_lab.json +48 -19
  178. package/dist/js/schema/software_directory/scripting/python.json +48 -19
  179. package/dist/js/schema/software_directory/scripting/shell.json +48 -19
  180. package/dist/js/schema/software_directory/scripting/unit/execution.json +2019 -455
  181. package/dist/js/schema/system/bankable.json +4 -0
  182. package/dist/js/schema/system/creator.json +2 -1
  183. package/dist/js/schema/system/creator_account.json +3 -0
  184. package/dist/js/schema/system/in_set.json +3 -0
  185. package/dist/js/schema/system/name.json +3 -0
  186. package/dist/js/schema/system/owner.json +2 -1
  187. package/dist/js/schema/system/path_entity.json +3 -0
  188. package/dist/js/schema/system/runtime_item.json +17 -0
  189. package/dist/js/schema/system/runtime_items.json +94 -0
  190. package/dist/js/schema/workflow/base.json +4591 -39
  191. package/dist/js/schema/workflow/base_flow.json +1 -1
  192. package/dist/js/schema/workflow/subworkflow/mixin.json +3919 -0
  193. package/dist/js/schema/workflow/subworkflow/unit.json +2365 -1560
  194. package/dist/js/schema/workflow/subworkflow.json +3137 -1852
  195. package/dist/js/schema/workflow/unit/assertion.json +96 -140
  196. package/dist/js/schema/workflow/unit/assignment.json +129 -173
  197. package/dist/js/schema/workflow/unit/base.json +90 -133
  198. package/dist/js/schema/workflow/unit/condition.json +132 -175
  199. package/dist/js/schema/workflow/unit/context/_base.json +20 -0
  200. package/dist/js/schema/workflow/unit/context/_extra_data_material_hash.json +14 -0
  201. package/dist/js/schema/workflow/unit/context/item/boundaryConditions.json +63 -0
  202. package/dist/js/schema/workflow/unit/context/item/collinearMagnetization.json +82 -0
  203. package/dist/js/schema/workflow/unit/context/item/cutoffs.json +38 -0
  204. package/dist/js/schema/workflow/unit/context/item/dynamics.json +48 -0
  205. package/dist/js/schema/workflow/unit/context/item/grid.json +100 -0
  206. package/dist/js/schema/workflow/unit/context/item/hubbard_j.json +59 -0
  207. package/dist/js/schema/workflow/unit/context/item/hubbard_legacy.json +49 -0
  208. package/dist/js/schema/workflow/unit/context/item/hubbard_u.json +57 -0
  209. package/dist/js/schema/workflow/unit/context/item/hubbard_v.json +64 -0
  210. package/dist/js/schema/workflow/unit/context/item/input.json +712 -0
  211. package/dist/js/schema/workflow/unit/context/item/mlSettings.json +43 -0
  212. package/dist/js/schema/workflow/unit/context/item/mlTrainTestSplit.json +37 -0
  213. package/dist/js/schema/workflow/unit/context/item/neb.json +35 -0
  214. package/dist/js/schema/workflow/unit/context/item/nonCollinearMagnetization.json +150 -0
  215. package/dist/js/schema/workflow/unit/context/item/path.json +62 -0
  216. package/dist/js/schema/workflow/unit/context/item.json +1594 -0
  217. package/dist/js/schema/workflow/unit/execution.json +1928 -423
  218. package/dist/js/schema/workflow/unit/input/_input.json +74 -12
  219. package/dist/js/schema/workflow/unit/input/_inputItem.json +70 -10
  220. package/dist/js/schema/workflow/unit/input/_inputItemId.json +3 -1
  221. package/dist/js/schema/workflow/unit/io/api.json +5 -1
  222. package/dist/js/schema/workflow/unit/io/db_collection.json +24 -0
  223. package/dist/js/schema/workflow/unit/io/db_ids.json +22 -0
  224. package/dist/js/schema/workflow/unit/io/object_storage.json +5 -1
  225. package/dist/js/schema/workflow/unit/io.json +182 -253
  226. package/dist/js/schema/workflow/unit/map.json +134 -177
  227. package/dist/js/schema/workflow/unit/mixins/assertion.json +23 -0
  228. package/dist/js/schema/workflow/unit/mixins/assignment.json +57 -0
  229. package/dist/js/schema/workflow/unit/mixins/base.json +50 -0
  230. package/dist/js/schema/workflow/unit/mixins/condition.json +61 -0
  231. package/dist/js/schema/workflow/unit/mixins/execution.json +1998 -0
  232. package/dist/js/schema/workflow/unit/mixins/io.json +131 -0
  233. package/dist/js/schema/workflow/unit/mixins/map.json +60 -0
  234. package/dist/js/schema/workflow/unit/mixins/processing.json +27 -0
  235. package/dist/js/schema/workflow/unit/mixins/reduce.json +43 -0
  236. package/dist/js/schema/workflow/unit/mixins/subworkflow.json +11 -0
  237. package/dist/js/schema/workflow/unit/reduce.json +117 -160
  238. package/dist/js/schema/workflow/unit/subworkflow.json +91 -134
  239. package/dist/js/schema/workflow/unit.json +285 -2477
  240. package/dist/js/schema/workflow.json +3684 -4422
  241. package/dist/js/schemas.json +1 -1
  242. package/dist/js/scripts/compileTs.js +1 -1
  243. package/dist/js/scripts/setSchemaIds.js +2 -1
  244. package/dist/js/types.d.ts +27163 -15301
  245. package/dist/js/types.js +5 -5
  246. package/dist/js/utils/ajv.js +5 -4
  247. package/dist/js/utils/common.js +3 -2
  248. package/dist/js/utils/filesystem.js +3 -2
  249. package/example/material.json +7 -1
  250. package/example/model.json +2 -1
  251. package/example/software/application.json +1 -0
  252. package/example/software/executable.json +3 -4
  253. package/example/software/flavor.json +9 -2
  254. package/example/software/template.json +5 -8
  255. package/example/software_directory/modeling/espresso.json +2 -1
  256. package/example/software_directory/modeling/nwchem.json +4 -2
  257. package/example/software_directory/modeling/unit/execution.json +17 -2
  258. package/example/software_directory/modeling/vasp.json +2 -1
  259. package/example/software_directory/scripting/jupyter-lab.json +2 -1
  260. package/example/software_directory/scripting/python.json +2 -1
  261. package/example/software_directory/scripting/shell.json +2 -1
  262. package/example/software_directory/scripting/unit/execution.json +17 -2
  263. package/example/system/runtime_items.json +14 -0
  264. package/example/workflow/unit/assignment.json +5 -1
  265. package/example/workflow/unit/condition.json +5 -1
  266. package/example/workflow/unit/execution.json +7 -3
  267. package/example/workflow/unit/io/api.json +1 -0
  268. package/example/workflow/unit/io/db_collection.json +5 -0
  269. package/example/workflow/unit/io/db_ids.json +6 -0
  270. package/example/workflow/unit/io/object_storage.json +2 -1
  271. package/example/workflow/unit/io.json +9 -29
  272. package/example/workflow/unit/map.json +5 -1
  273. package/example/workflow/unit/reduce.json +5 -1
  274. package/example/workflow.json +6 -1
  275. package/package.json +2 -1
  276. package/schema/apse/file/applications/espresso/7.2/pw.x/atomic_species.json +6 -1
  277. package/schema/context_providers_directory/by_application/nwchem_total_energy_context_provider.json +7 -1
  278. package/schema/context_providers_directory/by_application/qe_neb_context_provider.json +12 -6
  279. package/schema/context_providers_directory/by_application/qe_pwx_context_provider.json +10 -1
  280. package/schema/context_providers_directory/by_application/vasp_context_provider.json +7 -1
  281. package/schema/context_providers_directory/by_application/vasp_neb_context_provider.json +7 -1
  282. package/schema/context_providers_directory/collinear_magnetization_context_provider.json +18 -4
  283. package/schema/context_providers_directory/non_collinear_magnetization_context_provider.json +7 -0
  284. package/schema/context_providers_directory/points_grid_data_provider.json +24 -7
  285. package/schema/context_providers_directory/points_path_data_provider.json +7 -3
  286. package/schema/context_providers_directory/points_path_data_provider_rendering.json +32 -0
  287. package/schema/job/base.json +4 -5
  288. package/schema/job/compute.json +1 -1
  289. package/schema/job/compute_property.json +15 -0
  290. package/schema/material/material_properties.json +65 -0
  291. package/schema/material/metadata/boundary_conditions.json +24 -0
  292. package/schema/material/metadata/bulk_properties.json +13 -0
  293. package/schema/material/metadata/slab_properties.json +41 -0
  294. package/schema/material/metadata.json +27 -0
  295. package/schema/material.json +5 -57
  296. package/schema/method.json +7 -1
  297. package/schema/model.json +0 -1
  298. package/schema/models_directory/legacy/any.json +20 -0
  299. package/schema/models_directory/legacy/dft.json +63 -12
  300. package/schema/models_directory/legacy/ml.json +10 -7
  301. package/schema/models_directory/legacy/unknown.json +10 -7
  302. package/schema/software/application.json +4 -35
  303. package/schema/software/application_properties.json +68 -0
  304. package/schema/software/executable.json +5 -23
  305. package/schema/software/executable_properties.json +24 -0
  306. package/schema/software/flavor.json +6 -28
  307. package/schema/software/flavor_properties.json +33 -0
  308. package/schema/software/template.json +2 -26
  309. package/schema/software/template_properties.json +44 -0
  310. package/schema/system/bankable.json +5 -1
  311. package/schema/system/creator.json +4 -1
  312. package/schema/system/creator_account.json +4 -1
  313. package/schema/system/in_set.json +4 -1
  314. package/schema/system/name.json +4 -1
  315. package/schema/system/owner.json +4 -1
  316. package/schema/system/runtime_item.json +17 -0
  317. package/schema/system/runtime_items.json +42 -0
  318. package/schema/workflow/base.json +17 -17
  319. package/schema/workflow/subworkflow/mixin.json +48 -0
  320. package/schema/workflow/subworkflow/unit.json +0 -6
  321. package/schema/workflow/subworkflow.json +4 -31
  322. package/schema/workflow/unit/assertion.json +2 -16
  323. package/schema/workflow/unit/assignment.json +2 -34
  324. package/schema/workflow/unit/base.json +6 -51
  325. package/schema/workflow/unit/condition.json +2 -38
  326. package/schema/workflow/unit/context/_base.json +20 -0
  327. package/schema/workflow/unit/context/_extra_data_material_hash.json +14 -0
  328. package/schema/workflow/unit/context/item/boundaryConditions.json +27 -0
  329. package/schema/workflow/unit/context/item/collinearMagnetization.json +27 -0
  330. package/schema/workflow/unit/context/item/cutoffs.json +20 -0
  331. package/schema/workflow/unit/context/item/dynamics.json +20 -0
  332. package/schema/workflow/unit/context/item/grid.json +31 -0
  333. package/schema/workflow/unit/context/item/hubbard_j.json +20 -0
  334. package/schema/workflow/unit/context/item/hubbard_legacy.json +20 -0
  335. package/schema/workflow/unit/context/item/hubbard_u.json +27 -0
  336. package/schema/workflow/unit/context/item/hubbard_v.json +20 -0
  337. package/schema/workflow/unit/context/item/input.json +47 -0
  338. package/schema/workflow/unit/context/item/mlSettings.json +20 -0
  339. package/schema/workflow/unit/context/item/mlTrainTestSplit.json +20 -0
  340. package/schema/workflow/unit/context/item/neb.json +20 -0
  341. package/schema/workflow/unit/context/item/nonCollinearMagnetization.json +27 -0
  342. package/schema/workflow/unit/context/item/path.json +33 -0
  343. package/schema/workflow/unit/context/item.json +55 -0
  344. package/schema/workflow/unit/execution.json +4 -25
  345. package/schema/workflow/unit/input/_input.json +1 -1
  346. package/schema/workflow/unit/input/_inputItem.json +9 -9
  347. package/schema/workflow/unit/input/_inputItemId.json +3 -1
  348. package/schema/workflow/unit/io/api.json +6 -2
  349. package/schema/workflow/unit/io/db_collection.json +24 -0
  350. package/schema/workflow/unit/io/db_ids.json +22 -0
  351. package/schema/workflow/unit/io/object_storage.json +6 -2
  352. package/schema/workflow/unit/io.json +2 -39
  353. package/schema/workflow/unit/map.json +2 -53
  354. package/schema/workflow/unit/mixins/assertion.json +23 -0
  355. package/schema/workflow/unit/mixins/assignment.json +42 -0
  356. package/schema/workflow/unit/mixins/base.json +50 -0
  357. package/schema/workflow/unit/mixins/condition.json +46 -0
  358. package/schema/workflow/unit/mixins/execution.json +49 -0
  359. package/schema/workflow/unit/mixins/io.json +46 -0
  360. package/schema/workflow/unit/mixins/map.json +61 -0
  361. package/schema/workflow/unit/{processing.json → mixins/processing.json} +3 -7
  362. package/schema/workflow/unit/mixins/reduce.json +44 -0
  363. package/schema/workflow/unit/mixins/subworkflow.json +12 -0
  364. package/schema/workflow/unit/reduce.json +2 -36
  365. package/schema/workflow/unit/subworkflow.json +4 -6
  366. package/schema/workflow/unit.json +1 -19
  367. package/schema/workflow.json +19 -15
  368. package/src/js/esse/JSONSchemasGenerator.ts +2 -1
  369. package/src/js/esse/JSONSchemasInterface.ts +1 -1
  370. package/src/js/esse/schemaUtils.ts +1 -1
  371. package/src/js/esse/server/utils.ts +82 -0
  372. package/src/js/esse/utils.ts +0 -74
  373. package/src/js/scripts/compileTs.ts +1 -1
  374. package/src/js/scripts/setSchemaIds.ts +1 -0
  375. package/src/js/utils/ajv.ts +1 -1
  376. package/dist/js/example/workflow/unit/io/db.json +0 -15
  377. package/dist/js/example/workflow/unit/processing.json +0 -13
  378. package/dist/js/schema/workflow/unit/io/db.json +0 -40
  379. package/dist/js/schema/workflow/unit/processing.json +0 -242
  380. package/example/workflow/unit/io/db.json +0 -15
  381. package/example/workflow/unit/processing.json +0 -13
  382. package/schema/workflow/unit/io/db.json +0 -40
@@ -11,17 +11,184 @@
11
11
  "required": [
12
12
  "flowchartId",
13
13
  "input",
14
+ "monitors",
15
+ "name",
16
+ "postProcessors",
17
+ "preProcessors",
18
+ "results",
14
19
  "source",
15
20
  "subtype",
16
21
  "type"
17
22
  ],
18
- "additionalProperties": true,
19
23
  "properties": {
24
+ "_id": {
25
+ "description": "entity identity",
26
+ "type": "string"
27
+ },
28
+ "slug": {
29
+ "description": "entity slug",
30
+ "type": "string"
31
+ },
32
+ "systemName": {
33
+ "type": "string"
34
+ },
35
+ "schemaVersion": {
36
+ "description": "entity's schema version. Used to distinct between different schemas.",
37
+ "type": "string",
38
+ "default": "2022.8.16"
39
+ },
40
+ "name": {
41
+ "description": "entity name",
42
+ "type": "string"
43
+ },
44
+ "isDefault": {
45
+ "description": "Identifies that entity is defaultable",
46
+ "type": "boolean",
47
+ "default": false
48
+ },
49
+ "preProcessors": {
50
+ "description": "names of the pre-processors for this calculation",
51
+ "type": "array",
52
+ "items": {
53
+ "$schema": "http://json-schema.org/draft-07/schema#",
54
+ "title": "runtime item name object schema",
55
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
56
+ "type": "object",
57
+ "required": [
58
+ "name"
59
+ ],
60
+ "additionalProperties": true,
61
+ "properties": {
62
+ "name": {
63
+ "description": "The name of this item. e.g. scf_accuracy",
64
+ "type": "string"
65
+ }
66
+ }
67
+ }
68
+ },
69
+ "postProcessors": {
70
+ "description": "names of the post-processors for this calculation",
71
+ "type": "array",
72
+ "items": {
73
+ "$schema": "http://json-schema.org/draft-07/schema#",
74
+ "title": "runtime item name object schema",
75
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
76
+ "type": "object",
77
+ "required": [
78
+ "name"
79
+ ],
80
+ "additionalProperties": true,
81
+ "properties": {
82
+ "name": {
83
+ "description": "The name of this item. e.g. scf_accuracy",
84
+ "type": "string"
85
+ }
86
+ }
87
+ }
88
+ },
89
+ "monitors": {
90
+ "description": "names of the monitors for this calculation",
91
+ "type": "array",
92
+ "items": {
93
+ "$schema": "http://json-schema.org/draft-07/schema#",
94
+ "title": "runtime item name object schema",
95
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
96
+ "type": "object",
97
+ "required": [
98
+ "name"
99
+ ],
100
+ "additionalProperties": true,
101
+ "properties": {
102
+ "name": {
103
+ "description": "The name of this item. e.g. scf_accuracy",
104
+ "type": "string"
105
+ }
106
+ }
107
+ }
108
+ },
109
+ "results": {
110
+ "description": "names of the results for this calculation",
111
+ "type": "array",
112
+ "items": {
113
+ "$schema": "http://json-schema.org/draft-07/schema#",
114
+ "title": "runtime item name object schema",
115
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
116
+ "type": "object",
117
+ "required": [
118
+ "name"
119
+ ],
120
+ "additionalProperties": true,
121
+ "properties": {
122
+ "name": {
123
+ "description": "The name of this item. e.g. scf_accuracy",
124
+ "type": "string"
125
+ }
126
+ }
127
+ }
128
+ },
129
+ "tags": {
130
+ "description": "entity tags",
131
+ "type": "array",
132
+ "items": {
133
+ "type": "string"
134
+ }
135
+ },
136
+ "status": {
137
+ "type": "string",
138
+ "description": "Status of the unit.",
139
+ "enum": [
140
+ "idle",
141
+ "active",
142
+ "warning",
143
+ "error",
144
+ "finished"
145
+ ]
146
+ },
147
+ "statusTrack": {
148
+ "type": "array",
149
+ "items": {
150
+ "type": "object",
151
+ "required": [
152
+ "trackedAt",
153
+ "status"
154
+ ],
155
+ "properties": {
156
+ "trackedAt": {
157
+ "type": "number"
158
+ },
159
+ "status": {
160
+ "type": "string"
161
+ },
162
+ "repetition": {
163
+ "type": "number"
164
+ }
165
+ }
166
+ }
167
+ },
168
+ "isDraft": {
169
+ "type": "boolean"
170
+ },
20
171
  "type": {
21
- "const": "io",
22
172
  "description": "type of the unit",
173
+ "type": "string",
174
+ "const": "io"
175
+ },
176
+ "head": {
177
+ "description": "Whether this unit is the first one to be executed.",
178
+ "type": "boolean"
179
+ },
180
+ "flowchartId": {
181
+ "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
182
+ "type": "string"
183
+ },
184
+ "next": {
185
+ "description": "Next unit's flowchartId. If empty, the current unit is the last.",
23
186
  "type": "string"
24
187
  },
188
+ "enableRender": {
189
+ "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
190
+ "type": "boolean"
191
+ },
25
192
  "subtype": {
26
193
  "enum": [
27
194
  "input",
@@ -32,19 +199,23 @@
32
199
  "source": {
33
200
  "enum": [
34
201
  "api",
35
- "db",
36
202
  "object_storage"
37
203
  ]
38
204
  },
39
205
  "input": {
40
206
  "type": "array",
41
207
  "items": {
208
+ "type": "object",
42
209
  "oneOf": [
43
210
  {
44
211
  "$schema": "http://json-schema.org/draft-07/schema#",
45
212
  "title": "data IO rest API input schema",
46
213
  "type": "object",
47
214
  "properties": {
215
+ "type": {
216
+ "type": "string",
217
+ "const": "api"
218
+ },
48
219
  "endpoint": {
49
220
  "description": "rest API endpoint",
50
221
  "type": "string"
@@ -59,48 +230,9 @@
59
230
  }
60
231
  },
61
232
  "required": [
233
+ "type",
62
234
  "endpoint",
63
235
  "endpoint_options"
64
- ],
65
- "additionalProperties": true
66
- },
67
- {
68
- "$schema": "http://json-schema.org/draft-07/schema#",
69
- "title": "data IO database input/output schema",
70
- "type": "object",
71
- "oneOf": [
72
- {
73
- "properties": {
74
- "ids": {
75
- "description": "IDs of item to retrieve from db",
76
- "type": "array",
77
- "items": {
78
- "type": "string"
79
- }
80
- }
81
- },
82
- "required": [
83
- "ids"
84
- ],
85
- "additionalProperties": true
86
- },
87
- {
88
- "properties": {
89
- "collection": {
90
- "description": "db collection name",
91
- "type": "string"
92
- },
93
- "draft": {
94
- "description": "whether the result should be saved as draft",
95
- "type": "boolean"
96
- }
97
- },
98
- "required": [
99
- "collection",
100
- "draft"
101
- ],
102
- "additionalProperties": true
103
- }
104
236
  ]
105
237
  },
106
238
  {
@@ -108,10 +240,14 @@
108
240
  "title": "object_storage io schema",
109
241
  "type": "object",
110
242
  "required": [
243
+ "type",
111
244
  "objectData"
112
245
  ],
113
- "additionalProperties": true,
114
246
  "properties": {
247
+ "type": {
248
+ "type": "string",
249
+ "const": "object_storage"
250
+ },
115
251
  "objectData": {
116
252
  "$schema": "http://json-schema.org/draft-07/schema#",
117
253
  "title": "Object Storage Container Data",
@@ -162,50 +298,37 @@
162
298
  }
163
299
  }
164
300
  }
165
- ]
301
+ ],
302
+ "discriminator": {
303
+ "propertyName": "type"
304
+ }
166
305
  }
167
- },
306
+ }
307
+ }
308
+ },
309
+ {
310
+ "$schema": "http://json-schema.org/draft-07/schema#",
311
+ "title": "condition unit schema",
312
+ "type": "object",
313
+ "required": [
314
+ "else",
315
+ "flowchartId",
316
+ "input",
317
+ "maxOccurrences",
318
+ "monitors",
319
+ "name",
320
+ "postProcessors",
321
+ "preProcessors",
322
+ "results",
323
+ "statement",
324
+ "then",
325
+ "type"
326
+ ],
327
+ "properties": {
168
328
  "_id": {
169
- "type": "string",
170
- "description": "entity identity"
171
- },
172
- "isDraft": {
173
- "type": "boolean"
174
- },
175
- "name": {
176
- "description": "name of the unit. e.g. pw_scf",
177
- "type": "string"
178
- },
179
- "status": {
180
- "description": "Status of the unit.",
181
- "type": "string",
182
- "enum": [
183
- "idle",
184
- "active",
185
- "warning",
186
- "error",
187
- "finished"
188
- ]
189
- },
190
- "head": {
191
- "description": "Whether this unit is the first one to be executed.",
192
- "type": "boolean"
193
- },
194
- "flowchartId": {
195
- "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
196
- "type": "string"
197
- },
198
- "next": {
199
- "description": "Next unit's flowchartId. If empty, the current unit is the last.",
329
+ "description": "entity identity",
200
330
  "type": "string"
201
331
  },
202
- "enableRender": {
203
- "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
204
- "type": "boolean"
205
- },
206
- "context": {
207
- "type": "object"
208
- },
209
332
  "slug": {
210
333
  "description": "entity slug",
211
334
  "type": "string"
@@ -218,6 +341,10 @@
218
341
  "type": "string",
219
342
  "default": "2022.8.16"
220
343
  },
344
+ "name": {
345
+ "description": "entity name",
346
+ "type": "string"
347
+ },
221
348
  "isDefault": {
222
349
  "description": "Identifies that entity is defaultable",
223
350
  "type": "boolean",
@@ -228,30 +355,19 @@
228
355
  "type": "array",
229
356
  "items": {
230
357
  "$schema": "http://json-schema.org/draft-07/schema#",
231
- "title": "runtime item schema",
232
- "oneOf": [
233
- {
234
- "$schema": "http://json-schema.org/draft-07/schema#",
235
- "title": "name result schema",
236
- "type": "object",
237
- "properties": {
238
- "name": {
239
- "description": "The name of this item. e.g. scf_accuracy",
240
- "type": "string"
241
- }
242
- },
243
- "additionalProperties": true,
244
- "required": [
245
- "name"
246
- ]
247
- },
248
- {
249
- "$schema": "http://json-schema.org/draft-07/schema#",
250
- "title": "RuntimeItemString",
251
- "description": "name of runtime item in shortened notation",
358
+ "title": "runtime item name object schema",
359
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
360
+ "type": "object",
361
+ "required": [
362
+ "name"
363
+ ],
364
+ "additionalProperties": true,
365
+ "properties": {
366
+ "name": {
367
+ "description": "The name of this item. e.g. scf_accuracy",
252
368
  "type": "string"
253
369
  }
254
- ]
370
+ }
255
371
  }
256
372
  },
257
373
  "postProcessors": {
@@ -259,30 +375,19 @@
259
375
  "type": "array",
260
376
  "items": {
261
377
  "$schema": "http://json-schema.org/draft-07/schema#",
262
- "title": "runtime item schema",
263
- "oneOf": [
264
- {
265
- "$schema": "http://json-schema.org/draft-07/schema#",
266
- "title": "name result schema",
267
- "type": "object",
268
- "properties": {
269
- "name": {
270
- "description": "The name of this item. e.g. scf_accuracy",
271
- "type": "string"
272
- }
273
- },
274
- "additionalProperties": true,
275
- "required": [
276
- "name"
277
- ]
278
- },
279
- {
280
- "$schema": "http://json-schema.org/draft-07/schema#",
281
- "title": "RuntimeItemString",
282
- "description": "name of runtime item in shortened notation",
378
+ "title": "runtime item name object schema",
379
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
380
+ "type": "object",
381
+ "required": [
382
+ "name"
383
+ ],
384
+ "additionalProperties": true,
385
+ "properties": {
386
+ "name": {
387
+ "description": "The name of this item. e.g. scf_accuracy",
283
388
  "type": "string"
284
389
  }
285
- ]
390
+ }
286
391
  }
287
392
  },
288
393
  "monitors": {
@@ -290,30 +395,19 @@
290
395
  "type": "array",
291
396
  "items": {
292
397
  "$schema": "http://json-schema.org/draft-07/schema#",
293
- "title": "runtime item schema",
294
- "oneOf": [
295
- {
296
- "$schema": "http://json-schema.org/draft-07/schema#",
297
- "title": "name result schema",
298
- "type": "object",
299
- "properties": {
300
- "name": {
301
- "description": "The name of this item. e.g. scf_accuracy",
302
- "type": "string"
303
- }
304
- },
305
- "additionalProperties": true,
306
- "required": [
307
- "name"
308
- ]
309
- },
310
- {
311
- "$schema": "http://json-schema.org/draft-07/schema#",
312
- "title": "RuntimeItemString",
313
- "description": "name of runtime item in shortened notation",
398
+ "title": "runtime item name object schema",
399
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
400
+ "type": "object",
401
+ "required": [
402
+ "name"
403
+ ],
404
+ "additionalProperties": true,
405
+ "properties": {
406
+ "name": {
407
+ "description": "The name of this item. e.g. scf_accuracy",
314
408
  "type": "string"
315
409
  }
316
- ]
410
+ }
317
411
  }
318
412
  },
319
413
  "results": {
@@ -321,30 +415,19 @@
321
415
  "type": "array",
322
416
  "items": {
323
417
  "$schema": "http://json-schema.org/draft-07/schema#",
324
- "title": "runtime item schema",
325
- "oneOf": [
326
- {
327
- "$schema": "http://json-schema.org/draft-07/schema#",
328
- "title": "name result schema",
329
- "type": "object",
330
- "properties": {
331
- "name": {
332
- "description": "The name of this item. e.g. scf_accuracy",
333
- "type": "string"
334
- }
335
- },
336
- "additionalProperties": true,
337
- "required": [
338
- "name"
339
- ]
340
- },
341
- {
342
- "$schema": "http://json-schema.org/draft-07/schema#",
343
- "title": "RuntimeItemString",
344
- "description": "name of runtime item in shortened notation",
418
+ "title": "runtime item name object schema",
419
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
420
+ "type": "object",
421
+ "required": [
422
+ "name"
423
+ ],
424
+ "additionalProperties": true,
425
+ "properties": {
426
+ "name": {
427
+ "description": "The name of this item. e.g. scf_accuracy",
345
428
  "type": "string"
346
429
  }
347
- ]
430
+ }
348
431
  }
349
432
  },
350
433
  "tags": {
@@ -354,6 +437,17 @@
354
437
  "type": "string"
355
438
  }
356
439
  },
440
+ "status": {
441
+ "type": "string",
442
+ "description": "Status of the unit.",
443
+ "enum": [
444
+ "idle",
445
+ "active",
446
+ "warning",
447
+ "error",
448
+ "finished"
449
+ ]
450
+ },
357
451
  "statusTrack": {
358
452
  "type": "array",
359
453
  "items": {
@@ -374,94 +468,94 @@
374
468
  }
375
469
  }
376
470
  }
377
- }
378
- }
379
- },
380
- {
381
- "$schema": "http://json-schema.org/draft-07/schema#",
382
- "title": "reduce unit schema",
383
- "type": "object",
384
- "required": [
385
- "flowchartId",
386
- "input",
387
- "mapFlowchartId",
388
- "type"
389
- ],
390
- "additionalProperties": true,
391
- "properties": {
471
+ },
472
+ "isDraft": {
473
+ "type": "boolean"
474
+ },
392
475
  "type": {
393
- "const": "reduce",
394
476
  "description": "type of the unit",
477
+ "type": "string",
478
+ "const": "condition"
479
+ },
480
+ "head": {
481
+ "description": "Whether this unit is the first one to be executed.",
482
+ "type": "boolean"
483
+ },
484
+ "flowchartId": {
485
+ "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
395
486
  "type": "string"
396
487
  },
397
- "mapFlowchartId": {
398
- "description": "corresponding map unit flowchart ID",
488
+ "next": {
489
+ "description": "Next unit's flowchartId. If empty, the current unit is the last.",
399
490
  "type": "string"
400
491
  },
492
+ "enableRender": {
493
+ "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
494
+ "type": "boolean"
495
+ },
401
496
  "input": {
402
- "description": "input information for reduce unit",
497
+ "description": "Input information for condition.",
403
498
  "type": "array",
404
499
  "items": {
500
+ "$schema": "http://json-schema.org/draft-07/schema#",
501
+ "title": "workflow unit input schema",
405
502
  "type": "object",
406
503
  "required": [
407
- "operation",
408
- "arguments"
504
+ "scope",
505
+ "name"
409
506
  ],
410
507
  "properties": {
411
- "operation": {
412
- "description": "reduce operation, e.g. aggregate",
508
+ "scope": {
509
+ "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'",
413
510
  "type": "string"
414
511
  },
415
- "arguments": {
416
- "description": "arguments which are passed to reduce operation function",
417
- "type": "array",
418
- "items": {
419
- "type": "string"
420
- }
512
+ "name": {
513
+ "description": "Name of the input data. e.g. total_energy",
514
+ "type": "string"
421
515
  }
422
516
  }
423
517
  }
424
518
  },
425
- "_id": {
426
- "type": "string",
427
- "description": "entity identity"
428
- },
429
- "isDraft": {
430
- "type": "boolean"
431
- },
432
- "name": {
433
- "description": "name of the unit. e.g. pw_scf",
519
+ "statement": {
520
+ "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'",
434
521
  "type": "string"
435
522
  },
436
- "status": {
437
- "description": "Status of the unit.",
438
- "type": "string",
439
- "enum": [
440
- "idle",
441
- "active",
442
- "warning",
443
- "error",
444
- "finished"
445
- ]
446
- },
447
- "head": {
448
- "description": "Whether this unit is the first one to be executed.",
449
- "type": "boolean"
450
- },
451
- "flowchartId": {
452
- "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
523
+ "then": {
524
+ "description": "Flowchart ID reference for `then` part of the condition.",
453
525
  "type": "string"
454
526
  },
455
- "next": {
456
- "description": "Next unit's flowchartId. If empty, the current unit is the last.",
527
+ "else": {
528
+ "description": "Flowchart ID reference for `else` part of the condition.",
457
529
  "type": "string"
458
530
  },
459
- "enableRender": {
460
- "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
461
- "type": "boolean"
531
+ "maxOccurrences": {
532
+ "description": "Maximum occurrence of the condition, usable for loops.",
533
+ "type": "integer"
462
534
  },
463
- "context": {
464
- "type": "object"
535
+ "throwException": {
536
+ "description": "Throw exception on reaching to maximum occurence.",
537
+ "type": "boolean"
538
+ }
539
+ }
540
+ },
541
+ {
542
+ "$schema": "http://json-schema.org/draft-07/schema#",
543
+ "title": "assertion unit schema",
544
+ "type": "object",
545
+ "required": [
546
+ "flowchartId",
547
+ "monitors",
548
+ "name",
549
+ "postProcessors",
550
+ "preProcessors",
551
+ "results",
552
+ "statement",
553
+ "type"
554
+ ],
555
+ "properties": {
556
+ "_id": {
557
+ "description": "entity identity",
558
+ "type": "string"
465
559
  },
466
560
  "slug": {
467
561
  "description": "entity slug",
@@ -475,6 +569,10 @@
475
569
  "type": "string",
476
570
  "default": "2022.8.16"
477
571
  },
572
+ "name": {
573
+ "description": "entity name",
574
+ "type": "string"
575
+ },
478
576
  "isDefault": {
479
577
  "description": "Identifies that entity is defaultable",
480
578
  "type": "boolean",
@@ -485,30 +583,19 @@
485
583
  "type": "array",
486
584
  "items": {
487
585
  "$schema": "http://json-schema.org/draft-07/schema#",
488
- "title": "runtime item schema",
489
- "oneOf": [
490
- {
491
- "$schema": "http://json-schema.org/draft-07/schema#",
492
- "title": "name result schema",
493
- "type": "object",
494
- "properties": {
495
- "name": {
496
- "description": "The name of this item. e.g. scf_accuracy",
497
- "type": "string"
498
- }
499
- },
500
- "additionalProperties": true,
501
- "required": [
502
- "name"
503
- ]
504
- },
505
- {
506
- "$schema": "http://json-schema.org/draft-07/schema#",
507
- "title": "RuntimeItemString",
508
- "description": "name of runtime item in shortened notation",
586
+ "title": "runtime item name object schema",
587
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
588
+ "type": "object",
589
+ "required": [
590
+ "name"
591
+ ],
592
+ "additionalProperties": true,
593
+ "properties": {
594
+ "name": {
595
+ "description": "The name of this item. e.g. scf_accuracy",
509
596
  "type": "string"
510
597
  }
511
- ]
598
+ }
512
599
  }
513
600
  },
514
601
  "postProcessors": {
@@ -516,30 +603,19 @@
516
603
  "type": "array",
517
604
  "items": {
518
605
  "$schema": "http://json-schema.org/draft-07/schema#",
519
- "title": "runtime item schema",
520
- "oneOf": [
521
- {
522
- "$schema": "http://json-schema.org/draft-07/schema#",
523
- "title": "name result schema",
524
- "type": "object",
525
- "properties": {
526
- "name": {
527
- "description": "The name of this item. e.g. scf_accuracy",
528
- "type": "string"
529
- }
530
- },
531
- "additionalProperties": true,
532
- "required": [
533
- "name"
534
- ]
535
- },
536
- {
537
- "$schema": "http://json-schema.org/draft-07/schema#",
538
- "title": "RuntimeItemString",
539
- "description": "name of runtime item in shortened notation",
606
+ "title": "runtime item name object schema",
607
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
608
+ "type": "object",
609
+ "required": [
610
+ "name"
611
+ ],
612
+ "additionalProperties": true,
613
+ "properties": {
614
+ "name": {
615
+ "description": "The name of this item. e.g. scf_accuracy",
540
616
  "type": "string"
541
617
  }
542
- ]
618
+ }
543
619
  }
544
620
  },
545
621
  "monitors": {
@@ -547,61 +623,39 @@
547
623
  "type": "array",
548
624
  "items": {
549
625
  "$schema": "http://json-schema.org/draft-07/schema#",
550
- "title": "runtime item schema",
551
- "oneOf": [
552
- {
553
- "$schema": "http://json-schema.org/draft-07/schema#",
554
- "title": "name result schema",
555
- "type": "object",
556
- "properties": {
557
- "name": {
558
- "description": "The name of this item. e.g. scf_accuracy",
559
- "type": "string"
560
- }
561
- },
562
- "additionalProperties": true,
563
- "required": [
564
- "name"
565
- ]
566
- },
567
- {
568
- "$schema": "http://json-schema.org/draft-07/schema#",
569
- "title": "RuntimeItemString",
570
- "description": "name of runtime item in shortened notation",
571
- "type": "string"
572
- }
573
- ]
574
- }
575
- },
626
+ "title": "runtime item name object schema",
627
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
628
+ "type": "object",
629
+ "required": [
630
+ "name"
631
+ ],
632
+ "additionalProperties": true,
633
+ "properties": {
634
+ "name": {
635
+ "description": "The name of this item. e.g. scf_accuracy",
636
+ "type": "string"
637
+ }
638
+ }
639
+ }
640
+ },
576
641
  "results": {
577
642
  "description": "names of the results for this calculation",
578
643
  "type": "array",
579
644
  "items": {
580
645
  "$schema": "http://json-schema.org/draft-07/schema#",
581
- "title": "runtime item schema",
582
- "oneOf": [
583
- {
584
- "$schema": "http://json-schema.org/draft-07/schema#",
585
- "title": "name result schema",
586
- "type": "object",
587
- "properties": {
588
- "name": {
589
- "description": "The name of this item. e.g. scf_accuracy",
590
- "type": "string"
591
- }
592
- },
593
- "additionalProperties": true,
594
- "required": [
595
- "name"
596
- ]
597
- },
598
- {
599
- "$schema": "http://json-schema.org/draft-07/schema#",
600
- "title": "RuntimeItemString",
601
- "description": "name of runtime item in shortened notation",
646
+ "title": "runtime item name object schema",
647
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
648
+ "type": "object",
649
+ "required": [
650
+ "name"
651
+ ],
652
+ "additionalProperties": true,
653
+ "properties": {
654
+ "name": {
655
+ "description": "The name of this item. e.g. scf_accuracy",
602
656
  "type": "string"
603
657
  }
604
- ]
658
+ }
605
659
  }
606
660
  },
607
661
  "tags": {
@@ -611,6 +665,17 @@
611
665
  "type": "string"
612
666
  }
613
667
  },
668
+ "status": {
669
+ "type": "string",
670
+ "description": "Status of the unit.",
671
+ "enum": [
672
+ "idle",
673
+ "active",
674
+ "warning",
675
+ "error",
676
+ "finished"
677
+ ]
678
+ },
614
679
  "statusTrack": {
615
680
  "type": "array",
616
681
  "items": {
@@ -631,93 +696,14 @@
631
696
  }
632
697
  }
633
698
  }
634
- }
635
- }
636
- },
637
- {
638
- "$schema": "http://json-schema.org/draft-07/schema#",
639
- "title": "condition unit schema",
640
- "type": "object",
641
- "required": [
642
- "else",
643
- "flowchartId",
644
- "input",
645
- "maxOccurrences",
646
- "statement",
647
- "then",
648
- "type"
649
- ],
650
- "additionalProperties": true,
651
- "properties": {
652
- "type": {
653
- "const": "condition",
654
- "description": "type of the unit",
655
- "type": "string"
656
- },
657
- "input": {
658
- "description": "Input information for condition.",
659
- "type": "array",
660
- "items": {
661
- "$schema": "http://json-schema.org/draft-07/schema#",
662
- "title": "workflow unit input schema",
663
- "type": "object",
664
- "required": [
665
- "scope",
666
- "name"
667
- ],
668
- "properties": {
669
- "scope": {
670
- "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'",
671
- "type": "string"
672
- },
673
- "name": {
674
- "description": "Name of the input data. e.g. total_energy",
675
- "type": "string"
676
- }
677
- }
678
- }
679
- },
680
- "statement": {
681
- "description": "Condition statement. e.g. 'abs(x-total_energy) < 1e-5'",
682
- "type": "string"
683
- },
684
- "then": {
685
- "description": "Flowchart ID reference for `then` part of the condition.",
686
- "type": "string"
687
- },
688
- "else": {
689
- "description": "Flowchart ID reference for `else` part of the condition.",
690
- "type": "string"
691
- },
692
- "maxOccurrences": {
693
- "description": "Maximum occurrence of the condition, usable for loops.",
694
- "type": "integer"
695
- },
696
- "throwException": {
697
- "description": "Throw exception on reaching to maximum occurence.",
698
- "type": "boolean"
699
- },
700
- "_id": {
701
- "type": "string",
702
- "description": "entity identity"
703
699
  },
704
700
  "isDraft": {
705
701
  "type": "boolean"
706
702
  },
707
- "name": {
708
- "description": "name of the unit. e.g. pw_scf",
709
- "type": "string"
710
- },
711
- "status": {
712
- "description": "Status of the unit.",
703
+ "type": {
704
+ "description": "type of the unit",
713
705
  "type": "string",
714
- "enum": [
715
- "idle",
716
- "active",
717
- "warning",
718
- "error",
719
- "finished"
720
- ]
706
+ "const": "assertion"
721
707
  },
722
708
  "head": {
723
709
  "description": "Whether this unit is the first one to be executed.",
@@ -735,8 +721,38 @@
735
721
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
736
722
  "type": "boolean"
737
723
  },
738
- "context": {
739
- "type": "object"
724
+ "statement": {
725
+ "type": "string",
726
+ "description": "The statement to be evaluated"
727
+ },
728
+ "errorMessage": {
729
+ "type": "string",
730
+ "description": "The error message to be displayed if the assertion fails"
731
+ }
732
+ }
733
+ },
734
+ {
735
+ "$schema": "http://json-schema.org/draft-07/schema#",
736
+ "title": "execution unit schema",
737
+ "type": "object",
738
+ "required": [
739
+ "application",
740
+ "context",
741
+ "executable",
742
+ "flavor",
743
+ "flowchartId",
744
+ "input",
745
+ "monitors",
746
+ "name",
747
+ "postProcessors",
748
+ "preProcessors",
749
+ "results",
750
+ "type"
751
+ ],
752
+ "properties": {
753
+ "_id": {
754
+ "description": "entity identity",
755
+ "type": "string"
740
756
  },
741
757
  "slug": {
742
758
  "description": "entity slug",
@@ -750,6 +766,10 @@
750
766
  "type": "string",
751
767
  "default": "2022.8.16"
752
768
  },
769
+ "name": {
770
+ "description": "entity name",
771
+ "type": "string"
772
+ },
753
773
  "isDefault": {
754
774
  "description": "Identifies that entity is defaultable",
755
775
  "type": "boolean",
@@ -760,30 +780,19 @@
760
780
  "type": "array",
761
781
  "items": {
762
782
  "$schema": "http://json-schema.org/draft-07/schema#",
763
- "title": "runtime item schema",
764
- "oneOf": [
765
- {
766
- "$schema": "http://json-schema.org/draft-07/schema#",
767
- "title": "name result schema",
768
- "type": "object",
769
- "properties": {
770
- "name": {
771
- "description": "The name of this item. e.g. scf_accuracy",
772
- "type": "string"
773
- }
774
- },
775
- "additionalProperties": true,
776
- "required": [
777
- "name"
778
- ]
779
- },
780
- {
781
- "$schema": "http://json-schema.org/draft-07/schema#",
782
- "title": "RuntimeItemString",
783
- "description": "name of runtime item in shortened notation",
783
+ "title": "runtime item name object schema",
784
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
785
+ "type": "object",
786
+ "required": [
787
+ "name"
788
+ ],
789
+ "additionalProperties": true,
790
+ "properties": {
791
+ "name": {
792
+ "description": "The name of this item. e.g. scf_accuracy",
784
793
  "type": "string"
785
794
  }
786
- ]
795
+ }
787
796
  }
788
797
  },
789
798
  "postProcessors": {
@@ -791,30 +800,19 @@
791
800
  "type": "array",
792
801
  "items": {
793
802
  "$schema": "http://json-schema.org/draft-07/schema#",
794
- "title": "runtime item schema",
795
- "oneOf": [
796
- {
797
- "$schema": "http://json-schema.org/draft-07/schema#",
798
- "title": "name result schema",
799
- "type": "object",
800
- "properties": {
801
- "name": {
802
- "description": "The name of this item. e.g. scf_accuracy",
803
- "type": "string"
804
- }
805
- },
806
- "additionalProperties": true,
807
- "required": [
808
- "name"
809
- ]
810
- },
811
- {
812
- "$schema": "http://json-schema.org/draft-07/schema#",
813
- "title": "RuntimeItemString",
814
- "description": "name of runtime item in shortened notation",
803
+ "title": "runtime item name object schema",
804
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
805
+ "type": "object",
806
+ "required": [
807
+ "name"
808
+ ],
809
+ "additionalProperties": true,
810
+ "properties": {
811
+ "name": {
812
+ "description": "The name of this item. e.g. scf_accuracy",
815
813
  "type": "string"
816
814
  }
817
- ]
815
+ }
818
816
  }
819
817
  },
820
818
  "monitors": {
@@ -822,30 +820,19 @@
822
820
  "type": "array",
823
821
  "items": {
824
822
  "$schema": "http://json-schema.org/draft-07/schema#",
825
- "title": "runtime item schema",
826
- "oneOf": [
827
- {
828
- "$schema": "http://json-schema.org/draft-07/schema#",
829
- "title": "name result schema",
830
- "type": "object",
831
- "properties": {
832
- "name": {
833
- "description": "The name of this item. e.g. scf_accuracy",
834
- "type": "string"
835
- }
836
- },
837
- "additionalProperties": true,
838
- "required": [
839
- "name"
840
- ]
841
- },
842
- {
843
- "$schema": "http://json-schema.org/draft-07/schema#",
844
- "title": "RuntimeItemString",
845
- "description": "name of runtime item in shortened notation",
823
+ "title": "runtime item name object schema",
824
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
825
+ "type": "object",
826
+ "required": [
827
+ "name"
828
+ ],
829
+ "additionalProperties": true,
830
+ "properties": {
831
+ "name": {
832
+ "description": "The name of this item. e.g. scf_accuracy",
846
833
  "type": "string"
847
834
  }
848
- ]
835
+ }
849
836
  }
850
837
  },
851
838
  "results": {
@@ -853,30 +840,19 @@
853
840
  "type": "array",
854
841
  "items": {
855
842
  "$schema": "http://json-schema.org/draft-07/schema#",
856
- "title": "runtime item schema",
857
- "oneOf": [
858
- {
859
- "$schema": "http://json-schema.org/draft-07/schema#",
860
- "title": "name result schema",
861
- "type": "object",
862
- "properties": {
863
- "name": {
864
- "description": "The name of this item. e.g. scf_accuracy",
865
- "type": "string"
866
- }
867
- },
868
- "additionalProperties": true,
869
- "required": [
870
- "name"
871
- ]
872
- },
873
- {
874
- "$schema": "http://json-schema.org/draft-07/schema#",
875
- "title": "RuntimeItemString",
876
- "description": "name of runtime item in shortened notation",
843
+ "title": "runtime item name object schema",
844
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
845
+ "type": "object",
846
+ "required": [
847
+ "name"
848
+ ],
849
+ "additionalProperties": true,
850
+ "properties": {
851
+ "name": {
852
+ "description": "The name of this item. e.g. scf_accuracy",
877
853
  "type": "string"
878
854
  }
879
- ]
855
+ }
880
856
  }
881
857
  },
882
858
  "tags": {
@@ -886,13 +862,24 @@
886
862
  "type": "string"
887
863
  }
888
864
  },
889
- "statusTrack": {
890
- "type": "array",
891
- "items": {
892
- "type": "object",
893
- "required": [
894
- "trackedAt",
895
- "status"
865
+ "status": {
866
+ "type": "string",
867
+ "description": "Status of the unit.",
868
+ "enum": [
869
+ "idle",
870
+ "active",
871
+ "warning",
872
+ "error",
873
+ "finished"
874
+ ]
875
+ },
876
+ "statusTrack": {
877
+ "type": "array",
878
+ "items": {
879
+ "type": "object",
880
+ "required": [
881
+ "trackedAt",
882
+ "status"
896
883
  ],
897
884
  "properties": {
898
885
  "trackedAt": {
@@ -906,55 +893,14 @@
906
893
  }
907
894
  }
908
895
  }
909
- }
910
- }
911
- },
912
- {
913
- "$schema": "http://json-schema.org/draft-07/schema#",
914
- "title": "assertion unit schema",
915
- "type": "object",
916
- "required": [
917
- "flowchartId",
918
- "name",
919
- "statement",
920
- "type"
921
- ],
922
- "additionalProperties": true,
923
- "properties": {
924
- "type": {
925
- "const": "assertion",
926
- "description": "type of the unit",
927
- "type": "string"
928
- },
929
- "statement": {
930
- "type": "string",
931
- "description": "The statement to be evaluated"
932
- },
933
- "errorMessage": {
934
- "type": "string",
935
- "description": "The error message to be displayed if the assertion fails"
936
- },
937
- "_id": {
938
- "type": "string",
939
- "description": "entity identity"
940
896
  },
941
897
  "isDraft": {
942
898
  "type": "boolean"
943
899
  },
944
- "name": {
945
- "description": "name of the unit. e.g. pw_scf",
946
- "type": "string"
947
- },
948
- "status": {
949
- "description": "Status of the unit.",
900
+ "type": {
901
+ "description": "type of the unit",
950
902
  "type": "string",
951
- "enum": [
952
- "idle",
953
- "active",
954
- "warning",
955
- "error",
956
- "finished"
957
- ]
903
+ "const": "execution"
958
904
  },
959
905
  "head": {
960
906
  "description": "Whether this unit is the first one to be executed.",
@@ -972,202 +918,43 @@
972
918
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
973
919
  "type": "boolean"
974
920
  },
975
- "context": {
976
- "type": "object"
977
- },
978
- "slug": {
979
- "description": "entity slug",
980
- "type": "string"
981
- },
982
- "systemName": {
983
- "type": "string"
984
- },
985
- "schemaVersion": {
986
- "description": "entity's schema version. Used to distinct between different schemas.",
987
- "type": "string",
988
- "default": "2022.8.16"
989
- },
990
- "isDefault": {
991
- "description": "Identifies that entity is defaultable",
992
- "type": "boolean",
993
- "default": false
994
- },
995
- "preProcessors": {
996
- "description": "names of the pre-processors for this calculation",
997
- "type": "array",
998
- "items": {
999
- "$schema": "http://json-schema.org/draft-07/schema#",
1000
- "title": "runtime item schema",
1001
- "oneOf": [
1002
- {
1003
- "$schema": "http://json-schema.org/draft-07/schema#",
1004
- "title": "name result schema",
1005
- "type": "object",
1006
- "properties": {
1007
- "name": {
1008
- "description": "The name of this item. e.g. scf_accuracy",
1009
- "type": "string"
1010
- }
1011
- },
1012
- "additionalProperties": true,
1013
- "required": [
1014
- "name"
1015
- ]
1016
- },
1017
- {
1018
- "$schema": "http://json-schema.org/draft-07/schema#",
1019
- "title": "RuntimeItemString",
1020
- "description": "name of runtime item in shortened notation",
1021
- "type": "string"
1022
- }
1023
- ]
1024
- }
1025
- },
1026
- "postProcessors": {
1027
- "description": "names of the post-processors for this calculation",
1028
- "type": "array",
1029
- "items": {
1030
- "$schema": "http://json-schema.org/draft-07/schema#",
1031
- "title": "runtime item schema",
1032
- "oneOf": [
1033
- {
1034
- "$schema": "http://json-schema.org/draft-07/schema#",
1035
- "title": "name result schema",
1036
- "type": "object",
1037
- "properties": {
1038
- "name": {
1039
- "description": "The name of this item. e.g. scf_accuracy",
1040
- "type": "string"
1041
- }
1042
- },
1043
- "additionalProperties": true,
1044
- "required": [
1045
- "name"
1046
- ]
1047
- },
1048
- {
1049
- "$schema": "http://json-schema.org/draft-07/schema#",
1050
- "title": "RuntimeItemString",
1051
- "description": "name of runtime item in shortened notation",
1052
- "type": "string"
1053
- }
1054
- ]
1055
- }
1056
- },
1057
- "monitors": {
1058
- "description": "names of the monitors for this calculation",
1059
- "type": "array",
1060
- "items": {
1061
- "$schema": "http://json-schema.org/draft-07/schema#",
1062
- "title": "runtime item schema",
1063
- "oneOf": [
1064
- {
1065
- "$schema": "http://json-schema.org/draft-07/schema#",
1066
- "title": "name result schema",
1067
- "type": "object",
1068
- "properties": {
1069
- "name": {
1070
- "description": "The name of this item. e.g. scf_accuracy",
1071
- "type": "string"
1072
- }
1073
- },
1074
- "additionalProperties": true,
1075
- "required": [
1076
- "name"
1077
- ]
1078
- },
1079
- {
1080
- "$schema": "http://json-schema.org/draft-07/schema#",
1081
- "title": "RuntimeItemString",
1082
- "description": "name of runtime item in shortened notation",
1083
- "type": "string"
1084
- }
1085
- ]
1086
- }
1087
- },
1088
- "results": {
1089
- "description": "names of the results for this calculation",
1090
- "type": "array",
1091
- "items": {
1092
- "$schema": "http://json-schema.org/draft-07/schema#",
1093
- "title": "runtime item schema",
1094
- "oneOf": [
1095
- {
1096
- "$schema": "http://json-schema.org/draft-07/schema#",
1097
- "title": "name result schema",
1098
- "type": "object",
1099
- "properties": {
1100
- "name": {
1101
- "description": "The name of this item. e.g. scf_accuracy",
1102
- "type": "string"
1103
- }
1104
- },
1105
- "additionalProperties": true,
1106
- "required": [
1107
- "name"
1108
- ]
1109
- },
1110
- {
1111
- "$schema": "http://json-schema.org/draft-07/schema#",
1112
- "title": "RuntimeItemString",
1113
- "description": "name of runtime item in shortened notation",
1114
- "type": "string"
1115
- }
1116
- ]
1117
- }
1118
- },
1119
- "tags": {
1120
- "description": "entity tags",
1121
- "type": "array",
1122
- "items": {
1123
- "type": "string"
1124
- }
1125
- },
1126
- "statusTrack": {
1127
- "type": "array",
1128
- "items": {
1129
- "type": "object",
1130
- "required": [
1131
- "trackedAt",
1132
- "status"
1133
- ],
1134
- "properties": {
1135
- "trackedAt": {
1136
- "type": "number"
1137
- },
1138
- "status": {
1139
- "type": "string"
1140
- },
1141
- "repetition": {
1142
- "type": "number"
1143
- }
1144
- }
1145
- }
1146
- }
1147
- }
1148
- },
1149
- {
1150
- "$schema": "http://json-schema.org/draft-07/schema#",
1151
- "title": "execution unit schema (base)",
1152
- "type": "object",
1153
- "required": [
1154
- "application",
1155
- "flowchartId",
1156
- "input",
1157
- "type"
1158
- ],
1159
- "additionalProperties": true,
1160
- "properties": {
1161
- "type": {
1162
- "const": "execution",
1163
- "description": "type of the unit",
1164
- "type": "string"
1165
- },
1166
921
  "application": {
1167
922
  "$schema": "http://json-schema.org/draft-07/schema#",
1168
- "title": "application schema (base)",
923
+ "title": "application schema",
1169
924
  "type": "object",
925
+ "required": [
926
+ "build",
927
+ "name",
928
+ "shortName",
929
+ "summary",
930
+ "version"
931
+ ],
1170
932
  "properties": {
933
+ "_id": {
934
+ "description": "entity identity",
935
+ "type": "string"
936
+ },
937
+ "slug": {
938
+ "description": "entity slug",
939
+ "type": "string"
940
+ },
941
+ "systemName": {
942
+ "type": "string"
943
+ },
944
+ "schemaVersion": {
945
+ "description": "entity's schema version. Used to distinct between different schemas.",
946
+ "type": "string",
947
+ "default": "2022.8.16"
948
+ },
949
+ "name": {
950
+ "description": "entity name",
951
+ "type": "string"
952
+ },
953
+ "isDefault": {
954
+ "description": "Identifies that entity is defaultable",
955
+ "type": "boolean",
956
+ "default": false
957
+ },
1171
958
  "shortName": {
1172
959
  "description": "The short name of the application. e.g. qe",
1173
960
  "type": "string"
@@ -1184,10 +971,9 @@
1184
971
  "description": "Application build. e.g. VTST",
1185
972
  "type": "string"
1186
973
  },
1187
- "isDefault": {
1188
- "description": "Whether the build is the default build",
1189
- "type": "boolean",
1190
- "default": false
974
+ "isDefaultVersion": {
975
+ "description": "Whether the version is the default version",
976
+ "type": "boolean"
1191
977
  },
1192
978
  "hasAdvancedComputeOptions": {
1193
979
  "description": "Whether advanced compute options are present",
@@ -1201,6 +987,36 @@
1201
987
  "description": "Whether the application is using (being passed during a downstream processing routine) a material structure.",
1202
988
  "type": "boolean"
1203
989
  },
990
+ "runConfig": {
991
+ "description": "The run configuration of the application",
992
+ "type": "object",
993
+ "required": [
994
+ "commandTemplate",
995
+ "outFileName"
996
+ ],
997
+ "properties": {
998
+ "commandTemplate": {
999
+ "description": "The command template of the application",
1000
+ "type": "string"
1001
+ },
1002
+ "outFileName": {
1003
+ "description": "The output file name of the application",
1004
+ "type": "string"
1005
+ }
1006
+ }
1007
+ }
1008
+ }
1009
+ },
1010
+ "executable": {
1011
+ "$schema": "http://json-schema.org/draft-07/schema#",
1012
+ "title": "Named defaultable in-memory entity schema",
1013
+ "type": "object",
1014
+ "required": [
1015
+ "applicationName",
1016
+ "applicationVersion",
1017
+ "name"
1018
+ ],
1019
+ "properties": {
1204
1020
  "_id": {
1205
1021
  "description": "entity identity",
1206
1022
  "type": "string"
@@ -1220,36 +1036,42 @@
1220
1036
  "name": {
1221
1037
  "description": "entity name",
1222
1038
  "type": "string"
1223
- }
1224
- }
1225
- },
1226
- "executable": {
1227
- "$schema": "http://json-schema.org/draft-07/schema#",
1228
- "title": "executable schema",
1229
- "type": "object",
1230
- "required": [
1231
- "name"
1232
- ],
1233
- "properties": {
1234
- "name": {
1235
- "description": "The name of the executable. e.g. pw.x",
1236
- "type": "string"
1237
1039
  },
1238
- "applicationId": {
1239
- "description": "_ids of the application this executable belongs to",
1240
- "type": "array",
1241
- "items": {
1242
- "type": "string"
1243
- }
1040
+ "isDefault": {
1041
+ "description": "Identifies that entity is defaultable",
1042
+ "type": "boolean",
1043
+ "default": false
1244
1044
  },
1245
1045
  "applicationName": {
1246
1046
  "description": "name of the application this executable belongs to",
1247
1047
  "type": "string"
1248
1048
  },
1049
+ "applicationVersion": {
1050
+ "description": "version of the application this executable belongs to",
1051
+ "type": "string"
1052
+ },
1249
1053
  "hasAdvancedComputeOptions": {
1250
1054
  "description": "Whether advanced compute options are present",
1251
1055
  "type": "boolean"
1252
- },
1056
+ }
1057
+ }
1058
+ },
1059
+ "flavor": {
1060
+ "$schema": "http://json-schema.org/draft-07/schema#",
1061
+ "title": "flavor schema",
1062
+ "type": "object",
1063
+ "required": [
1064
+ "applicationName",
1065
+ "applicationVersion",
1066
+ "executableName",
1067
+ "input",
1068
+ "monitors",
1069
+ "name",
1070
+ "postProcessors",
1071
+ "preProcessors",
1072
+ "results"
1073
+ ],
1074
+ "properties": {
1253
1075
  "_id": {
1254
1076
  "description": "entity identity",
1255
1077
  "type": "string"
@@ -1266,6 +1088,10 @@
1266
1088
  "type": "string",
1267
1089
  "default": "2022.8.16"
1268
1090
  },
1091
+ "name": {
1092
+ "description": "entity name",
1093
+ "type": "string"
1094
+ },
1269
1095
  "isDefault": {
1270
1096
  "description": "Identifies that entity is defaultable",
1271
1097
  "type": "boolean",
@@ -1276,30 +1102,19 @@
1276
1102
  "type": "array",
1277
1103
  "items": {
1278
1104
  "$schema": "http://json-schema.org/draft-07/schema#",
1279
- "title": "runtime item schema",
1280
- "oneOf": [
1281
- {
1282
- "$schema": "http://json-schema.org/draft-07/schema#",
1283
- "title": "name result schema",
1284
- "type": "object",
1285
- "properties": {
1286
- "name": {
1287
- "description": "The name of this item. e.g. scf_accuracy",
1288
- "type": "string"
1289
- }
1290
- },
1291
- "additionalProperties": true,
1292
- "required": [
1293
- "name"
1294
- ]
1295
- },
1296
- {
1297
- "$schema": "http://json-schema.org/draft-07/schema#",
1298
- "title": "RuntimeItemString",
1299
- "description": "name of runtime item in shortened notation",
1105
+ "title": "runtime item name object schema",
1106
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
1107
+ "type": "object",
1108
+ "required": [
1109
+ "name"
1110
+ ],
1111
+ "additionalProperties": true,
1112
+ "properties": {
1113
+ "name": {
1114
+ "description": "The name of this item. e.g. scf_accuracy",
1300
1115
  "type": "string"
1301
1116
  }
1302
- ]
1117
+ }
1303
1118
  }
1304
1119
  },
1305
1120
  "postProcessors": {
@@ -1307,30 +1122,19 @@
1307
1122
  "type": "array",
1308
1123
  "items": {
1309
1124
  "$schema": "http://json-schema.org/draft-07/schema#",
1310
- "title": "runtime item schema",
1311
- "oneOf": [
1312
- {
1313
- "$schema": "http://json-schema.org/draft-07/schema#",
1314
- "title": "name result schema",
1315
- "type": "object",
1316
- "properties": {
1317
- "name": {
1318
- "description": "The name of this item. e.g. scf_accuracy",
1319
- "type": "string"
1320
- }
1321
- },
1322
- "additionalProperties": true,
1323
- "required": [
1324
- "name"
1325
- ]
1326
- },
1327
- {
1328
- "$schema": "http://json-schema.org/draft-07/schema#",
1329
- "title": "RuntimeItemString",
1330
- "description": "name of runtime item in shortened notation",
1125
+ "title": "runtime item name object schema",
1126
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
1127
+ "type": "object",
1128
+ "required": [
1129
+ "name"
1130
+ ],
1131
+ "additionalProperties": true,
1132
+ "properties": {
1133
+ "name": {
1134
+ "description": "The name of this item. e.g. scf_accuracy",
1331
1135
  "type": "string"
1332
1136
  }
1333
- ]
1137
+ }
1334
1138
  }
1335
1139
  },
1336
1140
  "monitors": {
@@ -1338,30 +1142,19 @@
1338
1142
  "type": "array",
1339
1143
  "items": {
1340
1144
  "$schema": "http://json-schema.org/draft-07/schema#",
1341
- "title": "runtime item schema",
1342
- "oneOf": [
1343
- {
1344
- "$schema": "http://json-schema.org/draft-07/schema#",
1345
- "title": "name result schema",
1346
- "type": "object",
1347
- "properties": {
1348
- "name": {
1349
- "description": "The name of this item. e.g. scf_accuracy",
1350
- "type": "string"
1351
- }
1352
- },
1353
- "additionalProperties": true,
1354
- "required": [
1355
- "name"
1356
- ]
1357
- },
1358
- {
1359
- "$schema": "http://json-schema.org/draft-07/schema#",
1360
- "title": "RuntimeItemString",
1361
- "description": "name of runtime item in shortened notation",
1145
+ "title": "runtime item name object schema",
1146
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
1147
+ "type": "object",
1148
+ "required": [
1149
+ "name"
1150
+ ],
1151
+ "additionalProperties": true,
1152
+ "properties": {
1153
+ "name": {
1154
+ "description": "The name of this item. e.g. scf_accuracy",
1362
1155
  "type": "string"
1363
1156
  }
1364
- ]
1157
+ }
1365
1158
  }
1366
1159
  },
1367
1160
  "results": {
@@ -1369,42 +1162,20 @@
1369
1162
  "type": "array",
1370
1163
  "items": {
1371
1164
  "$schema": "http://json-schema.org/draft-07/schema#",
1372
- "title": "runtime item schema",
1373
- "oneOf": [
1374
- {
1375
- "$schema": "http://json-schema.org/draft-07/schema#",
1376
- "title": "name result schema",
1377
- "type": "object",
1378
- "properties": {
1379
- "name": {
1380
- "description": "The name of this item. e.g. scf_accuracy",
1381
- "type": "string"
1382
- }
1383
- },
1384
- "additionalProperties": true,
1385
- "required": [
1386
- "name"
1387
- ]
1388
- },
1389
- {
1390
- "$schema": "http://json-schema.org/draft-07/schema#",
1391
- "title": "RuntimeItemString",
1392
- "description": "name of runtime item in shortened notation",
1165
+ "title": "runtime item name object schema",
1166
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
1167
+ "type": "object",
1168
+ "required": [
1169
+ "name"
1170
+ ],
1171
+ "additionalProperties": true,
1172
+ "properties": {
1173
+ "name": {
1174
+ "description": "The name of this item. e.g. scf_accuracy",
1393
1175
  "type": "string"
1394
1176
  }
1395
- ]
1177
+ }
1396
1178
  }
1397
- }
1398
- }
1399
- },
1400
- "flavor": {
1401
- "$schema": "http://json-schema.org/draft-07/schema#",
1402
- "title": "flavor schema",
1403
- "type": "object",
1404
- "properties": {
1405
- "executableId": {
1406
- "description": "_id of the executable this flavor belongs to",
1407
- "type": "string"
1408
1179
  },
1409
1180
  "executableName": {
1410
1181
  "description": "name of the executable this flavor belongs to",
@@ -1414,6 +1185,10 @@
1414
1185
  "description": "name of the application this flavor belongs to",
1415
1186
  "type": "string"
1416
1187
  },
1188
+ "applicationVersion": {
1189
+ "description": "version of the application this flavor belongs to",
1190
+ "type": "string"
1191
+ },
1417
1192
  "input": {
1418
1193
  "title": "execution unit input schema",
1419
1194
  "type": "array",
@@ -1421,7 +1196,9 @@
1421
1196
  "$schema": "http://json-schema.org/draft-07/schema#",
1422
1197
  "title": "execution unit input id item schema for physics-based simulation engines",
1423
1198
  "type": "object",
1424
- "additionalProperties": false,
1199
+ "required": [
1200
+ "name"
1201
+ ],
1425
1202
  "properties": {
1426
1203
  "templateId": {
1427
1204
  "type": "string"
@@ -1435,724 +1212,1713 @@
1435
1212
  }
1436
1213
  }
1437
1214
  }
1438
- },
1439
- "supportedApplicationVersions": {
1440
- "description": "list of application versions this flavor supports",
1441
- "type": "array",
1442
- "items": {
1215
+ }
1216
+ }
1217
+ },
1218
+ "input": {
1219
+ "type": "array",
1220
+ "items": {
1221
+ "$schema": "http://json-schema.org/draft-07/schema#",
1222
+ "title": "execution unit input item schema",
1223
+ "type": "object",
1224
+ "required": [
1225
+ "isManuallyChanged",
1226
+ "template"
1227
+ ],
1228
+ "properties": {
1229
+ "template": {
1230
+ "$schema": "http://json-schema.org/draft-07/schema#",
1231
+ "title": "template schema",
1232
+ "type": "object",
1233
+ "required": [
1234
+ "applicationName",
1235
+ "applicationVersion",
1236
+ "content",
1237
+ "contextProviders",
1238
+ "executableName",
1239
+ "name"
1240
+ ],
1241
+ "properties": {
1242
+ "_id": {
1243
+ "description": "entity identity",
1244
+ "type": "string"
1245
+ },
1246
+ "slug": {
1247
+ "description": "entity slug",
1248
+ "type": "string"
1249
+ },
1250
+ "systemName": {
1251
+ "type": "string"
1252
+ },
1253
+ "schemaVersion": {
1254
+ "description": "entity's schema version. Used to distinct between different schemas.",
1255
+ "type": "string",
1256
+ "default": "2022.8.16"
1257
+ },
1258
+ "name": {
1259
+ "description": "entity name",
1260
+ "type": "string"
1261
+ },
1262
+ "executableName": {
1263
+ "type": "string"
1264
+ },
1265
+ "applicationName": {
1266
+ "type": "string"
1267
+ },
1268
+ "applicationVersion": {
1269
+ "type": "string"
1270
+ },
1271
+ "contextProviders": {
1272
+ "type": "array",
1273
+ "items": {
1274
+ "description": "render context provider names",
1275
+ "type": "object",
1276
+ "required": [
1277
+ "name"
1278
+ ],
1279
+ "properties": {
1280
+ "name": {
1281
+ "type": "string",
1282
+ "tsType": "ContextProviderNameEnum"
1283
+ }
1284
+ }
1285
+ }
1286
+ },
1287
+ "content": {
1288
+ "description": "Content of the template. e.g. &CONTROL calculation='scf' ...",
1289
+ "type": "string"
1290
+ }
1291
+ }
1292
+ },
1293
+ "rendered": {
1294
+ "description": "Rendered content of the input file. e.g. &CONTROL calculation='scf' ...",
1443
1295
  "type": "string"
1296
+ },
1297
+ "isManuallyChanged": {
1298
+ "type": "boolean",
1299
+ "default": false
1444
1300
  }
1445
- },
1446
- "_id": {
1447
- "description": "entity identity",
1448
- "type": "string"
1449
- },
1450
- "slug": {
1451
- "description": "entity slug",
1452
- "type": "string"
1453
- },
1454
- "systemName": {
1455
- "type": "string"
1456
- },
1457
- "schemaVersion": {
1458
- "description": "entity's schema version. Used to distinct between different schemas.",
1459
- "type": "string",
1460
- "default": "2022.8.16"
1461
- },
1462
- "name": {
1463
- "description": "entity name",
1464
- "type": "string"
1465
- },
1466
- "isDefault": {
1467
- "description": "Identifies that entity is defaultable",
1468
- "type": "boolean",
1469
- "default": false
1470
- },
1471
- "preProcessors": {
1472
- "description": "names of the pre-processors for this calculation",
1473
- "type": "array",
1474
- "items": {
1301
+ }
1302
+ }
1303
+ },
1304
+ "context": {
1305
+ "type": "array",
1306
+ "items": {
1307
+ "$schema": "http://json-schema.org/draft-07/schema#",
1308
+ "title": "context item schema",
1309
+ "oneOf": [
1310
+ {
1475
1311
  "$schema": "http://json-schema.org/draft-07/schema#",
1476
- "title": "runtime item schema",
1477
- "oneOf": [
1478
- {
1312
+ "title": "input context item schema",
1313
+ "type": "object",
1314
+ "required": [
1315
+ "name",
1316
+ "isEdited",
1317
+ "data",
1318
+ "extraData"
1319
+ ],
1320
+ "properties": {
1321
+ "name": {
1322
+ "type": "string",
1323
+ "const": "input"
1324
+ },
1325
+ "data": {
1326
+ "type": "object",
1327
+ "oneOf": [
1328
+ {
1329
+ "$schema": "http://json-schema.org/draft-07/schema#",
1330
+ "title": "NWChem Total Energy Context Provider Schema",
1331
+ "description": "Schema for NWChemTotalEnergyContextProvider that generates context data for NWChem total energy input.",
1332
+ "type": "object",
1333
+ "properties": {
1334
+ "contextProviderName": {
1335
+ "type": "string",
1336
+ "const": "nwchem-total-energy",
1337
+ "description": "Descriminator for AJV validator"
1338
+ },
1339
+ "CHARGE": {
1340
+ "type": "integer",
1341
+ "description": "Total charge of the system."
1342
+ },
1343
+ "MULT": {
1344
+ "type": "integer",
1345
+ "description": "Spin multiplicity of the system."
1346
+ },
1347
+ "BASIS": {
1348
+ "type": "string",
1349
+ "description": "Basis set label used in the calculation (e.g., '6-31G')."
1350
+ },
1351
+ "NAT": {
1352
+ "type": "integer",
1353
+ "description": "Number of atoms in the system."
1354
+ },
1355
+ "NTYP": {
1356
+ "type": "integer",
1357
+ "description": "Number of unique atomic species in the system."
1358
+ },
1359
+ "ATOMIC_POSITIONS": {
1360
+ "type": "string",
1361
+ "description": "Formatted text block with atomic positions including constraints."
1362
+ },
1363
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
1364
+ "type": "string",
1365
+ "description": "Formatted text block with atomic positions without constraints."
1366
+ },
1367
+ "ATOMIC_SPECIES": {
1368
+ "type": "string",
1369
+ "description": "Formatted text block for atomic species, including element symbols and masses."
1370
+ },
1371
+ "FUNCTIONAL": {
1372
+ "type": "string",
1373
+ "description": "Exchange-correlation functional identifier (e.g., 'B3LYP')."
1374
+ },
1375
+ "CARTESIAN": {
1376
+ "type": "boolean",
1377
+ "description": "Whether atomic positions are expressed in cartesian coordinates."
1378
+ }
1379
+ },
1380
+ "required": [
1381
+ "CHARGE",
1382
+ "MULT",
1383
+ "BASIS",
1384
+ "NAT",
1385
+ "NTYP",
1386
+ "ATOMIC_POSITIONS",
1387
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS",
1388
+ "ATOMIC_SPECIES",
1389
+ "FUNCTIONAL",
1390
+ "CARTESIAN",
1391
+ "contextProviderName"
1392
+ ]
1393
+ },
1394
+ {
1395
+ "$schema": "http://json-schema.org/draft-07/schema#",
1396
+ "title": "QE NEB Context Provider Schema",
1397
+ "description": "Schema for QENEBContextProvider that generates context data for Quantum ESPRESSO pw.x NEB input. Extends the pw.x context with image-specific atomic positions.",
1398
+ "type": "object",
1399
+ "required": [
1400
+ "IBRAV",
1401
+ "RESTART_MODE",
1402
+ "ATOMIC_SPECIES",
1403
+ "ATOMIC_SPECIES_WITH_LABELS",
1404
+ "NAT",
1405
+ "NTYP",
1406
+ "NTYP_WITH_LABELS",
1407
+ "CELL_PARAMETERS",
1408
+ "FIRST_IMAGE",
1409
+ "LAST_IMAGE",
1410
+ "INTERMEDIATE_IMAGES",
1411
+ "contextProviderName"
1412
+ ],
1413
+ "properties": {
1414
+ "IBRAV": {
1415
+ "type": "integer"
1416
+ },
1417
+ "RESTART_MODE": {
1418
+ "type": "string",
1419
+ "enum": [
1420
+ "from_scratch",
1421
+ "restart"
1422
+ ],
1423
+ "default": "from_scratch"
1424
+ },
1425
+ "ATOMIC_SPECIES": {
1426
+ "type": "array",
1427
+ "items": {
1428
+ "type": "object",
1429
+ "required": [
1430
+ "X",
1431
+ "Mass_X",
1432
+ "PseudoPot_X"
1433
+ ],
1434
+ "additionalProperties": false,
1435
+ "properties": {
1436
+ "X": {
1437
+ "type": "string",
1438
+ "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"
1439
+ },
1440
+ "Mass_X": {
1441
+ "type": "number",
1442
+ "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"
1443
+ },
1444
+ "PseudoPot_X": {
1445
+ "type": "string",
1446
+ "description": "PseudoPot_X"
1447
+ }
1448
+ }
1449
+ }
1450
+ },
1451
+ "ATOMIC_SPECIES_WITH_LABELS": {
1452
+ "type": "array",
1453
+ "items": {
1454
+ "type": "object",
1455
+ "required": [
1456
+ "X",
1457
+ "Mass_X",
1458
+ "PseudoPot_X"
1459
+ ],
1460
+ "additionalProperties": false,
1461
+ "properties": {
1462
+ "X": {
1463
+ "type": "string",
1464
+ "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"
1465
+ },
1466
+ "Mass_X": {
1467
+ "type": "number",
1468
+ "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"
1469
+ },
1470
+ "PseudoPot_X": {
1471
+ "type": "string",
1472
+ "description": "PseudoPot_X"
1473
+ }
1474
+ }
1475
+ }
1476
+ },
1477
+ "NAT": {
1478
+ "type": "integer",
1479
+ "description": "number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"
1480
+ },
1481
+ "NTYP": {
1482
+ "type": "integer",
1483
+ "description": "number of types of atoms in the unit cell"
1484
+ },
1485
+ "NTYP_WITH_LABELS": {
1486
+ "type": "integer",
1487
+ "description": "Number of different atomic species including labels",
1488
+ "minimum": 1
1489
+ },
1490
+ "ATOMIC_POSITIONS": {
1491
+ "type": "array",
1492
+ "items": {
1493
+ "type": "object",
1494
+ "required": [
1495
+ "x",
1496
+ "y",
1497
+ "z"
1498
+ ],
1499
+ "additionalProperties": false,
1500
+ "properties": {
1501
+ "X": {
1502
+ "type": "string",
1503
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
1504
+ },
1505
+ "x": {
1506
+ "type": "number",
1507
+ "description": "atomic positions"
1508
+ },
1509
+ "y": {
1510
+ "type": "number",
1511
+ "description": "atomic positions"
1512
+ },
1513
+ "z": {
1514
+ "type": "number",
1515
+ "description": "atomic positions"
1516
+ },
1517
+ "if_pos(1)": {
1518
+ "$schema": "http://json-schema.org/draft-07/schema#",
1519
+ "title": "integer one or zero",
1520
+ "type": "integer",
1521
+ "minimum": 0,
1522
+ "maximum": 1
1523
+ },
1524
+ "if_pos(2)": {
1525
+ "$schema": "http://json-schema.org/draft-07/schema#",
1526
+ "title": "integer one or zero",
1527
+ "type": "integer",
1528
+ "minimum": 0,
1529
+ "maximum": 1
1530
+ },
1531
+ "if_pos(3)": {
1532
+ "$schema": "http://json-schema.org/draft-07/schema#",
1533
+ "title": "integer one or zero",
1534
+ "type": "integer",
1535
+ "minimum": 0,
1536
+ "maximum": 1
1537
+ }
1538
+ }
1539
+ }
1540
+ },
1541
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
1542
+ "type": "string",
1543
+ "description": "Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"
1544
+ },
1545
+ "CELL_PARAMETERS": {
1546
+ "type": "object",
1547
+ "additionalProperties": false,
1548
+ "properties": {
1549
+ "v1": {
1550
+ "$schema": "http://json-schema.org/draft-07/schema#",
1551
+ "title": "array of 3 number elements schema",
1552
+ "type": "array",
1553
+ "minItems": 3,
1554
+ "maxItems": 3,
1555
+ "items": {
1556
+ "type": "number"
1557
+ }
1558
+ },
1559
+ "v2": {
1560
+ "$schema": "http://json-schema.org/draft-07/schema#",
1561
+ "title": "array of 3 number elements schema",
1562
+ "type": "array",
1563
+ "minItems": 3,
1564
+ "maxItems": 3,
1565
+ "items": {
1566
+ "type": "number"
1567
+ }
1568
+ },
1569
+ "v3": {
1570
+ "$schema": "http://json-schema.org/draft-07/schema#",
1571
+ "title": "array of 3 number elements schema",
1572
+ "type": "array",
1573
+ "minItems": 3,
1574
+ "maxItems": 3,
1575
+ "items": {
1576
+ "type": "number"
1577
+ }
1578
+ }
1579
+ }
1580
+ },
1581
+ "FIRST_IMAGE": {
1582
+ "type": "array",
1583
+ "items": {
1584
+ "type": "object",
1585
+ "required": [
1586
+ "x",
1587
+ "y",
1588
+ "z"
1589
+ ],
1590
+ "additionalProperties": false,
1591
+ "properties": {
1592
+ "X": {
1593
+ "type": "string",
1594
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
1595
+ },
1596
+ "x": {
1597
+ "type": "number",
1598
+ "description": "atomic positions"
1599
+ },
1600
+ "y": {
1601
+ "type": "number",
1602
+ "description": "atomic positions"
1603
+ },
1604
+ "z": {
1605
+ "type": "number",
1606
+ "description": "atomic positions"
1607
+ },
1608
+ "if_pos(1)": {
1609
+ "$schema": "http://json-schema.org/draft-07/schema#",
1610
+ "title": "integer one or zero",
1611
+ "type": "integer",
1612
+ "minimum": 0,
1613
+ "maximum": 1
1614
+ },
1615
+ "if_pos(2)": {
1616
+ "$schema": "http://json-schema.org/draft-07/schema#",
1617
+ "title": "integer one or zero",
1618
+ "type": "integer",
1619
+ "minimum": 0,
1620
+ "maximum": 1
1621
+ },
1622
+ "if_pos(3)": {
1623
+ "$schema": "http://json-schema.org/draft-07/schema#",
1624
+ "title": "integer one or zero",
1625
+ "type": "integer",
1626
+ "minimum": 0,
1627
+ "maximum": 1
1628
+ }
1629
+ }
1630
+ }
1631
+ },
1632
+ "LAST_IMAGE": {
1633
+ "type": "array",
1634
+ "items": {
1635
+ "type": "object",
1636
+ "required": [
1637
+ "x",
1638
+ "y",
1639
+ "z"
1640
+ ],
1641
+ "additionalProperties": false,
1642
+ "properties": {
1643
+ "X": {
1644
+ "type": "string",
1645
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
1646
+ },
1647
+ "x": {
1648
+ "type": "number",
1649
+ "description": "atomic positions"
1650
+ },
1651
+ "y": {
1652
+ "type": "number",
1653
+ "description": "atomic positions"
1654
+ },
1655
+ "z": {
1656
+ "type": "number",
1657
+ "description": "atomic positions"
1658
+ },
1659
+ "if_pos(1)": {
1660
+ "$schema": "http://json-schema.org/draft-07/schema#",
1661
+ "title": "integer one or zero",
1662
+ "type": "integer",
1663
+ "minimum": 0,
1664
+ "maximum": 1
1665
+ },
1666
+ "if_pos(2)": {
1667
+ "$schema": "http://json-schema.org/draft-07/schema#",
1668
+ "title": "integer one or zero",
1669
+ "type": "integer",
1670
+ "minimum": 0,
1671
+ "maximum": 1
1672
+ },
1673
+ "if_pos(3)": {
1674
+ "$schema": "http://json-schema.org/draft-07/schema#",
1675
+ "title": "integer one or zero",
1676
+ "type": "integer",
1677
+ "minimum": 0,
1678
+ "maximum": 1
1679
+ }
1680
+ }
1681
+ }
1682
+ },
1683
+ "INTERMEDIATE_IMAGES": {
1684
+ "type": "array",
1685
+ "description": "Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.",
1686
+ "items": {
1687
+ "type": "array",
1688
+ "items": {
1689
+ "type": "object",
1690
+ "required": [
1691
+ "x",
1692
+ "y",
1693
+ "z"
1694
+ ],
1695
+ "additionalProperties": false,
1696
+ "properties": {
1697
+ "X": {
1698
+ "type": "string",
1699
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
1700
+ },
1701
+ "x": {
1702
+ "type": "number",
1703
+ "description": "atomic positions"
1704
+ },
1705
+ "y": {
1706
+ "type": "number",
1707
+ "description": "atomic positions"
1708
+ },
1709
+ "z": {
1710
+ "type": "number",
1711
+ "description": "atomic positions"
1712
+ },
1713
+ "if_pos(1)": {
1714
+ "$schema": "http://json-schema.org/draft-07/schema#",
1715
+ "title": "integer one or zero",
1716
+ "type": "integer",
1717
+ "minimum": 0,
1718
+ "maximum": 1
1719
+ },
1720
+ "if_pos(2)": {
1721
+ "$schema": "http://json-schema.org/draft-07/schema#",
1722
+ "title": "integer one or zero",
1723
+ "type": "integer",
1724
+ "minimum": 0,
1725
+ "maximum": 1
1726
+ },
1727
+ "if_pos(3)": {
1728
+ "$schema": "http://json-schema.org/draft-07/schema#",
1729
+ "title": "integer one or zero",
1730
+ "type": "integer",
1731
+ "minimum": 0,
1732
+ "maximum": 1
1733
+ }
1734
+ }
1735
+ }
1736
+ }
1737
+ },
1738
+ "contextProviderName": {
1739
+ "type": "string",
1740
+ "const": "qe-neb",
1741
+ "description": "Descriminator for AJV validator"
1742
+ }
1743
+ }
1744
+ },
1745
+ {
1746
+ "$schema": "http://json-schema.org/draft-07/schema#",
1747
+ "title": "QE pwx Context Provider Schema",
1748
+ "description": "Schema for QEPWXContextProvider that generates context data for Quantum ESPRESSO pw.x input files. Contains computed context properties and string-formatted versions of pw.x input sections.",
1749
+ "type": "object",
1750
+ "required": [
1751
+ "IBRAV",
1752
+ "RESTART_MODE",
1753
+ "ATOMIC_SPECIES",
1754
+ "ATOMIC_SPECIES_WITH_LABELS",
1755
+ "NAT",
1756
+ "NTYP",
1757
+ "NTYP_WITH_LABELS",
1758
+ "ATOMIC_POSITIONS",
1759
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS",
1760
+ "CELL_PARAMETERS",
1761
+ "contextProviderName"
1762
+ ],
1763
+ "properties": {
1764
+ "IBRAV": {
1765
+ "type": "integer"
1766
+ },
1767
+ "RESTART_MODE": {
1768
+ "type": "string",
1769
+ "enum": [
1770
+ "from_scratch",
1771
+ "restart"
1772
+ ],
1773
+ "default": "from_scratch"
1774
+ },
1775
+ "ATOMIC_SPECIES": {
1776
+ "type": "array",
1777
+ "items": {
1778
+ "type": "object",
1779
+ "required": [
1780
+ "X",
1781
+ "Mass_X",
1782
+ "PseudoPot_X"
1783
+ ],
1784
+ "additionalProperties": false,
1785
+ "properties": {
1786
+ "X": {
1787
+ "type": "string",
1788
+ "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"
1789
+ },
1790
+ "Mass_X": {
1791
+ "type": "number",
1792
+ "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"
1793
+ },
1794
+ "PseudoPot_X": {
1795
+ "type": "string",
1796
+ "description": "PseudoPot_X"
1797
+ }
1798
+ }
1799
+ }
1800
+ },
1801
+ "ATOMIC_SPECIES_WITH_LABELS": {
1802
+ "type": "array",
1803
+ "items": {
1804
+ "type": "object",
1805
+ "required": [
1806
+ "X",
1807
+ "Mass_X",
1808
+ "PseudoPot_X"
1809
+ ],
1810
+ "additionalProperties": false,
1811
+ "properties": {
1812
+ "X": {
1813
+ "type": "string",
1814
+ "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"
1815
+ },
1816
+ "Mass_X": {
1817
+ "type": "number",
1818
+ "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"
1819
+ },
1820
+ "PseudoPot_X": {
1821
+ "type": "string",
1822
+ "description": "PseudoPot_X"
1823
+ }
1824
+ }
1825
+ }
1826
+ },
1827
+ "NAT": {
1828
+ "type": "integer",
1829
+ "description": "number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"
1830
+ },
1831
+ "NTYP": {
1832
+ "type": "integer",
1833
+ "description": "number of types of atoms in the unit cell"
1834
+ },
1835
+ "NTYP_WITH_LABELS": {
1836
+ "type": "integer",
1837
+ "description": "Number of different atomic species including labels",
1838
+ "minimum": 1
1839
+ },
1840
+ "ATOMIC_POSITIONS": {
1841
+ "type": "array",
1842
+ "items": {
1843
+ "type": "object",
1844
+ "required": [
1845
+ "x",
1846
+ "y",
1847
+ "z"
1848
+ ],
1849
+ "additionalProperties": false,
1850
+ "properties": {
1851
+ "X": {
1852
+ "type": "string",
1853
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
1854
+ },
1855
+ "x": {
1856
+ "type": "number",
1857
+ "description": "atomic positions"
1858
+ },
1859
+ "y": {
1860
+ "type": "number",
1861
+ "description": "atomic positions"
1862
+ },
1863
+ "z": {
1864
+ "type": "number",
1865
+ "description": "atomic positions"
1866
+ },
1867
+ "if_pos(1)": {
1868
+ "$schema": "http://json-schema.org/draft-07/schema#",
1869
+ "title": "integer one or zero",
1870
+ "type": "integer",
1871
+ "minimum": 0,
1872
+ "maximum": 1
1873
+ },
1874
+ "if_pos(2)": {
1875
+ "$schema": "http://json-schema.org/draft-07/schema#",
1876
+ "title": "integer one or zero",
1877
+ "type": "integer",
1878
+ "minimum": 0,
1879
+ "maximum": 1
1880
+ },
1881
+ "if_pos(3)": {
1882
+ "$schema": "http://json-schema.org/draft-07/schema#",
1883
+ "title": "integer one or zero",
1884
+ "type": "integer",
1885
+ "minimum": 0,
1886
+ "maximum": 1
1887
+ }
1888
+ }
1889
+ }
1890
+ },
1891
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
1892
+ "type": "string",
1893
+ "description": "Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"
1894
+ },
1895
+ "CELL_PARAMETERS": {
1896
+ "type": "object",
1897
+ "additionalProperties": false,
1898
+ "properties": {
1899
+ "v1": {
1900
+ "$schema": "http://json-schema.org/draft-07/schema#",
1901
+ "title": "array of 3 number elements schema",
1902
+ "type": "array",
1903
+ "minItems": 3,
1904
+ "maxItems": 3,
1905
+ "items": {
1906
+ "type": "number"
1907
+ }
1908
+ },
1909
+ "v2": {
1910
+ "$schema": "http://json-schema.org/draft-07/schema#",
1911
+ "title": "array of 3 number elements schema",
1912
+ "type": "array",
1913
+ "minItems": 3,
1914
+ "maxItems": 3,
1915
+ "items": {
1916
+ "type": "number"
1917
+ }
1918
+ },
1919
+ "v3": {
1920
+ "$schema": "http://json-schema.org/draft-07/schema#",
1921
+ "title": "array of 3 number elements schema",
1922
+ "type": "array",
1923
+ "minItems": 3,
1924
+ "maxItems": 3,
1925
+ "items": {
1926
+ "type": "number"
1927
+ }
1928
+ }
1929
+ }
1930
+ },
1931
+ "contextProviderName": {
1932
+ "type": "string",
1933
+ "const": "qe-pwx",
1934
+ "description": "Descriminator for AJV validator"
1935
+ }
1936
+ }
1937
+ },
1938
+ {
1939
+ "$schema": "http://json-schema.org/draft-07/schema#",
1940
+ "title": "VASP Context Provider Schema",
1941
+ "description": "Schema for VASPContextProvider that generates context data for VASP POSCAR input files.",
1942
+ "type": "object",
1943
+ "properties": {
1944
+ "POSCAR": {
1945
+ "type": "string",
1946
+ "description": "POSCAR content for VASP including lattice, atom types, positions and constraints."
1947
+ },
1948
+ "POSCAR_WITH_CONSTRAINTS": {
1949
+ "type": "string",
1950
+ "description": "POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented."
1951
+ },
1952
+ "contextProviderName": {
1953
+ "type": "string",
1954
+ "const": "vasp",
1955
+ "description": "Descriminator for AJV validator"
1956
+ }
1957
+ },
1958
+ "required": [
1959
+ "POSCAR",
1960
+ "POSCAR_WITH_CONSTRAINTS",
1961
+ "contextProviderName"
1962
+ ]
1963
+ },
1964
+ {
1965
+ "$schema": "http://json-schema.org/draft-07/schema#",
1966
+ "title": "VASP NEB Context Provider Schema",
1967
+ "description": "Schema for VASPNEBContextProvider that generates context data for VASP NEB (nudged elastic band) runs.",
1968
+ "type": "object",
1969
+ "properties": {
1970
+ "FIRST_IMAGE": {
1971
+ "type": "string",
1972
+ "description": "POSCAR content with constraints for the first NEB image."
1973
+ },
1974
+ "LAST_IMAGE": {
1975
+ "type": "string",
1976
+ "description": "POSCAR content with constraints for the last NEB image."
1977
+ },
1978
+ "INTERMEDIATE_IMAGES": {
1979
+ "type": "array",
1980
+ "description": "POSCAR contents with constraints for all intermediate NEB images.",
1981
+ "items": {
1982
+ "type": "string"
1983
+ }
1984
+ },
1985
+ "contextProviderName": {
1986
+ "type": "string",
1987
+ "const": "vasp-neb",
1988
+ "description": "Descriminator for AJV validator"
1989
+ }
1990
+ },
1991
+ "required": [
1992
+ "FIRST_IMAGE",
1993
+ "LAST_IMAGE",
1994
+ "INTERMEDIATE_IMAGES",
1995
+ "contextProviderName"
1996
+ ]
1997
+ }
1998
+ ],
1999
+ "discriminator": {
2000
+ "propertyName": "contextProviderName"
2001
+ }
2002
+ },
2003
+ "extraData": {
1479
2004
  "$schema": "http://json-schema.org/draft-07/schema#",
1480
- "title": "name result schema",
2005
+ "title": "extraData with materialHash schema",
1481
2006
  "type": "object",
2007
+ "required": [
2008
+ "materialHash"
2009
+ ],
1482
2010
  "properties": {
1483
- "name": {
1484
- "description": "The name of this item. e.g. scf_accuracy",
2011
+ "materialHash": {
1485
2012
  "type": "string"
1486
2013
  }
1487
- },
1488
- "additionalProperties": true,
1489
- "required": [
1490
- "name"
1491
- ]
2014
+ }
1492
2015
  },
1493
- {
1494
- "$schema": "http://json-schema.org/draft-07/schema#",
1495
- "title": "RuntimeItemString",
1496
- "description": "name of runtime item in shortened notation",
1497
- "type": "string"
2016
+ "isEdited": {
2017
+ "type": "boolean"
1498
2018
  }
1499
- ]
1500
- }
1501
- },
1502
- "postProcessors": {
1503
- "description": "names of the post-processors for this calculation",
1504
- "type": "array",
1505
- "items": {
2019
+ }
2020
+ },
2021
+ {
1506
2022
  "$schema": "http://json-schema.org/draft-07/schema#",
1507
- "title": "runtime item schema",
1508
- "oneOf": [
1509
- {
2023
+ "title": "cutoffs context item schema",
2024
+ "type": "object",
2025
+ "required": [
2026
+ "name",
2027
+ "isEdited",
2028
+ "data",
2029
+ "extraData"
2030
+ ],
2031
+ "properties": {
2032
+ "name": {
2033
+ "type": "string",
2034
+ "const": "cutoffs"
2035
+ },
2036
+ "data": {
1510
2037
  "$schema": "http://json-schema.org/draft-07/schema#",
1511
- "title": "name result schema",
2038
+ "title": "Planewave Cutoffs Context Provider Schema",
2039
+ "description": "Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.",
1512
2040
  "type": "object",
1513
2041
  "properties": {
1514
- "name": {
1515
- "description": "The name of this item. e.g. scf_accuracy",
1516
- "type": "string"
2042
+ "wavefunction": {
2043
+ "type": "number"
2044
+ },
2045
+ "density": {
2046
+ "type": "number"
1517
2047
  }
1518
- },
1519
- "additionalProperties": true,
1520
- "required": [
1521
- "name"
1522
- ]
2048
+ }
1523
2049
  },
1524
- {
1525
- "$schema": "http://json-schema.org/draft-07/schema#",
1526
- "title": "RuntimeItemString",
1527
- "description": "name of runtime item in shortened notation",
1528
- "type": "string"
2050
+ "isEdited": {
2051
+ "type": "boolean"
2052
+ },
2053
+ "extraData": {
2054
+ "type": "object"
1529
2055
  }
1530
- ]
1531
- }
1532
- },
1533
- "monitors": {
1534
- "description": "names of the monitors for this calculation",
1535
- "type": "array",
1536
- "items": {
2056
+ }
2057
+ },
2058
+ {
1537
2059
  "$schema": "http://json-schema.org/draft-07/schema#",
1538
- "title": "runtime item schema",
1539
- "oneOf": [
1540
- {
2060
+ "title": "grid context item schema",
2061
+ "type": "object",
2062
+ "required": [
2063
+ "name",
2064
+ "isEdited",
2065
+ "data",
2066
+ "extraData"
2067
+ ],
2068
+ "properties": {
2069
+ "name": {
2070
+ "type": "string",
2071
+ "enum": [
2072
+ "kgrid",
2073
+ "qgrid",
2074
+ "igrid"
2075
+ ]
2076
+ },
2077
+ "data": {
1541
2078
  "$schema": "http://json-schema.org/draft-07/schema#",
1542
- "title": "name result schema",
2079
+ "title": "Points Grid Data Provider Schema",
2080
+ "description": "3D grid with shifts for k-point or q-point sampling.",
1543
2081
  "type": "object",
2082
+ "required": [
2083
+ "dimensions",
2084
+ "gridMetricType",
2085
+ "gridMetricValue"
2086
+ ],
1544
2087
  "properties": {
1545
- "name": {
1546
- "description": "The name of this item. e.g. scf_accuracy",
1547
- "type": "string"
2088
+ "dimensions": {
2089
+ "anyOf": [
2090
+ {
2091
+ "type": "array",
2092
+ "items": {
2093
+ "type": "number"
2094
+ },
2095
+ "minItems": 3,
2096
+ "maxItems": 3
2097
+ },
2098
+ {
2099
+ "type": "array",
2100
+ "items": {
2101
+ "type": "string"
2102
+ },
2103
+ "minItems": 3,
2104
+ "maxItems": 3
2105
+ }
2106
+ ]
2107
+ },
2108
+ "shifts": {
2109
+ "type": "array",
2110
+ "minItems": 3,
2111
+ "maxItems": 3,
2112
+ "items": {
2113
+ "type": "number"
2114
+ }
2115
+ },
2116
+ "reciprocalVectorRatios": {
2117
+ "type": "array",
2118
+ "minItems": 3,
2119
+ "maxItems": 3,
2120
+ "items": {
2121
+ "type": "number"
2122
+ }
2123
+ },
2124
+ "gridMetricType": {
2125
+ "type": "string",
2126
+ "enum": [
2127
+ "KPPRA",
2128
+ "spacing"
2129
+ ]
2130
+ },
2131
+ "gridMetricValue": {
2132
+ "type": "number"
2133
+ },
2134
+ "preferGridMetric": {
2135
+ "type": "boolean"
1548
2136
  }
1549
- },
1550
- "additionalProperties": true,
1551
- "required": [
1552
- "name"
1553
- ]
2137
+ }
1554
2138
  },
1555
- {
1556
- "$schema": "http://json-schema.org/draft-07/schema#",
1557
- "title": "RuntimeItemString",
1558
- "description": "name of runtime item in shortened notation",
1559
- "type": "string"
1560
- }
1561
- ]
1562
- }
1563
- },
1564
- "results": {
1565
- "description": "names of the results for this calculation",
1566
- "type": "array",
1567
- "items": {
1568
- "$schema": "http://json-schema.org/draft-07/schema#",
1569
- "title": "runtime item schema",
1570
- "oneOf": [
1571
- {
2139
+ "extraData": {
1572
2140
  "$schema": "http://json-schema.org/draft-07/schema#",
1573
- "title": "name result schema",
2141
+ "title": "extraData with materialHash schema",
1574
2142
  "type": "object",
2143
+ "required": [
2144
+ "materialHash"
2145
+ ],
1575
2146
  "properties": {
1576
- "name": {
1577
- "description": "The name of this item. e.g. scf_accuracy",
2147
+ "materialHash": {
1578
2148
  "type": "string"
1579
2149
  }
1580
- },
1581
- "additionalProperties": true,
1582
- "required": [
1583
- "name"
1584
- ]
2150
+ }
1585
2151
  },
1586
- {
1587
- "$schema": "http://json-schema.org/draft-07/schema#",
1588
- "title": "RuntimeItemString",
1589
- "description": "name of runtime item in shortened notation",
1590
- "type": "string"
2152
+ "isEdited": {
2153
+ "type": "boolean"
1591
2154
  }
1592
- ]
1593
- }
1594
- }
1595
- }
1596
- },
1597
- "input": {
1598
- "description": "unit input (type to be specified by the application's execution unit)"
1599
- },
1600
- "_id": {
1601
- "type": "string",
1602
- "description": "entity identity"
1603
- },
1604
- "isDraft": {
1605
- "type": "boolean"
1606
- },
1607
- "name": {
1608
- "description": "name of the unit. e.g. pw_scf",
1609
- "type": "string"
1610
- },
1611
- "status": {
1612
- "description": "Status of the unit.",
1613
- "type": "string",
1614
- "enum": [
1615
- "idle",
1616
- "active",
1617
- "warning",
1618
- "error",
1619
- "finished"
1620
- ]
1621
- },
1622
- "head": {
1623
- "description": "Whether this unit is the first one to be executed.",
1624
- "type": "boolean"
1625
- },
1626
- "flowchartId": {
1627
- "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
1628
- "type": "string"
1629
- },
1630
- "next": {
1631
- "description": "Next unit's flowchartId. If empty, the current unit is the last.",
1632
- "type": "string"
1633
- },
1634
- "enableRender": {
1635
- "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
1636
- "type": "boolean"
1637
- },
1638
- "context": {
1639
- "type": "object"
1640
- },
1641
- "slug": {
1642
- "description": "entity slug",
1643
- "type": "string"
1644
- },
1645
- "systemName": {
1646
- "type": "string"
1647
- },
1648
- "schemaVersion": {
1649
- "description": "entity's schema version. Used to distinct between different schemas.",
1650
- "type": "string",
1651
- "default": "2022.8.16"
1652
- },
1653
- "isDefault": {
1654
- "description": "Identifies that entity is defaultable",
1655
- "type": "boolean",
1656
- "default": false
1657
- },
1658
- "preProcessors": {
1659
- "description": "names of the pre-processors for this calculation",
1660
- "type": "array",
1661
- "items": {
1662
- "$schema": "http://json-schema.org/draft-07/schema#",
1663
- "title": "runtime item schema",
1664
- "oneOf": [
2155
+ }
2156
+ },
1665
2157
  {
1666
2158
  "$schema": "http://json-schema.org/draft-07/schema#",
1667
- "title": "name result schema",
2159
+ "title": "path context item schema",
1668
2160
  "type": "object",
2161
+ "required": [
2162
+ "name",
2163
+ "isEdited",
2164
+ "data",
2165
+ "extraData"
2166
+ ],
1669
2167
  "properties": {
1670
2168
  "name": {
1671
- "description": "The name of this item. e.g. scf_accuracy",
1672
- "type": "string"
2169
+ "type": "string",
2170
+ "enum": [
2171
+ "qpath",
2172
+ "ipath",
2173
+ "kpath",
2174
+ "explicitKPath",
2175
+ "explicitKPath2PIBA"
2176
+ ]
2177
+ },
2178
+ "data": {
2179
+ "$schema": "http://json-schema.org/draft-07/schema#",
2180
+ "title": "Points Path Data Provider Schema",
2181
+ "description": "Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).",
2182
+ "type": "array",
2183
+ "minItems": 1,
2184
+ "items": {
2185
+ "type": "object",
2186
+ "required": [
2187
+ "point",
2188
+ "steps"
2189
+ ],
2190
+ "properties": {
2191
+ "point": {
2192
+ "type": "string"
2193
+ },
2194
+ "steps": {
2195
+ "type": "number"
2196
+ }
2197
+ }
2198
+ }
2199
+ },
2200
+ "extraData": {
2201
+ "$schema": "http://json-schema.org/draft-07/schema#",
2202
+ "title": "extraData with materialHash schema",
2203
+ "type": "object",
2204
+ "required": [
2205
+ "materialHash"
2206
+ ],
2207
+ "properties": {
2208
+ "materialHash": {
2209
+ "type": "string"
2210
+ }
2211
+ }
2212
+ },
2213
+ "isEdited": {
2214
+ "type": "boolean"
1673
2215
  }
1674
- },
1675
- "additionalProperties": true,
1676
- "required": [
1677
- "name"
1678
- ]
2216
+ }
1679
2217
  },
1680
2218
  {
1681
2219
  "$schema": "http://json-schema.org/draft-07/schema#",
1682
- "title": "RuntimeItemString",
1683
- "description": "name of runtime item in shortened notation",
1684
- "type": "string"
1685
- }
1686
- ]
1687
- }
1688
- },
1689
- "postProcessors": {
1690
- "description": "names of the post-processors for this calculation",
1691
- "type": "array",
1692
- "items": {
1693
- "$schema": "http://json-schema.org/draft-07/schema#",
1694
- "title": "runtime item schema",
1695
- "oneOf": [
1696
- {
1697
- "$schema": "http://json-schema.org/draft-07/schema#",
1698
- "title": "name result schema",
2220
+ "title": "hubbard_j context item schema",
1699
2221
  "type": "object",
2222
+ "required": [
2223
+ "name",
2224
+ "isEdited",
2225
+ "data",
2226
+ "extraData"
2227
+ ],
1700
2228
  "properties": {
1701
2229
  "name": {
1702
- "description": "The name of this item. e.g. scf_accuracy",
1703
- "type": "string"
2230
+ "type": "string",
2231
+ "const": "hubbard_j"
2232
+ },
2233
+ "data": {
2234
+ "$schema": "http://json-schema.org/draft-07/schema#",
2235
+ "title": "Hubbard J Context Provider Schema",
2236
+ "description": "Hubbard parameters for DFT+U+J calculation.",
2237
+ "type": "array",
2238
+ "minItems": 1,
2239
+ "items": {
2240
+ "type": "object",
2241
+ "properties": {
2242
+ "paramType": {
2243
+ "type": "string",
2244
+ "title": "Species",
2245
+ "enum": [
2246
+ "U",
2247
+ "J",
2248
+ "B",
2249
+ "E2",
2250
+ "E3"
2251
+ ]
2252
+ },
2253
+ "atomicSpecies": {
2254
+ "type": "string",
2255
+ "title": "Species"
2256
+ },
2257
+ "atomicOrbital": {
2258
+ "type": "string",
2259
+ "title": "Orbital"
2260
+ },
2261
+ "value": {
2262
+ "type": "number",
2263
+ "title": "Value (eV)"
2264
+ }
2265
+ }
2266
+ }
2267
+ },
2268
+ "isEdited": {
2269
+ "type": "boolean"
2270
+ },
2271
+ "extraData": {
2272
+ "type": "object"
1704
2273
  }
1705
- },
1706
- "additionalProperties": true,
1707
- "required": [
1708
- "name"
1709
- ]
2274
+ }
1710
2275
  },
1711
2276
  {
1712
2277
  "$schema": "http://json-schema.org/draft-07/schema#",
1713
- "title": "RuntimeItemString",
1714
- "description": "name of runtime item in shortened notation",
1715
- "type": "string"
1716
- }
1717
- ]
1718
- }
1719
- },
1720
- "monitors": {
1721
- "description": "names of the monitors for this calculation",
1722
- "type": "array",
1723
- "items": {
1724
- "$schema": "http://json-schema.org/draft-07/schema#",
1725
- "title": "runtime item schema",
1726
- "oneOf": [
1727
- {
1728
- "$schema": "http://json-schema.org/draft-07/schema#",
1729
- "title": "name result schema",
2278
+ "title": "hubbard_u context item schema",
1730
2279
  "type": "object",
2280
+ "required": [
2281
+ "name",
2282
+ "isEdited",
2283
+ "data",
2284
+ "extraData"
2285
+ ],
1731
2286
  "properties": {
1732
2287
  "name": {
1733
- "description": "The name of this item. e.g. scf_accuracy",
1734
- "type": "string"
2288
+ "type": "string",
2289
+ "const": "hubbard_u"
2290
+ },
2291
+ "data": {
2292
+ "$schema": "http://json-schema.org/draft-07/schema#",
2293
+ "title": "Hubbard U Context Provider Schema",
2294
+ "description": "Hubbard U parameters for DFT+U or DFT+U+V calculation.",
2295
+ "type": "array",
2296
+ "items": {
2297
+ "type": "object",
2298
+ "properties": {
2299
+ "atomicSpecies": {
2300
+ "type": "string",
2301
+ "title": "Atomic species"
2302
+ },
2303
+ "atomicOrbital": {
2304
+ "type": "string",
2305
+ "title": "Atomic orbital"
2306
+ },
2307
+ "hubbardUValue": {
2308
+ "type": "number",
2309
+ "title": "Hubbard U (eV)"
2310
+ }
2311
+ }
2312
+ }
2313
+ },
2314
+ "extraData": {
2315
+ "$schema": "http://json-schema.org/draft-07/schema#",
2316
+ "title": "extraData with materialHash schema",
2317
+ "type": "object",
2318
+ "required": [
2319
+ "materialHash"
2320
+ ],
2321
+ "properties": {
2322
+ "materialHash": {
2323
+ "type": "string"
2324
+ }
2325
+ }
2326
+ },
2327
+ "isEdited": {
2328
+ "type": "boolean"
1735
2329
  }
1736
- },
1737
- "additionalProperties": true,
1738
- "required": [
1739
- "name"
1740
- ]
2330
+ }
1741
2331
  },
1742
2332
  {
1743
2333
  "$schema": "http://json-schema.org/draft-07/schema#",
1744
- "title": "RuntimeItemString",
1745
- "description": "name of runtime item in shortened notation",
1746
- "type": "string"
1747
- }
1748
- ]
1749
- }
1750
- },
1751
- "results": {
1752
- "description": "names of the results for this calculation",
1753
- "type": "array",
1754
- "items": {
1755
- "$schema": "http://json-schema.org/draft-07/schema#",
1756
- "title": "runtime item schema",
1757
- "oneOf": [
1758
- {
1759
- "$schema": "http://json-schema.org/draft-07/schema#",
1760
- "title": "name result schema",
2334
+ "title": "hubbard_v context item schema",
1761
2335
  "type": "object",
2336
+ "required": [
2337
+ "name",
2338
+ "isEdited",
2339
+ "data",
2340
+ "extraData"
2341
+ ],
1762
2342
  "properties": {
1763
2343
  "name": {
1764
- "description": "The name of this item. e.g. scf_accuracy",
1765
- "type": "string"
2344
+ "type": "string",
2345
+ "const": "hubbard_v"
2346
+ },
2347
+ "data": {
2348
+ "$schema": "http://json-schema.org/draft-07/schema#",
2349
+ "title": "Hubbard V Context Provider Schema",
2350
+ "description": "Hubbard V parameters for DFT+U+V calculation.",
2351
+ "type": "array",
2352
+ "minItems": 1,
2353
+ "items": {
2354
+ "type": "object",
2355
+ "properties": {
2356
+ "atomicSpecies": {
2357
+ "type": "string",
2358
+ "title": "Species 1"
2359
+ },
2360
+ "siteIndex": {
2361
+ "type": "integer",
2362
+ "title": "Site no 1"
2363
+ },
2364
+ "atomicOrbital": {
2365
+ "type": "string",
2366
+ "title": "Orbital 1"
2367
+ },
2368
+ "atomicSpecies2": {
2369
+ "type": "string",
2370
+ "title": "Species 2"
2371
+ },
2372
+ "siteIndex2": {
2373
+ "type": "integer",
2374
+ "title": "Site no 2"
2375
+ },
2376
+ "atomicOrbital2": {
2377
+ "type": "string",
2378
+ "title": "Orbital 2"
2379
+ },
2380
+ "hubbardVValue": {
2381
+ "type": "number",
2382
+ "title": "V (eV)"
2383
+ }
2384
+ }
2385
+ }
2386
+ },
2387
+ "isEdited": {
2388
+ "type": "boolean"
2389
+ },
2390
+ "extraData": {
2391
+ "type": "object"
1766
2392
  }
1767
- },
1768
- "additionalProperties": true,
1769
- "required": [
1770
- "name"
1771
- ]
2393
+ }
1772
2394
  },
1773
2395
  {
1774
2396
  "$schema": "http://json-schema.org/draft-07/schema#",
1775
- "title": "RuntimeItemString",
1776
- "description": "name of runtime item in shortened notation",
1777
- "type": "string"
1778
- }
1779
- ]
1780
- }
1781
- },
1782
- "tags": {
1783
- "description": "entity tags",
1784
- "type": "array",
1785
- "items": {
1786
- "type": "string"
1787
- }
1788
- },
1789
- "statusTrack": {
1790
- "type": "array",
1791
- "items": {
1792
- "type": "object",
1793
- "required": [
1794
- "trackedAt",
1795
- "status"
1796
- ],
1797
- "properties": {
1798
- "trackedAt": {
1799
- "type": "number"
1800
- },
1801
- "status": {
1802
- "type": "string"
1803
- },
1804
- "repetition": {
1805
- "type": "number"
1806
- }
1807
- }
1808
- }
1809
- }
1810
- }
1811
- },
1812
- {
1813
- "$schema": "http://json-schema.org/draft-07/schema#",
1814
- "title": "assignment unit schema",
1815
- "type": "object",
1816
- "required": [
1817
- "flowchartId",
1818
- "name",
1819
- "operand",
1820
- "type",
1821
- "value"
1822
- ],
1823
- "additionalProperties": true,
1824
- "properties": {
1825
- "type": {
1826
- "const": "assignment",
1827
- "description": "type of the unit",
1828
- "type": "string"
1829
- },
1830
- "input": {
1831
- "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.",
1832
- "type": "array",
1833
- "items": {
1834
- "$schema": "http://json-schema.org/draft-07/schema#",
1835
- "title": "workflow unit input schema",
1836
- "type": "object",
1837
- "required": [
1838
- "scope",
1839
- "name"
1840
- ],
1841
- "properties": {
1842
- "scope": {
1843
- "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'",
1844
- "type": "string"
2397
+ "title": "hubbard_legacy context item schema",
2398
+ "type": "object",
2399
+ "required": [
2400
+ "name",
2401
+ "isEdited",
2402
+ "data",
2403
+ "extraData"
2404
+ ],
2405
+ "properties": {
2406
+ "name": {
2407
+ "type": "string",
2408
+ "const": "hubbard_legacy"
2409
+ },
2410
+ "data": {
2411
+ "$schema": "http://json-schema.org/draft-07/schema#",
2412
+ "title": "Hubbard Legacy Context Provider Schema",
2413
+ "description": "Hubbard parameters for DFT+U calculation.",
2414
+ "type": "array",
2415
+ "uniqueItems": true,
2416
+ "minItems": 1,
2417
+ "items": {
2418
+ "type": "object",
2419
+ "properties": {
2420
+ "atomicSpecies": {
2421
+ "type": "string",
2422
+ "title": "Atomic species"
2423
+ },
2424
+ "atomicSpeciesIndex": {
2425
+ "type": "integer",
2426
+ "title": "Species index"
2427
+ },
2428
+ "hubbardUValue": {
2429
+ "type": "number",
2430
+ "title": "Hubbard U (eV)"
2431
+ }
2432
+ }
2433
+ }
2434
+ },
2435
+ "isEdited": {
2436
+ "type": "boolean"
2437
+ },
2438
+ "extraData": {
2439
+ "type": "object"
2440
+ }
2441
+ }
1845
2442
  },
1846
- "name": {
1847
- "description": "Name of the input data. e.g. total_energy",
1848
- "type": "string"
1849
- }
1850
- }
1851
- }
1852
- },
1853
- "operand": {
1854
- "description": "Name of the global variable. e.g. 'x'",
1855
- "type": "string"
1856
- },
1857
- "value": {
1858
- "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)",
1859
- "oneOf": [
1860
- {
1861
- "type": "string"
1862
- },
1863
- {
1864
- "type": "boolean"
1865
- },
1866
- {
1867
- "type": "number"
1868
- }
1869
- ]
1870
- },
1871
- "_id": {
1872
- "type": "string",
1873
- "description": "entity identity"
1874
- },
1875
- "isDraft": {
1876
- "type": "boolean"
1877
- },
1878
- "name": {
1879
- "description": "name of the unit. e.g. pw_scf",
1880
- "type": "string"
1881
- },
1882
- "status": {
1883
- "description": "Status of the unit.",
1884
- "type": "string",
1885
- "enum": [
1886
- "idle",
1887
- "active",
1888
- "warning",
1889
- "error",
1890
- "finished"
1891
- ]
1892
- },
1893
- "head": {
1894
- "description": "Whether this unit is the first one to be executed.",
1895
- "type": "boolean"
1896
- },
1897
- "flowchartId": {
1898
- "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
1899
- "type": "string"
1900
- },
1901
- "next": {
1902
- "description": "Next unit's flowchartId. If empty, the current unit is the last.",
1903
- "type": "string"
1904
- },
1905
- "enableRender": {
1906
- "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
1907
- "type": "boolean"
1908
- },
1909
- "context": {
1910
- "type": "object"
1911
- },
1912
- "slug": {
1913
- "description": "entity slug",
1914
- "type": "string"
1915
- },
1916
- "systemName": {
1917
- "type": "string"
1918
- },
1919
- "schemaVersion": {
1920
- "description": "entity's schema version. Used to distinct between different schemas.",
1921
- "type": "string",
1922
- "default": "2022.8.16"
1923
- },
1924
- "isDefault": {
1925
- "description": "Identifies that entity is defaultable",
1926
- "type": "boolean",
1927
- "default": false
1928
- },
1929
- "preProcessors": {
1930
- "description": "names of the pre-processors for this calculation",
1931
- "type": "array",
1932
- "items": {
1933
- "$schema": "http://json-schema.org/draft-07/schema#",
1934
- "title": "runtime item schema",
1935
- "oneOf": [
1936
2443
  {
1937
2444
  "$schema": "http://json-schema.org/draft-07/schema#",
1938
- "title": "name result schema",
2445
+ "title": "neb context item schema",
1939
2446
  "type": "object",
2447
+ "required": [
2448
+ "name",
2449
+ "isEdited",
2450
+ "data",
2451
+ "extraData"
2452
+ ],
1940
2453
  "properties": {
1941
2454
  "name": {
1942
- "description": "The name of this item. e.g. scf_accuracy",
1943
- "type": "string"
2455
+ "type": "string",
2456
+ "const": "neb"
2457
+ },
2458
+ "data": {
2459
+ "$schema": "http://json-schema.org/draft-07/schema#",
2460
+ "title": "NEB Data Provider Schema",
2461
+ "description": "Number of intermediate NEB images.",
2462
+ "type": "object",
2463
+ "properties": {
2464
+ "nImages": {
2465
+ "type": "number"
2466
+ }
2467
+ }
2468
+ },
2469
+ "isEdited": {
2470
+ "type": "boolean"
2471
+ },
2472
+ "extraData": {
2473
+ "type": "object"
1944
2474
  }
1945
- },
1946
- "additionalProperties": true,
1947
- "required": [
1948
- "name"
1949
- ]
2475
+ }
1950
2476
  },
1951
2477
  {
1952
2478
  "$schema": "http://json-schema.org/draft-07/schema#",
1953
- "title": "RuntimeItemString",
1954
- "description": "name of runtime item in shortened notation",
1955
- "type": "string"
1956
- }
1957
- ]
1958
- }
1959
- },
1960
- "postProcessors": {
1961
- "description": "names of the post-processors for this calculation",
1962
- "type": "array",
1963
- "items": {
1964
- "$schema": "http://json-schema.org/draft-07/schema#",
1965
- "title": "runtime item schema",
1966
- "oneOf": [
1967
- {
1968
- "$schema": "http://json-schema.org/draft-07/schema#",
1969
- "title": "name result schema",
2479
+ "title": "boundaryConditions context item schema",
1970
2480
  "type": "object",
2481
+ "required": [
2482
+ "name",
2483
+ "isEdited",
2484
+ "data",
2485
+ "extraData"
2486
+ ],
1971
2487
  "properties": {
1972
2488
  "name": {
1973
- "description": "The name of this item. e.g. scf_accuracy",
1974
- "type": "string"
2489
+ "type": "string",
2490
+ "const": "boundaryConditions"
2491
+ },
2492
+ "data": {
2493
+ "$schema": "http://json-schema.org/draft-07/schema#",
2494
+ "title": "Boundary Conditions Data Provider Schema",
2495
+ "type": "object",
2496
+ "properties": {
2497
+ "type": {
2498
+ "type": "string",
2499
+ "enum": [
2500
+ "pbc",
2501
+ "bc1",
2502
+ "bc2",
2503
+ "bc3"
2504
+ ],
2505
+ "default": "pbc",
2506
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
2507
+ },
2508
+ "offset": {
2509
+ "type": "number"
2510
+ },
2511
+ "electricField": {
2512
+ "type": "number",
2513
+ "title": "Electric Field (eV/A)"
2514
+ },
2515
+ "targetFermiEnergy": {
2516
+ "type": "number",
2517
+ "title": "Target Fermi Energy (eV)"
2518
+ }
2519
+ }
2520
+ },
2521
+ "extraData": {
2522
+ "$schema": "http://json-schema.org/draft-07/schema#",
2523
+ "title": "extraData with materialHash schema",
2524
+ "type": "object",
2525
+ "required": [
2526
+ "materialHash"
2527
+ ],
2528
+ "properties": {
2529
+ "materialHash": {
2530
+ "type": "string"
2531
+ }
2532
+ }
2533
+ },
2534
+ "isEdited": {
2535
+ "type": "boolean"
1975
2536
  }
1976
- },
1977
- "additionalProperties": true,
1978
- "required": [
1979
- "name"
1980
- ]
2537
+ }
1981
2538
  },
1982
2539
  {
1983
2540
  "$schema": "http://json-schema.org/draft-07/schema#",
1984
- "title": "RuntimeItemString",
1985
- "description": "name of runtime item in shortened notation",
1986
- "type": "string"
1987
- }
1988
- ]
1989
- }
1990
- },
1991
- "monitors": {
1992
- "description": "names of the monitors for this calculation",
1993
- "type": "array",
1994
- "items": {
1995
- "$schema": "http://json-schema.org/draft-07/schema#",
1996
- "title": "runtime item schema",
1997
- "oneOf": [
2541
+ "title": "mlSettings context item schema",
2542
+ "type": "object",
2543
+ "required": [
2544
+ "name",
2545
+ "isEdited",
2546
+ "data",
2547
+ "extraData"
2548
+ ],
2549
+ "properties": {
2550
+ "name": {
2551
+ "type": "string",
2552
+ "const": "mlSettings"
2553
+ },
2554
+ "data": {
2555
+ "$schema": "http://json-schema.org/draft-07/schema#",
2556
+ "title": "ML Settings Context Provider Schema",
2557
+ "description": "Settings important to machine learning runs.",
2558
+ "type": "object",
2559
+ "properties": {
2560
+ "target_column_name": {
2561
+ "type": "string"
2562
+ },
2563
+ "problem_category": {
2564
+ "type": "string",
2565
+ "enum": [
2566
+ "regression",
2567
+ "classification",
2568
+ "clustering"
2569
+ ]
2570
+ }
2571
+ }
2572
+ },
2573
+ "isEdited": {
2574
+ "type": "boolean"
2575
+ },
2576
+ "extraData": {
2577
+ "type": "object"
2578
+ }
2579
+ }
2580
+ },
1998
2581
  {
1999
2582
  "$schema": "http://json-schema.org/draft-07/schema#",
2000
- "title": "name result schema",
2583
+ "title": "mlTrainTestSplit context item schema",
2001
2584
  "type": "object",
2585
+ "required": [
2586
+ "name",
2587
+ "isEdited",
2588
+ "data",
2589
+ "extraData"
2590
+ ],
2002
2591
  "properties": {
2003
2592
  "name": {
2004
- "description": "The name of this item. e.g. scf_accuracy",
2005
- "type": "string"
2593
+ "type": "string",
2594
+ "const": "mlTrainTestSplit"
2595
+ },
2596
+ "data": {
2597
+ "$schema": "http://json-schema.org/draft-07/schema#",
2598
+ "title": "ML Train Test Split Context Provider Schema",
2599
+ "description": "Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.",
2600
+ "type": "object",
2601
+ "properties": {
2602
+ "fraction_held_as_test_set": {
2603
+ "type": "number",
2604
+ "minimum": 0,
2605
+ "maximum": 1
2606
+ }
2607
+ }
2608
+ },
2609
+ "isEdited": {
2610
+ "type": "boolean"
2611
+ },
2612
+ "extraData": {
2613
+ "type": "object"
2006
2614
  }
2007
- },
2008
- "additionalProperties": true,
2009
- "required": [
2010
- "name"
2011
- ]
2615
+ }
2012
2616
  },
2013
2617
  {
2014
2618
  "$schema": "http://json-schema.org/draft-07/schema#",
2015
- "title": "RuntimeItemString",
2016
- "description": "name of runtime item in shortened notation",
2017
- "type": "string"
2018
- }
2019
- ]
2020
- }
2021
- },
2022
- "results": {
2023
- "description": "names of the results for this calculation",
2024
- "type": "array",
2025
- "items": {
2026
- "$schema": "http://json-schema.org/draft-07/schema#",
2027
- "title": "runtime item schema",
2028
- "oneOf": [
2619
+ "title": "dynamics context item schema",
2620
+ "type": "object",
2621
+ "required": [
2622
+ "name",
2623
+ "isEdited",
2624
+ "data",
2625
+ "extraData"
2626
+ ],
2627
+ "properties": {
2628
+ "name": {
2629
+ "type": "string",
2630
+ "const": "dynamics"
2631
+ },
2632
+ "data": {
2633
+ "$schema": "http://json-schema.org/draft-07/schema#",
2634
+ "title": "Ion Dynamics Context Provider Schema",
2635
+ "description": "Important parameters for molecular dynamics calculation",
2636
+ "type": "object",
2637
+ "properties": {
2638
+ "numberOfSteps": {
2639
+ "type": "integer",
2640
+ "title": "numberOfSteps"
2641
+ },
2642
+ "timeStep": {
2643
+ "type": "number",
2644
+ "title": "timeStep (Hartree a.u.)"
2645
+ },
2646
+ "electronMass": {
2647
+ "type": "number",
2648
+ "title": "Effective electron mass"
2649
+ },
2650
+ "temperature": {
2651
+ "type": "number",
2652
+ "title": "Ionic temperature (K)"
2653
+ }
2654
+ }
2655
+ },
2656
+ "isEdited": {
2657
+ "type": "boolean"
2658
+ },
2659
+ "extraData": {
2660
+ "type": "object"
2661
+ }
2662
+ }
2663
+ },
2029
2664
  {
2030
2665
  "$schema": "http://json-schema.org/draft-07/schema#",
2031
- "title": "name result schema",
2666
+ "title": "collinearMagnetization context item schema",
2032
2667
  "type": "object",
2668
+ "required": [
2669
+ "name",
2670
+ "isEdited",
2671
+ "data",
2672
+ "extraData"
2673
+ ],
2033
2674
  "properties": {
2034
2675
  "name": {
2035
- "description": "The name of this item. e.g. scf_accuracy",
2036
- "type": "string"
2676
+ "type": "string",
2677
+ "const": "collinearMagnetization"
2678
+ },
2679
+ "data": {
2680
+ "$schema": "http://json-schema.org/draft-07/schema#",
2681
+ "title": "Collinear Magnetization Context Provider Schema",
2682
+ "description": "Set starting magnetization, can have values in the range [-1, +1].",
2683
+ "type": "object",
2684
+ "required": [
2685
+ "startingMagnetization",
2686
+ "isTotalMagnetization",
2687
+ "totalMagnetization"
2688
+ ],
2689
+ "properties": {
2690
+ "startingMagnetization": {
2691
+ "type": "array",
2692
+ "items": {
2693
+ "type": "object",
2694
+ "required": [
2695
+ "atomicSpecies",
2696
+ "value",
2697
+ "index"
2698
+ ],
2699
+ "properties": {
2700
+ "atomicSpecies": {
2701
+ "type": "string",
2702
+ "title": "Atomic species"
2703
+ },
2704
+ "value": {
2705
+ "type": "number",
2706
+ "title": "Starting magnetization",
2707
+ "minimum": -1,
2708
+ "maximum": 1
2709
+ },
2710
+ "index": {
2711
+ "type": "integer",
2712
+ "title": "Index"
2713
+ }
2714
+ }
2715
+ }
2716
+ },
2717
+ "isTotalMagnetization": {
2718
+ "type": "boolean",
2719
+ "title": "Set total magnetization instead"
2720
+ },
2721
+ "totalMagnetization": {
2722
+ "type": "number",
2723
+ "title": "Total magnetization"
2724
+ }
2725
+ }
2726
+ },
2727
+ "extraData": {
2728
+ "$schema": "http://json-schema.org/draft-07/schema#",
2729
+ "title": "extraData with materialHash schema",
2730
+ "type": "object",
2731
+ "required": [
2732
+ "materialHash"
2733
+ ],
2734
+ "properties": {
2735
+ "materialHash": {
2736
+ "type": "string"
2737
+ }
2738
+ }
2739
+ },
2740
+ "isEdited": {
2741
+ "type": "boolean"
2037
2742
  }
2038
- },
2039
- "additionalProperties": true,
2040
- "required": [
2041
- "name"
2042
- ]
2743
+ }
2043
2744
  },
2044
2745
  {
2045
2746
  "$schema": "http://json-schema.org/draft-07/schema#",
2046
- "title": "RuntimeItemString",
2047
- "description": "name of runtime item in shortened notation",
2048
- "type": "string"
2747
+ "title": "nonCollinearMagnetization context item schema",
2748
+ "type": "object",
2749
+ "required": [
2750
+ "name",
2751
+ "isEdited",
2752
+ "data",
2753
+ "extraData"
2754
+ ],
2755
+ "properties": {
2756
+ "name": {
2757
+ "type": "string",
2758
+ "const": "nonCollinearMagnetization"
2759
+ },
2760
+ "data": {
2761
+ "$schema": "http://json-schema.org/draft-07/schema#",
2762
+ "title": "Non Collinear Magnetization Context Provider Schema",
2763
+ "description": "Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.",
2764
+ "type": "object",
2765
+ "properties": {
2766
+ "isExistingChargeDensity": {
2767
+ "type": "boolean",
2768
+ "title": "Use existing charge density"
2769
+ },
2770
+ "isStartingMagnetization": {
2771
+ "type": "boolean",
2772
+ "title": "Set starting magnetization"
2773
+ },
2774
+ "startingMagnetization": {
2775
+ "type": "array",
2776
+ "items": {
2777
+ "type": "object",
2778
+ "properties": {
2779
+ "index": {
2780
+ "type": "integer",
2781
+ "title": "Index"
2782
+ },
2783
+ "atomicSpecies": {
2784
+ "type": "string",
2785
+ "title": "Atomic species"
2786
+ },
2787
+ "value": {
2788
+ "type": "number",
2789
+ "title": "Starting magnetization"
2790
+ }
2791
+ }
2792
+ }
2793
+ },
2794
+ "isArbitrarySpinAngle": {
2795
+ "type": "boolean",
2796
+ "title": "Set arbitrary spin angle"
2797
+ },
2798
+ "isArbitrarySpinDirection": {
2799
+ "type": "boolean",
2800
+ "title": "Set arbitrary spin direction"
2801
+ },
2802
+ "lforcet": {
2803
+ "type": "boolean"
2804
+ },
2805
+ "spinAngles": {
2806
+ "type": "array",
2807
+ "items": {
2808
+ "type": "object",
2809
+ "properties": {
2810
+ "index": {
2811
+ "type": "integer",
2812
+ "title": "Index"
2813
+ },
2814
+ "atomicSpecies": {
2815
+ "type": "string",
2816
+ "title": "Atomic species"
2817
+ },
2818
+ "angle1": {
2819
+ "type": "number",
2820
+ "title": "Angle1 (deg)"
2821
+ },
2822
+ "angle2": {
2823
+ "type": "number",
2824
+ "title": "Angle2 (deg)"
2825
+ }
2826
+ }
2827
+ }
2828
+ },
2829
+ "isConstrainedMagnetization": {
2830
+ "type": "boolean",
2831
+ "title": "Set constrained magnetization"
2832
+ },
2833
+ "constrainedMagnetization": {
2834
+ "type": "object",
2835
+ "properties": {
2836
+ "constrainType": {
2837
+ "type": "string",
2838
+ "title": "Constrain type",
2839
+ "enum": [
2840
+ "none",
2841
+ "total",
2842
+ "atomic",
2843
+ "total direction",
2844
+ "atomic direction"
2845
+ ]
2846
+ },
2847
+ "lambda": {
2848
+ "type": "number",
2849
+ "title": "lambda"
2850
+ }
2851
+ }
2852
+ },
2853
+ "isFixedMagnetization": {
2854
+ "type": "boolean",
2855
+ "title": "Set Fixed magnetization (only applicable to constrained magnetization of 'total' type)"
2856
+ },
2857
+ "fixedMagnetization": {
2858
+ "type": "object",
2859
+ "properties": {
2860
+ "x": {
2861
+ "type": "number",
2862
+ "title": "X-component"
2863
+ },
2864
+ "y": {
2865
+ "type": "number",
2866
+ "title": "Y-component"
2867
+ },
2868
+ "z": {
2869
+ "type": "number",
2870
+ "title": "Z-component"
2871
+ }
2872
+ }
2873
+ }
2874
+ }
2875
+ },
2876
+ "extraData": {
2877
+ "$schema": "http://json-schema.org/draft-07/schema#",
2878
+ "title": "extraData with materialHash schema",
2879
+ "type": "object",
2880
+ "required": [
2881
+ "materialHash"
2882
+ ],
2883
+ "properties": {
2884
+ "materialHash": {
2885
+ "type": "string"
2886
+ }
2887
+ }
2888
+ },
2889
+ "isEdited": {
2890
+ "type": "boolean"
2891
+ }
2892
+ }
2049
2893
  }
2050
- ]
2051
- }
2052
- },
2053
- "tags": {
2054
- "description": "entity tags",
2055
- "type": "array",
2056
- "items": {
2057
- "type": "string"
2058
- }
2059
- },
2060
- "statusTrack": {
2061
- "type": "array",
2062
- "items": {
2063
- "type": "object",
2064
- "required": [
2065
- "trackedAt",
2066
- "status"
2067
2894
  ],
2068
- "properties": {
2069
- "trackedAt": {
2070
- "type": "number"
2071
- },
2072
- "status": {
2073
- "type": "string"
2074
- },
2075
- "repetition": {
2076
- "type": "number"
2077
- }
2895
+ "discriminator": {
2896
+ "propertyName": "name"
2078
2897
  }
2079
2898
  }
2080
- },
2081
- "scope": {
2082
- "type": "string"
2083
2899
  }
2084
2900
  }
2085
2901
  },
2086
2902
  {
2087
2903
  "$schema": "http://json-schema.org/draft-07/schema#",
2088
- "title": "processing unit schema",
2904
+ "title": "assignment unit schema",
2089
2905
  "type": "object",
2090
2906
  "required": [
2091
2907
  "flowchartId",
2092
- "inputData",
2093
- "operation",
2094
- "operationType",
2095
- "type"
2908
+ "monitors",
2909
+ "name",
2910
+ "operand",
2911
+ "postProcessors",
2912
+ "preProcessors",
2913
+ "results",
2914
+ "type",
2915
+ "value"
2096
2916
  ],
2097
- "additionalProperties": true,
2098
2917
  "properties": {
2099
- "type": {
2100
- "const": "processing",
2101
- "description": "type of the unit",
2102
- "type": "string"
2103
- },
2104
- "operation": {
2105
- "description": "Contains information about the operation used.",
2106
- "type": "string"
2107
- },
2108
- "operationType": {
2109
- "description": "Contains information about the specific type of the operation used.",
2110
- "type": "string"
2111
- },
2112
- "inputData": {
2113
- "description": "unit input (type to be specified by the child units)"
2114
- },
2115
2918
  "_id": {
2116
- "type": "string",
2117
- "description": "entity identity"
2118
- },
2119
- "isDraft": {
2120
- "type": "boolean"
2121
- },
2122
- "name": {
2123
- "description": "name of the unit. e.g. pw_scf",
2124
- "type": "string"
2125
- },
2126
- "status": {
2127
- "description": "Status of the unit.",
2128
- "type": "string",
2129
- "enum": [
2130
- "idle",
2131
- "active",
2132
- "warning",
2133
- "error",
2134
- "finished"
2135
- ]
2136
- },
2137
- "head": {
2138
- "description": "Whether this unit is the first one to be executed.",
2139
- "type": "boolean"
2140
- },
2141
- "flowchartId": {
2142
- "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
2143
- "type": "string"
2144
- },
2145
- "next": {
2146
- "description": "Next unit's flowchartId. If empty, the current unit is the last.",
2919
+ "description": "entity identity",
2147
2920
  "type": "string"
2148
2921
  },
2149
- "enableRender": {
2150
- "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
2151
- "type": "boolean"
2152
- },
2153
- "context": {
2154
- "type": "object"
2155
- },
2156
2922
  "slug": {
2157
2923
  "description": "entity slug",
2158
2924
  "type": "string"
@@ -2165,6 +2931,10 @@
2165
2931
  "type": "string",
2166
2932
  "default": "2022.8.16"
2167
2933
  },
2934
+ "name": {
2935
+ "description": "entity name",
2936
+ "type": "string"
2937
+ },
2168
2938
  "isDefault": {
2169
2939
  "description": "Identifies that entity is defaultable",
2170
2940
  "type": "boolean",
@@ -2175,30 +2945,19 @@
2175
2945
  "type": "array",
2176
2946
  "items": {
2177
2947
  "$schema": "http://json-schema.org/draft-07/schema#",
2178
- "title": "runtime item schema",
2179
- "oneOf": [
2180
- {
2181
- "$schema": "http://json-schema.org/draft-07/schema#",
2182
- "title": "name result schema",
2183
- "type": "object",
2184
- "properties": {
2185
- "name": {
2186
- "description": "The name of this item. e.g. scf_accuracy",
2187
- "type": "string"
2188
- }
2189
- },
2190
- "additionalProperties": true,
2191
- "required": [
2192
- "name"
2193
- ]
2194
- },
2195
- {
2196
- "$schema": "http://json-schema.org/draft-07/schema#",
2197
- "title": "RuntimeItemString",
2198
- "description": "name of runtime item in shortened notation",
2948
+ "title": "runtime item name object schema",
2949
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
2950
+ "type": "object",
2951
+ "required": [
2952
+ "name"
2953
+ ],
2954
+ "additionalProperties": true,
2955
+ "properties": {
2956
+ "name": {
2957
+ "description": "The name of this item. e.g. scf_accuracy",
2199
2958
  "type": "string"
2200
2959
  }
2201
- ]
2960
+ }
2202
2961
  }
2203
2962
  },
2204
2963
  "postProcessors": {
@@ -2206,30 +2965,19 @@
2206
2965
  "type": "array",
2207
2966
  "items": {
2208
2967
  "$schema": "http://json-schema.org/draft-07/schema#",
2209
- "title": "runtime item schema",
2210
- "oneOf": [
2211
- {
2212
- "$schema": "http://json-schema.org/draft-07/schema#",
2213
- "title": "name result schema",
2214
- "type": "object",
2215
- "properties": {
2216
- "name": {
2217
- "description": "The name of this item. e.g. scf_accuracy",
2218
- "type": "string"
2219
- }
2220
- },
2221
- "additionalProperties": true,
2222
- "required": [
2223
- "name"
2224
- ]
2225
- },
2226
- {
2227
- "$schema": "http://json-schema.org/draft-07/schema#",
2228
- "title": "RuntimeItemString",
2229
- "description": "name of runtime item in shortened notation",
2968
+ "title": "runtime item name object schema",
2969
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
2970
+ "type": "object",
2971
+ "required": [
2972
+ "name"
2973
+ ],
2974
+ "additionalProperties": true,
2975
+ "properties": {
2976
+ "name": {
2977
+ "description": "The name of this item. e.g. scf_accuracy",
2230
2978
  "type": "string"
2231
2979
  }
2232
- ]
2980
+ }
2233
2981
  }
2234
2982
  },
2235
2983
  "monitors": {
@@ -2237,30 +2985,19 @@
2237
2985
  "type": "array",
2238
2986
  "items": {
2239
2987
  "$schema": "http://json-schema.org/draft-07/schema#",
2240
- "title": "runtime item schema",
2241
- "oneOf": [
2242
- {
2243
- "$schema": "http://json-schema.org/draft-07/schema#",
2244
- "title": "name result schema",
2245
- "type": "object",
2246
- "properties": {
2247
- "name": {
2248
- "description": "The name of this item. e.g. scf_accuracy",
2249
- "type": "string"
2250
- }
2251
- },
2252
- "additionalProperties": true,
2253
- "required": [
2254
- "name"
2255
- ]
2256
- },
2257
- {
2258
- "$schema": "http://json-schema.org/draft-07/schema#",
2259
- "title": "RuntimeItemString",
2260
- "description": "name of runtime item in shortened notation",
2988
+ "title": "runtime item name object schema",
2989
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
2990
+ "type": "object",
2991
+ "required": [
2992
+ "name"
2993
+ ],
2994
+ "additionalProperties": true,
2995
+ "properties": {
2996
+ "name": {
2997
+ "description": "The name of this item. e.g. scf_accuracy",
2261
2998
  "type": "string"
2262
2999
  }
2263
- ]
3000
+ }
2264
3001
  }
2265
3002
  },
2266
3003
  "results": {
@@ -2268,30 +3005,19 @@
2268
3005
  "type": "array",
2269
3006
  "items": {
2270
3007
  "$schema": "http://json-schema.org/draft-07/schema#",
2271
- "title": "runtime item schema",
2272
- "oneOf": [
2273
- {
2274
- "$schema": "http://json-schema.org/draft-07/schema#",
2275
- "title": "name result schema",
2276
- "type": "object",
2277
- "properties": {
2278
- "name": {
2279
- "description": "The name of this item. e.g. scf_accuracy",
2280
- "type": "string"
2281
- }
2282
- },
2283
- "additionalProperties": true,
2284
- "required": [
2285
- "name"
2286
- ]
2287
- },
2288
- {
2289
- "$schema": "http://json-schema.org/draft-07/schema#",
2290
- "title": "RuntimeItemString",
2291
- "description": "name of runtime item in shortened notation",
3008
+ "title": "runtime item name object schema",
3009
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
3010
+ "type": "object",
3011
+ "required": [
3012
+ "name"
3013
+ ],
3014
+ "additionalProperties": true,
3015
+ "properties": {
3016
+ "name": {
3017
+ "description": "The name of this item. e.g. scf_accuracy",
2292
3018
  "type": "string"
2293
3019
  }
2294
- ]
3020
+ }
2295
3021
  }
2296
3022
  },
2297
3023
  "tags": {
@@ -2301,6 +3027,17 @@
2301
3027
  "type": "string"
2302
3028
  }
2303
3029
  },
3030
+ "status": {
3031
+ "type": "string",
3032
+ "description": "Status of the unit.",
3033
+ "enum": [
3034
+ "idle",
3035
+ "active",
3036
+ "warning",
3037
+ "error",
3038
+ "finished"
3039
+ ]
3040
+ },
2304
3041
  "statusTrack": {
2305
3042
  "type": "array",
2306
3043
  "items": {
@@ -2321,6 +3058,74 @@
2321
3058
  }
2322
3059
  }
2323
3060
  }
3061
+ },
3062
+ "isDraft": {
3063
+ "type": "boolean"
3064
+ },
3065
+ "type": {
3066
+ "description": "type of the unit",
3067
+ "type": "string",
3068
+ "const": "assignment"
3069
+ },
3070
+ "head": {
3071
+ "description": "Whether this unit is the first one to be executed.",
3072
+ "type": "boolean"
3073
+ },
3074
+ "flowchartId": {
3075
+ "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
3076
+ "type": "string"
3077
+ },
3078
+ "next": {
3079
+ "description": "Next unit's flowchartId. If empty, the current unit is the last.",
3080
+ "type": "string"
3081
+ },
3082
+ "enableRender": {
3083
+ "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
3084
+ "type": "boolean"
3085
+ },
3086
+ "scope": {
3087
+ "type": "string"
3088
+ },
3089
+ "input": {
3090
+ "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.",
3091
+ "type": "array",
3092
+ "items": {
3093
+ "$schema": "http://json-schema.org/draft-07/schema#",
3094
+ "title": "workflow unit input schema",
3095
+ "type": "object",
3096
+ "required": [
3097
+ "scope",
3098
+ "name"
3099
+ ],
3100
+ "properties": {
3101
+ "scope": {
3102
+ "description": "Scope of the variable. e.g. 'global' or 'flowchart_id_2'",
3103
+ "type": "string"
3104
+ },
3105
+ "name": {
3106
+ "description": "Name of the input data. e.g. total_energy",
3107
+ "type": "string"
3108
+ }
3109
+ }
3110
+ }
3111
+ },
3112
+ "operand": {
3113
+ "description": "Name of the global variable. e.g. 'x'",
3114
+ "type": "string"
3115
+ },
3116
+ "value": {
3117
+ "description": "Value of the variable. The value content could be a simple integer, string or a python expression. e.g. '0' (initialization), 'sin(x)+1' (expression)",
3118
+ "oneOf": [
3119
+ {
3120
+ "type": "string"
3121
+ },
3122
+ {
3123
+ "type": "boolean"
3124
+ },
3125
+ {
3126
+ "type": "number"
3127
+ }
3128
+ ]
2324
3129
  }
2325
3130
  }
2326
3131
  }