@mat3ra/esse 2026.7.14-0 → 2026.8.13-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 (100) hide show
  1. package/.cursor/rules/resolve-generated-merge-conflicts.mdc +36 -0
  2. package/dist/js/esse/JSONSchemasInterface.d.ts +4 -0
  3. package/dist/js/esse/JSONSchemasInterface.js +10 -0
  4. package/dist/js/example/properties_directory/scalar/defect_formation_energy.json +5 -0
  5. package/dist/js/schema/job.json +147 -176
  6. package/dist/js/schema/material/material_properties.json +0 -4
  7. package/dist/js/schema/material.json +0 -4
  8. package/dist/js/schema/material_enhanced.json +889 -0
  9. package/dist/js/schema/material_enhanced_hashed.json +898 -0
  10. package/dist/js/schema/material_hashed.json +858 -0
  11. package/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +0 -36
  12. package/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +0 -36
  13. package/dist/js/schema/materials_category/defective_structures/three_dimensional/solid_solution/configuration.json +0 -12
  14. package/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json +0 -16
  15. package/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +0 -36
  16. package/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json +0 -24
  17. package/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json +0 -24
  18. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +0 -4
  19. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +0 -8
  20. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +0 -8
  21. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json +0 -4
  22. package/dist/js/schema/materials_category/pristine_structures/three_dimensional/ideal_crystal.json +0 -4
  23. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json +0 -12
  24. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json +0 -8
  25. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json +0 -8
  26. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +0 -8
  27. package/dist/js/schema/materials_category/processed_structures/two_dimensional/passivation/configuration.json +0 -8
  28. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +0 -4
  29. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +0 -4
  30. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json +0 -4
  31. package/dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json +0 -4
  32. package/dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json +0 -4
  33. package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +0 -4
  34. package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +0 -4
  35. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json +0 -4
  36. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json +0 -4
  37. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_uniform.json +0 -4
  38. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/supercell.json +0 -4
  39. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json +0 -4
  40. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json +0 -4
  41. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json +0 -4
  42. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json +0 -4
  43. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +0 -12
  44. package/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json +0 -4
  45. package/dist/js/schema/properties_directory/enum_options.json +1 -0
  46. package/dist/js/schema/properties_directory/non_scalar/workflow.json +147 -176
  47. package/dist/js/schema/properties_directory/scalar/defect_formation_energy.json +43 -0
  48. package/dist/js/schema/properties_directory/structural/basis_constrained.json +292 -0
  49. package/dist/js/schema/property/holder.json +189 -176
  50. package/dist/js/schema/software_directory/modeling/unit/execution.json +14 -16
  51. package/dist/js/schema/software_directory/scripting/unit/execution.json +14 -16
  52. package/dist/js/schema/system/bankable.json +1 -6
  53. package/dist/js/schema/system/hashed.json +15 -0
  54. package/dist/js/schema/system/status_track.json +29 -0
  55. package/dist/js/schema/workflow/base.json +147 -176
  56. package/dist/js/schema/workflow/subworkflow/mixin.json +88 -105
  57. package/dist/js/schema/workflow/subworkflow/unit.json +88 -105
  58. package/dist/js/schema/workflow/subworkflow.json +88 -105
  59. package/dist/js/schema/workflow/unit/assertion.json +15 -18
  60. package/dist/js/schema/workflow/unit/assignment.json +14 -17
  61. package/dist/js/schema/workflow/unit/base.json +12 -17
  62. package/dist/js/schema/workflow/unit/condition.json +15 -18
  63. package/dist/js/schema/workflow/unit/error.json +15 -18
  64. package/dist/js/schema/workflow/unit/execution.json +14 -16
  65. package/dist/js/schema/workflow/unit/io.json +15 -18
  66. package/dist/js/schema/workflow/unit/map.json +14 -17
  67. package/dist/js/schema/workflow/unit/mixins/base.json +11 -20
  68. package/dist/js/schema/workflow/unit/reduce.json +15 -18
  69. package/dist/js/schema/workflow/unit/subworkflow.json +15 -18
  70. package/dist/js/schema/workflow/unit.json +59 -71
  71. package/dist/js/schema/workflow.json +147 -176
  72. package/dist/js/schemas.json +1 -1
  73. package/dist/js/types.d.ts +1603 -1247
  74. package/dist/js/utils/ajv.d.ts +6 -5
  75. package/dist/js/utils/ajv.js +22 -9
  76. package/dist/js/utils/ajvKeywords/jsonSchemaToTypescriptKeywords.d.ts +7 -0
  77. package/dist/js/utils/ajvKeywords/jsonSchemaToTypescriptKeywords.js +21 -0
  78. package/dist/js/utils/removeEmptyAndNullProperties.d.ts +9 -0
  79. package/dist/js/utils/removeEmptyAndNullProperties.js +29 -0
  80. package/example/properties_directory/scalar/defect_formation_energy.json +5 -0
  81. package/manifest/properties.yaml +6 -0
  82. package/package.json +1 -1
  83. package/schema/material/material_properties.json +0 -4
  84. package/schema/material_enhanced.json +18 -0
  85. package/schema/material_enhanced_hashed.json +14 -0
  86. package/schema/material_hashed.json +22 -0
  87. package/schema/properties_directory/enum_options.json +1 -0
  88. package/schema/properties_directory/scalar/defect_formation_energy.json +21 -0
  89. package/schema/properties_directory/structural/basis_constrained.json +19 -0
  90. package/schema/property/holder.json +3 -0
  91. package/schema/system/bankable.json +1 -6
  92. package/schema/system/hashed.json +15 -0
  93. package/schema/system/status.json +5 -21
  94. package/schema/system/status_track.json +29 -0
  95. package/schema/workflow/unit/base.json +1 -1
  96. package/schema/workflow/unit/mixins/base.json +11 -20
  97. package/src/js/esse/JSONSchemasInterface.ts +11 -0
  98. package/src/js/utils/ajv.ts +22 -9
  99. package/src/js/utils/ajvKeywords/jsonSchemaToTypescriptKeywords.ts +22 -0
  100. package/src/js/utils/removeEmptyAndNullProperties.ts +32 -0
