@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
@@ -20,9 +20,36 @@
20
20
  "type": "object",
21
21
  "required": [
22
22
  "basis",
23
- "lattice"
23
+ "lattice",
24
+ "metadata",
25
+ "name"
24
26
  ],
25
27
  "properties": {
28
+ "_id": {
29
+ "description": "entity identity",
30
+ "type": "string"
31
+ },
32
+ "slug": {
33
+ "description": "entity slug",
34
+ "type": "string"
35
+ },
36
+ "systemName": {
37
+ "type": "string"
38
+ },
39
+ "schemaVersion": {
40
+ "description": "entity's schema version. Used to distinct between different schemas.",
41
+ "type": "string",
42
+ "default": "2022.8.16"
43
+ },
44
+ "name": {
45
+ "description": "entity name",
46
+ "type": "string"
47
+ },
48
+ "isDefault": {
49
+ "description": "Identifies that entity is defaultable",
50
+ "type": "boolean",
51
+ "default": false
52
+ },
26
53
  "formula": {
27
54
  "description": "reduced chemical formula",
28
55
  "type": "string"
@@ -746,33 +773,95 @@
746
773
  }
747
774
  }
748
775
  },
749
- "_id": {
750
- "description": "entity identity",
751
- "type": "string"
752
- },
753
- "slug": {
754
- "description": "entity slug",
755
- "type": "string"
756
- },
757
- "systemName": {
758
- "type": "string"
759
- },
760
- "schemaVersion": {
761
- "description": "entity's schema version. Used to distinct between different schemas.",
762
- "type": "string",
763
- "default": "2022.8.16"
764
- },
765
- "name": {
766
- "description": "entity name",
767
- "type": "string"
768
- },
769
- "isDefault": {
770
- "description": "Identifies that entity is defaultable",
771
- "type": "boolean",
772
- "default": false
773
- },
774
776
  "metadata": {
775
- "type": "object"
777
+ "type": "object",
778
+ "default": {},
779
+ "anyOf": [
780
+ {
781
+ "$schema": "http://json-schema.org/draft-07/schema#",
782
+ "title": "material metadata boundary conditions",
783
+ "type": "object",
784
+ "properties": {
785
+ "boundaryConditions": {
786
+ "type": "object",
787
+ "required": [
788
+ "type",
789
+ "offset"
790
+ ],
791
+ "properties": {
792
+ "type": {
793
+ "type": "string",
794
+ "enum": [
795
+ "pbc",
796
+ "bc1",
797
+ "bc2",
798
+ "bc3"
799
+ ],
800
+ "default": "pbc",
801
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
802
+ },
803
+ "offset": {
804
+ "type": "number"
805
+ }
806
+ }
807
+ }
808
+ },
809
+ "additionalProperties": true
810
+ },
811
+ {
812
+ "$schema": "http://json-schema.org/draft-07/schema#",
813
+ "title": "material metadata slab properties",
814
+ "type": "object",
815
+ "properties": {
816
+ "isSlab": {
817
+ "description": "Whether the material was created as a surface slab",
818
+ "type": "boolean"
819
+ },
820
+ "h": {
821
+ "description": "Miller index h used to generate the slab",
822
+ "type": "number"
823
+ },
824
+ "k": {
825
+ "description": "Miller index k used to generate the slab",
826
+ "type": "number"
827
+ },
828
+ "l": {
829
+ "description": "Miller index l used to generate the slab",
830
+ "type": "number"
831
+ },
832
+ "thickness": {
833
+ "description": "Slab thickness in number of layers",
834
+ "type": "number"
835
+ },
836
+ "vacuumRatio": {
837
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
838
+ "type": "number"
839
+ },
840
+ "vx": {
841
+ "description": "Termination vector component along a",
842
+ "type": "number"
843
+ },
844
+ "vy": {
845
+ "description": "Termination vector component along b",
846
+ "type": "number"
847
+ }
848
+ },
849
+ "additionalProperties": true
850
+ },
851
+ {
852
+ "$schema": "http://json-schema.org/draft-07/schema#",
853
+ "title": "material metadata bulk properties",
854
+ "type": "object",
855
+ "properties": {
856
+ "bulkId": {
857
+ "description": "Source bulk material id used to generate the slab",
858
+ "type": "string"
859
+ }
860
+ },
861
+ "additionalProperties": true
862
+ }
863
+ ],
864
+ "additionalProperties": true
776
865
  }
777
866
  }
778
867
  },
@@ -794,9 +883,36 @@
794
883
  "type": "object",
