@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
@@ -34,9 +34,36 @@
34
34
  "type": "object",
35
35
  "required": [
36
36
  "basis",
37
- "lattice"
37
+ "lattice",
38
+ "metadata",
39
+ "name"
38
40
  ],
39
41
  "properties": {
42
+ "_id": {
43
+ "description": "entity identity",
44
+ "type": "string"
45
+ },
46
+ "slug": {
47
+ "description": "entity slug",
48
+ "type": "string"
49
+ },
50
+ "systemName": {
51
+ "type": "string"
52
+ },
53
+ "schemaVersion": {
54
+ "description": "entity's schema version. Used to distinct between different schemas.",
55
+ "type": "string",
56
+ "default": "2022.8.16"
57
+ },
58
+ "name": {
59
+ "description": "entity name",
60
+ "type": "string"
61
+ },
62
+ "isDefault": {
63
+ "description": "Identifies that entity is defaultable",
64
+ "type": "boolean",
65
+ "default": false
66
+ },
40
67
  "formula": {
41
68
  "description": "reduced chemical formula",
42
69
  "type": "string"
@@ -760,33 +787,95 @@
760
787
  }
761
788
  }
762
789
  },
763
- "_id": {
764
- "description": "entity identity",
765
- "type": "string"
766
- },
767
- "slug": {
768
- "description": "entity slug",
769
- "type": "string"
770
- },
771
- "systemName": {
772
- "type": "string"
773
- },
774
- "schemaVersion": {
775
- "description": "entity's schema version. Used to distinct between different schemas.",
776
- "type": "string",
777
- "default": "2022.8.16"
778
- },
779
- "name": {
780
- "description": "entity name",
781
- "type": "string"
782
- },
783
- "isDefault": {
784
- "description": "Identifies that entity is defaultable",
785
- "type": "boolean",
786
- "default": false
787
- },
788
790
  "metadata": {
789
- "type": "object"
791
+ "type": "object",
792
+ "default": {},
793
+ "anyOf": [
794
+ {
795
+ "$schema": "http://json-schema.org/draft-07/schema#",
796
+ "title": "material metadata boundary conditions",
797
+ "type": "object",
798
+ "properties": {
799
+ "boundaryConditions": {
800
+ "type": "object",
801
+ "required": [
802
+ "type",
803
+ "offset"
804
+ ],
805
+ "properties": {
806
+ "type": {
807
+ "type": "string",
808
+ "enum": [
809
+ "pbc",
810
+ "bc1",
811
+ "bc2",
812
+ "bc3"
813
+ ],
814
+ "default": "pbc",
815
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
816
+ },
817
+ "offset": {
818
+ "type": "number"
819
+ }
820
+ }
821
+ }
822
+ },
823
+ "additionalProperties": true
824
+ },
825
+ {
826
+ "$schema": "http://json-schema.org/draft-07/schema#",
827
+ "title": "material metadata slab properties",
828
+ "type": "object",
829
+ "properties": {
830
+ "isSlab": {
831
+ "description": "Whether the material was created as a surface slab",
832
+ "type": "boolean"
833
+ },
834
+ "h": {
835
+ "description": "Miller index h used to generate the slab",
836
+ "type": "number"
837
+ },
838
+ "k": {
839
+ "description": "Miller index k used to generate the slab",
840
+ "type": "number"
841
+ },
842
+ "l": {
843
+ "description": "Miller index l used to generate the slab",
844
+ "type": "number"
845
+ },
846
+ "thickness": {
847
+ "description": "Slab thickness in number of layers",
848
+ "type": "number"
849
+ },
850
+ "vacuumRatio": {
851
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
852
+ "type": "number"
853
+ },
854
+ "vx": {
855
+ "description": "Termination vector component along a",
856
+ "type": "number"
857
+ },
858
+ "vy": {
859
+ "description": "Termination vector component along b",
860
+ "type": "number"
861
+ }
862
+ },
863
+ "additionalProperties": true
864
+ },
865
+ {
866
+ "$schema": "http://json-schema.org/draft-07/schema#",
867
+ "title": "material metadata bulk properties",
868
+ "type": "object",
869
+ "properties": {
870
+ "bulkId": {
871
+ "description": "Source bulk material id used to generate the slab",
872
+ "type": "string"
873
+ }
874
+ },
875
+ "additionalProperties": true
876
+ }
877
+ ],
878
+ "additionalProperties": true
790
879
  }
791
880
  }
792
881
  }
@@ -27,9 +27,36 @@
27
27
  "type": "object",