@@ -466,8 +466,7 @@
466
466
  "preProcessors",
467
467
  "results",
468
468
  "source",
469
- "subtype",
470
- "type"
469
+ "subtype"
471
470
  ],
472
471
  "properties": {
473
472
  "_id": {
@@ -582,17 +581,6 @@
582
581
  "type": "string"
583
582
  }
584
583
  },
585
- "status": {
586
- "type": "string",
587
- "description": "Status of the unit.",
588
- "enum": [
589
- "idle",
590
- "active",
591
- "warning",
592
- "error",
593
- "finished"
594
- ]
595
- },
596
584
  "statusTrack": {
597
585
  "type": "array",
598
586
  "items": {
@@ -617,11 +605,6 @@
617
605
  "isDraft": {
618
606
  "type": "boolean"
619
607
  },
620
- "type": {
621
- "description": "type of the unit",
622
- "type": "string",
623
- "const": "io"
624
- },
625
608
  "head": {
626
609
  "description": "Whether this unit is the first one to be executed.",
627
610
  "type": "boolean"
@@ -638,6 +621,20 @@
638
621
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
639
622
  "type": "boolean"
640
623
  },
624
+ "status": {
625
+ "description": "Status of the unit.",
626
+ "type": "string",
627
+ "enum": [
628
+ "idle",
629
+ "active",
630
+ "warning",
631
+ "error",
632
+ "finished"
633
+ ]
634
+ },
635
+ "type": {
636
+ "const": "io"
637
+ },
641
638
  "subtype": {
642
639
  "enum": [
643
640
  "input",
@@ -770,8 +767,7 @@
770
767
  "preProcessors",
771
768
  "results",
772
769
  "statement",
773
- "then",
774
- "type"
770
+ "then"
775
771
  ],
776
772
  "properties": {
777
773
  "_id": {
@@ -886,17 +882,6 @@
886
882
  "type": "string"
887
883
  }
888
884
  },
889
- "status": {
890
- "type": "string",
891
- "description": "Status of the unit.",
892
- "enum": [
893
- "idle",
894
- "active",
895
- "warning",
896
- "error",
897
- "finished"
898
- ]
899
- },
900
885
  "statusTrack": {
901
886
  "type": "array",
902
887
  "items": {
@@ -921,11 +906,6 @@
921
906
  "isDraft": {
922
907
  "type": "boolean"
923
908
  },
924
- "type": {
925
- "description": "type of the unit",
926
- "type": "string",
927
- "const": "condition"
928
- },
929
909
  "head": {
930
910
  "description": "Whether this unit is the first one to be executed.",
931
911
  "type": "boolean"
@@ -942,6 +922,20 @@
942
922
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
943
923
  "type": "boolean"
944
924
  },
925
+ "status": {
926
+ "description": "Status of the unit.",
927
+ "type": "string",
928
+ "enum": [
929
+ "idle",
930
+ "active",
931
+ "warning",
932
+ "error",
933
+ "finished"
934
+ ]
935
+ },
936
+ "type": {
937
+ "const": "condition"
938
+ },
945
939
  "input": {
946
940
  "description": "Input information for condition.",
947
941
  "type": "array",
@@ -998,8 +992,7 @@
998
992
  "postProcessors",
999
993
  "preProcessors",
1000
994
  "results",
1001
- "statement",
1002
- "type"
995
+ "statement"
1003
996
  ],
1004
997
  "properties": {
1005
998
  "_id": {
@@ -1114,17 +1107,6 @@
1114
1107
  "type": "string"
1115
1108
  }
1116
1109
  },
1117
- "status": {
1118
- "type": "string",
1119
- "description": "Status of the unit.",
1120
- "enum": [
1121
- "idle",
1122
- "active",
1123
- "warning",
1124
- "error",
1125
- "finished"
1126
- ]
1127
- },
1128
1110
  "statusTrack": {
1129
1111
  "type": "array",
1130
1112
  "items": {
@@ -1149,11 +1131,6 @@
1149
1131
  "isDraft": {
1150
1132
  "type": "boolean"
1151
1133
  },
1152
- "type": {
1153
- "description": "type of the unit",
1154
- "type": "string",
1155
- "const": "assertion"
1156
- },
1157
1134
  "head": {
1158
1135
  "description": "Whether this unit is the first one to be executed.",
1159
1136
  "type": "boolean"
@@ -1170,6 +1147,20 @@
1170
1147
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
1171
1148
  "type": "boolean"
1172
1149
  },
1150
+ "status": {
1151
+ "description": "Status of the unit.",
1152
+ "type": "string",
1153
+ "enum": [
1154
+ "idle",
1155
+ "active",
1156
+ "warning",
1157
+ "error",
1158
+ "finished"
1159
+ ]
1160
+ },
1161
+ "type": {
1162
+ "const": "assertion"
1163
+ },
1173
1164
  "statement": {
1174
1165
  "type": "string",
1175
1166
  "description": "The statement to be evaluated"
@@ -1311,17 +1302,6 @@
1311
1302
  "type": "string"
1312
1303
  }
1313
1304
  },
1314
- "status": {
1315
- "type": "string",
1316
- "description": "Status of the unit.",
1317
- "enum": [
1318
- "idle",
1319
- "active",
1320
- "warning",
1321
- "error",
1322
- "finished"
1323
- ]
1324
- },
1325
1305
  "statusTrack": {
1326
1306
  "type": "array",
1327
1307
  "items": {
@@ -1346,11 +1326,6 @@
1346
1326
  "isDraft": {
1347
1327
  "type": "boolean"
1348
1328
  },
1349
- "type": {
1350
- "description": "type of the unit",
1351
- "type": "string",
1352
- "const": "execution"
1353
- },
1354
1329
  "head": {
1355
1330
  "description": "Whether this unit is the first one to be executed.",
1356
1331
  "type": "boolean"
@@ -1367,6 +1342,20 @@
1367
1342
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
1368
1343
  "type": "boolean"
1369
1344
  },
1345
+ "status": {
1346
+ "description": "Status of the unit.",
1347
+ "type": "string",
1348
+ "enum": [
1349
+ "idle",
1350
+ "active",
1351
+ "warning",
1352
+ "error",
1353
+ "finished"
1354
+ ]
1355
+ },
1356
+ "type": {
1357
+ "const": "execution"
1358
+ },
1370
1359
  "application": {
1371
1360
  "$schema": "http://json-schema.org/draft-07/schema#",
1372
1361
  "title": "application schema",
@@ -3347,7 +3336,6 @@
3347
3336
  "postProcessors",
3348
3337
  "preProcessors",
3349
3338
  "results",
3350
- "type",
3351
3339
  "value"
3352
3340
  ],
3353
3341
  "properties": {
@@ -3463,17 +3451,6 @@
3463
3451
  "type": "string"
3464
3452
  }
3465
3453
  },
3466
- "status": {
3467
- "type": "string",
3468
- "description": "Status of the unit.",
3469
- "enum": [
3470
- "idle",
3471
- "active",
3472
- "warning",
3473
- "error",
3474
- "finished"
3475
- ]
3476
- },
3477
3454
  "statusTrack": {
3478
3455
  "type": "array",
3479
3456
  "items": {
@@ -3498,11 +3475,6 @@
3498
3475
  "isDraft": {
3499
3476
  "type": "boolean"
3500
3477
  },
3501
- "type": {
3502
- "description": "type of the unit",
3503
- "type": "string",
3504
- "const": "assignment"
3505
- },
3506
3478
  "head": {
3507
3479
  "description": "Whether this unit is the first one to be executed.",
3508
3480
  "type": "boolean"
@@ -3519,9 +3491,23 @@
3519
3491
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
3520
3492
  "type": "boolean"
3521
3493
  },
3494
+ "status": {
3495
+ "description": "Status of the unit.",
3496
+ "type": "string",
3497
+ "enum": [
3498
+ "idle",
3499
+ "active",
3500
+ "warning",
3501
+ "error",
3502
+ "finished"
3503
+ ]
3504
+ },
3522
3505
  "scope": {
3523
3506
  "type": "string"
3524
3507
  },
3508
+ "type": {
3509
+ "const": "assignment"
3510
+ },
3525
3511
  "input": {
3526
3512
  "description": "Input information for assignment. if omitted, means that it is an initialization unit, otherwise it is an assignment.",
3527
3513
  "type": "array",
@@ -3576,8 +3562,7 @@
3576
3562
  "postProcessors",
3577
3563
  "preProcessors",
3578
3564
  "reason",
3579
- "results",
3580
- "type"
3565
+ "results"
3581
3566
  ],
3582
3567
  "properties": {
3583
3568
  "_id": {
@@ -3692,17 +3677,6 @@
3692
3677
  "type": "string"
3693
3678
  }
3694
3679
  },
3695
- "status": {
3696
- "type": "string",
3697
- "description": "Status of the unit.",
3698
- "enum": [
3699
- "idle",
3700
- "active",
3701
- "warning",
3702
- "error",
3703
- "finished"
3704
- ]
3705
- },
3706
3680
  "statusTrack": {
3707
3681
  "type": "array",
3708
3682
  "items": {
@@ -3727,11 +3701,6 @@
3727
3701
  "isDraft": {
3728
3702
  "type": "boolean"
3729
3703
  },
3730
- "type": {
3731
- "description": "type of the unit",
3732
- "type": "string",
3733
- "const": "error"
3734
- },
3735
3704
  "head": {
3736
3705
  "description": "Whether this unit is the first one to be executed.",
3737
3706
  "type": "boolean"
@@ -3748,6 +3717,20 @@
3748
3717
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
3749
3718
  "type": "boolean"
3750
3719
  },
3720
+ "status": {
3721
+ "description": "Status of the unit.",
3722
+ "type": "string",
3723
+ "enum": [
3724
+ "idle",
3725
+ "active",
3726
+ "warning",
3727
+ "error",
3728
+ "finished"
3729
+ ]
3730
+ },
3731
+ "type": {
3732
+ "const": "error"
3733
+ },
3751
3734
  "reason": {
3752
3735
  "type": "string",
3753
3736
  "description": "JSON string with validation/hydration details: { error, json, schema }"
@@ -4182,7 +4165,6 @@
4182
4165
  "postProcessors",
4183
4166
  "preProcessors",
4184
4167
  "results",
4185
- "type",
4186
4168
  "workflowId"
4187
4169
  ],
4188
4170
  "properties": {
@@ -4298,17 +4280,6 @@
4298
4280
  "type": "string"
4299
4281
  }
4300
4282
  },
4301
- "status": {
4302
- "type": "string",
4303
- "description": "Status of the unit.",
4304
- "enum": [
4305
- "idle",
4306
- "active",
4307
- "warning",
4308
- "error",
4309
- "finished"
4310
- ]
4311
- },
4312
4283
  "statusTrack": {
4313
4284
  "type": "array",
4314
4285
  "items": {
@@ -4333,11 +4304,6 @@
4333
4304
  "isDraft": {
4334
4305
  "type": "boolean"
4335
4306
  },
4336
- "type": {
4337
- "description": "type of the unit",
4338
- "type": "string",
4339
- "const": "map"
4340
- },
4341
4307
  "head": {
4342
4308
  "description": "Whether this unit is the first one to be executed.",
4343
4309
  "type": "boolean"
@@ -4354,6 +4320,20 @@
4354
4320
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
4355
4321
  "type": "boolean"
4356
4322
  },
4323
+ "status": {
4324
+ "description": "Status of the unit.",
4325
+ "type": "string",
4326
+ "enum": [
4327
+ "idle",
4328
+ "active",
4329
+ "warning",
4330
+ "error",
4331
+ "finished"
4332
+ ]
4333
+ },
4334
+ "type": {
4335
+ "const": "map"
4336
+ },
4357
4337
  "workflowId": {
4358
4338
  "description": "Id of workflow to run inside map",
4359
4339
  "type": "string"
@@ -4413,8 +4393,7 @@
4413
4393
  "name",
4414
4394
  "postProcessors",
4415
4395
  "preProcessors",
4416
- "results",
4417
- "type"
4396
+ "results"
4418
4397
  ],
4419
4398
  "properties": {
4420
4399
  "_id": {
@@ -4529,17 +4508,6 @@
4529
4508
  "type": "string"
4530
4509
  }
4531
4510
  },
4532
- "status": {
4533
- "type": "string",
4534
- "description": "Status of the unit.",
4535
- "enum": [
4536
- "idle",
4537
- "active",
4538
- "warning",
4539
- "error",
4540
- "finished"
4541
- ]
4542
- },
4543
4511
  "statusTrack": {
4544
4512
  "type": "array",
4545
4513
  "items": {
@@ -4564,11 +4532,6 @@
4564
4532
  "isDraft": {
4565
4533
  "type": "boolean"
4566
4534
  },
4567
- "type": {
4568
- "description": "type of the unit",
4569
- "type": "string",
4570
- "const": "reduce"
4571
- },
4572
4535
  "head": {
4573
4536
  "description": "Whether this unit is the first one to be executed.",
4574
4537
  "type": "boolean"
@@ -4585,6 +4548,20 @@
4585
4548
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
4586
4549
  "type": "boolean"
4587
4550
  },
4551
+ "status": {
4552
+ "description": "Status of the unit.",
4553
+ "type": "string",
4554
+ "enum": [
4555
+ "idle",
4556
+ "active",
4557
+ "warning",
4558
+ "error",
4559
+ "finished"
4560
+ ]
4561
+ },
4562
+ "type": {
4563
+ "const": "reduce"
4564
+ },
4588
4565
  "mapFlowchartId": {
4589
4566
  "description": "corresponding map unit flowchart ID",
4590
4567
  "type": "string"
@@ -4625,8 +4602,7 @@
4625
4602
  "name",
4626
4603
  "postProcessors",
4627
4604
  "preProcessors",
4628
- "results",
4629
- "type"
4605
+ "results"
4630
4606
  ],
4631
4607
  "properties": {
4632
4608
  "_id": {
@@ -4741,17 +4717,6 @@
4741
4717
  "type": "string"
4742
4718
  }
4743
4719
  },
4744
- "status": {
4745
- "type": "string",
4746
- "description": "Status of the unit.",
4747
- "enum": [
4748
- "idle",
4749
- "active",
4750
- "warning",
4751
- "error",
4752
- "finished"
4753
- ]
4754
- },
4755
4720
  "statusTrack": {
4756
4721
  "type": "array",
4757
4722
  "items": {
@@ -4776,11 +4741,6 @@
4776
4741
  "isDraft": {
4777
4742
  "type": "boolean"
4778
4743
  },
4779
- "type": {
4780
- "description": "type of the unit",
4781
- "type": "string",
4782
- "const": "subworkflow"
4783
- },
4784
4744
  "head": {
4785
4745
  "description": "Whether this unit is the first one to be executed.",
4786
4746
  "type": "boolean"
@@ -4796,6 +4756,20 @@
4796
4756
  "enableRender": {
4797
4757
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
4798
4758
  "type": "boolean"
4759
+ },
4760
+ "status": {
4761
+ "description": "Status of the unit.",
4762
+ "type": "string",
4763
+ "enum": [
4764
+ "idle",
4765
+ "active",
4766
+ "warning",
4767
+ "error",
4768
+ "finished"
4769
+ ]
4770
+ },
4771
+ "type": {
4772
+ "const": "subworkflow"
4799
4773
  }
4800
4774
  }
4801
4775
  },
@@ -4810,8 +4784,7 @@
4810
4784
  "postProcessors",
4811
4785
  "preProcessors",
4812
4786
  "reason",
4813
- "results",
4814
- "type"
4787
+ "results"
4815
4788
  ],
4816
4789
  "properties": {
4817
4790
  "_id": {
@@ -4926,17 +4899,6 @@
4926
4899
  "type": "string"
4927
4900
  }
4928
4901
  },
4929
- "status": {
4930
- "type": "string",
4931
- "description": "Status of the unit.",
4932
- "enum": [
4933
- "idle",
4934
- "active",
4935
- "warning",
4936
- "error",
4937
- "finished"
4938
- ]
4939
- },
4940
4902
  "statusTrack": {
4941
4903
  "type": "array",
4942
4904
  "items": {
@@ -4961,11 +4923,6 @@
4961
4923
  "isDraft": {
4962
4924
  "type": "boolean"
4963
4925
  },
4964
- "type": {
4965
- "description": "type of the unit",
4966
- "type": "string",
4967
- "const": "error"
4968
- },
4969
4926
  "head": {
4970
4927
  "description": "Whether this unit is the first one to be executed.",
4971
4928
  "type": "boolean"
@@ -4982,6 +4939,20 @@
4982
4939
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
4983
4940
  "type": "boolean"
4984
4941
  },
4942
+ "status": {
4943
+ "description": "Status of the unit.",
4944
+ "type": "string",
4945
+ "enum": [
4946
+ "idle",
4947
+ "active",
4948
+ "warning",
4949
+ "error",
4950
+ "finished"
4951
+ ]
4952
+ },
4953
+ "type": {
4954
+ "const": "error"
4955
+ },
4985
4956
  "reason": {
4986
4957
  "type": "string",
4987
4958
  "description": "JSON string with validation/hydration details: { error, json, schema }"
@@ -0,0 +1,43 @@
1
+ {
2
+ "$id": "properties-directory/scalar/defect-formation-energy",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Defect formation energy property schema",
5
+ "type": "object",
6
+ "required": [
7
+ "name",
8
+ "units",
9
+ "value"
10
+ ],
11
+ "properties": {
12
+ "name": {
13
+ "enum": [
14
+ "defect_formation_energy"
15
+ ],
16
+ "type": "string"
17
+ },
18
+ "units": {
19
+ "oneOf": [
20
+ {
21
+ "enum": [
22
+ "kcal/mol",
23
+ "kJ/mol",
24
+ "eV",
25
+ "J/mol",
26
+ "hartree",
27
+ "cm-1",
28
+ "Ry",
29
+ "eV/atom"
30
+ ]
31
+ },
32
+ {
33
+ "enum": [
34
+ "eV/A^2"
35
+ ]
36
+ }
37
+ ]
38
+ },
39
+ "value": {
40
+ "type": "number"
41
+ }
42
+ }
43
+ }