@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
@@ -16,9 +16,36 @@
16
16
  "type": "object",
17
17
  "required": [
18
18
  "basis",
19
- "lattice"
19
+ "lattice",
20
+ "metadata",
21
+ "name"
20
22
  ],
21
23
  "properties": {
24
+ "_id": {
25
+ "description": "entity identity",
26
+ "type": "string"
27
+ },
28
+ "slug": {
29
+ "description": "entity slug",
30
+ "type": "string"
31
+ },
32
+ "systemName": {
33
+ "type": "string"
34
+ },
35
+ "schemaVersion": {
36
+ "description": "entity's schema version. Used to distinct between different schemas.",
37
+ "type": "string",
38
+ "default": "2022.8.16"
39
+ },
40
+ "name": {
41
+ "description": "entity name",
42
+ "type": "string"
43
+ },
44
+ "isDefault": {
45
+ "description": "Identifies that entity is defaultable",
46
+ "type": "boolean",
47
+ "default": false
48
+ },
22
49
  "formula": {
23
50
  "description": "reduced chemical formula",
24
51
  "type": "string"
@@ -742,33 +769,95 @@
742
769
  }
743
770
  }
744
771
  },
745
- "_id": {
746
- "description": "entity identity",
747
- "type": "string"
748
- },
749
- "slug": {
750
- "description": "entity slug",
751
- "type": "string"
752
- },
753
- "systemName": {
754
- "type": "string"
755
- },
756
- "schemaVersion": {
757
- "description": "entity's schema version. Used to distinct between different schemas.",
758
- "type": "string",
759
- "default": "2022.8.16"
760
- },
761
- "name": {
762
- "description": "entity name",
763
- "type": "string"
764
- },
765
- "isDefault": {
766
- "description": "Identifies that entity is defaultable",
767
- "type": "boolean",
768
- "default": false
769
- },
770
772
  "metadata": {
771
- "type": "object"
773
+ "type": "object",
774
+ "default": {},
775
+ "anyOf": [
776
+ {
777
+ "$schema": "http://json-schema.org/draft-07/schema#",
778
+ "title": "material metadata boundary conditions",
779
+ "type": "object",
780
+ "properties": {
781
+ "boundaryConditions": {
782
+ "type": "object",
783
+ "required": [
784
+ "type",
785
+ "offset"
786
+ ],
787
+ "properties": {
788
+ "type": {
789
+ "type": "string",
790
+ "enum": [
791
+ "pbc",
792
+ "bc1",
793
+ "bc2",
794
+ "bc3"
795
+ ],
796
+ "default": "pbc",
797
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
798
+ },
799
+ "offset": {
800
+ "type": "number"
801
+ }
802
+ }
803
+ }
804
+ },
805
+ "additionalProperties": true
806
+ },
807
+ {
808
+ "$schema": "http://json-schema.org/draft-07/schema#",
809
+ "title": "material metadata slab properties",
810
+ "type": "object",
811
+ "properties": {
812
+ "isSlab": {
813
+ "description": "Whether the material was created as a surface slab",
814
+ "type": "boolean"
815
+ },
816
+ "h": {
817
+ "description": "Miller index h used to generate the slab",
818
+ "type": "number"
819
+ },
820
+ "k": {
821
+ "description": "Miller index k used to generate the slab",
822
+ "type": "number"
823
+ },
824
+ "l": {
825
+ "description": "Miller index l used to generate the slab",
826
+ "type": "number"
827
+ },
828
+ "thickness": {
829
+ "description": "Slab thickness in number of layers",
830
+ "type": "number"
831
+ },
832
+ "vacuumRatio": {
833
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
834
+ "type": "number"
835
+ },
836
+ "vx": {
837
+ "description": "Termination vector component along a",
838
+ "type": "number"
839
+ },
840
+ "vy": {
841
+ "description": "Termination vector component along b",
842
+ "type": "number"
843
+ }
844
+ },
845
+ "additionalProperties": true
846
+ },
847
+ {
848
+ "$schema": "http://json-schema.org/draft-07/schema#",
849
+ "title": "material metadata bulk properties",
850
+ "type": "object",
851
+ "properties": {
852
+ "bulkId": {
853
+ "description": "Source bulk material id used to generate the slab",
854
+ "type": "string"
855
+ }
856
+ },
857
+ "additionalProperties": true
858
+ }
859
+ ],
860
+ "additionalProperties": true
772
861
  }
773
862
  }
774
863
  },