28
28
  "required": [
29
29
  "basis",
30
- "lattice"
30
+ "lattice",
31
+ "metadata",
32
+ "name"
31
33
  ],
32
34
  "properties": {
35
+ "_id": {
36
+ "description": "entity identity",
37
+ "type": "string"
38
+ },
39
+ "slug": {
40
+ "description": "entity slug",
41
+ "type": "string"
42
+ },
43
+ "systemName": {
44
+ "type": "string"
45
+ },
46
+ "schemaVersion": {
47
+ "description": "entity's schema version. Used to distinct between different schemas.",
48
+ "type": "string",
49
+ "default": "2022.8.16"
50
+ },
51
+ "name": {
52
+ "description": "entity name",
53
+ "type": "string"
54
+ },
55
+ "isDefault": {
56
+ "description": "Identifies that entity is defaultable",
57
+ "type": "boolean",
58
+ "default": false
59
+ },
33
60
  "formula": {
34
61
  "description": "reduced chemical formula",
35
62
  "type": "string"
@@ -753,33 +780,95 @@
753
780
  }
754
781
  }
755
782
  },
756
- "_id": {
757
- "description": "entity identity",
758
- "type": "string"
759
- },
760
- "slug": {
761
- "description": "entity slug",
762
- "type": "string"
763
- },
764
- "systemName": {
765
- "type": "string"
766
- },
767
- "schemaVersion": {
768
- "description": "entity's schema version. Used to distinct between different schemas.",
769
- "type": "string",
770
- "default": "2022.8.16"
771
- },
772
- "name": {
773
- "description": "entity name",
774
- "type": "string"
775
- },
776
- "isDefault": {
777
- "description": "Identifies that entity is defaultable",
778
- "type": "boolean",
779
- "default": false
780
- },
781
783
  "metadata": {
782
- "type": "object"
784
+ "type": "object",
785
+ "default": {},
786
+ "anyOf": [
787
+ {
788
+ "$schema": "http://json-schema.org/draft-07/schema#",
789
+ "title": "material metadata boundary conditions",
790
+ "type": "object",
791
+ "properties": {
792
+ "boundaryConditions": {
793
+ "type": "object",
794
+ "required": [
795
+ "type",
796
+ "offset"
797
+ ],
798
+ "properties": {
799
+ "type": {
800
+ "type": "string",
801
+ "enum": [
802
+ "pbc",
803
+ "bc1",
804
+ "bc2",
805
+ "bc3"
806
+ ],
807
+ "default": "pbc",
808
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
809
+ },
810
+ "offset": {
811
+ "type": "number"
812
+ }
813
+ }
814
+ }
815
+ },
816
+ "additionalProperties": true
817
+ },
818
+ {
819
+ "$schema": "http://json-schema.org/draft-07/schema#",
820
+ "title": "material metadata slab properties",
821
+ "type": "object",
822
+ "properties": {
823
+ "isSlab": {
824
+ "description": "Whether the material was created as a surface slab",
825
+ "type": "boolean"
826
+ },
827
+ "h": {
828
+ "description": "Miller index h used to generate the slab",
829
+ "type": "number"
830
+ },
831
+ "k": {
832
+ "description": "Miller index k used to generate the slab",
833
+ "type": "number"
834
+ },
835
+ "l": {
836
+ "description": "Miller index l used to generate the slab",
837
+ "type": "number"
838
+ },
839
+ "thickness": {
840
+ "description": "Slab thickness in number of layers",
841
+ "type": "number"
842
+ },
843
+ "vacuumRatio": {
844
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
845
+ "type": "number"
846
+ },
847
+ "vx": {
848
+ "description": "Termination vector component along a",
849
+ "type": "number"
850
+ },
851
+ "vy": {
852
+ "description": "Termination vector component along b",
853
+ "type": "number"
854
+ }
855
+ },
856
+ "additionalProperties": true
857
+ },
858
+ {
859
+ "$schema": "http://json-schema.org/draft-07/schema#",
860
+ "title": "material metadata bulk properties",
861
+ "type": "object",
862
+ "properties": {
863
+ "bulkId": {
864
+ "description": "Source bulk material id used to generate the slab",
865
+ "type": "string"
866
+ }
867
+ },
868
+ "additionalProperties": true
869
+ }
870
+ ],
871
+ "additionalProperties": true
783
872
  }
784
873
  }
785
874
  },
@@ -342,9 +342,36 @@
342
342
  "type": "object",
343
343
  "required": [
344
344
  "basis",
345
- "lattice"
345
+ "lattice",
346
+ "metadata",
347
+ "name"
346
348
  ],
