@toolproof-core/schema 1.0.0 → 1.0.2

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 (83) hide show
  1. package/dist/generated/types/standalone/Resource_Genesis.d.ts +3 -0
  2. package/dist/generated/types/standalone/Resource_Job.d.ts +3 -0
  3. package/dist/generated/types/standalone/Resource_RawStrategy.d.ts +3 -0
  4. package/dist/generated/types/standalone/Resource_ResourceType.d.ts +3 -0
  5. package/dist/generated/types/standalone/Resource_RunnableStrategy.d.ts +3 -0
  6. package/dist/generated/types/types.d.ts +487 -548
  7. package/dist/scripts/_lib/config.d.ts +12 -6
  8. package/dist/scripts/_lib/config.js +33 -15
  9. package/dist/scripts/{extractSchemas.js → extractSchemasFromResourceTypeShells.js} +14 -27
  10. package/dist/scripts/generateDependencies.js +2 -2
  11. package/dist/scripts/generateSchemaShims.js +22 -4
  12. package/dist/scripts/{extractSubSchemaWithDefs.js → generateStandaloneSchema.js} +12 -34
  13. package/dist/scripts/{generateResourceTypeType.js → generateStandaloneType.js} +23 -14
  14. package/dist/scripts/generateTypes.js +1 -1
  15. package/dist/scripts/{rewriteAnchors.js → normalizeAnchorsToPointers.js} +2 -2
  16. package/dist/scripts/{generateResourceShells.js → wrapResourceTypesWithResourceShells.js} +12 -34
  17. package/package.json +15 -14
  18. package/src/Genesis.json +1999 -2042
  19. package/src/generated/{dependencies.json → dependencyMap.json} +207 -214
  20. package/src/generated/{resourceTypes → normalized}/Genesis.json +44 -87
  21. package/src/generated/resources/Genesis.json +415 -478
  22. package/src/generated/schemas/Genesis.json +1026 -1057
  23. package/src/generated/schemas/{Goal.json → standalone/Goal.json} +34 -34
  24. package/src/generated/schemas/{Job.json → standalone/Job.json} +85 -85
  25. package/src/generated/schemas/{RawStrategy.json → standalone/RawStrategy.json} +238 -263
  26. package/src/generated/schemas/{ResourceType.json → standalone/ResourceType.json} +60 -60
  27. package/src/generated/schemas/{RunnableStrategy.json → standalone/RunnableStrategy.json} +296 -321
  28. package/src/generated/schemas/{StrategyRun.json → standalone/StrategyRun.json} +390 -421
  29. package/src/generated/types/standalone/Resource_Genesis.d.ts +3 -0
  30. package/src/generated/types/standalone/Resource_Genesis.js +1 -0
  31. package/src/generated/types/standalone/Resource_Job.d.ts +3 -0
  32. package/src/generated/types/standalone/Resource_Job.js +1 -0
  33. package/src/generated/types/standalone/Resource_RawStrategy.d.ts +3 -0
  34. package/src/generated/types/standalone/Resource_RawStrategy.js +1 -0
  35. package/src/generated/types/standalone/Resource_ResourceType.d.ts +3 -0
  36. package/src/generated/types/standalone/Resource_ResourceType.js +1 -0
  37. package/src/generated/types/standalone/Resource_RunnableStrategy.d.ts +3 -0
  38. package/src/generated/types/standalone/Resource_RunnableStrategy.js +1 -0
  39. package/src/generated/types/types.d.ts +487 -548
  40. package/src/generated/types/types.js +1 -1
  41. package/src/scripts/_lib/config.ts +205 -181
  42. package/src/scripts/extractSchemasFromResourceTypeShells.ts +218 -0
  43. package/src/scripts/generateDependencies.ts +120 -120
  44. package/src/scripts/generateSchemaShims.ts +135 -115
  45. package/src/scripts/{extractSubSchemaWithDefs.ts → generateStandaloneSchema.ts} +175 -196
  46. package/src/scripts/{generateResourceTypeType.ts → generateStandaloneType.ts} +119 -110
  47. package/src/scripts/generateTypes.ts +614 -614
  48. package/src/scripts/{rewriteAnchors.ts → normalizeAnchorsToPointers.ts} +123 -123
  49. package/src/scripts/{generateResourceShells.ts → wrapResourceTypesWithResourceShells.ts} +84 -105
  50. package/dist/generated/types/Resource_Genesis.d.ts +0 -3
  51. package/dist/generated/types/Resource_Job.d.ts +0 -3
  52. package/dist/generated/types/Resource_RawStrategy.d.ts +0 -3
  53. package/dist/generated/types/Resource_ResourceType.d.ts +0 -3
  54. package/dist/generated/types/Resource_RunnableStrategy.d.ts +0 -3
  55. package/src/Roadmap.json +0 -102
  56. package/src/generated/types/Resource_Genesis.d.ts +0 -3
  57. package/src/generated/types/Resource_Genesis.js +0 -1
  58. package/src/generated/types/Resource_Job.d.ts +0 -3
  59. package/src/generated/types/Resource_Job.js +0 -1
  60. package/src/generated/types/Resource_RawStrategy.d.ts +0 -3
  61. package/src/generated/types/Resource_RawStrategy.js +0 -1
  62. package/src/generated/types/Resource_ResourceType.d.ts +0 -3
  63. package/src/generated/types/Resource_ResourceType.js +0 -1
  64. package/src/generated/types/Resource_RunnableStrategy.d.ts +0 -3
  65. package/src/generated/types/Resource_RunnableStrategy.js +0 -1
  66. package/src/scripts/extractSchemas.ts +0 -229
  67. /package/dist/generated/types/{Resource_Genesis.js → standalone/Resource_Genesis.js} +0 -0
  68. /package/dist/generated/types/{Resource_Job.js → standalone/Resource_Job.js} +0 -0
  69. /package/dist/generated/types/{Resource_RawStrategy.js → standalone/Resource_RawStrategy.js} +0 -0
  70. /package/dist/generated/types/{Resource_ResourceType.js → standalone/Resource_ResourceType.js} +0 -0
  71. /package/dist/generated/types/{Resource_RunnableStrategy.js → standalone/Resource_RunnableStrategy.js} +0 -0
  72. /package/dist/scripts/{extractSchemas.d.ts → extractSchemasFromResourceTypeShells.d.ts} +0 -0
  73. /package/dist/scripts/{extractSubSchemaWithDefs.d.ts → generateStandaloneSchema.d.ts} +0 -0
  74. /package/dist/scripts/{generateResourceShells.d.ts → generateStandaloneType.d.ts} +0 -0
  75. /package/dist/scripts/{generateResourceTypeType.d.ts → normalizeAnchorsToPointers.d.ts} +0 -0
  76. /package/dist/scripts/{rewriteAnchors.d.ts → wrapResourceTypesWithResourceShells.d.ts} +0 -0
  77. /package/src/generated/{resourceTypes → normalized}/Genesis.ts +0 -0
  78. /package/src/generated/schemas/{Goal.ts → standalone/Goal.ts} +0 -0
  79. /package/src/generated/schemas/{Job.ts → standalone/Job.ts} +0 -0
  80. /package/src/generated/schemas/{RawStrategy.ts → standalone/RawStrategy.ts} +0 -0
  81. /package/src/generated/schemas/{ResourceType.ts → standalone/ResourceType.ts} +0 -0
  82. /package/src/generated/schemas/{RunnableStrategy.ts → standalone/RunnableStrategy.ts} +0 -0
  83. /package/src/generated/schemas/{StrategyRun.ts → standalone/StrategyRun.ts} +0 -0
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$anchor": "RawStrategy",
2
3
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
4
  "type": "object",