@@ -16,9 +16,36 @@
16
16
  "type": "object",
17
17
  "required": [
18
18
  "basis",
19
- "lattice"
19
+ "lattice",
20
+ "metadata",
21
+ "name"
20
22
  ],
21
23
  "properties": {
24
+ "_id": {
25
+ "description": "entity identity",
26
+ "type": "string"
27
+ },
28
+ "slug": {
29
+ "description": "entity slug",
30
+ "type": "string"
31
+ },
32
+ "systemName": {
33
+ "type": "string"
34
+ },
35
+ "schemaVersion": {
36
+ "description": "entity's schema version. Used to distinct between different schemas.",
37
+ "type": "string",
38
+ "default": "2022.8.16"
39
+ },
40
+ "name": {
41
+ "description": "entity name",
42
+ "type": "string"
43
+ },
44
+ "isDefault": {
45
+ "description": "Identifies that entity is defaultable",
46
+ "type": "boolean",
47
+ "default": false
48
+ },
22
49
  "formula": {
23
50
  "description": "reduced chemical formula",
24
51
  "type": "string"
@@ -742,33 +769,95 @@
742
769
  }
743
770
  }
744
771
  },
745
- "_id": {
746
- "description": "entity identity",
747
- "type": "string"
748
- },
749
- "slug": {
750
- "description": "entity slug",
751
- "type": "string"
752
- },
753
- "systemName": {
754
- "type": "string"
755
- },
756
- "schemaVersion": {
757
- "description": "entity's schema version. Used to distinct between different schemas.",
758
- "type": "string",
759
- "default": "2022.8.16"
760
- },
761
- "name": {
762
- "description": "entity name",
763
- "type": "string"
764
- },
765
- "isDefault": {
766
- "description": "Identifies that entity is defaultable",
767
- "type": "boolean",
768
- "default": false
769
- },
770
772
  "metadata": {
771
- "type": "object"
773
+ "type": "object",
774
+ "default": {},
775
+ "anyOf": [
776
+ {
777
+ "$schema": "http://json-schema.org/draft-07/schema#",
778
+ "title": "material metadata boundary conditions",
779
+ "type": "object",
780
+ "properties": {
781
+ "boundaryConditions": {
782
+ "type": "object",
783
+ "required": [
784
+ "type",
785
+ "offset"
786
+ ],
787
+ "properties": {
788
+ "type": {
789
+ "type": "string",
790
+ "enum": [
791
+ "pbc",
792
+ "bc1",
793
+ "bc2",
794
+ "bc3"
795
+ ],
796
+ "default": "pbc",
797
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
798
+ },
799
+ "offset": {
800
+ "type": "number"
801
+ }
802
+ }
803
+ }
804
+ },
805
+ "additionalProperties": true
806
+ },
807
+ {
808
+ "$schema": "http://json-schema.org/draft-07/schema#",
809
+ "title": "material metadata slab properties",
810
+ "type": "object",
811
+ "properties": {
812
+ "isSlab": {
813
+ "description": "Whether the material was created as a surface slab",
814
+ "type": "boolean"
815
+ },
816
+ "h": {
817
+ "description": "Miller index h used to generate the slab",
818
+ "type": "number"
819
+ },
820
+ "k": {
821
+ "description": "Miller index k used to generate the slab",
822
+ "type": "number"
823
+ },
824
+ "l": {
825
+ "description": "Miller index l used to generate the slab",
826
+ "type": "number"
827
+ },
828
+ "thickness": {
829
+ "description": "Slab thickness in number of layers",
830
+ "type": "number"
831
+ },
832
+ "vacuumRatio": {
833
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
834
+ "type": "number"
835
+ },
836
+ "vx": {
837
+ "description": "Termination vector component along a",
838
+ "type": "number"
839
+ },
840
+ "vy": {
841
+ "description": "Termination vector component along b",
842
+ "type": "number"
843
+ }
844
+ },
845
+ "additionalProperties": true
846
+ },
847
+ {
848
+ "$schema": "http://json-schema.org/draft-07/schema#",
849
+ "title": "material metadata bulk properties",
850
+ "type": "object",
851
+ "properties": {
852
+ "bulkId": {
853
+ "description": "Source bulk material id used to generate the slab",
854
+ "type": "string"
855
+ }
856
+ },
857
+ "additionalProperties": true
858
+ }
859
+ ],
860
+ "additionalProperties": true
772
861
  }
773
862
  }
774
863
  },
@@ -16,9 +16,36 @@
16
16
  "type": "object",