795
884
  "required": [
796
885
  "basis",
797
- "lattice"
886
+ "lattice",
887
+ "metadata",
888
+ "name"
798
889
  ],
799
890
  "properties": {
891
+ "_id": {
892
+ "description": "entity identity",
893
+ "type": "string"
894
+ },
895
+ "slug": {
896
+ "description": "entity slug",
897
+ "type": "string"
898
+ },
899
+ "systemName": {
900
+ "type": "string"
901
+ },
902
+ "schemaVersion": {
903
+ "description": "entity's schema version. Used to distinct between different schemas.",
904
+ "type": "string",
905
+ "default": "2022.8.16"
906
+ },
907
+ "name": {
908
+ "description": "entity name",
909
+ "type": "string"
910
+ },
911
+ "isDefault": {
912
+ "description": "Identifies that entity is defaultable",
913
+ "type": "boolean",
914
+ "default": false
915
+ },
800
916
  "formula": {
801
917
  "description": "reduced chemical formula",
802
918
  "type": "string"
@@ -1520,33 +1636,95 @@
1520
1636
  }
1521
1637
  }
1522
1638
  },
1523
- "_id": {
1524
- "description": "entity identity",
1525
- "type": "string"
1526
- },
1527
- "slug": {
1528
- "description": "entity slug",
1529
- "type": "string"
1530
- },
1531
- "systemName": {
1532
- "type": "string"
1533
- },
1534
- "schemaVersion": {
1535
- "description": "entity's schema version. Used to distinct between different schemas.",
1536
- "type": "string",
1537
- "default": "2022.8.16"
1538
- },
1539
- "name": {
1540
- "description": "entity name",
1541
- "type": "string"
1542
- },
1543
- "isDefault": {
1544
- "description": "Identifies that entity is defaultable",
1545
- "type": "boolean",
1546
- "default": false
1547
- },
1548
1639
  "metadata": {
1549
- "type": "object"
1640
+ "type": "object",
1641
+ "default": {},
1642
+ "anyOf": [
1643
+ {
1644
+ "$schema": "http://json-schema.org/draft-07/schema#",
1645
+ "title": "material metadata boundary conditions",
1646
+ "type": "object",
1647
+ "properties": {
1648
+ "boundaryConditions": {
1649
+ "type": "object",
1650
+ "required": [
1651
+ "type",
1652
+ "offset"
1653
+ ],
1654
+ "properties": {
1655
+ "type": {
1656
+ "type": "string",
1657
+ "enum": [
1658
+ "pbc",
1659
+ "bc1",
1660
+ "bc2",
1661
+ "bc3"
1662
+ ],
1663
+ "default": "pbc",
1664
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
1665
+ },
1666
+ "offset": {
1667
+ "type": "number"
1668
+ }
1669
+ }
1670
+ }
1671
+ },
1672
+ "additionalProperties": true
1673
+ },
1674
+ {
1675
+ "$schema": "http://json-schema.org/draft-07/schema#",
1676
+ "title": "material metadata slab properties",
1677
+ "type": "object",
1678
+ "properties": {
1679
+ "isSlab": {
1680
+ "description": "Whether the material was created as a surface slab",
1681
+ "type": "boolean"
1682
+ },
1683
+ "h": {
1684
+ "description": "Miller index h used to generate the slab",
1685
+ "type": "number"
1686
+ },
1687
+ "k": {
1688
+ "description": "Miller index k used to generate the slab",
1689
+ "type": "number"
1690
+ },
1691
+ "l": {
1692
+ "description": "Miller index l used to generate the slab",
1693
+ "type": "number"
1694
+ },
1695
+ "thickness": {
1696
+ "description": "Slab thickness in number of layers",
1697
+ "type": "number"
1698
+ },
1699
+ "vacuumRatio": {
1700
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
1701
+ "type": "number"
1702
+ },
1703
+ "vx": {
1704
+ "description": "Termination vector component along a",
1705
+ "type": "number"
1706
+ },
1707
+ "vy": {
1708
+ "description": "Termination vector component along b",
1709
+ "type": "number"
1710
+ }
1711
+ },
1712
+ "additionalProperties": true
1713
+ },
1714
+ {
1715
+ "$schema": "http://json-schema.org/draft-07/schema#",
1716
+ "title": "material metadata bulk properties",
1717
+ "type": "object",
1718
+ "properties": {
1719
+ "bulkId": {
1720
+ "description": "Source bulk material id used to generate the slab",
1721
+ "type": "string"
1722
+ }
1723
+ },
1724
+ "additionalProperties": true
1725
+ }
1726
+ ],
1727
+ "additionalProperties": true
1550
1728
  }