4
5
  "allOf": [
@@ -10,55 +11,55 @@
10
11
  }
11
12
  ],
12
13
  "unevaluatedProperties": false,
13
- "$anchor": "RawStrategy",
14
14
  "$defs": {
15
15
  "StepsFacet": {
16
+ "$anchor": "StepsFacet",
16
17
  "$schema": "https://json-schema.org/draft/2020-12/schema",
17
18
  "type": "object",
19
+ "required": [
20
+ "steps"
21
+ ],
18
22
  "properties": {
19
23
  "steps": {
20
24
  "$ref": "#/$defs/StepArray"
21
25
  }
22
- },
23
- "required": [
24
- "steps"
25
- ],
26
- "$anchor": "StepsFacet"
26
+ }
27
27
  },
28
28
  "StrategyStateFacet": {
29
+ "$anchor": "StrategyStateFacet",
29
30
  "$schema": "https://json-schema.org/draft/2020-12/schema",
30
31
  "type": "object",
32
+ "required": [
33
+ "strategyState"
34
+ ],
31
35
  "properties": {
32
36
  "strategyState": {
33
37
  "$ref": "#/$defs/StrategyState"
34
38
  }
35
- },
36
- "required": [
37
- "strategyState"
38
- ],
39
- "$anchor": "StrategyStateFacet"
39
+ }
40
40
  },
