@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
@@ -130,17 +130,6 @@
130
130
  "type": "string"
131
131
  }
132
132
  },
133
- "status": {
134
- "type": "string",
135
- "description": "Status of the unit.",
136
- "enum": [
137
- "idle",
138
- "active",
139
- "warning",
140
- "error",
141
- "finished"
142
- ]
143
- },
144
133
  "statusTrack": {
145
134
  "type": "array",
146
135
  "items": {
@@ -165,11 +154,6 @@
165
154
  "isDraft": {
166
155
  "type": "boolean"
167
156
  },
168
- "type": {
169
- "description": "type of the unit",
170
- "type": "string",
171
- "const": "execution"
172
- },
173
157
  "head": {
174
158
  "description": "Whether this unit is the first one to be executed.",
175
159
  "type": "boolean"
@@ -186,6 +170,20 @@
186
170
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
187
171
  "type": "boolean"
188
172
  },
173
+ "status": {
174
+ "description": "Status of the unit.",
175
+ "type": "string",
176
+ "enum": [
177
+ "idle",
178
+ "active",
179
+ "warning",
180
+ "error",
181
+ "finished"
182
+ ]
183
+ },
184
+ "type": {
185
+ "const": "execution"
186
+ },
189
187
  "application": {
190
188
  "$schema": "http://json-schema.org/draft-07/schema#",
191
189
  "title": "application schema",
@@ -12,8 +12,7 @@
12
12
  "preProcessors",
13
13
  "results",
14
14
  "source",
15
- "subtype",
16
- "type"
15
+ "subtype"
17
16
  ],
18
17
  "properties": {
19
18
  "_id": {
@@ -128,17 +127,6 @@
128
127
  "type": "string"
129
128
  }
130
129
  },
131
- "status": {
132
- "type": "string",
133
- "description": "Status of the unit.",
134
- "enum": [
135
- "idle",
136
- "active",
137
- "warning",
138
- "error",
139
- "finished"
140
- ]
141
- },
142
130
  "statusTrack": {
143
131
  "type": "array",
144
132
  "items": {
@@ -163,11 +151,6 @@
163
151
  "isDraft": {
164
152
  "type": "boolean"
165
153
  },
166
- "type": {
167
- "description": "type of the unit",
168
- "type": "string",
169
- "const": "io"
170
- },
171
154
  "head": {
172
155
  "description": "Whether this unit is the first one to be executed.",
173
156
  "type": "boolean"
@@ -184,6 +167,20 @@
184
167
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
185
168
  "type": "boolean"
186
169
  },
170
+ "status": {
171
+ "description": "Status of the unit.",
172
+ "type": "string",
173
+ "enum": [
174
+ "idle",
175
+ "active",
176
+ "warning",
177
+ "error",
178
+ "finished"
179
+ ]
180
+ },
181
+ "type": {
182
+ "const": "io"
183
+ },
187
184
  "subtype": {
188
185
  "enum": [
189
186
  "input",
@@ -11,7 +11,6 @@
11
11
  "postProcessors",
12
12
  "preProcessors",
13
13
  "results",
14
- "type",
15
14
  "workflowId"
16
15
  ],
17
16
  "properties": {
@@ -127,17 +126,6 @@
127
126
  "type": "string"
128
127
  }
129
128
  },
130
- "status": {
131
- "type": "string",
132
- "description": "Status of the unit.",
133
- "enum": [
134
- "idle",
135
- "active",
136
- "warning",
137
- "error",
138
- "finished"
139
- ]
140
- },
141
129
  "statusTrack": {
142
130
  "type": "array",
143
131
  "items": {
@@ -162,11 +150,6 @@
162
150
  "isDraft": {
163
151
  "type": "boolean"
164
152
  },
165
- "type": {
166
- "description": "type of the unit",
167
- "type": "string",
168
- "const": "map"
169
- },
170
153
  "head": {
171
154
  "description": "Whether this unit is the first one to be executed.",
172
155
  "type": "boolean"
@@ -183,6 +166,20 @@
183
166
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
184
167
  "type": "boolean"
185
168
  },
169
+ "status": {
170
+ "description": "Status of the unit.",
171
+ "type": "string",
172
+ "enum": [
173
+ "idle",
174
+ "active",
175
+ "warning",
176
+ "error",
177
+ "finished"
178
+ ]
179
+ },
180
+ "type": {
181
+ "const": "map"
182
+ },
186
183
  "workflowId": {
187
184
  "description": "Id of workflow to run inside map",
188
185
  "type": "string"
@@ -4,32 +4,12 @@
4
4
  "title": "workflow base unit mixin schema",
5
5
  "type": "object",
6
6
  "required": [
7
- "type",
8
7
  "flowchartId"
9
8
  ],
10
9
  "properties": {
11
10
  "isDraft": {
12
11
  "type": "boolean"
13
12
  },
14
- "type": {
15
- "description": "type of the unit",
16
- "type": "string"
17
- },
18
- "name": {
19
- "description": "name of the unit. e.g. pw_scf",
20
- "type": "string"
21
- },
22
- "status": {
23
- "description": "Status of the unit.",
24
- "type": "string",
25
- "enum": [
26
- "idle",
27
- "active",
28
- "warning",
29
- "error",
30
- "finished"
31
- ]
32
- },
33
13
  "head": {
34
14
  "description": "Whether this unit is the first one to be executed.",
35
15
  "type": "boolean"
@@ -45,6 +25,17 @@
45
25
  "enableRender": {
46
26
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
47
27
  "type": "boolean"
28
+ },
29
+ "status": {
30
+ "description": "Status of the unit.",
31
+ "type": "string",
32
+ "enum": [
33
+ "idle",
34
+ "active",
35
+ "warning",
36
+ "error",
37
+ "finished"
38
+ ]
48
39
  }
49
40
  }
50
41
  }
@@ -11,8 +11,7 @@
11
11
  "name",
12
12
  "postProcessors",
13
13
  "preProcessors",
14
- "results",
15
- "type"
14
+ "results"
16
15
  ],
17
16
  "properties": {
18
17
  "_id": {
@@ -127,17 +126,6 @@
127
126
  "type": "string"
128
127
  }
129
128
  },
130
- "status": {
131
- "type": "string",
132
- "description": "Status of the unit.",
133
- "enum": [
134
- "idle",
135
- "active",
136
- "warning",
137
- "error",
138
- "finished"
139
- ]
140
- },
141
129
  "statusTrack": {
142
130
  "type": "array",
143
131
  "items": {
@@ -162,11 +150,6 @@
162
150
  "isDraft": {
163
151
  "type": "boolean"
164
152
  },
165
- "type": {
166
- "description": "type of the unit",
167
- "type": "string",
168
- "const": "reduce"
169
- },
170
153
  "head": {
171
154
  "description": "Whether this unit is the first one to be executed.",
172
155
  "type": "boolean"
@@ -183,6 +166,20 @@
183
166
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
184
167
  "type": "boolean"
185
168
  },
169
+ "status": {
170
+ "description": "Status of the unit.",
171
+ "type": "string",
172
+ "enum": [
173
+ "idle",
174
+ "active",
175
+ "warning",
176
+ "error",
177
+ "finished"
178
+ ]
179
+ },
180
+ "type": {
181
+ "const": "reduce"
182
+ },
186
183
  "mapFlowchartId": {
187
184
  "description": "corresponding map unit flowchart ID",
188
185
  "type": "string"
@@ -9,8 +9,7 @@
9
9
  "name",
10
10
  "postProcessors",
11
11
  "preProcessors",
12
- "results",
13
- "type"
12
+ "results"
14
13
  ],
15
14
  "properties": {
16
15
  "_id": {
@@ -125,17 +124,6 @@
125
124
  "type": "string"
126
125
  }
127
126
  },
128
- "status": {
129
- "type": "string",
130
- "description": "Status of the unit.",
131
- "enum": [
132
- "idle",
133
- "active",
134
- "warning",
135
- "error",
136
- "finished"
137
- ]
138
- },
139
127
  "statusTrack": {
140
128
  "type": "array",
141
129
  "items": {
@@ -160,11 +148,6 @@
160
148
  "isDraft": {
161
149
  "type": "boolean"
162
150
  },
163
- "type": {
164
- "description": "type of the unit",
165
- "type": "string",
166
- "const": "subworkflow"
167
- },
168
151
  "head": {
169
152
  "description": "Whether this unit is the first one to be executed.",
170
153
  "type": "boolean"
@@ -180,6 +163,20 @@
180
163
  "enableRender": {
181
164
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
182
165
  "type": "boolean"
166
+ },
167
+ "status": {
168
+ "description": "Status of the unit.",
169
+ "type": "string",
170
+ "enum": [
171
+ "idle",
172
+ "active",
173
+ "warning",
174
+ "error",
175
+ "finished"
176
+ ]
177
+ },
178
+ "type": {
179
+ "const": "subworkflow"
183
180
  }
184
181
  }
185
182
  }
@@ -16,7 +16,6 @@
16
16
  "postProcessors",
17
17
  "preProcessors",
18
18
  "results",
19
- "type",
20
19
  "workflowId"
21
20
  ],
22
21
  "properties": {
@@ -132,17 +131,6 @@
132
131
  "type": "string"
133
132
  }
134
133
  },
135
- "status": {
136
- "type": "string",
137
- "description": "Status of the unit.",
138
- "enum": [
139
- "idle",
140
- "active",
141
- "warning",
142
- "error",
143
- "finished"
144
- ]
145
- },
146
134
  "statusTrack": {
147
135
  "type": "array",
148
136
  "items": {
@@ -167,11 +155,6 @@
167
155
  "isDraft": {
168
156
  "type": "boolean"
169
157
  },
170
- "type": {
171
- "description": "type of the unit",
172
- "type": "string",
173
- "const": "map"
174
- },
175
158
  "head": {
176
159
  "description": "Whether this unit is the first one to be executed.",
177
160
  "type": "boolean"
@@ -188,6 +171,20 @@
188
171
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
189
172
  "type": "boolean"
190
173
  },
174
+ "status": {
175
+ "description": "Status of the unit.",
176
+ "type": "string",
177
+ "enum": [
178
+ "idle",
179
+ "active",
180
+ "warning",
181
+ "error",
182
+ "finished"
183
+ ]
184
+ },
185
+ "type": {
186
+ "const": "map"
187
+ },
191
188
  "workflowId": {
192
189
  "description": "Id of workflow to run inside map",
193
190
  "type": "string"
@@ -247,8 +244,7 @@
247
244
  "name",
248
245
  "postProcessors",
249
246
  "preProcessors",
250
- "results",
251
- "type"
247
+ "results"
252
248
  ],
253
249
  "properties": {
254
250
  "_id": {
@@ -363,17 +359,6 @@
363
359
  "type": "string"
364
360
  }
365
361
  },
366
- "status": {
367
- "type": "string",
368
- "description": "Status of the unit.",
369
- "enum": [
370
- "idle",
371
- "active",
372
- "warning",
373
- "error",
374
- "finished"
375
- ]
376
- },
377
362
  "statusTrack": {
378
363
  "type": "array",
379
364
  "items": {
@@ -398,11 +383,6 @@
398
383
  "isDraft": {
399
384
  "type": "boolean"
400
385
  },
401
- "type": {
402
- "description": "type of the unit",
403
- "type": "string",
404
- "const": "reduce"
405
- },
406
386
  "head": {
407
387
  "description": "Whether this unit is the first one to be executed.",
408
388
  "type": "boolean"
@@ -419,6 +399,20 @@
419
399
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
420
400
  "type": "boolean"
421
401
  },
402
+ "status": {
403
+ "description": "Status of the unit.",
404
+ "type": "string",
405
+ "enum": [
406
+ "idle",
407
+ "active",
408
+ "warning",
409
+ "error",
410
+ "finished"
411
+ ]
412
+ },
413
+ "type": {
414
+ "const": "reduce"
415
+ },
422
416
  "mapFlowchartId": {
423
417
  "description": "corresponding map unit flowchart ID",
424
418
  "type": "string"
@@ -459,8 +453,7 @@
459
453
  "name",
460
454
  "postProcessors",
461
455
  "preProcessors",
462
- "results",
463
- "type"
456
+ "results"
464
457
  ],
465
458
  "properties": {
466
459
  "_id": {
@@ -575,17 +568,6 @@
575
568
  "type": "string"
576
569
  }
577
570
  },
578
- "status": {
579
- "type": "string",
580
- "description": "Status of the unit.",
581
- "enum": [
582
- "idle",
583
- "active",
584
- "warning",
585
- "error",
586
- "finished"
587
- ]
588
- },
589
571
  "statusTrack": {
590
572
  "type": "array",
591
573
  "items": {
@@ -610,11 +592,6 @@
610
592
  "isDraft": {
611
593
  "type": "boolean"
612
594
  },
613
- "type": {
614
- "description": "type of the unit",
615
- "type": "string",
616
- "const": "subworkflow"
617
- },
618
595
  "head": {
619
596
  "description": "Whether this unit is the first one to be executed.",
620
597
  "type": "boolean"
@@ -630,6 +607,20 @@
630
607
  "enableRender": {
631
608
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
632
609
  "type": "boolean"
610
+ },
611
+ "status": {
612
+ "description": "Status of the unit.",
613
+ "type": "string",
614
+ "enum": [
615
+ "idle",
616
+ "active",
617
+ "warning",
618
+ "error",
619
+ "finished"
620
+ ]
621
+ },
622
+ "type": {
623
+ "const": "subworkflow"
633
624
  }
634
625
  }
635
626
  },
@@ -644,8 +635,7 @@
644
635
  "postProcessors",
645
636
  "preProcessors",
646
637
  "reason",
647
- "results",
648
- "type"
638
+ "results"
649
639
  ],
650
640
  "properties": {
651
641
  "_id": {
@@ -760,17 +750,6 @@
760
750
  "type": "string"
761
751
  }
762
752
  },
763
- "status": {
764
- "type": "string",
765
- "description": "Status of the unit.",
766
- "enum": [
767
- "idle",
768
- "active",
769
- "warning",
770
- "error",
771
- "finished"
772
- ]
773
- },
774
753
  "statusTrack": {
775
754
  "type": "array",
776
755
  "items": {
@@ -795,11 +774,6 @@
795
774
  "isDraft": {
796
775
  "type": "boolean"
797
776
  },
798
- "type": {
799
- "description": "type of the unit",
800
- "type": "string",
801
- "const": "error"
802
- },
803
777
  "head": {
804
778
  "description": "Whether this unit is the first one to be executed.",
805
779
  "type": "boolean"
@@ -816,6 +790,20 @@
816
790
  "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
817
791
  "type": "boolean"
818
792
  },
793
+ "status": {
794
+ "description": "Status of the unit.",
795
+ "type": "string",
796
+ "enum": [
797
+ "idle",
798
+ "active",
799
+ "warning",
800
+ "error",
801
+ "finished"
802
+ ]
803
+ },
804
+ "type": {
805
+ "const": "error"
806
+ },
819
807
  "reason": {
820
808
  "type": "string",
821
809
  "description": "JSON string with validation/hydration details: { error, json, schema }"