@mat3ra/esse 2026.5.18-3 → 2026.5.28-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 (388) 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 +3721 -4646
  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 +300 -0
  155. package/dist/js/schema/models_directory/legacy/dft.json +142 -92
  156. package/dist/js/schema/models_directory/legacy/dft_gga.json +61 -0
  157. package/dist/js/schema/models_directory/legacy/dft_hybrid.json +60 -0
  158. package/dist/js/schema/models_directory/legacy/dft_lda.json +61 -0
  159. package/dist/js/schema/models_directory/legacy/ml.json +10 -9
  160. package/dist/js/schema/models_directory/legacy/unknown.json +10 -9
  161. package/dist/js/schema/models_directory/mgga.json +1 -0
  162. package/dist/js/schema/models_directory/re.json +1 -0
  163. package/dist/js/schema/project.json +3 -0
  164. package/dist/js/schema/properties_directory/non_scalar/workflow.json +3482 -4409
  165. package/dist/js/schema/property/holder.json +3480 -4407
  166. package/dist/js/schema/software/application.json +53 -24
  167. package/dist/js/schema/software/application_properties.json +68 -0
  168. package/dist/js/schema/software/application_with_build_config.json +52 -23
  169. package/dist/js/schema/software/executable.json +67 -108
  170. package/dist/js/schema/software/executable_properties.json +24 -0
  171. package/dist/js/schema/software/flavor.json +90 -128
  172. package/dist/js/schema/software/flavor_properties.json +50 -0
  173. package/dist/js/schema/software/template.json +30 -35
  174. package/dist/js/schema/software/template_properties.json +44 -0
  175. package/dist/js/schema/software_directory/modeling/deepmd.json +48 -19
  176. package/dist/js/schema/software_directory/modeling/lammps.json +47 -18
  177. package/dist/js/schema/software_directory/modeling/nwchem.json +48 -19
  178. package/dist/js/schema/software_directory/modeling/unit/execution.json +2019 -455
  179. package/dist/js/schema/software_directory/modeling/vasp.json +48 -19
  180. package/dist/js/schema/software_directory/scripting/jupyter_lab.json +48 -19
  181. package/dist/js/schema/software_directory/scripting/python.json +48 -19
  182. package/dist/js/schema/software_directory/scripting/shell.json +48 -19
  183. package/dist/js/schema/software_directory/scripting/unit/execution.json +2019 -455
  184. package/dist/js/schema/system/bankable.json +4 -0
  185. package/dist/js/schema/system/creator.json +2 -1
  186. package/dist/js/schema/system/creator_account.json +3 -0
  187. package/dist/js/schema/system/in_set.json +3 -0
  188. package/dist/js/schema/system/name.json +3 -0
  189. package/dist/js/schema/system/owner.json +2 -1
  190. package/dist/js/schema/system/path_entity.json +3 -0
  191. package/dist/js/schema/system/runtime_item.json +17 -0
  192. package/dist/js/schema/system/runtime_items.json +94 -0
  193. package/dist/js/schema/workflow/base.json +4403 -39
  194. package/dist/js/schema/workflow/base_flow.json +1 -1
  195. package/dist/js/schema/workflow/subworkflow/mixin.json +3731 -0
  196. package/dist/js/schema/workflow/subworkflow/unit.json +2365 -1560
  197. package/dist/js/schema/workflow/subworkflow.json +2946 -1849
  198. package/dist/js/schema/workflow/unit/assertion.json +96 -140
  199. package/dist/js/schema/workflow/unit/assignment.json +129 -173
  200. package/dist/js/schema/workflow/unit/base.json +90 -133
  201. package/dist/js/schema/workflow/unit/condition.json +132 -175
  202. package/dist/js/schema/workflow/unit/context/_base.json +20 -0
  203. package/dist/js/schema/workflow/unit/context/_extra_data_material_hash.json +14 -0
  204. package/dist/js/schema/workflow/unit/context/item/boundaryConditions.json +63 -0
  205. package/dist/js/schema/workflow/unit/context/item/collinearMagnetization.json +82 -0
  206. package/dist/js/schema/workflow/unit/context/item/cutoffs.json +38 -0
  207. package/dist/js/schema/workflow/unit/context/item/dynamics.json +48 -0
  208. package/dist/js/schema/workflow/unit/context/item/grid.json +100 -0
  209. package/dist/js/schema/workflow/unit/context/item/hubbard_j.json +59 -0
  210. package/dist/js/schema/workflow/unit/context/item/hubbard_legacy.json +49 -0
  211. package/dist/js/schema/workflow/unit/context/item/hubbard_u.json +57 -0
  212. package/dist/js/schema/workflow/unit/context/item/hubbard_v.json +64 -0
  213. package/dist/js/schema/workflow/unit/context/item/input.json +712 -0
  214. package/dist/js/schema/workflow/unit/context/item/mlSettings.json +43 -0
  215. package/dist/js/schema/workflow/unit/context/item/mlTrainTestSplit.json +37 -0
  216. package/dist/js/schema/workflow/unit/context/item/neb.json +35 -0
  217. package/dist/js/schema/workflow/unit/context/item/nonCollinearMagnetization.json +150 -0
  218. package/dist/js/schema/workflow/unit/context/item/path.json +62 -0
  219. package/dist/js/schema/workflow/unit/context/item.json +1594 -0
  220. package/dist/js/schema/workflow/unit/execution.json +1928 -423
  221. package/dist/js/schema/workflow/unit/input/_input.json +74 -12
  222. package/dist/js/schema/workflow/unit/input/_inputItem.json +70 -10
  223. package/dist/js/schema/workflow/unit/input/_inputItemId.json +3 -1
  224. package/dist/js/schema/workflow/unit/io/api.json +5 -1
  225. package/dist/js/schema/workflow/unit/io/db_collection.json +24 -0
  226. package/dist/js/schema/workflow/unit/io/db_ids.json +22 -0
  227. package/dist/js/schema/workflow/unit/io/object_storage.json +5 -1
  228. package/dist/js/schema/workflow/unit/io.json +182 -253
  229. package/dist/js/schema/workflow/unit/map.json +134 -177
  230. package/dist/js/schema/workflow/unit/mixins/assertion.json +23 -0
  231. package/dist/js/schema/workflow/unit/mixins/assignment.json +57 -0
  232. package/dist/js/schema/workflow/unit/mixins/base.json +50 -0
  233. package/dist/js/schema/workflow/unit/mixins/condition.json +61 -0
  234. package/dist/js/schema/workflow/unit/mixins/execution.json +1998 -0
  235. package/dist/js/schema/workflow/unit/mixins/io.json +131 -0
  236. package/dist/js/schema/workflow/unit/mixins/map.json +60 -0
  237. package/dist/js/schema/workflow/unit/mixins/processing.json +27 -0
  238. package/dist/js/schema/workflow/unit/mixins/reduce.json +43 -0
  239. package/dist/js/schema/workflow/unit/mixins/subworkflow.json +11 -0
  240. package/dist/js/schema/workflow/unit/reduce.json +117 -160
  241. package/dist/js/schema/workflow/unit/subworkflow.json +91 -134
  242. package/dist/js/schema/workflow/unit.json +285 -2477
  243. package/dist/js/schema/workflow.json +3498 -4424
  244. package/dist/js/schemas.json +1 -1
  245. package/dist/js/scripts/compileTs.js +1 -1
  246. package/dist/js/scripts/setSchemaIds.js +2 -1
  247. package/dist/js/types.d.ts +27166 -15318
  248. package/dist/js/types.js +5 -5
  249. package/dist/js/utils/ajv.js +5 -4
  250. package/dist/js/utils/common.js +3 -2
  251. package/dist/js/utils/filesystem.js +3 -2
  252. package/example/material.json +7 -1
  253. package/example/model.json +2 -1
  254. package/example/software/application.json +1 -0
  255. package/example/software/executable.json +3 -4
  256. package/example/software/flavor.json +9 -2
  257. package/example/software/template.json +5 -8
  258. package/example/software_directory/modeling/espresso.json +2 -1
  259. package/example/software_directory/modeling/nwchem.json +4 -2
  260. package/example/software_directory/modeling/unit/execution.json +17 -2
  261. package/example/software_directory/modeling/vasp.json +2 -1
  262. package/example/software_directory/scripting/jupyter-lab.json +2 -1
  263. package/example/software_directory/scripting/python.json +2 -1
  264. package/example/software_directory/scripting/shell.json +2 -1
  265. package/example/software_directory/scripting/unit/execution.json +17 -2
  266. package/example/system/runtime_items.json +14 -0
  267. package/example/workflow/unit/assignment.json +5 -1
  268. package/example/workflow/unit/condition.json +5 -1
  269. package/example/workflow/unit/execution.json +7 -3
  270. package/example/workflow/unit/io/api.json +1 -0
  271. package/example/workflow/unit/io/db_collection.json +5 -0
  272. package/example/workflow/unit/io/db_ids.json +6 -0
  273. package/example/workflow/unit/io/object_storage.json +2 -1
  274. package/example/workflow/unit/io.json +9 -29
  275. package/example/workflow/unit/map.json +5 -1
  276. package/example/workflow/unit/reduce.json +5 -1
  277. package/example/workflow.json +6 -1
  278. package/package.json +2 -1
  279. package/schema/apse/file/applications/espresso/7.2/pw.x/atomic_species.json +6 -1
  280. package/schema/context_providers_directory/by_application/nwchem_total_energy_context_provider.json +7 -1
  281. package/schema/context_providers_directory/by_application/qe_neb_context_provider.json +12 -6
  282. package/schema/context_providers_directory/by_application/qe_pwx_context_provider.json +10 -1
  283. package/schema/context_providers_directory/by_application/vasp_context_provider.json +7 -1
  284. package/schema/context_providers_directory/by_application/vasp_neb_context_provider.json +7 -1
  285. package/schema/context_providers_directory/collinear_magnetization_context_provider.json +18 -4
  286. package/schema/context_providers_directory/non_collinear_magnetization_context_provider.json +7 -0
  287. package/schema/context_providers_directory/points_grid_data_provider.json +24 -7
  288. package/schema/context_providers_directory/points_path_data_provider.json +7 -3
  289. package/schema/context_providers_directory/points_path_data_provider_rendering.json +32 -0
  290. package/schema/job/base.json +4 -5
  291. package/schema/job/compute.json +1 -1
  292. package/schema/job/compute_property.json +15 -0
  293. package/schema/material/material_properties.json +65 -0
  294. package/schema/material/metadata/boundary_conditions.json +24 -0
  295. package/schema/material/metadata/bulk_properties.json +13 -0
  296. package/schema/material/metadata/slab_properties.json +41 -0
  297. package/schema/material/metadata.json +27 -0
  298. package/schema/material.json +5 -57
  299. package/schema/method.json +7 -1
  300. package/schema/model.json +0 -1
  301. package/schema/models_directory/legacy/any.json +26 -0
  302. package/schema/models_directory/legacy/dft.json +9 -63
  303. package/schema/models_directory/legacy/dft_gga.json +31 -0
  304. package/schema/models_directory/legacy/dft_hybrid.json +30 -0
  305. package/schema/models_directory/legacy/dft_lda.json +31 -0
  306. package/schema/models_directory/legacy/ml.json +10 -7
  307. package/schema/models_directory/legacy/unknown.json +10 -7
  308. package/schema/software/application.json +4 -35
  309. package/schema/software/application_properties.json +68 -0
  310. package/schema/software/executable.json +5 -23
  311. package/schema/software/executable_properties.json +24 -0
  312. package/schema/software/flavor.json +6 -28
  313. package/schema/software/flavor_properties.json +33 -0
  314. package/schema/software/template.json +2 -26
  315. package/schema/software/template_properties.json +44 -0
  316. package/schema/system/bankable.json +5 -1
  317. package/schema/system/creator.json +4 -1
  318. package/schema/system/creator_account.json +4 -1
  319. package/schema/system/in_set.json +4 -1
  320. package/schema/system/name.json +4 -1
  321. package/schema/system/owner.json +4 -1
  322. package/schema/system/runtime_item.json +17 -0
  323. package/schema/system/runtime_items.json +42 -0
  324. package/schema/workflow/base.json +17 -17
  325. package/schema/workflow/subworkflow/mixin.json +48 -0
  326. package/schema/workflow/subworkflow/unit.json +0 -6
  327. package/schema/workflow/subworkflow.json +4 -31
  328. package/schema/workflow/unit/assertion.json +2 -16
  329. package/schema/workflow/unit/assignment.json +2 -34
  330. package/schema/workflow/unit/base.json +6 -51
  331. package/schema/workflow/unit/condition.json +2 -38
  332. package/schema/workflow/unit/context/_base.json +20 -0
  333. package/schema/workflow/unit/context/_extra_data_material_hash.json +14 -0
  334. package/schema/workflow/unit/context/item/boundaryConditions.json +27 -0
  335. package/schema/workflow/unit/context/item/collinearMagnetization.json +27 -0
  336. package/schema/workflow/unit/context/item/cutoffs.json +20 -0
  337. package/schema/workflow/unit/context/item/dynamics.json +20 -0
  338. package/schema/workflow/unit/context/item/grid.json +31 -0
  339. package/schema/workflow/unit/context/item/hubbard_j.json +20 -0
  340. package/schema/workflow/unit/context/item/hubbard_legacy.json +20 -0
  341. package/schema/workflow/unit/context/item/hubbard_u.json +27 -0
  342. package/schema/workflow/unit/context/item/hubbard_v.json +20 -0
  343. package/schema/workflow/unit/context/item/input.json +47 -0
  344. package/schema/workflow/unit/context/item/mlSettings.json +20 -0
  345. package/schema/workflow/unit/context/item/mlTrainTestSplit.json +20 -0
  346. package/schema/workflow/unit/context/item/neb.json +20 -0
  347. package/schema/workflow/unit/context/item/nonCollinearMagnetization.json +27 -0
  348. package/schema/workflow/unit/context/item/path.json +33 -0
  349. package/schema/workflow/unit/context/item.json +55 -0
  350. package/schema/workflow/unit/execution.json +4 -25
  351. package/schema/workflow/unit/input/_input.json +1 -1
  352. package/schema/workflow/unit/input/_inputItem.json +9 -9
  353. package/schema/workflow/unit/input/_inputItemId.json +3 -1
  354. package/schema/workflow/unit/io/api.json +6 -2
  355. package/schema/workflow/unit/io/db_collection.json +24 -0
  356. package/schema/workflow/unit/io/db_ids.json +22 -0
  357. package/schema/workflow/unit/io/object_storage.json +6 -2
  358. package/schema/workflow/unit/io.json +2 -39
  359. package/schema/workflow/unit/map.json +2 -53
  360. package/schema/workflow/unit/mixins/assertion.json +23 -0
  361. package/schema/workflow/unit/mixins/assignment.json +42 -0
  362. package/schema/workflow/unit/mixins/base.json +50 -0
  363. package/schema/workflow/unit/mixins/condition.json +46 -0
  364. package/schema/workflow/unit/mixins/execution.json +49 -0
  365. package/schema/workflow/unit/mixins/io.json +46 -0
  366. package/schema/workflow/unit/mixins/map.json +61 -0
  367. package/schema/workflow/unit/{processing.json → mixins/processing.json} +3 -7
  368. package/schema/workflow/unit/mixins/reduce.json +44 -0
  369. package/schema/workflow/unit/mixins/subworkflow.json +12 -0
  370. package/schema/workflow/unit/reduce.json +2 -36
  371. package/schema/workflow/unit/subworkflow.json +4 -6
  372. package/schema/workflow/unit.json +1 -19
  373. package/schema/workflow.json +19 -15
  374. package/src/js/esse/JSONSchemasGenerator.ts +2 -1
  375. package/src/js/esse/JSONSchemasInterface.ts +1 -1
  376. package/src/js/esse/schemaUtils.ts +1 -1
  377. package/src/js/esse/server/utils.ts +82 -0
  378. package/src/js/esse/utils.ts +0 -74
  379. package/src/js/scripts/compileTs.ts +1 -1
  380. package/src/js/scripts/setSchemaIds.ts +1 -0
  381. package/src/js/utils/ajv.ts +1 -1
  382. package/dist/js/example/workflow/unit/io/db.json +0 -15
  383. package/dist/js/example/workflow/unit/processing.json +0 -13
  384. package/dist/js/schema/workflow/unit/io/db.json +0 -40
  385. package/dist/js/schema/workflow/unit/processing.json +0 -242
  386. package/example/workflow/unit/io/db.json +0 -15
  387. package/example/workflow/unit/processing.json +0 -13
  388. package/schema/workflow/unit/io/db.json +0 -40