41
41
  "StepArray": {
42
+ "$anchor": "StepArray",
42
43
  "$schema": "https://json-schema.org/draft/2020-12/schema",
43
44
  "type": "array",
44
- "$anchor": "StepArray",
45
45
  "items": {
46
46
  "$ref": "#/$defs/Step"
47
47
  },
48
48
  "uniqueItems": true
49
49
  },
50
50
  "StrategyState": {
51
+ "$anchor": "StrategyState",
51
52
  "$schema": "https://json-schema.org/draft/2020-12/schema",
52
53
  "type": "object",
53
- "additionalProperties": {
54
- "$ref": "#/$defs/JobRunSocket"
55
- },
56
- "$anchor": "StrategyState",
57
54
  "propertyNames": {
58
- "$ref": "#/$defs/JobRunIdentity"
55
+ "$ref": "#/$defs/JobStepIdentity"
56
+ },
57
+ "additionalProperties": {
58
+ "$ref": "#/$defs/JobStepSocket"
59
59
  }
60
60
  },
61
61
  "Step": {
62
+ "$anchor": "Step",
62
63
  "$schema": "https://json-schema.org/draft/2020-12/schema",
63
64
  "type": "object",
64
65
  "oneOf": [
@@ -75,60 +76,69 @@
75
76
  "$ref": "#/$defs/ForStep"
76
77
  }
77
78
  ],
78
- "unevaluatedProperties": false,
79
- "$anchor": "Step"
79
+ "unevaluatedProperties": false
80
80
  },
