@mat3ra/esse 2026.9.6-0 → 2026.10.8-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.
@@ -29,6 +29,21 @@ function parseIncludeReferenceStatements(filePath) {
29
29
  const originalId = parsed.$id;
30
30
  let dereferenced = (0, json_schema_deref_sync_1.default)(parsed, { baseFolder: dirPath, removeIds: true });
31
31
  // handle circular references and use non-dereferenced source
32
+ //
33
+ // KNOWN LIMITATION: this only catches a schema's own *direct* self-reference (e.g.
34
+ // workflow.json referencing itself). It does NOT handle a cycle reached transitively
35
+ // through another schema's own $ref (e.g. job.json -> $ref workflow.json -> $ref back to
36
+ // workflow.json) - in that case `deref` collapses the nested self-reference to `{}` (losing
37
+ // its $id) instead of throwing this same "Circular self reference" error, which crashes
38
+ // `JSONSchemasGenerator.writeResolvedSchemas` ("Schema ID is missing"). This is why
39
+ // `workflow.json`'s own `workflows` field is declared as `items: { type: "object" }` rather
40
+ // than a real `$ref` back to itself: consumers (wode's WorkflowSchema, jode's JobEntity,
41
+ // web-app's CoreJobSchema) hand-override the resulting lossy TS type with a properly
42
+ // recursive one, but that only fixes the TypeScript side - AJV validation of nested
43
+ // workflows' own structure is still effectively skipped. Fixing this for real means making
44
+ // this transitive case hit the same fallback as the direct case (probably by tracking
45
+ // visited $ids across the whole dereference walk, not just within a single file's own
46
+ // top-level deref call) - deferred for now.
32
47
  if (dereferenced instanceof Error && dereferenced.message === "Circular self reference") {
33
48
  dereferenced = parsed;
34
49
  }
@@ -32,29 +32,34 @@
32
32
  ],
33
33
  "properties": {
34
34
  "name": {
35
- "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.",
35
+ "description": "Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.",
36
36
  "type": "string",
37
37
  "enum": [
38
38
  "D",
39
39
  "OR",
40
- "OF",
41
- "OFplus",
42
- "SR",
43
- "SF",
44
- "SFplus",
45
40
  "OR4",
46
41
  "OR8",
47
42
  "OR16",
43
+ "SR",
48
44
  "SR4",
49
45
  "SR8",
50
46
  "SR16",
47
+ "OF",
48
+ "OFplus",
49
+ "SF",
50
+ "SFplus",
51
51
  "GOF",
52
52
  "G4OF",
53
53
  "G8OF",
54
+ "GP4OF",
54
55
  "GSF",
55
56
  "G4SF",
56
- "G8SF"
57
- ]
57
+ "G8SF",
58
+ "GPSF",
59
+ "GP2SF",
60
+ "GP4SF"
61
+ ],
62
+ "tsType": "QueueNameEnum"
58
63
  },
59
64
  "maxPPN": {
60
65
  "description": "Maximum processors per node.",
@@ -12,29 +12,34 @@
12
12
  ],
13
13
  "properties": {
14
14
  "name": {
15
- "description": "Name of the submission queues: https://docs.mat3ra.com/infrastructure/resource/queues/. Below enums are for Azure, then AWS circa 2022-08, hence the duplication.",
15
+ "description": "Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.",
16
16
  "type": "string",
17
17
  "enum": [
18
18
  "D",
19
19
  "OR",
20
- "OF",
21
- "OFplus",
22
- "SR",
23
- "SF",
24
- "SFplus",
25
20
  "OR4",
26
21
  "OR8",
27
22
  "OR16",
23
+ "SR",
28
24
  "SR4",
29
25
  "SR8",
30
26
  "SR16",
27
+ "OF",
28
+ "OFplus",
29
+ "SF",
30
+ "SFplus",
31
31
  "GOF",
32
32
  "G4OF",
33
33
  "G8OF",
34
+ "GP4OF",
34
35
  "GSF",
35
36
  "G4SF",
36
- "G8SF"
37
- ]
37
+ "G8SF",
38
+ "GPSF",
39
+ "GP2SF",
40
+ "GP4SF"
41
+ ],
42
+ "tsType": "QueueNameEnum"
38
43
  },
39
44
  "maxPPN": {
40
45
  "description": "Maximum processors per node.",
@@ -0,0 +1,59 @@
1
+ {
2
+ "$id": "compute/queue-name-enum",
3
+ "definitions": {
4
+ "QueueNameEnum": {
5
+ "description": "Name of the submission queue: https://docs.mat3ra.com/infrastructure/resource/queues/.",
6
+ "type": "string",
7
+ "enum": [
8
+ "D",
9
+ "OR",
10
+ "OR4",
11
+ "OR8",
12
+ "OR16",
13
+ "SR",
14
+ "SR4",
15
+ "SR8",
16
+ "SR16",
17
+ "OF",
18
+ "OFplus",
19
+ "SF",
20
+ "SFplus",
21
+ "GOF",
22
+ "G4OF",
23
+ "G8OF",
24
+ "GP4OF",
25
+ "GSF",
26
+ "G4SF",
27
+ "G8SF",
28
+ "GPSF",
29
+ "GP2SF",
30
+ "GP4SF"
31
+ ],
32
+ "tsEnumNames": [
33
+ "debug",
34
+ "ordinaryRegular",
35
+ "ordinaryRegular4",
36
+ "ordinaryRegular8",
37
+ "ordinaryRegular16",
38
+ "savingRegular",
39
+ "savingRegular4",
40
+ "savingRegular8",
41
+ "savingRegular16",
42
+ "ordinaryFast",
43
+ "ordinaryFastPlus",
44
+ "savingFast",
45
+ "savingFastPlus",
46
+ "gpuOrdinaryFast",
47
+ "gpu4OrdinaryFast",
48
+ "gpu8OrdinaryFast",
49
+ "gpuP4OrdinaryFast",
50
+ "gpuSavingFast",
51
+ "gpu4SavingFast",
52
+ "gpu8SavingFast",
53
+ "gpuPSavingFast",
54
+ "gpuP2SavingFast",
55
+ "gpuP4SavingFast"
56
+ ]
57
+ }
58
+ }
59
+ }