1551
1729
  }
1552
1730
  },
@@ -20,9 +20,36 @@
20
20
  "type": "object",
21
21
  "required": [
22
22
  "basis",
23
- "lattice"
23
+ "lattice",
24
+ "metadata",
25
+ "name"
24
26
  ],
25
27
  "properties": {
28
+ "_id": {
29
+ "description": "entity identity",
30
+ "type": "string"
31
+ },
32
+ "slug": {
33
+ "description": "entity slug",
34
+ "type": "string"
35
+ },
36
+ "systemName": {
37
+ "type": "string"
38
+ },
39
+ "schemaVersion": {
40
+ "description": "entity's schema version. Used to distinct between different schemas.",
41
+ "type": "string",
42
+ "default": "2022.8.16"
43
+ },
44
+ "name": {
45
+ "description": "entity name",
46
+ "type": "string"
47
+ },
48
+ "isDefault": {
49
+ "description": "Identifies that entity is defaultable",
50
+ "type": "boolean",
51
+ "default": false
52
+ },
26
53
  "formula": {
27
54
  "description": "reduced chemical formula",
28
55
  "type": "string"
@@ -746,33 +773,95 @@
746
773
  }
747
774
  }
748
775
  },
749
- "_id": {
750
- "description": "entity identity",
751
- "type": "string"
752
- },
753
- "slug": {
754
- "description": "entity slug",
755
- "type": "string"
756
- },
757
- "systemName": {
758
- "type": "string"
759
- },
760
- "schemaVersion": {
761
- "description": "entity's schema version. Used to distinct between different schemas.",
762
- "type": "string",
763
- "default": "2022.8.16"
764
- },
765
- "name": {
766
- "description": "entity name",
767
- "type": "string"
768
- },
769
- "isDefault": {
770
- "description": "Identifies that entity is defaultable",
771
- "type": "boolean",
772
- "default": false
773
- },
774
776
  "metadata": {
775
- "type": "object"
777
+ "type": "object",
778
+ "default": {},
779
+ "anyOf": [
780
+ {
781
+ "$schema": "http://json-schema.org/draft-07/schema#",
782
+ "title": "material metadata boundary conditions",
783
+ "type": "object",
784
+ "properties": {
785
+ "boundaryConditions": {
786
+ "type": "object",
787
+ "required": [
788
+ "type",
789
+ "offset"
790
+ ],
791
+ "properties": {
792
+ "type": {
793
+ "type": "string",
794
+ "enum": [
795
+ "pbc",
796
+ "bc1",
797
+ "bc2",
798
+ "bc3"
799
+ ],
800
+ "default": "pbc",
801
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
802
+ },
803
+ "offset": {
804
+ "type": "number"
805
+ }
806
+ }
807
+ }
808
+ },
809
+ "additionalProperties": true
810
+ },
811
+ {
812
+ "$schema": "http://json-schema.org/draft-07/schema#",
813
+ "title": "material metadata slab properties",
814
+ "type": "object",
815
+ "properties": {
816
+ "isSlab": {
817
+ "description": "Whether the material was created as a surface slab",
818
+ "type": "boolean"
819
+ },
820
+ "h": {
821
+ "description": "Miller index h used to generate the slab",
822
+ "type": "number"
823
+ },
824
+ "k": {
825
+ "description": "Miller index k used to generate the slab",
826
+ "type": "number"
827
+ },
828
+ "l": {
829
+ "description": "Miller index l used to generate the slab",
830
+ "type": "number"
831
+ },
832
+ "thickness": {
833
+ "description": "Slab thickness in number of layers",
834
+ "type": "number"
835
+ },
836
+ "vacuumRatio": {
837
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
838
+ "type": "number"
839
+ },
840
+ "vx": {
841
+ "description": "Termination vector component along a",
842
+ "type": "number"
843
+ },
844
+ "vy": {
845
+ "description": "Termination vector component along b",
846
+ "type": "number"
847
+ }
848
+ },
849
+ "additionalProperties": true
850
+ },
851
+ {
852
+ "$schema": "http://json-schema.org/draft-07/schema#",
853
+ "title": "material metadata bulk properties",
854
+ "type": "object",
855
+ "properties": {
856
+ "bulkId": {
857
+ "description": "Source bulk material id used to generate the slab",
858
+ "type": "string"
859
+ }
860
+ },
861
+ "additionalProperties": true
862
+ }
863
+ ],
864
+ "additionalProperties": true
776
865
  }