17
17
  "required": [
18
18
  "basis",
19
- "lattice"
19
+ "lattice",
20
+ "metadata",
21
+ "name"
20
22
  ],
21
23
  "properties": {
24
+ "_id": {
25
+ "description": "entity identity",
26
+ "type": "string"
27
+ },
28
+ "slug": {
29
+ "description": "entity slug",
30
+ "type": "string"
31
+ },
32
+ "systemName": {
33
+ "type": "string"
34
+ },
35
+ "schemaVersion": {
36
+ "description": "entity's schema version. Used to distinct between different schemas.",
37
+ "type": "string",
38
+ "default": "2022.8.16"
39
+ },
40
+ "name": {
41
+ "description": "entity name",
42
+ "type": "string"
43
+ },
44
+ "isDefault": {
45
+ "description": "Identifies that entity is defaultable",
46
+ "type": "boolean",
47
+ "default": false
48
+ },
22
49
  "formula": {
23
50
  "description": "reduced chemical formula",
24
51
  "type": "string"
@@ -742,33 +769,95 @@
742
769
  }
743
770
  }
744
771
  },
745
- "_id": {
746
- "description": "entity identity",
747
- "type": "string"
748
- },
749
- "slug": {
750
- "description": "entity slug",
751
- "type": "string"
752
- },
753
- "systemName": {
754
- "type": "string"
755
- },
756
- "schemaVersion": {
757
- "description": "entity's schema version. Used to distinct between different schemas.",
758
- "type": "string",
759
- "default": "2022.8.16"
760
- },
761
- "name": {
762
- "description": "entity name",
763
- "type": "string"
764
- },
765
- "isDefault": {
766
- "description": "Identifies that entity is defaultable",
767
- "type": "boolean",
768
- "default": false
769
- },
770
772
  "metadata": {
771
- "type": "object"
773
+ "type": "object",
774
+ "default": {},
775
+ "anyOf": [
776
+ {
777
+ "$schema": "http://json-schema.org/draft-07/schema#",
778
+ "title": "material metadata boundary conditions",
779
+ "type": "object",
780
+ "properties": {
781
+ "boundaryConditions": {
782
+ "type": "object",
783
+ "required": [
784
+ "type",
785
+ "offset"
786
+ ],
787
+ "properties": {
788
+ "type": {
789
+ "type": "string",
790
+ "enum": [
791
+ "pbc",
792
+ "bc1",
793
+ "bc2",
794
+ "bc3"
795
+ ],
796
+ "default": "pbc",
797
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
798
+ },
799
+ "offset": {
800
+ "type": "number"
801
+ }
802
+ }
803
+ }
804
+ },
805
+ "additionalProperties": true
806
+ },
807
+ {
808
+ "$schema": "http://json-schema.org/draft-07/schema#",
809
+ "title": "material metadata slab properties",
810
+ "type": "object",
811
+ "properties": {
812
+ "isSlab": {
813
+ "description": "Whether the material was created as a surface slab",
814
+ "type": "boolean"
815
+ },
816
+ "h": {
817
+ "description": "Miller index h used to generate the slab",
818
+ "type": "number"
819
+ },
820
+ "k": {
821
+ "description": "Miller index k used to generate the slab",
822
+ "type": "number"
823
+ },
824
+ "l": {
825
+ "description": "Miller index l used to generate the slab",
826
+ "type": "number"
827
+ },
828
+ "thickness": {
829
+ "description": "Slab thickness in number of layers",
830
+ "type": "number"
831
+ },
832
+ "vacuumRatio": {
833
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
834
+ "type": "number"
835
+ },
836
+ "vx": {
837
+ "description": "Termination vector component along a",
838
+ "type": "number"
839
+ },
840
+ "vy": {
841
+ "description": "Termination vector component along b",
842
+ "type": "number"
843
+ }
844
+ },
845
+ "additionalProperties": true
846
+ },
847
+ {
848
+ "$schema": "http://json-schema.org/draft-07/schema#",
849
+ "title": "material metadata bulk properties",
850
+ "type": "object",
851
+ "properties": {
852
+ "bulkId": {
853
+ "description": "Source bulk material id used to generate the slab",
854
+ "type": "string"
855
+ }
856
+ },
857
+ "additionalProperties": true
858
+ }
859
+ ],
860
+ "additionalProperties": true
772
861
  }
773
862
  }
774
863
  },
@@ -189,9 +189,36 @@
189
189
  "type": "object",