347
349
  "properties": {
350
+ "_id": {
351
+ "description": "entity identity",
352
+ "type": "string"
353
+ },
354
+ "slug": {
355
+ "description": "entity slug",
356
+ "type": "string"
357
+ },
358
+ "systemName": {
359
+ "type": "string"
360
+ },
361
+ "schemaVersion": {
362
+ "description": "entity's schema version. Used to distinct between different schemas.",
363
+ "type": "string",
364
+ "default": "2022.8.16"
365
+ },
366
+ "name": {
367
+ "description": "entity name",
368
+ "type": "string"
369
+ },
370
+ "isDefault": {
371
+ "description": "Identifies that entity is defaultable",
372
+ "type": "boolean",
373
+ "default": false
374
+ },
348
375
  "formula": {
349
376
  "description": "reduced chemical formula",
350
377
  "type": "string"
@@ -1068,33 +1095,95 @@
1068
1095
  }
1069
1096
  }
1070
1097
  },
1071
- "_id": {
1072
- "description": "entity identity",
1073
- "type": "string"
1074
- },
1075
- "slug": {
1076
- "description": "entity slug",
1077
- "type": "string"
1078
- },
1079
- "systemName": {
1080
- "type": "string"
1081
- },
1082
- "schemaVersion": {
1083
- "description": "entity's schema version. Used to distinct between different schemas.",
1084
- "type": "string",
1085
- "default": "2022.8.16"
1086
- },
1087
- "name": {
1088
- "description": "entity name",
1089
- "type": "string"
1090
- },
1091
- "isDefault": {
1092
- "description": "Identifies that entity is defaultable",
1093
- "type": "boolean",
1094
- "default": false
1095
- },
1096
1098
  "metadata": {
1097
- "type": "object"
1099
+ "type": "object",
1100
+ "default": {},
1101
+ "anyOf": [
1102
+ {
1103
+ "$schema": "http://json-schema.org/draft-07/schema#",
1104
+ "title": "material metadata boundary conditions",
1105
+ "type": "object",
1106
+ "properties": {
1107
+ "boundaryConditions": {
1108
+ "type": "object",
1109
+ "required": [
1110
+ "type",
1111
+ "offset"
1112
+ ],
1113
+ "properties": {
1114
+ "type": {
1115
+ "type": "string",
1116
+ "enum": [
1117
+ "pbc",
1118
+ "bc1",
1119
+ "bc2",
1120
+ "bc3"
1121
+ ],
1122
+ "default": "pbc",
1123
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
1124
+ },
1125
+ "offset": {
1126
+ "type": "number"
1127
+ }
1128
+ }
1129
+ }
1130
+ },
1131
+ "additionalProperties": true
1132
+ },
1133
+ {
1134
+ "$schema": "http://json-schema.org/draft-07/schema#",
1135
+ "title": "material metadata slab properties",
1136
+ "type": "object",
1137
+ "properties": {
1138
+ "isSlab": {
1139
+ "description": "Whether the material was created as a surface slab",
1140
+ "type": "boolean"
1141
+ },
1142
+ "h": {
1143
+ "description": "Miller index h used to generate the slab",
1144
+ "type": "number"
1145
+ },
1146
+ "k": {
1147
+ "description": "Miller index k used to generate the slab",
1148
+ "type": "number"
1149
+ },
1150
+ "l": {
1151
+ "description": "Miller index l used to generate the slab",
1152
+ "type": "number"
1153
+ },
1154
+ "thickness": {
1155
+ "description": "Slab thickness in number of layers",
1156
+ "type": "number"
1157
+ },
1158
+ "vacuumRatio": {
1159
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
1160
+ "type": "number"
1161
+ },
1162
+ "vx": {
1163
+ "description": "Termination vector component along a",
1164
+ "type": "number"
1165
+ },
1166
+ "vy": {
1167
+ "description": "Termination vector component along b",
1168
+ "type": "number"
1169
+ }
1170
+ },
1171
+ "additionalProperties": true
1172
+ },
1173
+ {
1174
+ "$schema": "http://json-schema.org/draft-07/schema#",
1175
+ "title": "material metadata bulk properties",
1176
+ "type": "object",
1177
+ "properties": {
1178
+ "bulkId": {
1179
+ "description": "Source bulk material id used to generate the slab",
1180
+ "type": "string"
1181
+ }
1182
+ },
1183
+ "additionalProperties": true
1184
+ }
1185
+ ],
1186
+ "additionalProperties": true
1098
1187
  }