777
866
  }
778
867
  },
@@ -6,9 +6,36 @@
6
6
  "type": "object",
7
7
  "required": [
8
8
  "basis",
9
- "lattice"
9
+ "lattice",
10
+ "metadata",
11
+ "name"
10
12
  ],
11
13
  "properties": {
14
+ "_id": {
15
+ "description": "entity identity",
16
+ "type": "string"
17
+ },
18
+ "slug": {
19
+ "description": "entity slug",
20
+ "type": "string"
21
+ },
22
+ "systemName": {
23
+ "type": "string"
24
+ },
25
+ "schemaVersion": {
26
+ "description": "entity's schema version. Used to distinct between different schemas.",
27
+ "type": "string",
28
+ "default": "2022.8.16"
29
+ },
30
+ "name": {
31
+ "description": "entity name",
32
+ "type": "string"
33
+ },
34
+ "isDefault": {
35
+ "description": "Identifies that entity is defaultable",
36
+ "type": "boolean",
37
+ "default": false
38
+ },
12
39
  "formula": {
13
40
  "description": "reduced chemical formula",
14
41
  "type": "string"
@@ -732,33 +759,95 @@
732
759
  }
733
760
  }
734
761
  },
735
- "_id": {
736
- "description": "entity identity",
737
- "type": "string"
738
- },
739
- "slug": {
740
- "description": "entity slug",
741
- "type": "string"
742
- },
743
- "systemName": {
744
- "type": "string"
745
- },
746
- "schemaVersion": {
747
- "description": "entity's schema version. Used to distinct between different schemas.",
748
- "type": "string",
749
- "default": "2022.8.16"
750
- },
751
- "name": {
752
- "description": "entity name",
753
- "type": "string"
754
- },
755
- "isDefault": {
756
- "description": "Identifies that entity is defaultable",
757
- "type": "boolean",
758
- "default": false
759
- },
760
762
  "metadata": {
761
- "type": "object"
763
+ "type": "object",
764
+ "default": {},
765
+ "anyOf": [
766
+ {
767
+ "$schema": "http://json-schema.org/draft-07/schema#",
768
+ "title": "material metadata boundary conditions",
769
+ "type": "object",
770
+ "properties": {
771
+ "boundaryConditions": {
772
+ "type": "object",
773
+ "required": [
774
+ "type",
775
+ "offset"
776
+ ],
777
+ "properties": {
778
+ "type": {
779
+ "type": "string",
780
+ "enum": [
781
+ "pbc",
782
+ "bc1",
783
+ "bc2",
784
+ "bc3"
785
+ ],
786
+ "default": "pbc",
787
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
788
+ },
789
+ "offset": {
790
+ "type": "number"
791
+ }
792
+ }
793
+ }
794
+ },
795
+ "additionalProperties": true
796
+ },
797
+ {
798
+ "$schema": "http://json-schema.org/draft-07/schema#",
799
+ "title": "material metadata slab properties",
800
+ "type": "object",
801
+ "properties": {
802
+ "isSlab": {
803
+ "description": "Whether the material was created as a surface slab",
804
+ "type": "boolean"
805
+ },
806
+ "h": {
807
+ "description": "Miller index h used to generate the slab",
808
+ "type": "number"
809
+ },
810
+ "k": {
811
+ "description": "Miller index k used to generate the slab",
812
+ "type": "number"
813
+ },
814
+ "l": {
815
+ "description": "Miller index l used to generate the slab",
816
+ "type": "number"
817
+ },
818
+ "thickness": {
819
+ "description": "Slab thickness in number of layers",
820
+ "type": "number"
821
+ },
822
+ "vacuumRatio": {
823
+ "description": "Vacuum fraction used when scaling the out-of-plane lattice vector",
824
+ "type": "number"
825
+ },
826
+ "vx": {
827
+ "description": "Termination vector component along a",
828
+ "type": "number"
829
+ },
830
+ "vy": {
831
+ "description": "Termination vector component along b",
832
+ "type": "number"
833
+ }
834
+ },
835
+ "additionalProperties": true
836
+ },
837
+ {
838
+ "$schema": "http://json-schema.org/draft-07/schema#",
839
+ "title": "material metadata bulk properties",
840
+ "type": "object",
841
+ "properties": {
842
+ "bulkId": {
843
+ "description": "Source bulk material id used to generate the slab",
844
+ "type": "string"
845
+ }
846
+ },
847
+ "additionalProperties": true
848
+ }
849
+ ],
850
+ "additionalProperties": true
762
851
  }
763
852
  }
764
853
  }