@@ -59,7 +59,8 @@
59
59
  }
60
60
  },
61
61
  "required": [
62
- "flowchartId"
62
+ "flowchartId",
63
+ "name"
63
64
  ],
64
65
  "properties": {
65
66
  "next": {
@@ -98,7 +99,8 @@
98
99
  }
99
100
  },
100
101
  "required": [
101
- "flowchartId"
102
+ "flowchartId",
103
+ "name"
102
104
  ],
103
105
  "properties": {
104
106
  "next": {
@@ -3,6 +3,9 @@
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "has consistency check has metadata named defaultable in-memory entity schema",
5
5
  "type": "object",
6
+ "required": [
7
+ "name"
8
+ ],
6
9
  "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.",
7
10
  "properties": {
8
11
  "_id": {
@@ -3,6 +3,9 @@
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Named in-memory entity schema",
5
5
  "type": "object",
6
+ "required": [
7
+ "name"
8
+ ],
6
9
  "properties": {
7
10
  "_id": {
8
11
  "description": "entity identity",
@@ -3,6 +3,9 @@
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Named defaultable in-memory entity schema",
5
5
  "type": "object",
6
+ "required": [
7
+ "name"
8
+ ],
6
9
  "properties": {
7
10
  "_id": {
8
11
  "description": "entity identity",
@@ -3,6 +3,9 @@
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Named defaultable has metadata in-memory entity schema",
5
5
  "type": "object",
6
+ "required": [
7
+ "name"
8
+ ],
6
9
  "properties": {
7
10
  "_id": {
8
11
  "description": "entity identity",
@@ -3,6 +3,9 @@
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Named defaultable runtime items in-memory entity schema",
5
5
  "type": "object",
6
+ "required": [
7
+ "name"
8
+ ],
6
9
  "properties": {
7
10
  "_id": {
8
11
  "description": "entity identity",
@@ -4,9 +4,10 @@
4
4
  "title": "job base schema",
5
5
  "type": "object",
6
6
  "required": [
7
- "status",
7
+ "_project",
8
8
  "compute",
9
- "_project"
9
+ "name",
10
+ "status"
10
11
  ],
11
12
  "properties": {
12
13
  "rmsId": {
@@ -36,10 +37,139 @@
36
37
  "description": "The path to the working directory of this job, when the job originates from command-line",
37
38
  "type": "string"
38
39
  },
40
+ "_project": {
41
+ "$schema": "http://json-schema.org/draft-07/schema#",
42
+ "title": "entity reference schema",
43
+ "type": "object",
44
+ "required": [
45
+ "_id"
46
+ ],
47
+ "properties": {
48
+ "_id": {
49
+ "description": "entity identity",
50
+ "type": "string"
51
+ },
52
+ "cls": {
53
+ "description": "entity class",
54
+ "type": "string"
55
+ },
56
+ "slug": {
57
+ "description": "entity slug",
58
+ "type": "string"
59
+ }
60
+ }
61
+ },
62
+ "_material": {
63
+ "$schema": "http://json-schema.org/draft-07/schema#",
64
+ "title": "entity reference schema",
65
+ "type": "object",
66
+ "required": [
67
+ "_id"
68
+ ],
69
+ "properties": {
70
+ "_id": {
71
+ "description": "entity identity",
72
+ "type": "string"
73
+ },
74
+ "cls": {
75
+ "description": "entity class",
76
+ "type": "string"
77
+ },
78
+ "slug": {
79
+ "description": "entity slug",
80
+ "type": "string"
81
+ }
82
+ }
83
+ },
84
+ "parent": {
85
+ "$schema": "http://json-schema.org/draft-07/schema#",
86
+ "title": "entity reference schema",
87
+ "type": "object",
88
+ "required": [
89
+ "_id"
90
+ ],
91
+ "properties": {
92
+ "_id": {
93
+ "description": "entity identity",
94
+ "type": "string"
95
+ },
96
+ "cls": {
97
+ "description": "entity class",
98
+ "type": "string"
99
+ },
100
+ "slug": {
101
+ "description": "entity slug",
102
+ "type": "string"
103
+ }
104
+ }
105
+ },
106
+ "runtimeContext": {
107
+ "description": "Context variables that the job will have access to at runtime",
108
+ "type": "object"
109
+ },
110
+ "scopeTrack": {
111
+ "description": "history of the workflow scope on each update",
112
+ "type": "array",
113
+ "items": {
114
+ "type": "object",
115
+ "properties": {
116
+ "repetition": {
117
+ "type": "number"
118
+ },
119
+ "scope": {
120
+ "$schema": "http://json-schema.org/draft-07/schema#",
121
+ "title": "workflow scope schema",
122
+ "type": "object",
123
+ "required": [
124
+ "global",
125
+ "local"
126
+ ],
127
+ "properties": {
128
+ "global": {
129
+ "type": "object",
130
+ "additionalProperties": true
131
+ },
132
+ "local": {
133
+ "type": "object",
134
+ "additionalProperties": true
135
+ }
136
+ }
137
+ }
138
+ }
139
+ }
140
+ },
141
+ "_id": {
142
+ "description": "entity identity",
143
+ "type": "string"
144
+ },
145
+ "slug": {
146
+ "description": "entity slug",
147
+ "type": "string"
148
+ },
149
+ "systemName": {
150
+ "type": "string"
151
+ },
152
+ "schemaVersion": {
153
+ "description": "entity's schema version. Used to distinct between different schemas.",
154
+ "type": "string",
155
+ "default": "2022.8.16"
156
+ },
157
+ "name": {
158
+ "description": "entity name",
159
+ "type": "string"
160
+ },
161
+ "isDefault": {
162
+ "description": "Identifies that entity is defaultable",
163
+ "type": "boolean",
164
+ "default": false
165
+ },
166
+ "metadata": {
167
+ "type": "object"
168
+ },
39
169
  "compute": {
40
170
  "$schema": "http://json-schema.org/draft-07/schema#",
41
171
  "title": "compute arguments schema",
42
- "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream",
172
+ "description": "Compute schema",
43
173
  "type": "object",
44
174
  "required": [
45
175
  "queue",
@@ -206,135 +336,6 @@
206
336
  "type": "string"
207
337
  }
208
338
  }
209
- },
210
- "_project": {
211
- "$schema": "http://json-schema.org/draft-07/schema#",
212
- "title": "entity reference schema",
213
- "type": "object",
214
- "required": [
215
- "_id"
216
- ],
217
- "properties": {
218
- "_id": {
219
- "description": "entity identity",
220
- "type": "string"
221
- },
222
- "cls": {
223
- "description": "entity class",
224
- "type": "string"
225
- },
226
- "slug": {
227
- "description": "entity slug",
228
- "type": "string"
229
- }
230
- }
231
- },
232
- "_material": {
233
- "$schema": "http://json-schema.org/draft-07/schema#",
234
- "title": "entity reference schema",
235
- "type": "object",
236
- "required": [
237
- "_id"
238
- ],
239
- "properties": {
240
- "_id": {
241
- "description": "entity identity",
242
- "type": "string"
243
- },
244
- "cls": {
245
- "description": "entity class",
246
- "type": "string"
247
- },
248
- "slug": {
249
- "description": "entity slug",
250
- "type": "string"
251
- }
252
- }
253
- },
254
- "parent": {
255
- "$schema": "http://json-schema.org/draft-07/schema#",
256
- "title": "entity reference schema",
257
- "type": "object",
258
- "required": [
259
- "_id"
260
- ],
261
- "properties": {
262
- "_id": {
263
- "description": "entity identity",
264
- "type": "string"
265
- },
266
- "cls": {
267
- "description": "entity class",
268
- "type": "string"
269
- },
270
- "slug": {
271
- "description": "entity slug",
272
- "type": "string"
273
- }
274
- }
275
- },
276
- "runtimeContext": {
277
- "description": "Context variables that the job will have access to at runtime",
278
- "type": "object"
279
- },
280
- "scopeTrack": {
281
- "description": "history of the workflow scope on each update",
282
- "type": "array",
283
- "items": {
284
- "type": "object",
285
- "properties": {
286
- "repetition": {
287
- "type": "number"
288
- },
289
- "scope": {
290
- "$schema": "http://json-schema.org/draft-07/schema#",
291
- "title": "workflow scope schema",
292
- "type": "object",
293
- "required": [
294
- "global",
295
- "local"
296
- ],
297
- "properties": {
298
- "global": {
299
- "type": "object",
300
- "additionalProperties": true
301
- },
302
- "local": {
303
- "type": "object",
304
- "additionalProperties": true
305
- }
306
- }
307
- }
308
- }
309
- }
310
- },
311
- "_id": {
312
- "description": "entity identity",
313
- "type": "string"
314
- },
315
- "slug": {
316
- "description": "entity slug",
317
- "type": "string"
318
- },
319
- "systemName": {
320
- "type": "string"
321
- },
322
- "schemaVersion": {
323
- "description": "entity's schema version. Used to distinct between different schemas.",
324
- "type": "string",
325
- "default": "2022.8.16"
326
- },
327
- "name": {
328
- "description": "entity name",
329
- "type": "string"
330
- },
331
- "isDefault": {
332
- "description": "Identifies that entity is defaultable",
333
- "type": "boolean",
334
- "default": false
335
- },
336
- "metadata": {
337
- "type": "object"
338
339
  }
339
340
  }
340
341
  }
@@ -2,7 +2,7 @@
2
2
  "$id": "job/compute",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "compute arguments schema",
5
- "description": "Custom keywords prefixed with validate correspond to custom validation methods implemented downstream",
5
+ "description": "Compute schema",
6
6
  "type": "object",
7
7
  "required": [
8
8
  "queue",
@@ -0,0 +1,182 @@
1
+ {
2
+ "$id": "job/compute-property",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Compute Property Schema",
5
+ "type": "object",
6
+ "required": [
7
+ "compute"
8
+ ],
9
+ "properties": {
10
+ "compute": {
11
+ "$schema": "http://json-schema.org/draft-07/schema#",
12
+ "title": "compute arguments schema",
13
+ "description": "Compute schema",
14
+ "type": "object",
15
+ "required": [
16
+ "queue",
17
+ "nodes",
18
+ "ppn",
19
+ "timeLimit"
20
+ ],
21
+ "properties": {
22
+ "queue": {
23
+ "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.",
24
+ "type": "string",
25
+ "enum": [
26
+ "D",
27
+ "OR",
28
+ "OF",
29
+ "OFplus",
30
+ "SR",
31
+ "SF",
32
+ "SFplus",
33
+ "OR4",
34
+ "OR8",
35
+ "OR16",
36
+ "SR4",
37
+ "SR8",
38
+ "SR16",
39
+ "GOF",
40
+ "G4OF",
41
+ "G8OF",
42
+ "GSF",
43
+ "G4SF",
44
+ "G8SF"
45
+ ]
46
+ },
47
+ "nodes": {
48
+ "description": "number of nodes used for the job inside the RMS.",
49
+ "type": "integer"
50
+ },
51
+ "ppn": {
52
+ "description": "number of CPUs used for the job inside the RMS.",
53
+ "type": "integer"
54
+ },
55
+ "timeLimit": {
56
+ "description": "Wallclock time limit for computing a job. Clock format: 'hh:mm:ss'",
57
+ "type": "string"
58
+ },
59
+ "timeLimitType": {
60
+ "description": "Convention to use when reasoning about time limits",
61
+ "type": "string",
62
+ "default": "per single attempt",
63
+ "enum": [
64
+ "per single attempt",
65
+ "compound"
66
+ ]
67
+ },
68
+ "isRestartable": {
69
+ "description": "Job is allowed to restart on termination.",
70
+ "type": "boolean",
71
+ "default": true
72
+ },
73
+ "notify": {
74
+ "description": "Email notification for the job: n - never, a - job aborted, b - job begins, e - job ends. Last three could be combined.",
75
+ "type": "string"
76
+ },
77
+ "email": {
78
+ "description": "Email address to notify about job execution.",
79
+ "type": "string"
80
+ },
81
+ "maxCPU": {
82
+ "description": "Maximum CPU count per node. This parameter is used to let backend job submission infrastructure know that this job is to be charged for the maximum CPU per node instead of the actual ppn. For premium/fast queues where resources are provisioned on-demand and exclusively per user.",
83
+ "type": "integer"
84
+ },
85
+ "arguments": {
86
+ "description": "Optional arguments specific to using application - VASP, Quantum Espresso, etc. Specified elsewhere",
87
+ "default": {},
88
+ "$schema": "http://json-schema.org/draft-07/schema#",
89
+ "title": "quantum espresso arguments schema",
90
+ "type": "object",
91
+ "additionalProperties": false,
92
+ "properties": {
93
+ "nimage": {
94
+ "description": "Processors can be divided into different `images`, each corresponding to a different self-consistent or linear-response calculation, loosely coupled to others.",
95
+ "type": "integer",
96
+ "default": 1,
97
+ "minimum": 1,
98
+ "maximum": 100
99
+ },
100
+ "npools": {
101
+ "description": "Each image can be subpartitioned into `pools`, each taking care of a group of k-points.",
102
+ "type": "integer",
103
+ "default": 1,
104
+ "minimum": 1,
105
+ "maximum": 100
106
+ },
107
+ "nband": {
108
+ "description": "Each pool is subpartitioned into `band groups`, each taking care of a group of Kohn-Sham orbitals (also called bands, or wavefunctions).",
109
+ "type": "integer",
110
+ "default": 1,
111
+ "minimum": 1,
112
+ "maximum": 100
113
+ },
114
+ "ntg": {
115
+ "description": "In order to allow good parallelization of the 3D FFT when the number of processors exceeds the number of FFT planes, FFTs on Kohn-Sham states are redistributed to `task` groups so that each group can process several wavefunctions at the same time.",
116
+ "type": "integer",
117
+ "default": 1,
118
+ "minimum": 1,
119
+ "maximum": 100
120
+ },
121
+ "ndiag": {
122
+ "description": "A further level of parallelization, independent on PW or k-point parallelization, is the parallelization of subspace diagonalization / iterative orthonormalization. Both operations required the diagonalization of arrays whose dimension is the number of Kohn-Sham states (or a small multiple of it). All such arrays are distributed block-like across the `linear-algebra group`, a subgroup of the pool of processors, organized in a square 2D grid. As a consequence the number of processors in the linear-algebra group is given by n2, where n is an integer; n2 must be smaller than the number of processors in the PW group. The diagonalization is then performed in parallel using standard linear algebra operations.",
123
+ "type": "integer",
124
+ "default": 1,
125
+ "minimum": 1,
126
+ "maximum": 100
127
+ }
128
+ }
129
+ },
130
+ "cluster": {
131
+ "description": "Cluster where the job is executed. Optional on create. Required on job submission.",
132
+ "type": "object",
133
+ "properties": {
134
+ "fqdn": {
135
+ "description": "FQDN of the cluster. e.g. master-1-staging.exabyte.io",
136
+ "type": "string"
137
+ },
138
+ "jid": {
139
+ "description": "Job's identity in RMS. e.g. 1234.master-1-staging.exabyte.io",
140
+ "type": "string"
141
+ }
142
+ }
143
+ },
144
+ "errors": {
145
+ "description": "Computation error. Optional. Appears only if something happens on jobs execution.",
146
+ "type": "array",
147
+ "items": {
148
+ "type": "object",
149
+ "properties": {
150
+ "domain": {
151
+ "description": "Domain of the error appearance (internal).",
152
+ "type": "string",
153
+ "enum": [
154
+ "rupy",
155
+ "alfred",
156
+ "celim",
157
+ "webapp"
158
+ ]
159
+ },
160
+ "reason": {
161
+ "description": "Should be a short, unique, machine-readable error code string. e.g. FileNotFound",
162
+ "type": "string"
163
+ },
164
+ "message": {
165
+ "description": "Human-readable error message. e.g. 'File Not Found: /home/demo/data/project1/job-123/job-config.json'",
166
+ "type": "string"
167
+ },
168
+ "traceback": {
169
+ "description": "Full machine-readable error traceback. e.g. FileNotFound",
170
+ "type": "string"
171
+ }
172
+ }
173
+ }
174
+ },
175
+ "excludeFilesPattern": {
176
+ "description": "A Python compatible regex to exclude files from upload. e.g. ^.*.txt& excludes all files with .txt suffix",
177
+ "type": "string"
178
+ }
179
+ }
180
+ }
181
+ }
182
+ }