1099
1188
  }
1100
1189
  },
@@ -15,9 +15,36 @@
15
15
  "type": "object",
16
16
  "required": [
17
17
  "basis",
18
- "lattice"
18
+ "lattice",
19
+ "metadata",
20
+ "name"
19
21
  ],
20
22
  "properties": {
23
+ "_id": {
24
+ "description": "entity identity",
25
+ "type": "string"
26
+ },
27
+ "slug": {
28
+ "description": "entity slug",
29
+ "type": "string"
30
+ },
31
+ "systemName": {
32
+ "type": "string"
33
+ },
34
+ "schemaVersion": {
35
+ "description": "entity's schema version. Used to distinct between different schemas.",
36
+ "type": "string",
37
+ "default": "2022.8.16"
38
+ },
39
+ "name": {
40
+ "description": "entity name",
41
+ "type": "string"
42
+ },
43
+ "isDefault": {
44
+ "description": "Identifies that entity is defaultable",
45
+ "type": "boolean",
46
+ "default": false
47
+ },
21
48
  "formula": {
22
49
  "description": "reduced chemical formula",
23
50
  "type": "string"
@@ -741,33 +768,95 @@
741
768
  }
742
769
  }
743
770
  },
744
- "_id": {
745
- "description": "entity identity",
746
- "type": "string"
747
- },
748
- "slug": {
749
- "description": "entity slug",
750
- "type": "string"
751
- },
752
- "systemName": {
753
- "type": "string"
754
- },
755
- "schemaVersion": {
756
- "description": "entity's schema version. Used to distinct between different schemas.",
757
- "type": "string",
758
- "default": "2022.8.16"
759
- },
760
- "name": {
761
- "description": "entity name",
762
- "type": "string"
763
- },
764
- "isDefault": {
765
- "description": "Identifies that entity is defaultable",
766
- "type": "boolean",
767
- "default": false
768
- },
769
771
  "metadata": {
770
- "type": "object"
772
+ "type": "object",
773
+ "default": {},
774
+ "anyOf": [
775
+ {
776
+ "$schema": "http://json-schema.org/draft-07/schema#",
777
+ "title": "material metadata boundary conditions",
778
+ "type": "object",
779
+ "properties": {
780
+ "boundaryConditions": {
781
+ "type": "object",
782
+ "required": [
783
+ "type",
784
+ "offset"
785
+ ],
786
+ "properties": {
787
+ "type": {
788
+ "type": "string",
789
+ "enum": [
790
+ "pbc",
791
+ "bc1",
792
+ "bc2",
793
+ "bc3"
794
+ ],
795
+ "default": "pbc",
796
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
797
+ },
798
+ "offset": {
799
+ "type": "number"
800
+ }
801
+ }
802
+ }
803
+ },
804
+ "additionalProperties": true
805
+ },
806
+ {
807
+ "$schema": "http://json-schema.org/draft-07/schema#",
808
+ "title": "material metadata slab properties",
809
+ "type": "object",
810
+ "properties": {
811
+ "isSlab": {
812
+ "description": "Whether the material was created as a surface slab",
813
+ "type": "boolean"
814
+ },
815
+ "h": {
816
+ "description": "Miller index h used to generate the slab",
817
+ "type": "number"
818
+ },
819
+ "k": {
820
+ "description": "Miller index k used to generate the slab",
821
+ "type": "number"
822
+ },
823
+ "l": {
824
+ "description": "Miller index l used to generate the slab",
825
+ "type": "number"
826
+ },
827
+ "thickness": {
828
+ "description": "Slab thickness in number of layers",
829
+ "type": "number"
830
+ },
831
+ "vacuumRatio": {
832
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
833
+ "type": "number"
834
+ },
835
+ "vx": {
836
+ "description": "Termination vector component along a",
837
+ "type": "number"
838
+ },
839
+ "vy": {
840
+ "description": "Termination vector component along b",
841
+ "type": "number"
842
+ }
843
+ },
844
+ "additionalProperties": true
845
+ },
846
+ {
847
+ "$schema": "http://json-schema.org/draft-07/schema#",
848
+ "title": "material metadata bulk properties",
849
+ "type": "object",
850
+ "properties": {
851
+ "bulkId": {
852
+ "description": "Source bulk material id used to generate the slab",
853
+ "type": "string"
854
+ }
855
+ },
856
+ "additionalProperties": true
857
+ }
858
+ ],
859
+ "additionalProperties": true
771
860
  }
772
861
  }
773
862
  },