81
- "JobRunSocket": {
81
+ "JobStepIdentity": {
82
+ "$anchor": "JobStepIdentity",
83
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
84
+ "type": "string",
85
+ "pattern": "^JOB_STEP-.+$"
86
+ },
87
+ "JobStepSocket": {
88
+ "$anchor": "JobStepSocket",
82
89
  "$schema": "https://json-schema.org/draft/2020-12/schema",
83
90
  "type": "object",
84
- "additionalProperties": {
85
- "$ref": "#/$defs/Resource"
86
- },
87
- "$anchor": "JobRunSocket",
88
91
  "propertyNames": {
89
92
  "$ref": "#/$defs/ResourceRoleIdentity"
93
+ },
94
+ "additionalProperties": {
95
+ "$ref": "#/$defs/Resource"
90
96
  }
91
97
  },
92
- "JobRunIdentity": {
93
- "$schema": "https://json-schema.org/draft/2020-12/schema",
94
- "type": "string",
95
- "$anchor": "JobRunIdentity",
96
- "pattern": "^JobRun-.+$"
97
- },
98
98
  "JobStep": {
99
+ "$anchor": "JobStep",
99
100
  "$schema": "https://json-schema.org/draft/2020-12/schema",
100
101
  "type": "object",
101
- "allOf": [
102
- {
103
- "$ref": "#/$defs/StepKindFacet"
104
- }
102
+ "required": [
103
+ "identity",
104
+ "jobHandle"
105
105
  ],
106
106
  "properties": {
107
107
  "identity": {
108
108
  "$ref": "#/$defs/JobStepIdentity"
109
109
  },
110
- "jobRun": {
111
- "$ref": "#/$defs/JobRun"
112
- },
113
110
  "stepKind": {
114
111
  "const": "job"
112
+ },
113
+ "jobHandle": {
114
+ "$ref": "#/$defs/JobIdentity"
115
115
  }
116
116
  },
117
- "required": [
118
- "identity",
119
- "jobRun"
120
- ],
121
- "$anchor": "JobStep"
122
- },
123
- "BranchStep": {
124
- "$schema": "https://json-schema.org/draft/2020-12/schema",
125
- "type": "object",
126
117
  "allOf": [
127
118
  {
128
119
  "$ref": "#/$defs/StepKindFacet"
120
+ },
121
+ {
122
+ "$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
123
+ "$ref": "#/$defs/RoleBindingsFacet"
129
124
  }
125
+ ]
126
+ },
127
+ "BranchStep": {
128
+ "$anchor": "BranchStep",
129
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
130
+ "type": "object",
131
+ "required": [
132
+ "identity",
133
+ "cases"
130
134
  ],
131
135
  "properties": {
136
+ "identity": {
137
+ "$ref": "#/$defs/BranchStepIdentity"
138
+ },
139
+ "stepKind": {
140
+ "const": "branch"
141
+ },
132
142
  "cases": {
133
143
  "type": "array",
134
144
  "items": {
@@ -136,71 +146,72 @@
136
146
  },
137
147
  "minItems": 1,
138
148
  "uniqueItems": true
139
- },
140
- "identity": {
141
- "$ref": "#/$defs/BranchStepIdentity"
142
- },
143
- "stepKind": {
144
- "const": "branch"
145
149
  }
146
150
  },
147
- "required": [
148
- "identity",
149
- "cases"
150
- ],
151
- "$anchor": "BranchStep"
152
- },
153
- "WhileStep": {
154
- "$schema": "https://json-schema.org/draft/2020-12/schema",
155
- "type": "object",
156
151
  "allOf": [
157
152
  {
158
153
  "$ref": "#/$defs/StepKindFacet"
159
154
  }
155
+ ]
156
+ },
157
+ "WhileStep": {
158
+ "$anchor": "WhileStep",
159
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
160
+ "type": "object",
161
+ "required": [
162
+ "identity",
163
+ "case"
160
164
  ],
161
165
  "properties": {
162
- "case": {
163
- "$ref": "#/$defs/Conditional"
164
- },
165
166
  "identity": {
166
167
  "$ref": "#/$defs/WhileStepIdentity"
167
168
  },
168
169
  "stepKind": {
169
170
  "const": "while"
171
+ },
172
+ "case": {
173
+ "$ref": "#/$defs/Conditional"
170
174
  }
171
175
  },
172
- "required": [
173
- "identity",
174
- "case"
175
- ],
176
- "$anchor": "WhileStep"
177
- },
178
- "ForStep": {
179
- "$schema": "https://json-schema.org/draft/2020-12/schema",
180
- "type": "object",
181
176
  "allOf": [
182
177
  {
183
178
  "$ref": "#/$defs/StepKindFacet"
184
179
  }
180
+ ]
181
+ },
182
+ "ForStep": {
183
+ "$anchor": "ForStep",
184
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
185
+ "type": "object",
186
+ "required": [
187
+ "identity",
188
+ "case"
185
189
  ],
186
190
  "properties": {
187
- "case": {
188
- "$ref": "#/$defs/Conditional"
189
- },
190
191
  "identity": {
191
192
  "$ref": "#/$defs/ForStepIdentity"
192
193
  },
193
194
  "stepKind": {
194
195
  "const": "for"
196
+ },
197
+ "case": {
198
+ "$ref": "#/$defs/Conditional"
195
199
  }
196
200
  },
197
- "required": [
198
- "identity",
199
- "case"
200
- ],
201
- "$anchor": "ForStep"
201
+ "allOf": [
202
+ {
203
+ "$ref": "#/$defs/StepKindFacet"
204
+ }
205
+ ]
206
+ },
207
+ "ResourceRoleIdentity": {
208
+ "$anchor": "ResourceRoleIdentity",
209
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
210
+ "type": "string",
211
+ "pattern": "^ROLE-.+$"
202
212
  },
203
213
  "Resource": {
214
+ "$anchor": "Resource",
204
215
  "$schema": "https://json-schema.org/draft/2020-12/schema",
205
216
  "type": "object",
206
217
  "oneOf": [
@@ -217,115 +228,99 @@
217
228
  "$ref": "#/$defs/ResourceMaterialized"
218
229
  }
219
230
  ],
220
- "unevaluatedProperties": false,
221
- "$anchor": "Resource"
231
+ "unevaluatedProperties": false
222
232
  },
223
- "ResourceRoleIdentity": {
233
+ "JobIdentity": {
234
+ "$anchor": "JobIdentity",
224
235
  "$schema": "https://json-schema.org/draft/2020-12/schema",
225
236
  "type": "string",
226
- "$anchor": "ResourceRoleIdentity",
227
- "pattern": "^ROLE-.+$"
237
+ "pattern": "^JOB-.+$"
228
238
  },
229
239
  "StepKindFacet": {
240
+ "$anchor": "StepKindFacet",
230
241
  "$schema": "https://json-schema.org/draft/2020-12/schema",
231
242
  "type": "object",
243
+ "required": [
244
+ "stepKind"
245
+ ],
232
246
  "properties": {
233
247
  "stepKind": {
234
248
  "$ref": "#/$defs/StepKind"
235
249
  }
236
- },
237
- "required": [
238
- "stepKind"
239
- ],
240
- "$anchor": "StepKindFacet"
241
- },
242
- "JobStepIdentity": {
243
- "$schema": "https://json-schema.org/draft/2020-12/schema",
244
- "type": "string",
245
- "$anchor": "JobStepIdentity",
246
- "pattern": "^JobStep-.+$"
250
+ }
247
251
  },
248
- "JobRun": {
252
+ "RoleBindingsFacet": {
253
+ "$anchor": "RoleBindingsFacet",
249
254
  "$schema": "https://json-schema.org/draft/2020-12/schema",
250
255
  "type": "object",
251
- "allOf": [
252
- {
253
- "$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
254
- "$ref": "#/$defs/RoleBindingsFacet"
255
- }
256
+ "required": [
257
+ "roleBindings"
256
258
  ],
257
259
  "properties": {
258
- "identity": {
259
- "$ref": "#/$defs/JobRunIdentity"
260
- },
261
- "jobHandle": {
262
- "$ref": "#/$defs/JobIdentity"
260
+ "roleBindings": {
261
+ "$ref": "#/$defs/RoleBindings"
263
262
  }
264
- },
265
- "required": [
266
- "identity",
267
- "jobHandle"
268
- ],
269
- "$anchor": "JobRun"
263
+ }
264
+ },
265
+ "BranchStepIdentity": {
266
+ "$anchor": "BranchStepIdentity",
267
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
268
+ "type": "string",
269
+ "pattern": "^BRANCH_STEP-.+$"
270
270
  },
271
271
  "Conditional": {
272
+ "$anchor": "Conditional",
272
273
  "$schema": "https://json-schema.org/draft/2020-12/schema",
273
274
  "type": "object",
275
+ "required": [
276
+ "when",
277
+ "what"
278
+ ],
274
279
  "properties": {
275
- "what": {
280
+ "when": {
276
281
  "$ref": "#/$defs/JobStep"
277
282
  },
278
- "when": {
283
+ "what": {
279
284
  "$ref": "#/$defs/JobStep"
280
285
  }
281
286
  },
282
- "required": [
283
- "when",
284
- "what"
285
- ],
286
- "unevaluatedProperties": false,
287
- "$anchor": "Conditional"
288
- },
289
- "BranchStepIdentity": {
290
- "$schema": "https://json-schema.org/draft/2020-12/schema",
291
- "type": "string",
292
- "$anchor": "BranchStepIdentity",
293
- "pattern": "^BRANCHSTEP-.+$"
287
+ "unevaluatedProperties": false
294
288
  },
295
289
  "WhileStepIdentity": {
290
+ "$anchor": "WhileStepIdentity",
296
291
  "$schema": "https://json-schema.org/draft/2020-12/schema",
297
292
  "type": "string",
298
- "$anchor": "WhileStepIdentity",
299
- "pattern": "^WHILESTEP-.+$"
293
+ "pattern": "^WHILE_STEP-.+$"
300
294
  },
301
295
  "ForStepIdentity": {
296
+ "$anchor": "ForStepIdentity",
302
297
  "$schema": "https://json-schema.org/draft/2020-12/schema",
303
298
  "type": "string",
304
- "$anchor": "ForStepIdentity",
305
- "pattern": "^FORSTEP-.+$"
299
+ "pattern": "^FOR_STEP-.+$"
306
300
  },
307
301
  "ResourceMissing": {
302
+ "$anchor": "ResourceMissing",
308
303
  "$schema": "https://json-schema.org/draft/2020-12/schema",
309
304
  "type": "object",
310
- "unevaluatedProperties": false,
311
- "$anchor": "ResourceMissing",
312
- "$ref": "#/$defs/ShellMissing"
305
+ "$ref": "#/$defs/ShellMissing",
306
+ "unevaluatedProperties": false
313
307
  },
314
308
  "ResourceInputPotential": {
309
+ "$anchor": "ResourceInputPotential",
315
310
  "$schema": "https://json-schema.org/draft/2020-12/schema",
316
311
  "type": "object",
317
- "unevaluatedProperties": false,
318
- "$anchor": "ResourceInputPotential",
319
- "$ref": "#/$defs/ShellInputPotential"
312
+ "$ref": "#/$defs/ShellInputPotential",
313
+ "unevaluatedProperties": false
320
314
  },
321
315
  "ResourceOutputPotential": {
316
+ "$anchor": "ResourceOutputPotential",
322
317
  "$schema": "https://json-schema.org/draft/2020-12/schema",
323
318
  "type": "object",
324
- "unevaluatedProperties": false,
325
- "$anchor": "ResourceOutputPotential",
326
- "$ref": "#/$defs/ShellOutputPotential"
319
+ "$ref": "#/$defs/ShellOutputPotential",
320
+ "unevaluatedProperties": false
327
321
  },
328
322
  "ResourceMaterialized": {
323
+ "$anchor": "ResourceMaterialized",
329
324
  "$schema": "https://json-schema.org/draft/2020-12/schema",
330
325
  "type": "object",
331
326
  "allOf": [
@@ -337,13 +332,12 @@
337
332
  "$ref": "#/$defs/NucleusFacet"
338
333
  }
339
334
  ],
340
- "unevaluatedProperties": false,
341
- "$anchor": "ResourceMaterialized"
335
+ "unevaluatedProperties": false
342
336
  },
343
337
  "StepKind": {
338
+ "$anchor": "StepKind",
344
339
  "$schema": "https://json-schema.org/draft/2020-12/schema",
345
340
  "type": "string",
346
- "$anchor": "StepKind",
347
341
  "enum": [
348
342
  "job",
349
343
  "branch",
@@ -351,28 +345,32 @@
351
345
  "for"
352
346
  ]
353
347
  },
354
- "RoleBindingsFacet": {
348
+ "RoleBindings": {
349
+ "$anchor": "RoleBindings",
355
350
  "$schema": "https://json-schema.org/draft/2020-12/schema",
356
351
  "type": "object",
357
- "properties": {
358
- "roleBindings": {
359
- "$ref": "#/$defs/RoleBindings"
360
- }
361
- },
362
352
  "required": [
363
- "roleBindings"
353
+ "inputBindings",
354
+ "outputBindings"
364
355
  ],
365
- "$anchor": "RoleBindingsFacet"
366
- },
367
- "JobIdentity": {
368
- "$schema": "https://json-schema.org/draft/2020-12/schema",
369
- "type": "string",
370
- "$anchor": "JobIdentity",
371
- "pattern": "^JOB-.+$"
356
+ "properties": {
357
+ "inputBindings": {
358
+ "$ref": "#/$defs/RoleBindingArray"
359
+ },
360
+ "outputBindings": {
361
+ "$ref": "#/$defs/RoleBindingArray"
362
+ }
363
+ }
372
364
  },
373
365
  "ShellMissing": {
366
+ "$anchor": "ShellMissing",
374
367
  "$schema": "https://json-schema.org/draft/2020-12/schema",
375
368
  "type": "object",
369
+ "properties": {
370
+ "resourceKind": {
371
+ "const": "missing"
372
+ }
373
+ },
376
374
  "allOf": [
377
375
  {
378
376
  "$ref": "#/$defs/ResourceBase"
@@ -381,17 +379,17 @@
381
379
  "$ref": "#/$defs/ResourceKindFacet"
382
380
  }
383
381
  ],
384
- "properties": {
385
- "resourceKind": {
386
- "const": "missing"
387
- }
388
- },
389
- "unevaluatedProperties": false,
390
- "$anchor": "ShellMissing"
382
+ "unevaluatedProperties": false
391
383
  },
392
384
  "ShellInputPotential": {
385
+ "$anchor": "ShellInputPotential",
393
386
  "$schema": "https://json-schema.org/draft/2020-12/schema",
394
387
  "type": "object",
388
+ "properties": {
389
+ "resourceKind": {
390
+ "const": "input-potential"
391
+ }
392
+ },
395
393
  "allOf": [
396
394
  {
397
395
  "$ref": "#/$defs/ResourceBase"
@@ -403,17 +401,17 @@
403
401
  "$ref": "#/$defs/ResourceKindFacet"
404
402
  }
405
403
  ],
406
- "properties": {
407
- "resourceKind": {
408
- "const": "input-potential"
409
- }
410
- },
411
- "unevaluatedProperties": false,
412
- "$anchor": "ShellInputPotential"
404
+ "unevaluatedProperties": false
413
405
  },
414
406
  "ShellOutputPotential": {
407
+ "$anchor": "ShellOutputPotential",
415
408
  "$schema": "https://json-schema.org/draft/2020-12/schema",
416
409
  "type": "object",
410
+ "properties": {
411
+ "resourceKind": {
412
+ "const": "output-potential"
413
+ }
414
+ },
417
415
  "allOf": [
418
416
  {
419
417
  "$ref": "#/$defs/ResourceBase"
@@ -425,17 +423,23 @@
425
423
  "$ref": "#/$defs/ResourceKindFacet"
426
424
  }
427
425
  ],
428
- "properties": {
429
- "resourceKind": {
430
- "const": "output-potential"
431
- }
432
- },
433
- "unevaluatedProperties": false,
434
- "$anchor": "ShellOutputPotential"
426
+ "unevaluatedProperties": false
435
427
  },
436
428
  "ShellMaterializedBase": {
429
+ "$anchor": "ShellMaterializedBase",
437
430
  "$schema": "https://json-schema.org/draft/2020-12/schema",
438
431
  "type": "object",
432
+ "required": [
433
+ "version"
434
+ ],
435
+ "properties": {
436
+ "version": {
437
+ "const": 1
438
+ },
439
+ "resourceKind": {
440
+ "const": "materialized"
441
+ }
442
+ },
439
443
  "allOf": [
440
444
  {
441
445
  "$ref": "#/$defs/ResourceBase"
@@ -452,53 +456,37 @@
452
456
  {
453
457
  "$ref": "#/$defs/PathFacet"
454
458
  }
455
- ],
456
- "properties": {
457
- "resourceKind": {
458
- "const": "materialized"
459
- },
460
- "version": {
461
- "const": 1
462
- }
463
- },
464
- "required": [
465
- "version"
466
- ],
467
- "$anchor": "ShellMaterializedBase"
459
+ ]
468
460
  },
469
461
  "NucleusFacet": {
462
+ "$anchor": "NucleusFacet",
470
463
  "$schema": "https://json-schema.org/draft/2020-12/schema",
471
464
  "type": "object",
465
+ "required": [
466
+ "nucleus"
467
+ ],
472
468
  "properties": {
473
469
  "nucleus": {
474
470
  "$ref": "#/$defs/Nucleus"
475
471
  }
476
- },
477
- "required": [
478
- "nucleus"
479
- ],
480
- "$anchor": "NucleusFacet"
472
+ }
481
473
  },
482
- "RoleBindings": {
474
+ "RoleBindingArray": {
475
+ "$anchor": "RoleBindingArray",
483
476
  "$schema": "https://json-schema.org/draft/2020-12/schema",
484
- "type": "object",
485
- "properties": {
486
- "inputBindings": {
487
- "$ref": "#/$defs/RoleBindingArray"
488
- },
489
- "outputBindings": {
490
- "$ref": "#/$defs/RoleBindingArray"
491
- }
492
- },
493
- "required": [
494
- "inputBindings",
495
- "outputBindings"
496
- ],
497
- "$anchor": "RoleBindings"
477
+ "type": "array",
478
+ "items": {
479
+ "$ref": "#/$defs/ResourceRoleIdentity"
480
+ }
498
481
  },
499
482
  "ResourceBase": {
483
+ "$anchor": "ResourceBase",
500
484
  "$schema": "https://json-schema.org/draft/2020-12/schema",
501
485
  "type": "object",
486
+ "required": [
487
+ "identity",
488
+ "resourceTypeHandle"
489
+ ],
502
490
  "properties": {
503
491
  "identity": {
504
492
  "$ref": "#/$defs/ResourceIdentity"
@@ -506,97 +494,84 @@
506
494
  "resourceTypeHandle": {
507
495
  "$ref": "#/$defs/ResourceTypeIdentity"
508
496
  }
509
- },
510
- "required": [
511
- "identity",
512
- "resourceTypeHandle"
513
- ],
514
- "$anchor": "ResourceBase"
497
+ }
515
498
  },
516
499
  "ResourceKindFacet": {
500
+ "$anchor": "ResourceKindFacet",
517
501
  "$schema": "https://json-schema.org/draft/2020-12/schema",
518
502
  "type": "object",
503
+ "required": [
504
+ "resourceKind"
505
+ ],
519
506
  "properties": {
520
507
  "resourceKind": {
521
508
  "$ref": "#/$defs/ResourceKind"
522
509
  }
523
- },
524
- "required": [
525
- "resourceKind"
526
- ],
527
- "$anchor": "ResourceKindFacet"
510
+ }
528
511
  },
529
512
  "CreationContextFacet": {
513
+ "$anchor": "CreationContextFacet",
530
514
  "$schema": "https://json-schema.org/draft/2020-12/schema",
531
515
  "type": "object",
516
+ "required": [
517
+ "creationContext"
518
+ ],
532
519
  "properties": {
533
520
  "creationContext": {
534
521
  "$ref": "#/$defs/CreationContext"
535
522
  }
536
- },
537
- "required": [
538
- "creationContext"
539
- ],
540
- "$anchor": "CreationContextFacet"
523
+ }
541
524
  },
542
525
  "TimestampFacet": {
526
+ "$anchor": "TimestampFacet",
543
527
  "$schema": "https://json-schema.org/draft/2020-12/schema",
544
528
  "type": "object",
529
+ "required": [
530
+ "timestamp"
531
+ ],
545
532
  "properties": {
546
533
  "timestamp": {
547
534
  "$ref": "#/$defs/Timestamp"
548
535
  }
549
- },
550
- "required": [
551
- "timestamp"
552
- ],
553
- "$anchor": "TimestampFacet"
536
+ }
554
537
  },
555
538
  "PathFacet": {
539
+ "$anchor": "PathFacet",
556
540
  "$schema": "https://json-schema.org/draft/2020-12/schema",
557
541
  "type": "object",
542
+ "required": [
543
+ "path"
544
+ ],
558
545
  "properties": {
559
546
  "path": {
560
547
  "$ref": "#/$defs/Path"
561
548
  }
562
- },
563
- "required": [
564
- "path"
565
- ],
566
- "$anchor": "PathFacet"
549
+ }
567
550
  },
568
551
  "Nucleus": {
552
+ "$anchor": "Nucleus",
569
553
  "$schema": "https://json-schema.org/draft/2020-12/schema",
570
554
  "type": "object",
571
555
  "additionalProperties": {
572
556
  "$ref": "#/$defs/JsonData"
573
- },
574
- "$anchor": "Nucleus"
575
- },
576
- "RoleBindingArray": {
577
- "$schema": "https://json-schema.org/draft/2020-12/schema",
578
- "type": "array",
579
- "$anchor": "RoleBindingArray",
580
- "items": {
581
- "$ref": "#/$defs/ResourceRoleIdentity"
582
557
  }
583
558
  },
584
559
  "ResourceIdentity": {
560
+ "$anchor": "ResourceIdentity",
585
561
  "$schema": "https://json-schema.org/draft/2020-12/schema",
586
562
  "type": "string",
587
- "$anchor": "ResourceIdentity",
588
563
  "pattern": "^RESOURCE-.+$"
589
564
  },
590
565
  "ResourceTypeIdentity": {
566
+ "$anchor": "ResourceTypeIdentity",
591
567
  "$schema": "https://json-schema.org/draft/2020-12/schema",
592
568
  "type": "string",
593
- "$anchor": "ResourceTypeIdentity",
594
569
  "pattern": "^TYPE-.+$"
595
570
  },
596
571
  "ResourceKind": {
572
+ "$anchor": "ResourceKind",
597
573
  "$schema": "https://json-schema.org/draft/2020-12/schema",
598
574
  "type": "string",
599
- "$anchor": "ResourceKind",
600
575
  "enum": [
601
576
  "missing",
602
577
  "input-potential",
@@ -605,35 +580,36 @@
605
580
  ]
606
581
  },
607
582
  "CreationContext": {
583
+ "$anchor": "CreationContext",
608
584
  "$schema": "https://json-schema.org/draft/2020-12/schema",
609
585
  "type": "object",
586
+ "required": [
587
+ "resourceRoleHandle",
588
+ "jobStepHandle"
589
+ ],
610
590
  "properties": {
611
- "jobRunHandle": {
612
- "$ref": "#/$defs/JobRunIdentity"
613
- },
614
591
  "resourceRoleHandle": {
615
592
  "$ref": "#/$defs/ResourceRoleIdentity"
593
+ },
594
+ "jobStepHandle": {
595
+ "$ref": "#/$defs/JobStepIdentity"
616
596
  }
617
- },
618
- "required": [
619
- "resourceRoleHandle",
620
- "jobRunHandle"
621
- ],
622
- "$anchor": "CreationContext"
597
+ }
623
598
  },
624
599
  "Timestamp": {
600
+ "$anchor": "Timestamp",
625
601
  "$schema": "https://json-schema.org/draft/2020-12/schema",
626
602
  "type": "string",
627
- "$anchor": "Timestamp",
628
603
  "format": "date-time"
629
604
  },
630
605
  "Path": {
606
+ "$anchor": "Path",
631
607
  "$schema": "https://json-schema.org/draft/2020-12/schema",
632
608
  "type": "string",
633
- "$anchor": "Path",
634
609
  "format": "uri-reference"
635
610
  },
636
611
  "JsonData": {
612
+ "$anchor": "JsonData",
637
613
  "$schema": "https://json-schema.org/draft/2020-12/schema",
638
614
  "oneOf": [
639
615
  {
@@ -660,8 +636,7 @@
660
636
  "$ref": "#/$defs/JsonData"
661
637
  }
662
638
  }
663
- ],
664
- "$anchor": "JsonData"
639
+ ]
665
640
  }
666
641
  }
667
642
  }