190
190
  "required": [
191
191
  "basis",
192
- "lattice"
192
+ "lattice",
193
+ "metadata",
194
+ "name"
193
195
  ],
194
196
  "properties": {
197
+ "_id": {
198
+ "description": "entity identity",
199
+ "type": "string"
200
+ },
201
+ "slug": {
202
+ "description": "entity slug",
203
+ "type": "string"
204
+ },
205
+ "systemName": {
206
+ "type": "string"
207
+ },
208
+ "schemaVersion": {
209
+ "description": "entity's schema version. Used to distinct between different schemas.",
210
+ "type": "string",
211
+ "default": "2022.8.16"
212
+ },
213
+ "name": {
214
+ "description": "entity name",
215
+ "type": "string"
216
+ },
217
+ "isDefault": {
218
+ "description": "Identifies that entity is defaultable",
219
+ "type": "boolean",
220
+ "default": false
221
+ },
195
222
  "formula": {
196
223
  "description": "reduced chemical formula",
197
224
  "type": "string"
@@ -915,33 +942,95 @@
915
942
  }
916
943
  }
917
944
  },
918
- "_id": {
919
- "description": "entity identity",
920
- "type": "string"
921
- },
922
- "slug": {
923
- "description": "entity slug",
924
- "type": "string"
925
- },
926
- "systemName": {
927
- "type": "string"
928
- },
929
- "schemaVersion": {
930
- "description": "entity's schema version. Used to distinct between different schemas.",
931
- "type": "string",
932
- "default": "2022.8.16"
933
- },
934
- "name": {
935
- "description": "entity name",
936
- "type": "string"
937
- },
938
- "isDefault": {
939
- "description": "Identifies that entity is defaultable",
940
- "type": "boolean",
941
- "default": false
942
- },
943
945
  "metadata": {
944
- "type": "object"
946
+ "type": "object",
947
+ "default": {},
948
+ "anyOf": [
949
+ {
950
+ "$schema": "http://json-schema.org/draft-07/schema#",
951
+ "title": "material metadata boundary conditions",
952
+ "type": "object",
953
+ "properties": {
954
+ "boundaryConditions": {
955
+ "type": "object",
956
+ "required": [
957
+ "type",
958
+ "offset"
959
+ ],
960
+ "properties": {
961
+ "type": {
962
+ "type": "string",
963
+ "enum": [
964
+ "pbc",
965
+ "bc1",
966
+ "bc2",
967
+ "bc3"
968
+ ],
969
+ "default": "pbc",
970
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
971
+ },
972
+ "offset": {
973
+ "type": "number"
974
+ }
975
+ }
976
+ }
977
+ },
978
+ "additionalProperties": true
979
+ },
980
+ {
981
+ "$schema": "http://json-schema.org/draft-07/schema#",
982
+ "title": "material metadata slab properties",
983
+ "type": "object",
984
+ "properties": {
985
+ "isSlab": {
986
+ "description": "Whether the material was created as a surface slab",
987
+ "type": "boolean"
988
+ },
989
+ "h": {
990
+ "description": "Miller index h used to generate the slab",
991
+ "type": "number"
992
+ },
993
+ "k": {
994
+ "description": "Miller index k used to generate the slab",
995
+ "type": "number"
996
+ },
997
+ "l": {
998
+ "description": "Miller index l used to generate the slab",
999
+ "type": "number"
1000
+ },
1001
+ "thickness": {
1002
+ "description": "Slab thickness in number of layers",
1003
+ "type": "number"
1004
+ },
1005
+ "vacuumRatio": {
1006
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
1007
+ "type": "number"
1008
+ },
1009
+ "vx": {
1010
+ "description": "Termination vector component along a",
1011
+ "type": "number"
1012
+ },
1013
+ "vy": {
1014
+ "description": "Termination vector component along b",
1015
+ "type": "number"
1016
+ }
1017
+ },
1018
+ "additionalProperties": true
1019
+ },
1020
+ {
1021
+ "$schema": "http://json-schema.org/draft-07/schema#",
1022
+ "title": "material metadata bulk properties",
1023
+ "type": "object",
1024
+ "properties": {
1025
+ "bulkId": {
1026
+ "description": "Source bulk material id used to generate the slab",
1027
+ "type": "string"
1028
+ }
1029
+ },
1030
+ "additionalProperties": true
1031
+ }
1032
+ ],
1033
+ "additionalProperties": true
945
1034
  }
946
1035
  }
947
1036
  },