@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
@@ -1,26 +1,228 @@
1
1
  {
2
2
  "$id": "workflow/unit/execution",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "execution unit schema (base)",
4
+ "title": "execution unit schema",
5
5
  "type": "object",
6
6
  "required": [
7
7
  "application",
8
+ "context",
9
+ "executable",
10
+ "flavor",
8
11
  "flowchartId",
9
12
  "input",
13
+ "monitors",
14
+ "name",
15
+ "postProcessors",
16
+ "preProcessors",
17
+ "results",
10
18
  "type"
11
19
  ],
12
- "additionalProperties": true,
13
20
  "properties": {
21
+ "_id": {
22
+ "description": "entity identity",
23
+ "type": "string"
24
+ },
25
+ "slug": {
26
+ "description": "entity slug",
27
+ "type": "string"
28
+ },
29
+ "systemName": {
30
+ "type": "string"
31
+ },
32
+ "schemaVersion": {
33
+ "description": "entity's schema version. Used to distinct between different schemas.",
34
+ "type": "string",
35
+ "default": "2022.8.16"
36
+ },
37
+ "name": {
38
+ "description": "entity name",
39
+ "type": "string"
40
+ },
41
+ "isDefault": {
42
+ "description": "Identifies that entity is defaultable",
43
+ "type": "boolean",
44
+ "default": false
45
+ },
46
+ "preProcessors": {
47
+ "description": "names of the pre-processors for this calculation",
48
+ "type": "array",
49
+ "items": {
50
+ "$schema": "http://json-schema.org/draft-07/schema#",
51
+ "title": "runtime item name object schema",
52
+ "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.",
53
+ "type": "object",
54
+ "required": [
55
+ "name"
56
+ ],
57
+ "additionalProperties": true,
58
+ "properties": {
59
+ "name": {
60
+ "description": "The name of this item. e.g. scf_accuracy",
61
+ "type": "string"
62
+ }
63
+ }
64
+ }
65
+ },
66
+ "postProcessors": {
67
+ "description": "names of the post-processors for this calculation",
68
+ "type": "array",
69
+ "items": {
70
+ "$schema": "http://json-schema.org/draft-07/schema#",
71
+ "title": "runtime item name object schema",
72
+ "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.",
73
+ "type": "object",
74
+ "required": [
75
+ "name"
76
+ ],
77
+ "additionalProperties": true,
78
+ "properties": {
79
+ "name": {
80
+ "description": "The name of this item. e.g. scf_accuracy",
81
+ "type": "string"
82
+ }
83
+ }
84
+ }
85
+ },
86
+ "monitors": {
87
+ "description": "names of the monitors for this calculation",
88
+ "type": "array",
89
+ "items": {
90
+ "$schema": "http://json-schema.org/draft-07/schema#",
91
+ "title": "runtime item name object schema",
92
+ "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.",
93
+ "type": "object",
94
+ "required": [
95
+ "name"
96
+ ],
97
+ "additionalProperties": true,
98
+ "properties": {
99
+ "name": {
100
+ "description": "The name of this item. e.g. scf_accuracy",
101
+ "type": "string"
102
+ }
103
+ }
104
+ }
105
+ },
106
+ "results": {
107
+ "description": "names of the results for this calculation",
108
+ "type": "array",
109
+ "items": {
110
+ "$schema": "http://json-schema.org/draft-07/schema#",
111
+ "title": "runtime item name object schema",
112
+ "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.",
113
+ "type": "object",
114
+ "required": [
115
+ "name"
116
+ ],
117
+ "additionalProperties": true,
118
+ "properties": {
119
+ "name": {
120
+ "description": "The name of this item. e.g. scf_accuracy",
121
+ "type": "string"
122
+ }
123
+ }
124
+ }
125
+ },
126
+ "tags": {
127
+ "description": "entity tags",
128
+ "type": "array",
129
+ "items": {
130
+ "type": "string"
131
+ }
132
+ },
133
+ "status": {
134
+ "type": "string",
135
+ "description": "Status of the unit.",
136
+ "enum": [
137
+ "idle",
138
+ "active",
139
+ "warning",
140
+ "error",
141
+ "finished"
142
+ ]
143
+ },
144
+ "statusTrack": {
145
+ "type": "array",
146
+ "items": {
147
+ "type": "object",
148
+ "required": [
149
+ "trackedAt",
150
+ "status"
151
+ ],
152
+ "properties": {
153
+ "trackedAt": {
154
+ "type": "number"
155
+ },
156
+ "status": {
157
+ "type": "string"
158
+ },
159
+ "repetition": {
160
+ "type": "number"
161
+ }
162
+ }
163
+ }
164
+ },
165
+ "isDraft": {
166
+ "type": "boolean"
167
+ },
14
168
  "type": {
15
- "const": "execution",
16
169
  "description": "type of the unit",
170
+ "type": "string",
171
+ "const": "execution"
172
+ },
173
+ "head": {
174
+ "description": "Whether this unit is the first one to be executed.",
175
+ "type": "boolean"
176
+ },
177
+ "flowchartId": {
178
+ "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
179
+ "type": "string"
180
+ },
181
+ "next": {
182
+ "description": "Next unit's flowchartId. If empty, the current unit is the last.",
17
183
  "type": "string"
18
184
  },
185
+ "enableRender": {
186
+ "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
187
+ "type": "boolean"
188
+ },
19
189
  "application": {
20
190
  "$schema": "http://json-schema.org/draft-07/schema#",
21
- "title": "application schema (base)",
191
+ "title": "application schema",
22
192
  "type": "object",
193
+ "required": [
194
+ "build",
195
+ "name",
196
+ "shortName",
197
+ "summary",
198
+ "version"
199
+ ],
23
200
  "properties": {
201
+ "_id": {
202
+ "description": "entity identity",
203
+ "type": "string"
204
+ },
205
+ "slug": {
206
+ "description": "entity slug",
207
+ "type": "string"
208
+ },
209
+ "systemName": {
210
+ "type": "string"
211
+ },
212
+ "schemaVersion": {
213
+ "description": "entity's schema version. Used to distinct between different schemas.",
214
+ "type": "string",
215
+ "default": "2022.8.16"
216
+ },
217
+ "name": {
218
+ "description": "entity name",
219
+ "type": "string"
220
+ },
221
+ "isDefault": {
222
+ "description": "Identifies that entity is defaultable",
223
+ "type": "boolean",
224
+ "default": false
225
+ },
24
226
  "shortName": {
25
227
  "description": "The short name of the application. e.g. qe",
26
228
  "type": "string"
@@ -37,10 +239,9 @@
37
239
  "description": "Application build. e.g. VTST",
38
240
  "type": "string"
39
241
  },
40
- "isDefault": {
41
- "description": "Whether the build is the default build",
42
- "type": "boolean",
43
- "default": false
242
+ "isDefaultVersion": {
243
+ "description": "Whether the version is the default version",
244
+ "type": "boolean"
44
245
  },
45
246
  "hasAdvancedComputeOptions": {
46
247
  "description": "Whether advanced compute options are present",
@@ -54,6 +255,36 @@
54
255
  "description": "Whether the application is using (being passed during a downstream processing routine) a material structure.",
55
256
  "type": "boolean"
56
257
  },
258
+ "runConfig": {
259
+ "description": "The run configuration of the application",
260
+ "type": "object",
261
+ "required": [
262
+ "commandTemplate",
263
+ "outFileName"
264
+ ],
265
+ "properties": {
266
+ "commandTemplate": {
267
+ "description": "The command template of the application",
268
+ "type": "string"
269
+ },
270
+ "outFileName": {
271
+ "description": "The output file name of the application",
272
+ "type": "string"
273
+ }
274
+ }
275
+ }
276
+ }
277
+ },
278
+ "executable": {
279
+ "$schema": "http://json-schema.org/draft-07/schema#",
280
+ "title": "Named defaultable in-memory entity schema",
281
+ "type": "object",
282
+ "required": [
283
+ "applicationName",
284
+ "applicationVersion",
285
+ "name"
286
+ ],
287
+ "properties": {
57
288
  "_id": {
58
289
  "description": "entity identity",
59
290
  "type": "string"
@@ -73,36 +304,42 @@
73
304
  "name": {
74
305
  "description": "entity name",
75
306
  "type": "string"
76
- }
77
- }
78
- },
79
- "executable": {
80
- "$schema": "http://json-schema.org/draft-07/schema#",
81
- "title": "executable schema",
82
- "type": "object",
83
- "required": [
84
- "name"
85
- ],
86
- "properties": {
87
- "name": {
88
- "description": "The name of the executable. e.g. pw.x",
89
- "type": "string"
90
307
  },
91
- "applicationId": {
92
- "description": "_ids of the application this executable belongs to",
93
- "type": "array",
94
- "items": {
95
- "type": "string"
96
- }
308
+ "isDefault": {
309
+ "description": "Identifies that entity is defaultable",
310
+ "type": "boolean",
311
+ "default": false
97
312
  },
98
313
  "applicationName": {
99
314
  "description": "name of the application this executable belongs to",
100
315
  "type": "string"
101
316
  },
317
+ "applicationVersion": {
318
+ "description": "version of the application this executable belongs to",
319
+ "type": "string"
320
+ },
102
321
  "hasAdvancedComputeOptions": {
103
322
  "description": "Whether advanced compute options are present",
104
323
  "type": "boolean"
105
- },
324
+ }
325
+ }
326
+ },
327
+ "flavor": {
328
+ "$schema": "http://json-schema.org/draft-07/schema#",
329
+ "title": "flavor schema",
330
+ "type": "object",
331
+ "required": [
332
+ "applicationName",
333
+ "applicationVersion",
334
+ "executableName",
335
+ "input",
336
+ "monitors",
337
+ "name",
338
+ "postProcessors",
339
+ "preProcessors",
340
+ "results"
341
+ ],
342
+ "properties": {
106
343
  "_id": {
107
344
  "description": "entity identity",
108
345
  "type": "string"
@@ -119,6 +356,10 @@
119
356
  "type": "string",
120
357
  "default": "2022.8.16"
121
358
  },
359
+ "name": {
360
+ "description": "entity name",
361
+ "type": "string"
362
+ },
122
363
  "isDefault": {
123
364
  "description": "Identifies that entity is defaultable",
124
365
  "type": "boolean",
@@ -129,30 +370,19 @@
129
370
  "type": "array",
130
371
  "items": {
131
372
  "$schema": "http://json-schema.org/draft-07/schema#",
132
- "title": "runtime item schema",
133
- "oneOf": [
134
- {
135
- "$schema": "http://json-schema.org/draft-07/schema#",
136
- "title": "name result schema",
137
- "type": "object",
138
- "properties": {
139
- "name": {
140
- "description": "The name of this item. e.g. scf_accuracy",
141
- "type": "string"
142
- }
143
- },
144
- "additionalProperties": true,
145
- "required": [
146
- "name"
147
- ]
148
- },
149
- {
150
- "$schema": "http://json-schema.org/draft-07/schema#",
151
- "title": "RuntimeItemString",
152
- "description": "name of runtime item in shortened notation",
373
+ "title": "runtime item name object schema",
374
+ "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.",
375
+ "type": "object",
376
+ "required": [
377
+ "name"
378
+ ],
379
+ "additionalProperties": true,
380
+ "properties": {
381
+ "name": {
382
+ "description": "The name of this item. e.g. scf_accuracy",
153
383
  "type": "string"
154
384
  }
155
- ]
385
+ }
156
386
  }
157
387
  },
158
388
  "postProcessors": {
@@ -160,30 +390,19 @@
160
390
  "type": "array",
161
391
  "items": {
162
392
  "$schema": "http://json-schema.org/draft-07/schema#",
163
- "title": "runtime item schema",
164
- "oneOf": [
165
- {
166
- "$schema": "http://json-schema.org/draft-07/schema#",
167
- "title": "name result schema",
168
- "type": "object",
169
- "properties": {
170
- "name": {
171
- "description": "The name of this item. e.g. scf_accuracy",
172
- "type": "string"
173
- }
174
- },
175
- "additionalProperties": true,
176
- "required": [
177
- "name"
178
- ]
179
- },
180
- {
181
- "$schema": "http://json-schema.org/draft-07/schema#",
182
- "title": "RuntimeItemString",
183
- "description": "name of runtime item in shortened notation",
393
+ "title": "runtime item name object schema",
394
+ "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.",
395
+ "type": "object",
396
+ "required": [
397
+ "name"
398
+ ],
399
+ "additionalProperties": true,
400
+ "properties": {
401
+ "name": {
402
+ "description": "The name of this item. e.g. scf_accuracy",
184
403
  "type": "string"
185
404
  }
186
- ]
405
+ }
187
406
  }
188
407
  },
189
408
  "monitors": {
@@ -191,30 +410,19 @@
191
410
  "type": "array",
192
411
  "items": {
193
412
  "$schema": "http://json-schema.org/draft-07/schema#",
194
- "title": "runtime item schema",
195
- "oneOf": [
196
- {
197
- "$schema": "http://json-schema.org/draft-07/schema#",
198
- "title": "name result schema",
199
- "type": "object",
200
- "properties": {
201
- "name": {
202
- "description": "The name of this item. e.g. scf_accuracy",
203
- "type": "string"
204
- }
205
- },
206
- "additionalProperties": true,
207
- "required": [
208
- "name"
209
- ]
210
- },
211
- {
212
- "$schema": "http://json-schema.org/draft-07/schema#",
213
- "title": "RuntimeItemString",
214
- "description": "name of runtime item in shortened notation",
413
+ "title": "runtime item name object schema",
414
+ "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.",
415
+ "type": "object",
416
+ "required": [
417
+ "name"
418
+ ],
419
+ "additionalProperties": true,
420
+ "properties": {
421
+ "name": {
422
+ "description": "The name of this item. e.g. scf_accuracy",
215
423
  "type": "string"
216
424
  }
217
- ]
425
+ }
218
426
  }
219
427
  },
220
428
  "results": {
@@ -222,42 +430,20 @@
222
430
  "type": "array",
223
431
  "items": {
224
432
  "$schema": "http://json-schema.org/draft-07/schema#",
225
- "title": "runtime item schema",
226
- "oneOf": [
227
- {
228
- "$schema": "http://json-schema.org/draft-07/schema#",
229
- "title": "name result schema",
230
- "type": "object",
231
- "properties": {
232
- "name": {
233
- "description": "The name of this item. e.g. scf_accuracy",
234
- "type": "string"
235
- }
236
- },
237
- "additionalProperties": true,
238
- "required": [
239
- "name"
240
- ]
241
- },
242
- {
243
- "$schema": "http://json-schema.org/draft-07/schema#",
244
- "title": "RuntimeItemString",
245
- "description": "name of runtime item in shortened notation",
433
+ "title": "runtime item name object schema",
434
+ "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.",
435
+ "type": "object",
436
+ "required": [
437
+ "name"
438
+ ],
439
+ "additionalProperties": true,
440
+ "properties": {
441
+ "name": {
442
+ "description": "The name of this item. e.g. scf_accuracy",
246
443
  "type": "string"
247
444
  }
248
- ]
445
+ }
249
446
  }
250
- }
251
- }
252
- },
253
- "flavor": {
254
- "$schema": "http://json-schema.org/draft-07/schema#",
255
- "title": "flavor schema",
256
- "type": "object",
257
- "properties": {
258
- "executableId": {
259
- "description": "_id of the executable this flavor belongs to",
260
- "type": "string"
261
447
  },
262
448
  "executableName": {
263
449
  "description": "name of the executable this flavor belongs to",
@@ -267,6 +453,10 @@
267
453
  "description": "name of the application this flavor belongs to",
268
454
  "type": "string"
269
455
  },
456
+ "applicationVersion": {
457
+ "description": "version of the application this flavor belongs to",
458
+ "type": "string"
459
+ },
270
460
  "input": {
271
461
  "title": "execution unit input schema",
272
462
  "type": "array",
@@ -274,7 +464,9 @@
274
464
  "$schema": "http://json-schema.org/draft-07/schema#",
275
465
  "title": "execution unit input id item schema for physics-based simulation engines",
276
466
  "type": "object",
277
- "additionalProperties": false,
467
+ "required": [
468
+ "name"
469
+ ],
278
470
  "properties": {
279
471
  "templateId": {
280
472
  "type": "string"
@@ -288,375 +480,1688 @@
288
480
  }
289
481
  }
290
482
  }
291
- },
292
- "supportedApplicationVersions": {
293
- "description": "list of application versions this flavor supports",
294
- "type": "array",
295
- "items": {
483
+ }
484
+ }
485
+ },
486
+ "input": {
487
+ "type": "array",
488
+ "items": {
489
+ "$schema": "http://json-schema.org/draft-07/schema#",
490
+ "title": "execution unit input item schema",
491
+ "type": "object",
492
+ "required": [
493
+ "isManuallyChanged",
494
+ "template"
495
+ ],
496
+ "properties": {
497
+ "template": {
498
+ "$schema": "http://json-schema.org/draft-07/schema#",
499
+ "title": "template schema",
500
+ "type": "object",
501
+ "required": [
502
+ "applicationName",
503
+ "applicationVersion",
504
+ "content",
505
+ "contextProviders",
506
+ "executableName",
507
+ "name"
508
+ ],
509
+ "properties": {
510
+ "_id": {
511
+ "description": "entity identity",
512
+ "type": "string"
513
+ },
514
+ "slug": {
515
+ "description": "entity slug",
516
+ "type": "string"
517
+ },
518
+ "systemName": {
519
+ "type": "string"
520
+ },
521
+ "schemaVersion": {
522
+ "description": "entity's schema version. Used to distinct between different schemas.",
523
+ "type": "string",
524
+ "default": "2022.8.16"
525
+ },
526
+ "name": {
527
+ "description": "entity name",
528
+ "type": "string"
529
+ },
530
+ "executableName": {
531
+ "type": "string"
532
+ },
533
+ "applicationName": {
534
+ "type": "string"
535
+ },
536
+ "applicationVersion": {
537
+ "type": "string"
538
+ },
539
+ "contextProviders": {
540
+ "type": "array",
541
+ "items": {
542
+ "description": "render context provider names",
543
+ "type": "object",
544
+ "required": [
545
+ "name"
546
+ ],
547
+ "properties": {
548
+ "name": {
549
+ "type": "string",
550
+ "tsType": "ContextProviderNameEnum"
551
+ }
552
+ }
553
+ }
554
+ },
555
+ "content": {
556
+ "description": "Content of the template. e.g. &CONTROL calculation='scf' ...",
557
+ "type": "string"
558
+ }
559
+ }
560
+ },
561
+ "rendered": {
562
+ "description": "Rendered content of the input file. e.g. &CONTROL calculation='scf' ...",
296
563
  "type": "string"
564
+ },
565
+ "isManuallyChanged": {
566
+ "type": "boolean",
567
+ "default": false
297
568
  }
298
- },
299
- "_id": {
300
- "description": "entity identity",
301
- "type": "string"
302
- },
303
- "slug": {
304
- "description": "entity slug",
305
- "type": "string"
306
- },
307
- "systemName": {
308
- "type": "string"
309
- },
310
- "schemaVersion": {
311
- "description": "entity's schema version. Used to distinct between different schemas.",
312
- "type": "string",
313
- "default": "2022.8.16"
314
- },
315
- "name": {
316
- "description": "entity name",
317
- "type": "string"
318
- },
319
- "isDefault": {
320
- "description": "Identifies that entity is defaultable",
321
- "type": "boolean",
322
- "default": false
323
- },
324
- "preProcessors": {
325
- "description": "names of the pre-processors for this calculation",
326
- "type": "array",
327
- "items": {
569
+ }
570
+ }
571
+ },
572
+ "context": {
573
+ "type": "array",
574
+ "items": {
575
+ "$schema": "http://json-schema.org/draft-07/schema#",
576
+ "title": "context item schema",
577
+ "oneOf": [
578
+ {
328
579
  "$schema": "http://json-schema.org/draft-07/schema#",
329
- "title": "runtime item schema",
330
- "oneOf": [
331
- {
580
+ "title": "input context item schema",
581
+ "type": "object",
582
+ "required": [
583
+ "name",
584
+ "isEdited",
585
+ "data",
586
+ "extraData"
587
+ ],
588
+ "properties": {
589
+ "name": {
590
+ "type": "string",
591
+ "const": "input"
592
+ },
593
+ "data": {
594
+ "type": "object",
595
+ "oneOf": [
596
+ {
597
+ "$schema": "http://json-schema.org/draft-07/schema#",
598
+ "title": "NWChem Total Energy Context Provider Schema",
599
+ "description": "Schema for NWChemTotalEnergyContextProvider that generates context data for NWChem total energy input.",
600
+ "type": "object",
601
+ "properties": {
602
+ "contextProviderName": {
603
+ "type": "string",
604
+ "const": "nwchem-total-energy",
605
+ "description": "Descriminator for AJV validator"
606
+ },
607
+ "CHARGE": {
608
+ "type": "integer",
609
+ "description": "Total charge of the system."
610
+ },
611
+ "MULT": {
612
+ "type": "integer",
613
+ "description": "Spin multiplicity of the system."
614
+ },
615
+ "BASIS": {
616
+ "type": "string",
617
+ "description": "Basis set label used in the calculation (e.g., '6-31G')."
618
+ },
619
+ "NAT": {
620
+ "type": "integer",
621
+ "description": "Number of atoms in the system."
622
+ },
623
+ "NTYP": {
624
+ "type": "integer",
625
+ "description": "Number of unique atomic species in the system."
626
+ },
627
+ "ATOMIC_POSITIONS": {
628
+ "type": "string",
629
+ "description": "Formatted text block with atomic positions including constraints."
630
+ },
631
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
632
+ "type": "string",
633
+ "description": "Formatted text block with atomic positions without constraints."
634
+ },
635
+ "ATOMIC_SPECIES": {
636
+ "type": "string",
637
+ "description": "Formatted text block for atomic species, including element symbols and masses."
638
+ },
639
+ "FUNCTIONAL": {
640
+ "type": "string",
641
+ "description": "Exchange-correlation functional identifier (e.g., 'B3LYP')."
642
+ },
643
+ "CARTESIAN": {
644
+ "type": "boolean",
645
+ "description": "Whether atomic positions are expressed in cartesian coordinates."
646
+ }
647
+ },
648
+ "required": [
649
+ "CHARGE",
650
+ "MULT",
651
+ "BASIS",
652
+ "NAT",
653
+ "NTYP",
654
+ "ATOMIC_POSITIONS",
655
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS",
656
+ "ATOMIC_SPECIES",
657
+ "FUNCTIONAL",
658
+ "CARTESIAN",
659
+ "contextProviderName"
660
+ ]
661
+ },
662
+ {
663
+ "$schema": "http://json-schema.org/draft-07/schema#",
664
+ "title": "QE NEB Context Provider Schema",
665
+ "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.",
666
+ "type": "object",
667
+ "required": [
668
+ "IBRAV",
669
+ "RESTART_MODE",
670
+ "ATOMIC_SPECIES",
671
+ "ATOMIC_SPECIES_WITH_LABELS",
672
+ "NAT",
673
+ "NTYP",
674
+ "NTYP_WITH_LABELS",
675
+ "CELL_PARAMETERS",
676
+ "FIRST_IMAGE",
677
+ "LAST_IMAGE",
678
+ "INTERMEDIATE_IMAGES",
679
+ "contextProviderName"
680
+ ],
681
+ "properties": {
682
+ "IBRAV": {
683
+ "type": "integer"
684
+ },
685
+ "RESTART_MODE": {
686
+ "type": "string",
687
+ "enum": [
688
+ "from_scratch",
689
+ "restart"
690
+ ],
691
+ "default": "from_scratch"
692
+ },
693
+ "ATOMIC_SPECIES": {
694
+ "type": "array",
695
+ "items": {
696
+ "type": "object",
697
+ "required": [
698
+ "X",
699
+ "Mass_X",
700
+ "PseudoPot_X"
701
+ ],
702
+ "additionalProperties": false,
703
+ "properties": {
704
+ "X": {
705
+ "type": "string",
706
+ "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)"
707
+ },
708
+ "Mass_X": {
709
+ "type": "number",
710
+ "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)"
711
+ },
712
+ "PseudoPot_X": {
713
+ "type": "string",
714
+ "description": "PseudoPot_X"
715
+ }
716
+ }
717
+ }
718
+ },
719
+ "ATOMIC_SPECIES_WITH_LABELS": {
720
+ "type": "array",
721
+ "items": {
722
+ "type": "object",
723
+ "required": [
724
+ "X",
725
+ "Mass_X",
726
+ "PseudoPot_X"
727
+ ],
728
+ "additionalProperties": false,
729
+ "properties": {
730
+ "X": {
731
+ "type": "string",
732
+ "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)"
733
+ },
734
+ "Mass_X": {
735
+ "type": "number",
736
+ "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)"
737
+ },
738
+ "PseudoPot_X": {
739
+ "type": "string",
740
+ "description": "PseudoPot_X"
741
+ }
742
+ }
743
+ }
744
+ },
745
+ "NAT": {
746
+ "type": "integer",
747
+ "description": "number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"
748
+ },
749
+ "NTYP": {
750
+ "type": "integer",
751
+ "description": "number of types of atoms in the unit cell"
752
+ },
753
+ "NTYP_WITH_LABELS": {
754
+ "type": "integer",
755
+ "description": "Number of different atomic species including labels",
756
+ "minimum": 1
757
+ },
758
+ "ATOMIC_POSITIONS": {
759
+ "type": "array",
760
+ "items": {
761
+ "type": "object",
762
+ "required": [
763
+ "x",
764
+ "y",
765
+ "z"
766
+ ],
767
+ "additionalProperties": false,
768
+ "properties": {
769
+ "X": {
770
+ "type": "string",
771
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
772
+ },
773
+ "x": {
774
+ "type": "number",
775
+ "description": "atomic positions"
776
+ },
777
+ "y": {
778
+ "type": "number",
779
+ "description": "atomic positions"
780
+ },
781
+ "z": {
782
+ "type": "number",
783
+ "description": "atomic positions"
784
+ },
785
+ "if_pos(1)": {
786
+ "$schema": "http://json-schema.org/draft-07/schema#",
787
+ "title": "integer one or zero",
788
+ "type": "integer",
789
+ "minimum": 0,
790
+ "maximum": 1
791
+ },
792
+ "if_pos(2)": {
793
+ "$schema": "http://json-schema.org/draft-07/schema#",
794
+ "title": "integer one or zero",
795
+ "type": "integer",
796
+ "minimum": 0,
797
+ "maximum": 1
798
+ },
799
+ "if_pos(3)": {
800
+ "$schema": "http://json-schema.org/draft-07/schema#",
801
+ "title": "integer one or zero",
802
+ "type": "integer",
803
+ "minimum": 0,
804
+ "maximum": 1
805
+ }
806
+ }
807
+ }
808
+ },
809
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
810
+ "type": "string",
811
+ "description": "Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"
812
+ },
813
+ "CELL_PARAMETERS": {
814
+ "type": "object",
815
+ "additionalProperties": false,
816
+ "properties": {
817
+ "v1": {
818
+ "$schema": "http://json-schema.org/draft-07/schema#",
819
+ "title": "array of 3 number elements schema",
820
+ "type": "array",
821
+ "minItems": 3,
822
+ "maxItems": 3,
823
+ "items": {
824
+ "type": "number"
825
+ }
826
+ },
827
+ "v2": {
828
+ "$schema": "http://json-schema.org/draft-07/schema#",
829
+ "title": "array of 3 number elements schema",
830
+ "type": "array",
831
+ "minItems": 3,
832
+ "maxItems": 3,
833
+ "items": {
834
+ "type": "number"
835
+ }
836
+ },
837
+ "v3": {
838
+ "$schema": "http://json-schema.org/draft-07/schema#",
839
+ "title": "array of 3 number elements schema",
840
+ "type": "array",
841
+ "minItems": 3,
842
+ "maxItems": 3,
843
+ "items": {
844
+ "type": "number"
845
+ }
846
+ }
847
+ }
848
+ },
849
+ "FIRST_IMAGE": {
850
+ "type": "array",
851
+ "items": {
852
+ "type": "object",
853
+ "required": [
854
+ "x",
855
+ "y",
856
+ "z"
857
+ ],
858
+ "additionalProperties": false,
859
+ "properties": {
860
+ "X": {
861
+ "type": "string",
862
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
863
+ },
864
+ "x": {
865
+ "type": "number",
866
+ "description": "atomic positions"
867
+ },
868
+ "y": {
869
+ "type": "number",
870
+ "description": "atomic positions"
871
+ },
872
+ "z": {
873
+ "type": "number",
874
+ "description": "atomic positions"
875
+ },
876
+ "if_pos(1)": {
877
+ "$schema": "http://json-schema.org/draft-07/schema#",
878
+ "title": "integer one or zero",
879
+ "type": "integer",
880
+ "minimum": 0,
881
+ "maximum": 1
882
+ },
883
+ "if_pos(2)": {
884
+ "$schema": "http://json-schema.org/draft-07/schema#",
885
+ "title": "integer one or zero",
886
+ "type": "integer",
887
+ "minimum": 0,
888
+ "maximum": 1
889
+ },
890
+ "if_pos(3)": {
891
+ "$schema": "http://json-schema.org/draft-07/schema#",
892
+ "title": "integer one or zero",
893
+ "type": "integer",
894
+ "minimum": 0,
895
+ "maximum": 1
896
+ }
897
+ }
898
+ }
899
+ },
900
+ "LAST_IMAGE": {
901
+ "type": "array",
902
+ "items": {
903
+ "type": "object",
904
+ "required": [
905
+ "x",
906
+ "y",
907
+ "z"
908
+ ],
909
+ "additionalProperties": false,
910
+ "properties": {
911
+ "X": {
912
+ "type": "string",
913
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
914
+ },
915
+ "x": {
916
+ "type": "number",
917
+ "description": "atomic positions"
918
+ },
919
+ "y": {
920
+ "type": "number",
921
+ "description": "atomic positions"
922
+ },
923
+ "z": {
924
+ "type": "number",
925
+ "description": "atomic positions"
926
+ },
927
+ "if_pos(1)": {
928
+ "$schema": "http://json-schema.org/draft-07/schema#",
929
+ "title": "integer one or zero",
930
+ "type": "integer",
931
+ "minimum": 0,
932
+ "maximum": 1
933
+ },
934
+ "if_pos(2)": {
935
+ "$schema": "http://json-schema.org/draft-07/schema#",
936
+ "title": "integer one or zero",
937
+ "type": "integer",
938
+ "minimum": 0,
939
+ "maximum": 1
940
+ },
941
+ "if_pos(3)": {
942
+ "$schema": "http://json-schema.org/draft-07/schema#",
943
+ "title": "integer one or zero",
944
+ "type": "integer",
945
+ "minimum": 0,
946
+ "maximum": 1
947
+ }
948
+ }
949
+ }
950
+ },
951
+ "INTERMEDIATE_IMAGES": {
952
+ "type": "array",
953
+ "description": "Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.",
954
+ "items": {
955
+ "type": "array",
956
+ "items": {
957
+ "type": "object",
958
+ "required": [
959
+ "x",
960
+ "y",
961
+ "z"
962
+ ],
963
+ "additionalProperties": false,
964
+ "properties": {
965
+ "X": {
966
+ "type": "string",
967
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
968
+ },
969
+ "x": {
970
+ "type": "number",
971
+ "description": "atomic positions"
972
+ },
973
+ "y": {
974
+ "type": "number",
975
+ "description": "atomic positions"
976
+ },
977
+ "z": {
978
+ "type": "number",
979
+ "description": "atomic positions"
980
+ },
981
+ "if_pos(1)": {
982
+ "$schema": "http://json-schema.org/draft-07/schema#",
983
+ "title": "integer one or zero",
984
+ "type": "integer",
985
+ "minimum": 0,
986
+ "maximum": 1
987
+ },
988
+ "if_pos(2)": {
989
+ "$schema": "http://json-schema.org/draft-07/schema#",
990
+ "title": "integer one or zero",
991
+ "type": "integer",
992
+ "minimum": 0,
993
+ "maximum": 1
994
+ },
995
+ "if_pos(3)": {
996
+ "$schema": "http://json-schema.org/draft-07/schema#",
997
+ "title": "integer one or zero",
998
+ "type": "integer",
999
+ "minimum": 0,
1000
+ "maximum": 1
1001
+ }
1002
+ }
1003
+ }
1004
+ }
1005
+ },
1006
+ "contextProviderName": {
1007
+ "type": "string",
1008
+ "const": "qe-neb",
1009
+ "description": "Descriminator for AJV validator"
1010
+ }
1011
+ }
1012
+ },
1013
+ {
1014
+ "$schema": "http://json-schema.org/draft-07/schema#",
1015
+ "title": "QE pwx Context Provider Schema",
1016
+ "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.",
1017
+ "type": "object",
1018
+ "required": [
1019
+ "IBRAV",
1020
+ "RESTART_MODE",
1021
+ "ATOMIC_SPECIES",
1022
+ "ATOMIC_SPECIES_WITH_LABELS",
1023
+ "NAT",
1024
+ "NTYP",
1025
+ "NTYP_WITH_LABELS",
1026
+ "ATOMIC_POSITIONS",
1027
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS",
1028
+ "CELL_PARAMETERS",
1029
+ "contextProviderName"
1030
+ ],
1031
+ "properties": {
1032
+ "IBRAV": {
1033
+ "type": "integer"
1034
+ },
1035
+ "RESTART_MODE": {
1036
+ "type": "string",
1037
+ "enum": [
1038
+ "from_scratch",
1039
+ "restart"
1040
+ ],
1041
+ "default": "from_scratch"
1042
+ },
1043
+ "ATOMIC_SPECIES": {
1044
+ "type": "array",
1045
+ "items": {
1046
+ "type": "object",
1047
+ "required": [
1048
+ "X",
1049
+ "Mass_X",
1050
+ "PseudoPot_X"
1051
+ ],
1052
+ "additionalProperties": false,
1053
+ "properties": {
1054
+ "X": {
1055
+ "type": "string",
1056
+ "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)"
1057
+ },
1058
+ "Mass_X": {
1059
+ "type": "number",
1060
+ "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)"
1061
+ },
1062
+ "PseudoPot_X": {
1063
+ "type": "string",
1064
+ "description": "PseudoPot_X"
1065
+ }
1066
+ }
1067
+ }
1068
+ },
1069
+ "ATOMIC_SPECIES_WITH_LABELS": {
1070
+ "type": "array",
1071
+ "items": {
1072
+ "type": "object",
1073
+ "required": [
1074
+ "X",
1075
+ "Mass_X",
1076
+ "PseudoPot_X"
1077
+ ],
1078
+ "additionalProperties": false,
1079
+ "properties": {
1080
+ "X": {
1081
+ "type": "string",
1082
+ "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)"
1083
+ },
1084
+ "Mass_X": {
1085
+ "type": "number",
1086
+ "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)"
1087
+ },
1088
+ "PseudoPot_X": {
1089
+ "type": "string",
1090
+ "description": "PseudoPot_X"
1091
+ }
1092
+ }
1093
+ }
1094
+ },
1095
+ "NAT": {
1096
+ "type": "integer",
1097
+ "description": "number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"
1098
+ },
1099
+ "NTYP": {
1100
+ "type": "integer",
1101
+ "description": "number of types of atoms in the unit cell"
1102
+ },
1103
+ "NTYP_WITH_LABELS": {
1104
+ "type": "integer",
1105
+ "description": "Number of different atomic species including labels",
1106
+ "minimum": 1
1107
+ },
1108
+ "ATOMIC_POSITIONS": {
1109
+ "type": "array",
1110
+ "items": {
1111
+ "type": "object",
1112
+ "required": [
1113
+ "x",
1114
+ "y",
1115
+ "z"
1116
+ ],
1117
+ "additionalProperties": false,
1118
+ "properties": {
1119
+ "X": {
1120
+ "type": "string",
1121
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
1122
+ },
1123
+ "x": {
1124
+ "type": "number",
1125
+ "description": "atomic positions"
1126
+ },
1127
+ "y": {
1128
+ "type": "number",
1129
+ "description": "atomic positions"
1130
+ },
1131
+ "z": {
1132
+ "type": "number",
1133
+ "description": "atomic positions"
1134
+ },
1135
+ "if_pos(1)": {
1136
+ "$schema": "http://json-schema.org/draft-07/schema#",
1137
+ "title": "integer one or zero",
1138
+ "type": "integer",
1139
+ "minimum": 0,
1140
+ "maximum": 1
1141
+ },
1142
+ "if_pos(2)": {
1143
+ "$schema": "http://json-schema.org/draft-07/schema#",
1144
+ "title": "integer one or zero",
1145
+ "type": "integer",
1146
+ "minimum": 0,
1147
+ "maximum": 1
1148
+ },
1149
+ "if_pos(3)": {
1150
+ "$schema": "http://json-schema.org/draft-07/schema#",
1151
+ "title": "integer one or zero",
1152
+ "type": "integer",
1153
+ "minimum": 0,
1154
+ "maximum": 1
1155
+ }
1156
+ }
1157
+ }
1158
+ },
1159
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
1160
+ "type": "string",
1161
+ "description": "Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"
1162
+ },
1163
+ "CELL_PARAMETERS": {
1164
+ "type": "object",
1165
+ "additionalProperties": false,
1166
+ "properties": {
1167
+ "v1": {
1168
+ "$schema": "http://json-schema.org/draft-07/schema#",
1169
+ "title": "array of 3 number elements schema",
1170
+ "type": "array",
1171
+ "minItems": 3,
1172
+ "maxItems": 3,
1173
+ "items": {
1174
+ "type": "number"
1175
+ }
1176
+ },
1177
+ "v2": {
1178
+ "$schema": "http://json-schema.org/draft-07/schema#",
1179
+ "title": "array of 3 number elements schema",
1180
+ "type": "array",
1181
+ "minItems": 3,
1182
+ "maxItems": 3,
1183
+ "items": {
1184
+ "type": "number"
1185
+ }
1186
+ },
1187
+ "v3": {
1188
+ "$schema": "http://json-schema.org/draft-07/schema#",
1189
+ "title": "array of 3 number elements schema",
1190
+ "type": "array",
1191
+ "minItems": 3,
1192
+ "maxItems": 3,
1193
+ "items": {
1194
+ "type": "number"
1195
+ }
1196
+ }
1197
+ }
1198
+ },
1199
+ "contextProviderName": {
1200
+ "type": "string",
1201
+ "const": "qe-pwx",
1202
+ "description": "Descriminator for AJV validator"
1203
+ }
1204
+ }
1205
+ },
1206
+ {
1207
+ "$schema": "http://json-schema.org/draft-07/schema#",
1208
+ "title": "VASP Context Provider Schema",
1209
+ "description": "Schema for VASPContextProvider that generates context data for VASP POSCAR input files.",
1210
+ "type": "object",
1211
+ "properties": {
1212
+ "POSCAR": {
1213
+ "type": "string",
1214
+ "description": "POSCAR content for VASP including lattice, atom types, positions and constraints."
1215
+ },
1216
+ "POSCAR_WITH_CONSTRAINTS": {
1217
+ "type": "string",
1218
+ "description": "POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented."
1219
+ },
1220
+ "contextProviderName": {
1221
+ "type": "string",
1222
+ "const": "vasp",
1223
+ "description": "Descriminator for AJV validator"
1224
+ }
1225
+ },
1226
+ "required": [
1227
+ "POSCAR",
1228
+ "POSCAR_WITH_CONSTRAINTS",
1229
+ "contextProviderName"
1230
+ ]
1231
+ },
1232
+ {
1233
+ "$schema": "http://json-schema.org/draft-07/schema#",
1234
+ "title": "VASP NEB Context Provider Schema",
1235
+ "description": "Schema for VASPNEBContextProvider that generates context data for VASP NEB (nudged elastic band) runs.",
1236
+ "type": "object",
1237
+ "properties": {
1238
+ "FIRST_IMAGE": {
1239
+ "type": "string",
1240
+ "description": "POSCAR content with constraints for the first NEB image."
1241
+ },
1242
+ "LAST_IMAGE": {
1243
+ "type": "string",
1244
+ "description": "POSCAR content with constraints for the last NEB image."
1245
+ },
1246
+ "INTERMEDIATE_IMAGES": {
1247
+ "type": "array",
1248
+ "description": "POSCAR contents with constraints for all intermediate NEB images.",
1249
+ "items": {
1250
+ "type": "string"
1251
+ }
1252
+ },
1253
+ "contextProviderName": {
1254
+ "type": "string",
1255
+ "const": "vasp-neb",
1256
+ "description": "Descriminator for AJV validator"
1257
+ }
1258
+ },
1259
+ "required": [
1260
+ "FIRST_IMAGE",
1261
+ "LAST_IMAGE",
1262
+ "INTERMEDIATE_IMAGES",
1263
+ "contextProviderName"
1264
+ ]
1265
+ }
1266
+ ],
1267
+ "discriminator": {
1268
+ "propertyName": "contextProviderName"
1269
+ }
1270
+ },
1271
+ "extraData": {
332
1272
  "$schema": "http://json-schema.org/draft-07/schema#",
333
- "title": "name result schema",
1273
+ "title": "extraData with materialHash schema",
334
1274
  "type": "object",
1275
+ "required": [
1276
+ "materialHash"
1277
+ ],
335
1278
  "properties": {
336
- "name": {
337
- "description": "The name of this item. e.g. scf_accuracy",
1279
+ "materialHash": {
338
1280
  "type": "string"
339
1281
  }
340
- },
341
- "additionalProperties": true,
342
- "required": [
343
- "name"
344
- ]
1282
+ }
345
1283
  },
346
- {
347
- "$schema": "http://json-schema.org/draft-07/schema#",
348
- "title": "RuntimeItemString",
349
- "description": "name of runtime item in shortened notation",
350
- "type": "string"
1284
+ "isEdited": {
1285
+ "type": "boolean"
351
1286
  }
352
- ]
353
- }
354
- },
355
- "postProcessors": {
356
- "description": "names of the post-processors for this calculation",
357
- "type": "array",
358
- "items": {
1287
+ }
1288
+ },
1289
+ {
359
1290
  "$schema": "http://json-schema.org/draft-07/schema#",
360
- "title": "runtime item schema",
361
- "oneOf": [
362
- {
1291
+ "title": "cutoffs context item schema",
1292
+ "type": "object",
1293
+ "required": [
1294
+ "name",
1295
+ "isEdited",
1296
+ "data",
1297
+ "extraData"
1298
+ ],
1299
+ "properties": {
1300
+ "name": {
1301
+ "type": "string",
1302
+ "const": "cutoffs"
1303
+ },
1304
+ "data": {
363
1305
  "$schema": "http://json-schema.org/draft-07/schema#",
364
- "title": "name result schema",
1306
+ "title": "Planewave Cutoffs Context Provider Schema",
1307
+ "description": "Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.",
365
1308
  "type": "object",
366
1309
  "properties": {
367
- "name": {
368
- "description": "The name of this item. e.g. scf_accuracy",
369
- "type": "string"
1310
+ "wavefunction": {
1311
+ "type": "number"
1312
+ },
1313
+ "density": {
1314
+ "type": "number"
370
1315
  }
371
- },
372
- "additionalProperties": true,
373
- "required": [
374
- "name"
1316
+ }
1317
+ },
1318
+ "isEdited": {
1319
+ "type": "boolean"
1320
+ },
1321
+ "extraData": {
1322
+ "type": "object"
1323
+ }
1324
+ }
1325
+ },
1326
+ {
1327
+ "$schema": "http://json-schema.org/draft-07/schema#",
1328
+ "title": "grid context item schema",
1329
+ "type": "object",
1330
+ "required": [
1331
+ "name",
1332
+ "isEdited",
1333
+ "data",
1334
+ "extraData"
1335
+ ],
1336
+ "properties": {
1337
+ "name": {
1338
+ "type": "string",
1339
+ "enum": [
1340
+ "kgrid",
1341
+ "qgrid",
1342
+ "igrid"
375
1343
  ]
376
1344
  },
377
- {
1345
+ "data": {
378
1346
  "$schema": "http://json-schema.org/draft-07/schema#",
379
- "title": "RuntimeItemString",
380
- "description": "name of runtime item in shortened notation",
381
- "type": "string"
1347
+ "title": "Points Grid Data Provider Schema",
1348
+ "description": "3D grid with shifts for k-point or q-point sampling.",
1349
+ "type": "object",
1350
+ "required": [
1351
+ "dimensions",
1352
+ "gridMetricType",
1353
+ "gridMetricValue"
1354
+ ],
1355
+ "properties": {
1356
+ "dimensions": {
1357
+ "anyOf": [
1358
+ {
1359
+ "type": "array",
1360
+ "items": {
1361
+ "type": "number"
1362
+ },
1363
+ "minItems": 3,
1364
+ "maxItems": 3
1365
+ },
1366
+ {
1367
+ "type": "array",
1368
+ "items": {
1369
+ "type": "string"
1370
+ },
1371
+ "minItems": 3,
1372
+ "maxItems": 3
1373
+ }
1374
+ ]
1375
+ },
1376
+ "shifts": {
1377
+ "type": "array",
1378
+ "minItems": 3,
1379
+ "maxItems": 3,
1380
+ "items": {
1381
+ "type": "number"
1382
+ }
1383
+ },
1384
+ "reciprocalVectorRatios": {
1385
+ "type": "array",
1386
+ "minItems": 3,
1387
+ "maxItems": 3,
1388
+ "items": {
1389
+ "type": "number"
1390
+ }
1391
+ },
1392
+ "gridMetricType": {
1393
+ "type": "string",
1394
+ "enum": [
1395
+ "KPPRA",
1396
+ "spacing"
1397
+ ]
1398
+ },
1399
+ "gridMetricValue": {
1400
+ "type": "number"
1401
+ },
1402
+ "preferGridMetric": {
1403
+ "type": "boolean"
1404
+ }
1405
+ }
1406
+ },
1407
+ "extraData": {
1408
+ "$schema": "http://json-schema.org/draft-07/schema#",
1409
+ "title": "extraData with materialHash schema",
1410
+ "type": "object",
1411
+ "required": [
1412
+ "materialHash"
1413
+ ],
1414
+ "properties": {
1415
+ "materialHash": {
1416
+ "type": "string"
1417
+ }
1418
+ }
1419
+ },
1420
+ "isEdited": {
1421
+ "type": "boolean"
382
1422
  }
383
- ]
384
- }
385
- },
386
- "monitors": {
387
- "description": "names of the monitors for this calculation",
388
- "type": "array",
389
- "items": {
1423
+ }
1424
+ },
1425
+ {
390
1426
  "$schema": "http://json-schema.org/draft-07/schema#",
391
- "title": "runtime item schema",
392
- "oneOf": [
393
- {
1427
+ "title": "path context item schema",
1428
+ "type": "object",
1429
+ "required": [
1430
+ "name",
1431
+ "isEdited",
1432
+ "data",
1433
+ "extraData"
1434
+ ],
1435
+ "properties": {
1436
+ "name": {
1437
+ "type": "string",
1438
+ "enum": [
1439
+ "qpath",
1440
+ "ipath",
1441
+ "kpath",
1442
+ "explicitKPath",
1443
+ "explicitKPath2PIBA"
1444
+ ]
1445
+ },
1446
+ "data": {
1447
+ "$schema": "http://json-schema.org/draft-07/schema#",
1448
+ "title": "Points Path Data Provider Schema",
1449
+ "description": "Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).",
1450
+ "type": "array",
1451
+ "minItems": 1,
1452
+ "items": {
1453
+ "type": "object",
1454
+ "required": [
1455
+ "point",
1456
+ "steps"
1457
+ ],
1458
+ "properties": {
1459
+ "point": {
1460
+ "type": "string"
1461
+ },
1462
+ "steps": {
1463
+ "type": "number"
1464
+ }
1465
+ }
1466
+ }
1467
+ },
1468
+ "extraData": {
394
1469
  "$schema": "http://json-schema.org/draft-07/schema#",
395
- "title": "name result schema",
1470
+ "title": "extraData with materialHash schema",
396
1471
  "type": "object",
1472
+ "required": [
1473
+ "materialHash"
1474
+ ],
397
1475
  "properties": {
398
- "name": {
399
- "description": "The name of this item. e.g. scf_accuracy",
1476
+ "materialHash": {
400
1477
  "type": "string"
401
1478
  }
402
- },
403
- "additionalProperties": true,
404
- "required": [
405
- "name"
406
- ]
1479
+ }
1480
+ },
1481
+ "isEdited": {
1482
+ "type": "boolean"
1483
+ }
1484
+ }
1485
+ },
1486
+ {
1487
+ "$schema": "http://json-schema.org/draft-07/schema#",
1488
+ "title": "hubbard_j context item schema",
1489
+ "type": "object",
1490
+ "required": [
1491
+ "name",
1492
+ "isEdited",
1493
+ "data",
1494
+ "extraData"
1495
+ ],
1496
+ "properties": {
1497
+ "name": {
1498
+ "type": "string",
1499
+ "const": "hubbard_j"
407
1500
  },
408
- {
1501
+ "data": {
409
1502
  "$schema": "http://json-schema.org/draft-07/schema#",
410
- "title": "RuntimeItemString",
411
- "description": "name of runtime item in shortened notation",
412
- "type": "string"
1503
+ "title": "Hubbard J Context Provider Schema",
1504
+ "description": "Hubbard parameters for DFT+U+J calculation.",
1505
+ "type": "array",
1506
+ "minItems": 1,
1507
+ "items": {
1508
+ "type": "object",
1509
+ "properties": {
1510
+ "paramType": {
1511
+ "type": "string",
1512
+ "title": "Species",
1513
+ "enum": [
1514
+ "U",
1515
+ "J",
1516
+ "B",
1517
+ "E2",
1518
+ "E3"
1519
+ ]
1520
+ },
1521
+ "atomicSpecies": {
1522
+ "type": "string",
1523
+ "title": "Species"
1524
+ },
1525
+ "atomicOrbital": {
1526
+ "type": "string",
1527
+ "title": "Orbital"
1528
+ },
1529
+ "value": {
1530
+ "type": "number",
1531
+ "title": "Value (eV)"
1532
+ }
1533
+ }
1534
+ }
1535
+ },
1536
+ "isEdited": {
1537
+ "type": "boolean"
1538
+ },
1539
+ "extraData": {
1540
+ "type": "object"
413
1541
  }
414
- ]
415
- }
416
- },
417
- "results": {
418
- "description": "names of the results for this calculation",
419
- "type": "array",
420
- "items": {
1542
+ }
1543
+ },
1544
+ {
421
1545
  "$schema": "http://json-schema.org/draft-07/schema#",
422
- "title": "runtime item schema",
423
- "oneOf": [
424
- {
1546
+ "title": "hubbard_u context item schema",
1547
+ "type": "object",
1548
+ "required": [
1549
+ "name",
1550
+ "isEdited",
1551
+ "data",
1552
+ "extraData"
1553
+ ],
1554
+ "properties": {
1555
+ "name": {
1556
+ "type": "string",
1557
+ "const": "hubbard_u"
1558
+ },
1559
+ "data": {
425
1560
  "$schema": "http://json-schema.org/draft-07/schema#",
426
- "title": "name result schema",
1561
+ "title": "Hubbard U Context Provider Schema",
1562
+ "description": "Hubbard U parameters for DFT+U or DFT+U+V calculation.",
1563
+ "type": "array",
1564
+ "items": {
1565
+ "type": "object",
1566
+ "properties": {
1567
+ "atomicSpecies": {
1568
+ "type": "string",
1569
+ "title": "Atomic species"
1570
+ },
1571
+ "atomicOrbital": {
1572
+ "type": "string",
1573
+ "title": "Atomic orbital"
1574
+ },
1575
+ "hubbardUValue": {
1576
+ "type": "number",
1577
+ "title": "Hubbard U (eV)"
1578
+ }
1579
+ }
1580
+ }
1581
+ },
1582
+ "extraData": {
1583
+ "$schema": "http://json-schema.org/draft-07/schema#",
1584
+ "title": "extraData with materialHash schema",
427
1585
  "type": "object",
1586
+ "required": [
1587
+ "materialHash"
1588
+ ],
428
1589
  "properties": {
429
- "name": {
430
- "description": "The name of this item. e.g. scf_accuracy",
1590
+ "materialHash": {
431
1591
  "type": "string"
432
1592
  }
433
- },
434
- "additionalProperties": true,
435
- "required": [
436
- "name"
437
- ]
1593
+ }
438
1594
  },
439
- {
440
- "$schema": "http://json-schema.org/draft-07/schema#",
441
- "title": "RuntimeItemString",
442
- "description": "name of runtime item in shortened notation",
443
- "type": "string"
1595
+ "isEdited": {
1596
+ "type": "boolean"
444
1597
  }
445
- ]
446
- }
447
- }
448
- }
449
- },
450
- "input": {
451
- "description": "unit input (type to be specified by the application's execution unit)"
452
- },
453
- "_id": {
454
- "type": "string",
455
- "description": "entity identity"
456
- },
457
- "isDraft": {
458
- "type": "boolean"
459
- },
460
- "name": {
461
- "description": "name of the unit. e.g. pw_scf",
462
- "type": "string"
463
- },
464
- "status": {
465
- "description": "Status of the unit.",
466
- "type": "string",
467
- "enum": [
468
- "idle",
469
- "active",
470
- "warning",
471
- "error",
472
- "finished"
473
- ]
474
- },
475
- "head": {
476
- "description": "Whether this unit is the first one to be executed.",
477
- "type": "boolean"
478
- },
479
- "flowchartId": {
480
- "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
481
- "type": "string"
482
- },
483
- "next": {
484
- "description": "Next unit's flowchartId. If empty, the current unit is the last.",
485
- "type": "string"
486
- },
487
- "enableRender": {
488
- "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
489
- "type": "boolean"
490
- },
491
- "context": {
492
- "type": "object"
493
- },
494
- "slug": {
495
- "description": "entity slug",
496
- "type": "string"
497
- },
498
- "systemName": {
499
- "type": "string"
500
- },
501
- "schemaVersion": {
502
- "description": "entity's schema version. Used to distinct between different schemas.",
503
- "type": "string",
504
- "default": "2022.8.16"
505
- },
506
- "isDefault": {
507
- "description": "Identifies that entity is defaultable",
508
- "type": "boolean",
509
- "default": false
510
- },
511
- "preProcessors": {
512
- "description": "names of the pre-processors for this calculation",
513
- "type": "array",
514
- "items": {
515
- "$schema": "http://json-schema.org/draft-07/schema#",
516
- "title": "runtime item schema",
517
- "oneOf": [
1598
+ }
1599
+ },
518
1600
  {
519
1601
  "$schema": "http://json-schema.org/draft-07/schema#",
520
- "title": "name result schema",
1602
+ "title": "hubbard_v context item schema",
521
1603
  "type": "object",
1604
+ "required": [
1605
+ "name",
1606
+ "isEdited",
1607
+ "data",
1608
+ "extraData"
1609
+ ],
522
1610
  "properties": {
523
1611
  "name": {
524
- "description": "The name of this item. e.g. scf_accuracy",
525
- "type": "string"
1612
+ "type": "string",
1613
+ "const": "hubbard_v"
1614
+ },
1615
+ "data": {
1616
+ "$schema": "http://json-schema.org/draft-07/schema#",
1617
+ "title": "Hubbard V Context Provider Schema",
1618
+ "description": "Hubbard V parameters for DFT+U+V calculation.",
1619
+ "type": "array",
1620
+ "minItems": 1,
1621
+ "items": {
1622
+ "type": "object",
1623
+ "properties": {
1624
+ "atomicSpecies": {
1625
+ "type": "string",
1626
+ "title": "Species 1"
1627
+ },
1628
+ "siteIndex": {
1629
+ "type": "integer",
1630
+ "title": "Site no 1"
1631
+ },
1632
+ "atomicOrbital": {
1633
+ "type": "string",
1634
+ "title": "Orbital 1"
1635
+ },
1636
+ "atomicSpecies2": {
1637
+ "type": "string",
1638
+ "title": "Species 2"
1639
+ },
1640
+ "siteIndex2": {
1641
+ "type": "integer",
1642
+ "title": "Site no 2"
1643
+ },
1644
+ "atomicOrbital2": {
1645
+ "type": "string",
1646
+ "title": "Orbital 2"
1647
+ },
1648
+ "hubbardVValue": {
1649
+ "type": "number",
1650
+ "title": "V (eV)"
1651
+ }
1652
+ }
1653
+ }
1654
+ },
1655
+ "isEdited": {
1656
+ "type": "boolean"
1657
+ },
1658
+ "extraData": {
1659
+ "type": "object"
526
1660
  }
527
- },
528
- "additionalProperties": true,
529
- "required": [
530
- "name"
531
- ]
1661
+ }
532
1662
  },
533
1663
  {
534
1664
  "$schema": "http://json-schema.org/draft-07/schema#",
535
- "title": "RuntimeItemString",
536
- "description": "name of runtime item in shortened notation",
537
- "type": "string"
538
- }
539
- ]
540
- }
541
- },
542
- "postProcessors": {
543
- "description": "names of the post-processors for this calculation",
544
- "type": "array",
545
- "items": {
546
- "$schema": "http://json-schema.org/draft-07/schema#",
547
- "title": "runtime item schema",
548
- "oneOf": [
1665
+ "title": "hubbard_legacy context item schema",
1666
+ "type": "object",
1667
+ "required": [
1668
+ "name",
1669
+ "isEdited",
1670
+ "data",
1671
+ "extraData"
1672
+ ],
1673
+ "properties": {
1674
+ "name": {
1675
+ "type": "string",
1676
+ "const": "hubbard_legacy"
1677
+ },
1678
+ "data": {
1679
+ "$schema": "http://json-schema.org/draft-07/schema#",
1680
+ "title": "Hubbard Legacy Context Provider Schema",
1681
+ "description": "Hubbard parameters for DFT+U calculation.",
1682
+ "type": "array",
1683
+ "uniqueItems": true,
1684
+ "minItems": 1,
1685
+ "items": {
1686
+ "type": "object",
1687
+ "properties": {
1688
+ "atomicSpecies": {
1689
+ "type": "string",
1690
+ "title": "Atomic species"
1691
+ },
1692
+ "atomicSpeciesIndex": {
1693
+ "type": "integer",
1694
+ "title": "Species index"
1695
+ },
1696
+ "hubbardUValue": {
1697
+ "type": "number",
1698
+ "title": "Hubbard U (eV)"
1699
+ }
1700
+ }
1701
+ }
1702
+ },
1703
+ "isEdited": {
1704
+ "type": "boolean"
1705
+ },
1706
+ "extraData": {
1707
+ "type": "object"
1708
+ }
1709
+ }
1710
+ },
549
1711
  {
550
1712
  "$schema": "http://json-schema.org/draft-07/schema#",
551
- "title": "name result schema",
1713
+ "title": "neb context item schema",
552
1714
  "type": "object",
1715
+ "required": [
1716
+ "name",
1717
+ "isEdited",
1718
+ "data",
1719
+ "extraData"
1720
+ ],
553
1721
  "properties": {
554
1722
  "name": {
555
- "description": "The name of this item. e.g. scf_accuracy",
556
- "type": "string"
1723
+ "type": "string",
1724
+ "const": "neb"
1725
+ },
1726
+ "data": {
1727
+ "$schema": "http://json-schema.org/draft-07/schema#",
1728
+ "title": "NEB Data Provider Schema",
1729
+ "description": "Number of intermediate NEB images.",
1730
+ "type": "object",
1731
+ "properties": {
1732
+ "nImages": {
1733
+ "type": "number"
1734
+ }
1735
+ }
1736
+ },
1737
+ "isEdited": {
1738
+ "type": "boolean"
1739
+ },
1740
+ "extraData": {
1741
+ "type": "object"
557
1742
  }
558
- },
559
- "additionalProperties": true,
560
- "required": [
561
- "name"
562
- ]
1743
+ }
563
1744
  },
564
1745
  {
565
1746
  "$schema": "http://json-schema.org/draft-07/schema#",
566
- "title": "RuntimeItemString",
567
- "description": "name of runtime item in shortened notation",
568
- "type": "string"
569
- }
570
- ]
571
- }
572
- },
573
- "monitors": {
574
- "description": "names of the monitors for this calculation",
575
- "type": "array",
576
- "items": {
577
- "$schema": "http://json-schema.org/draft-07/schema#",
578
- "title": "runtime item schema",
579
- "oneOf": [
1747
+ "title": "boundaryConditions context item schema",
1748
+ "type": "object",
1749
+ "required": [
1750
+ "name",
1751
+ "isEdited",
1752
+ "data",
1753
+ "extraData"
1754
+ ],
1755
+ "properties": {
1756
+ "name": {
1757
+ "type": "string",
1758
+ "const": "boundaryConditions"
1759
+ },
1760
+ "data": {
1761
+ "$schema": "http://json-schema.org/draft-07/schema#",
1762
+ "title": "Boundary Conditions Data Provider Schema",
1763
+ "type": "object",
1764
+ "properties": {
1765
+ "type": {
1766
+ "type": "string",
1767
+ "enum": [
1768
+ "pbc",
1769
+ "bc1",
1770
+ "bc2",
1771
+ "bc3"
1772
+ ],
1773
+ "default": "pbc",
1774
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
1775
+ },
1776
+ "offset": {
1777
+ "type": "number"
1778
+ },
1779
+ "electricField": {
1780
+ "type": "number",
1781
+ "title": "Electric Field (eV/A)"
1782
+ },
1783
+ "targetFermiEnergy": {
1784
+ "type": "number",
1785
+ "title": "Target Fermi Energy (eV)"
1786
+ }
1787
+ }
1788
+ },
1789
+ "extraData": {
1790
+ "$schema": "http://json-schema.org/draft-07/schema#",
1791
+ "title": "extraData with materialHash schema",
1792
+ "type": "object",
1793
+ "required": [
1794
+ "materialHash"
1795
+ ],
1796
+ "properties": {
1797
+ "materialHash": {
1798
+ "type": "string"
1799
+ }
1800
+ }
1801
+ },
1802
+ "isEdited": {
1803
+ "type": "boolean"
1804
+ }
1805
+ }
1806
+ },
580
1807
  {
581
1808
  "$schema": "http://json-schema.org/draft-07/schema#",
582
- "title": "name result schema",
1809
+ "title": "mlSettings context item schema",
583
1810
  "type": "object",
1811
+ "required": [
1812
+ "name",
1813
+ "isEdited",
1814
+ "data",
1815
+ "extraData"
1816
+ ],
584
1817
  "properties": {
585
1818
  "name": {
586
- "description": "The name of this item. e.g. scf_accuracy",
587
- "type": "string"
1819
+ "type": "string",
1820
+ "const": "mlSettings"
1821
+ },
1822
+ "data": {
1823
+ "$schema": "http://json-schema.org/draft-07/schema#",
1824
+ "title": "ML Settings Context Provider Schema",
1825
+ "description": "Settings important to machine learning runs.",
1826
+ "type": "object",
1827
+ "properties": {
1828
+ "target_column_name": {
1829
+ "type": "string"
1830
+ },
1831
+ "problem_category": {
1832
+ "type": "string",
1833
+ "enum": [
1834
+ "regression",
1835
+ "classification",
1836
+ "clustering"
1837
+ ]
1838
+ }
1839
+ }
1840
+ },
1841
+ "isEdited": {
1842
+ "type": "boolean"
1843
+ },
1844
+ "extraData": {
1845
+ "type": "object"
588
1846
  }
589
- },
590
- "additionalProperties": true,
591
- "required": [
592
- "name"
593
- ]
1847
+ }
594
1848
  },
595
1849
  {
596
1850
  "$schema": "http://json-schema.org/draft-07/schema#",
597
- "title": "RuntimeItemString",
598
- "description": "name of runtime item in shortened notation",
599
- "type": "string"
600
- }
601
- ]
602
- }
603
- },
604
- "results": {
605
- "description": "names of the results for this calculation",
606
- "type": "array",
607
- "items": {
608
- "$schema": "http://json-schema.org/draft-07/schema#",
609
- "title": "runtime item schema",
610
- "oneOf": [
1851
+ "title": "mlTrainTestSplit context item schema",
1852
+ "type": "object",
1853
+ "required": [
1854
+ "name",
1855
+ "isEdited",
1856
+ "data",
1857
+ "extraData"
1858
+ ],
1859
+ "properties": {
1860
+ "name": {
1861
+ "type": "string",
1862
+ "const": "mlTrainTestSplit"
1863
+ },
1864
+ "data": {
1865
+ "$schema": "http://json-schema.org/draft-07/schema#",
1866
+ "title": "ML Train Test Split Context Provider Schema",
1867
+ "description": "Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.",
1868
+ "type": "object",
1869
+ "properties": {
1870
+ "fraction_held_as_test_set": {
1871
+ "type": "number",
1872
+ "minimum": 0,
1873
+ "maximum": 1
1874
+ }
1875
+ }
1876
+ },
1877
+ "isEdited": {
1878
+ "type": "boolean"
1879
+ },
1880
+ "extraData": {
1881
+ "type": "object"
1882
+ }
1883
+ }
1884
+ },
611
1885
  {
612
1886
  "$schema": "http://json-schema.org/draft-07/schema#",
613
- "title": "name result schema",
1887
+ "title": "dynamics context item schema",
614
1888
  "type": "object",
1889
+ "required": [
1890
+ "name",
1891
+ "isEdited",
1892
+ "data",
1893
+ "extraData"
1894
+ ],
615
1895
  "properties": {
616
1896
  "name": {
617
- "description": "The name of this item. e.g. scf_accuracy",
618
- "type": "string"
1897
+ "type": "string",
1898
+ "const": "dynamics"
1899
+ },
1900
+ "data": {
1901
+ "$schema": "http://json-schema.org/draft-07/schema#",
1902
+ "title": "Ion Dynamics Context Provider Schema",
1903
+ "description": "Important parameters for molecular dynamics calculation",
1904
+ "type": "object",
1905
+ "properties": {
1906
+ "numberOfSteps": {
1907
+ "type": "integer",
1908
+ "title": "numberOfSteps"
1909
+ },
1910
+ "timeStep": {
1911
+ "type": "number",
1912
+ "title": "timeStep (Hartree a.u.)"
1913
+ },
1914
+ "electronMass": {
1915
+ "type": "number",
1916
+ "title": "Effective electron mass"
1917
+ },
1918
+ "temperature": {
1919
+ "type": "number",
1920
+ "title": "Ionic temperature (K)"
1921
+ }
1922
+ }
1923
+ },
1924
+ "isEdited": {
1925
+ "type": "boolean"
1926
+ },
1927
+ "extraData": {
1928
+ "type": "object"
619
1929
  }
620
- },
621
- "additionalProperties": true,
1930
+ }
1931
+ },
1932
+ {
1933
+ "$schema": "http://json-schema.org/draft-07/schema#",
1934
+ "title": "collinearMagnetization context item schema",
1935
+ "type": "object",
622
1936
  "required": [
623
- "name"
624
- ]
1937
+ "name",
1938
+ "isEdited",
1939
+ "data",
1940
+ "extraData"
1941
+ ],
1942
+ "properties": {
1943
+ "name": {
1944
+ "type": "string",
1945
+ "const": "collinearMagnetization"
1946
+ },
1947
+ "data": {
1948
+ "$schema": "http://json-schema.org/draft-07/schema#",
1949
+ "title": "Collinear Magnetization Context Provider Schema",
1950
+ "description": "Set starting magnetization, can have values in the range [-1, +1].",
1951
+ "type": "object",
1952
+ "required": [
1953
+ "startingMagnetization",
1954
+ "isTotalMagnetization",
1955
+ "totalMagnetization"
1956
+ ],
1957
+ "properties": {
1958
+ "startingMagnetization": {
1959
+ "type": "array",
1960
+ "items": {
1961
+ "type": "object",
1962
+ "required": [
1963
+ "atomicSpecies",
1964
+ "value",
1965
+ "index"
1966
+ ],
1967
+ "properties": {
1968
+ "atomicSpecies": {
1969
+ "type": "string",
1970
+ "title": "Atomic species"
1971
+ },
1972
+ "value": {
1973
+ "type": "number",
1974
+ "title": "Starting magnetization",
1975
+ "minimum": -1,
1976
+ "maximum": 1
1977
+ },
1978
+ "index": {
1979
+ "type": "integer",
1980
+ "title": "Index"
1981
+ }
1982
+ }
1983
+ }
1984
+ },
1985
+ "isTotalMagnetization": {
1986
+ "type": "boolean",
1987
+ "title": "Set total magnetization instead"
1988
+ },
1989
+ "totalMagnetization": {
1990
+ "type": "number",
1991
+ "title": "Total magnetization"
1992
+ }
1993
+ }
1994
+ },
1995
+ "extraData": {
1996
+ "$schema": "http://json-schema.org/draft-07/schema#",
1997
+ "title": "extraData with materialHash schema",
1998
+ "type": "object",
1999
+ "required": [
2000
+ "materialHash"
2001
+ ],
2002
+ "properties": {
2003
+ "materialHash": {
2004
+ "type": "string"
2005
+ }
2006
+ }
2007
+ },
2008
+ "isEdited": {
2009
+ "type": "boolean"
2010
+ }
2011
+ }
625
2012
  },
626
2013
  {
627
2014
  "$schema": "http://json-schema.org/draft-07/schema#",
628
- "title": "RuntimeItemString",
629
- "description": "name of runtime item in shortened notation",
630
- "type": "string"
2015
+ "title": "nonCollinearMagnetization context item schema",
2016
+ "type": "object",
2017
+ "required": [
2018
+ "name",
2019
+ "isEdited",
2020
+ "data",
2021
+ "extraData"
2022
+ ],
2023
+ "properties": {
2024
+ "name": {
2025
+ "type": "string",
2026
+ "const": "nonCollinearMagnetization"
2027
+ },
2028
+ "data": {
2029
+ "$schema": "http://json-schema.org/draft-07/schema#",
2030
+ "title": "Non Collinear Magnetization Context Provider Schema",
2031
+ "description": "Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.",
2032
+ "type": "object",
2033
+ "properties": {
2034
+ "isExistingChargeDensity": {
2035
+ "type": "boolean",
2036
+ "title": "Use existing charge density"
2037
+ },
2038
+ "isStartingMagnetization": {
2039
+ "type": "boolean",
2040
+ "title": "Set starting magnetization"
2041
+ },
2042
+ "startingMagnetization": {
2043
+ "type": "array",
2044
+ "items": {
2045
+ "type": "object",
2046
+ "properties": {
2047
+ "index": {
2048
+ "type": "integer",
2049
+ "title": "Index"
2050
+ },
2051
+ "atomicSpecies": {
2052
+ "type": "string",
2053
+ "title": "Atomic species"
2054
+ },
2055
+ "value": {
2056
+ "type": "number",
2057
+ "title": "Starting magnetization"
2058
+ }
2059
+ }
2060
+ }
2061
+ },
2062
+ "isArbitrarySpinAngle": {
2063
+ "type": "boolean",
2064
+ "title": "Set arbitrary spin angle"
2065
+ },
2066
+ "isArbitrarySpinDirection": {
2067
+ "type": "boolean",
2068
+ "title": "Set arbitrary spin direction"
2069
+ },
2070
+ "lforcet": {
2071
+ "type": "boolean"
2072
+ },
2073
+ "spinAngles": {
2074
+ "type": "array",
2075
+ "items": {
2076
+ "type": "object",
2077
+ "properties": {
2078
+ "index": {
2079
+ "type": "integer",
2080
+ "title": "Index"
2081
+ },
2082
+ "atomicSpecies": {
2083
+ "type": "string",
2084
+ "title": "Atomic species"
2085
+ },
2086
+ "angle1": {
2087
+ "type": "number",
2088
+ "title": "Angle1 (deg)"
2089
+ },
2090
+ "angle2": {
2091
+ "type": "number",
2092
+ "title": "Angle2 (deg)"
2093
+ }
2094
+ }
2095
+ }
2096
+ },
2097
+ "isConstrainedMagnetization": {
2098
+ "type": "boolean",
2099
+ "title": "Set constrained magnetization"
2100
+ },
2101
+ "constrainedMagnetization": {
2102
+ "type": "object",
2103
+ "properties": {
2104
+ "constrainType": {
2105
+ "type": "string",
2106
+ "title": "Constrain type",
2107
+ "enum": [
2108
+ "none",
2109
+ "total",
2110
+ "atomic",
2111
+ "total direction",
2112
+ "atomic direction"
2113
+ ]
2114
+ },
2115
+ "lambda": {
2116
+ "type": "number",
2117
+ "title": "lambda"
2118
+ }
2119
+ }
2120
+ },
2121
+ "isFixedMagnetization": {
2122
+ "type": "boolean",
2123
+ "title": "Set Fixed magnetization (only applicable to constrained magnetization of 'total' type)"
2124
+ },
2125
+ "fixedMagnetization": {
2126
+ "type": "object",
2127
+ "properties": {
2128
+ "x": {
2129
+ "type": "number",
2130
+ "title": "X-component"
2131
+ },
2132
+ "y": {
2133
+ "type": "number",
2134
+ "title": "Y-component"
2135
+ },
2136
+ "z": {
2137
+ "type": "number",
2138
+ "title": "Z-component"
2139
+ }
2140
+ }
2141
+ }
2142
+ }
2143
+ },
2144
+ "extraData": {
2145
+ "$schema": "http://json-schema.org/draft-07/schema#",
2146
+ "title": "extraData with materialHash schema",
2147
+ "type": "object",
2148
+ "required": [
2149
+ "materialHash"
2150
+ ],
2151
+ "properties": {
2152
+ "materialHash": {
2153
+ "type": "string"
2154
+ }
2155
+ }
2156
+ },
2157
+ "isEdited": {
2158
+ "type": "boolean"
2159
+ }
2160
+ }
631
2161
  }
632
- ]
633
- }
634
- },
635
- "tags": {
636
- "description": "entity tags",
637
- "type": "array",
638
- "items": {
639
- "type": "string"
640
- }
641
- },
642
- "statusTrack": {
643
- "type": "array",
644
- "items": {
645
- "type": "object",
646
- "required": [
647
- "trackedAt",
648
- "status"
649
2162
  ],
650
- "properties": {
651
- "trackedAt": {
652
- "type": "number"
653
- },
654
- "status": {
655
- "type": "string"
656
- },
657
- "repetition": {
658
- "type": "number"
659
- }
2163
+ "discriminator": {
2164
+ "propertyName": "name"
660
2165
  }
661
2166
  }
662
2167
  }