@toolproof-core/schema 1.0.0 → 1.0.1

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 (78) 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 +8 -8
  18. package/src/Genesis.json +44 -87
  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_Job.d.ts +3 -0
  31. package/src/generated/types/standalone/Resource_RawStrategy.d.ts +3 -0
  32. package/src/generated/types/standalone/Resource_ResourceType.d.ts +3 -0
  33. package/src/generated/types/standalone/Resource_RunnableStrategy.d.ts +3 -0
  34. package/src/generated/types/types.d.ts +487 -548
  35. package/src/generated/types/types.js +1 -1
  36. package/src/scripts/_lib/config.ts +42 -18
  37. package/src/scripts/extractSchemasFromResourceTypeShells.ts +218 -0
  38. package/src/scripts/generateDependencies.ts +2 -2
  39. package/src/scripts/generateSchemaShims.ts +24 -4
  40. package/src/scripts/{extractSubSchemaWithDefs.ts → generateStandaloneSchema.ts} +13 -34
  41. package/src/scripts/{generateResourceTypeType.ts → generateStandaloneType.ts} +23 -14
  42. package/src/scripts/generateTypes.ts +1 -1
  43. package/src/scripts/{rewriteAnchors.ts → normalizeAnchorsToPointers.ts} +3 -3
  44. package/src/scripts/{generateResourceShells.ts → wrapResourceTypesWithResourceShells.ts} +13 -34
  45. package/dist/generated/types/Resource_Genesis.d.ts +0 -3
  46. package/dist/generated/types/Resource_Job.d.ts +0 -3
  47. package/dist/generated/types/Resource_RawStrategy.d.ts +0 -3
  48. package/dist/generated/types/Resource_ResourceType.d.ts +0 -3
  49. package/dist/generated/types/Resource_RunnableStrategy.d.ts +0 -3
  50. package/src/Roadmap.json +0 -102
  51. package/src/generated/types/Resource_Genesis.d.ts +0 -3
  52. package/src/generated/types/Resource_Job.d.ts +0 -3
  53. package/src/generated/types/Resource_RawStrategy.d.ts +0 -3
  54. package/src/generated/types/Resource_ResourceType.d.ts +0 -3
  55. package/src/generated/types/Resource_RunnableStrategy.d.ts +0 -3
  56. package/src/scripts/extractSchemas.ts +0 -229
  57. /package/dist/generated/types/{Resource_Genesis.js → standalone/Resource_Genesis.js} +0 -0
  58. /package/dist/generated/types/{Resource_Job.js → standalone/Resource_Job.js} +0 -0
  59. /package/dist/generated/types/{Resource_RawStrategy.js → standalone/Resource_RawStrategy.js} +0 -0
  60. /package/dist/generated/types/{Resource_ResourceType.js → standalone/Resource_ResourceType.js} +0 -0
  61. /package/dist/generated/types/{Resource_RunnableStrategy.js → standalone/Resource_RunnableStrategy.js} +0 -0
  62. /package/dist/scripts/{extractSchemas.d.ts → extractSchemasFromResourceTypeShells.d.ts} +0 -0
  63. /package/dist/scripts/{extractSubSchemaWithDefs.d.ts → generateStandaloneSchema.d.ts} +0 -0
  64. /package/dist/scripts/{generateResourceShells.d.ts → generateStandaloneType.d.ts} +0 -0
  65. /package/dist/scripts/{generateResourceTypeType.d.ts → normalizeAnchorsToPointers.d.ts} +0 -0
  66. /package/dist/scripts/{rewriteAnchors.d.ts → wrapResourceTypesWithResourceShells.d.ts} +0 -0
  67. /package/src/generated/{resourceTypes → normalized}/Genesis.ts +0 -0
  68. /package/src/generated/schemas/{Goal.ts → standalone/Goal.ts} +0 -0
  69. /package/src/generated/schemas/{Job.ts → standalone/Job.ts} +0 -0
  70. /package/src/generated/schemas/{RawStrategy.ts → standalone/RawStrategy.ts} +0 -0
  71. /package/src/generated/schemas/{ResourceType.ts → standalone/ResourceType.ts} +0 -0
  72. /package/src/generated/schemas/{RunnableStrategy.ts → standalone/RunnableStrategy.ts} +0 -0
  73. /package/src/generated/schemas/{StrategyRun.ts → standalone/StrategyRun.ts} +0 -0
  74. /package/src/generated/types/{Resource_Genesis.js → standalone/Resource_Genesis.js} +0 -0
  75. /package/src/generated/types/{Resource_Job.js → standalone/Resource_Job.js} +0 -0
  76. /package/src/generated/types/{Resource_RawStrategy.js → standalone/Resource_RawStrategy.js} +0 -0
  77. /package/src/generated/types/{Resource_ResourceType.js → standalone/Resource_ResourceType.js} +0 -0
  78. /package/src/generated/types/{Resource_RunnableStrategy.js → standalone/Resource_RunnableStrategy.js} +0 -0
@@ -1,10 +1,21 @@
1
1
  {
2
+ "$anchor": "StrategyRun",
2
3
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
4
  "type": "object",
5
+ "required": [
6
+ "identity",
7
+ "runnableStrategyHandle",
8
+ "recordedAt",
9
+ "runEvents"
10
+ ],
4
11
  "properties": {
5
12
  "identity": {
6
13
  "$ref": "#/$defs/StrategyRunIdentity"
7
14
  },
15
+ "runnableStrategyHandle": {
16
+ "$comment": "Could be derived from the first event but useful for indexing.",
17
+ "$ref": "#/$defs/RunnableStrategyIdentity"
18
+ },
8
19
  "recordedAt": {
9
20
  "$ref": "#/$defs/Timestamp"
10
21
  },
@@ -13,34 +24,30 @@
13
24
  "items": {
14
25
  "$ref": "#/$defs/RunEvent"
15
26
  }
16
- },
17
- "runnableStrategyHandle": {
18
- "$comment": "Could be derived from the first event but useful for indexing.",
19
- "$ref": "#/$defs/RunnableStrategyIdentity"
20
27
  }
21
28
  },
22
- "required": [
23
- "identity",
24
- "runnableStrategyHandle",
25
- "recordedAt",
26
- "runEvents"
27
- ],
28
29
  "unevaluatedProperties": false,
29
- "$anchor": "StrategyRun",
30
30
  "$defs": {
31
31
  "StrategyRunIdentity": {
32
+ "$anchor": "StrategyRunIdentity",
32
33
  "$schema": "https://json-schema.org/draft/2020-12/schema",
33
34
  "type": "string",
34
- "$anchor": "StrategyRunIdentity",
35
35
  "pattern": "^STRATEGY_RUN-.+$"
36
36
  },
37
- "Timestamp": {
37
+ "RunnableStrategyIdentity": {
38
+ "$anchor": "RunnableStrategyIdentity",
38
39
  "$schema": "https://json-schema.org/draft/2020-12/schema",
39
40
  "type": "string",
41
+ "pattern": "^RUNNABLE_STRATEGY-.+$"
42
+ },
43
+ "Timestamp": {
40
44
  "$anchor": "Timestamp",
45
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
46
+ "type": "string",
41
47
  "format": "date-time"
42
48
  },
43
49
  "RunEvent": {
50
+ "$anchor": "RunEvent",
44
51
  "$schema": "https://json-schema.org/draft/2020-12/schema",
45
52
  "type": "object",
46
53
  "oneOf": [
@@ -56,16 +63,10 @@
56
63
  {
57
64
  "$ref": "#/$defs/GraphEndRunEvent"
58
65
  }
59
- ],
60
- "$anchor": "RunEvent"
61
- },
62
- "RunnableStrategyIdentity": {
63
- "$schema": "https://json-schema.org/draft/2020-12/schema",
64
- "type": "string",
65
- "$anchor": "RunnableStrategyIdentity",
66
- "pattern": "^RUNNABLE_STRATEGY-.+$"
66
+ ]
67
67
  },
68
68
  "GraphStartRunEvent": {
69
+ "$anchor": "GraphStartRunEvent",
69
70
  "$schema": "https://json-schema.org/draft/2020-12/schema",
70
71
  "allOf": [
71
72
  {
@@ -73,6 +74,9 @@
73
74
  },
74
75
  {
75
76
  "type": "object",
77
+ "required": [
78
+ "runnableStrategySeed"
79
+ ],
76
80
  "properties": {
77
81
  "runEventKind": {
78
82
  "const": "graph_start"
@@ -80,15 +84,12 @@
80
84
  "runnableStrategySeed": {
81
85
  "$ref": "#/$defs/RunnableStrategy"
82
86
  }
83
- },
84
- "required": [
85
- "runnableStrategySeed"
86
- ]
87
+ }
87
88
  }
88
- ],
89
- "$anchor": "GraphStartRunEvent"
89
+ ]
90
90
  },
91
91
  "TickRunEvent": {
92
+ "$anchor": "TickRunEvent",
92
93
  "$schema": "https://json-schema.org/draft/2020-12/schema",
93
94
  "allOf": [
94
95
  {
@@ -102,10 +103,10 @@
102
103
  }
103
104
  }
104
105
  }
105
- ],
106
- "$anchor": "TickRunEvent"
106
+ ]
107
107
  },
108
108
  "InterruptRunEvent": {
109
+ "$anchor": "InterruptRunEvent",
109
110
  "$schema": "https://json-schema.org/draft/2020-12/schema",
110
111
  "allOf": [
111
112
  {
@@ -119,10 +120,10 @@
119
120
  }
120
121
  }
121
122
  }
122
- ],
123
- "$anchor": "InterruptRunEvent"
123
+ ]
124
124
  },
125
125
  "GraphEndRunEvent": {
126
+ "$anchor": "GraphEndRunEvent",
126
127
  "$schema": "https://json-schema.org/draft/2020-12/schema",
127
128
  "allOf": [
128
129
  {
@@ -136,63 +137,57 @@
136
137
  }
137
138
  }
138
139
  }
139
- ],
140
- "$anchor": "GraphEndRunEvent"
140
+ ]
141
141
  },
142
142
  "RunEventBase": {
143
+ "$anchor": "RunEventBase",
143
144
  "$schema": "https://json-schema.org/draft/2020-12/schema",
144
145
  "type": "object",
146
+ "required": [
147
+ "runEventKind",
148
+ "runnableStrategyHandle",
149
+ "strategyThreadHandle",
150
+ "createdAt",
151
+ "nodeName",
152
+ "eventSeq"
153
+ ],
145
154
  "properties": {
146
- "counters": {
147
- "$ref": "#/$defs/RunEventCounters"
155
+ "runEventKind": {
156
+ "$ref": "#/$defs/RunEventKind"
157
+ },
158
+ "runnableStrategyHandle": {
159
+ "$ref": "#/$defs/RunnableStrategyIdentity"
160
+ },
161
+ "strategyThreadHandle": {
162
+ "$ref": "#/$defs/StrategyThreadIdentity"
148
163
  },
149
164
  "createdAt": {
150
165
  "$ref": "#/$defs/Timestamp"
151
166
  },
152
- "eventSeq": {
153
- "type": "integer"
154
- },
155
167
  "nodeName": {
156
168
  "type": "string"
157
169
  },
158
- "runEventKind": {
159
- "$ref": "#/$defs/RunEventKind"
170
+ "eventSeq": {
171
+ "type": "integer"
160
172
  },
161
- "runnableStrategyHandle": {
162
- "$ref": "#/$defs/RunnableStrategyIdentity"
173
+ "counters": {
174
+ "$ref": "#/$defs/RunEventCounters"
163
175
  },
164
176
  "stepMetadata": {
165
177
  "$ref": "#/$defs/RunEventStepMetadata"
166
178
  },
167
- "strategyThreadHandle": {
168
- "$ref": "#/$defs/StrategyThreadIdentity"
169
- },
170
179
  "updates": {
171
180
  "$ref": "#/$defs/RunEventUpdates"
172
181
  }
173
- },
174
- "required": [
175
- "runEventKind",
176
- "runnableStrategyHandle",
177
- "strategyThreadHandle",
178
- "createdAt",
179
- "nodeName",
180
- "eventSeq"
181
- ],
182
- "$anchor": "RunEventBase"
182
+ }
183
183
  },
184
184
  "RunnableStrategy": {
185
+ "$anchor": "RunnableStrategy",
185
186
  "$schema": "https://json-schema.org/draft/2020-12/schema",
186
187
  "type": "object",
187
- "allOf": [
188
- {
189
- "$comment": "The Engine runs jobs specified by steps in strategyThreadMap. The Engine also injects repeted steps when encountering loops.",
190
- "$ref": "#/$defs/StrategyThreadMapFacet"
191
- },
192
- {
193
- "$comment": "The Engine updates strategyState with materialized Resources upon job completions and runtime-provided input events. It also inserts input-potential and output-potential Resources upon step injections.",
194
- "$ref": "#/$defs/StrategyStateFacet"
195
- }
188
+ "required": [
189
+ "identity",
190
+ "runnableStrategyContext"
196
191
  ],
197
192
  "properties": {
198
193
  "identity": {
@@ -202,30 +197,22 @@
202
197
  "$ref": "#/$defs/RunnableStrategyContext"
203
198
  }
204
199
  },
205
- "required": [
206
- "identity",
207
- "runnableStrategyContext"
208
- ],
209
- "unevaluatedProperties": false,
210
- "$anchor": "RunnableStrategy"
211
- },
212
- "RunEventCounters": {
213
- "$schema": "https://json-schema.org/draft/2020-12/schema",
214
- "type": "object",
215
- "properties": {
216
- "iterationCounterAfter": {
217
- "type": "integer"
200
+ "allOf": [
201
+ {
202
+ "$comment": "The Engine runs jobs specified by steps in strategyThreadMap. The Engine also injects repeted steps when encountering loops.",
203
+ "$ref": "#/$defs/StrategyThreadMapFacet"
218
204
  },
219
- "stepCounterAfter": {
220
- "type": "integer"
205
+ {
206
+ "$comment": "The Engine updates strategyState with materialized Resources upon job completions and runtime-provided input events. It also inserts input-potential and output-potential Resources upon step injections.",
207
+ "$ref": "#/$defs/StrategyStateFacet"
221
208
  }
222
- },
223
- "$anchor": "RunEventCounters"
209
+ ],
210
+ "unevaluatedProperties": false
224
211
  },
225
212
  "RunEventKind": {
213
+ "$anchor": "RunEventKind",
226
214
  "$schema": "https://json-schema.org/draft/2020-12/schema",
227
215
  "type": "string",
228
- "$anchor": "RunEventKind",
229
216
  "enum": [
230
217
  "graph_start",
231
218
  "tick",
@@ -233,16 +220,35 @@
233
220
  "graph_end"
234
221
  ]
235
222
  },
236
- "RunEventStepMetadata": {
223
+ "StrategyThreadIdentity": {
224
+ "$anchor": "StrategyThreadIdentity",
225
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
226
+ "type": "string",
227
+ "pattern": "^STRATEGY_THREAD-.+$"
228
+ },
229
+ "RunEventCounters": {
230
+ "$anchor": "RunEventCounters",
237
231
  "$schema": "https://json-schema.org/draft/2020-12/schema",
238
232
  "type": "object",
239
233
  "properties": {
240
- "jobHandle": {
241
- "$ref": "#/$defs/JobIdentity"
242
- },
243
- "jobRunHandle": {
244
- "$ref": "#/$defs/JobRunIdentity"
234
+ "stepCounterAfter": {
235
+ "type": "integer"
245
236
  },
237
+ "iterationCounterAfter": {
238
+ "type": "integer"
239
+ }
240
+ }
241
+ },
242
+ "RunEventStepMetadata": {
243
+ "$anchor": "RunEventStepMetadata",
244
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
245
+ "type": "object",
246
+ "required": [
247
+ "stepHandle",
248
+ "stepKind",
249
+ "threadStepIndex"
250
+ ],
251
+ "properties": {
246
252
  "stepHandle": {
247
253
  "$ref": "#/$defs/StepIdentity"
248
254
  },
@@ -252,38 +258,19 @@
252
258
  "threadStepIndex": {
253
259
  "type": "integer"
254
260
  }
255
- },
256
- "required": [
257
- "stepHandle",
258
- "stepKind",
259
- "threadStepIndex"
260
- ],
261
- "$anchor": "RunEventStepMetadata"
262
- },
263
- "StrategyThreadIdentity": {
264
- "$schema": "https://json-schema.org/draft/2020-12/schema",
265
- "type": "string",
266
- "$anchor": "StrategyThreadIdentity",
267
- "pattern": "^STRATEGY_THREAD-.+$"
261
+ }
268
262
  },
269
263
  "RunEventUpdates": {
264
+ "$anchor": "RunEventUpdates",
270
265
  "$schema": "https://json-schema.org/draft/2020-12/schema",
271
266
  "type": "object",
272
- "allOf": [
273
- {
274
- "$ref": "#/$defs/StrategyStateDelta"
275
- }
276
- ],
277
267
  "properties": {
278
- "interruptData": {
279
- "type": [
280
- "object",
281
- "null"
282
- ],
283
- "$comment": "Kept permissive; the engine may evolve interrupt payloads."
284
- },
285
268
  "stepsMutation": {
286
269
  "type": "object",
270
+ "required": [
271
+ "insertAt",
272
+ "inserted"
273
+ ],
287
274
  "properties": {
288
275
  "insertAt": {
289
276
  "type": "integer"
@@ -291,74 +278,70 @@
291
278
  "inserted": {
292
279
  "$ref": "#/$defs/StepArray"
293
280
  }
294
- },
295
- "required": [
296
- "insertAt",
297
- "inserted"
281
+ }
282
+ },
283
+ "interruptData": {
284
+ "$comment": "Kept permissive; the engine may evolve interrupt payloads.",
285
+ "type": [
286
+ "object",
287
+ "null"
298
288
  ]
299
289
  }
300
290
  },
301
- "$anchor": "RunEventUpdates"
291
+ "allOf": [
292
+ {
293
+ "$ref": "#/$defs/StrategyStateDelta"
294
+ }
295
+ ]
302
296
  },
303
- "StrategyThreadMapFacet": {
297
+ "RunnableStrategyContext": {
298
+ "$anchor": "RunnableStrategyContext",
304
299
  "$schema": "https://json-schema.org/draft/2020-12/schema",
305
300
  "type": "object",
301
+ "required": [
302
+ "status"
303
+ ],
306
304
  "properties": {
307
- "strategyThreadMap": {
308
- "$ref": "#/$defs/StrategyThreadMap"
305
+ "status": {
306
+ "$ref": "#/$defs/RunnableStrategyStatus"
307
+ },
308
+ "startedAt": {
309
+ "$ref": "#/$defs/Timestamp"
310
+ },
311
+ "completedAt": {
312
+ "$ref": "#/$defs/Timestamp"
309
313
  }
310
314
  },
315
+ "unevaluatedProperties": false
316
+ },
317
+ "StrategyThreadMapFacet": {
318
+ "$anchor": "StrategyThreadMapFacet",
319
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
320
+ "type": "object",
311
321
  "required": [
312
322
  "strategyThreadMap"
313
323
  ],
314
- "$anchor": "StrategyThreadMapFacet"
324
+ "properties": {
325
+ "strategyThreadMap": {
326
+ "$ref": "#/$defs/StrategyThreadMap"
327
+ }
328
+ }
315
329
  },
316
330
  "StrategyStateFacet": {
331
+ "$anchor": "StrategyStateFacet",
317
332
  "$schema": "https://json-schema.org/draft/2020-12/schema",
318
333
  "type": "object",
319
- "properties": {
320
- "strategyState": {
321
- "$ref": "#/$defs/StrategyState"
322
- }
323
- },
324
334
  "required": [
325
335
  "strategyState"
326
336
  ],
327
- "$anchor": "StrategyStateFacet"
328
- },
329
- "RunnableStrategyContext": {
330
- "$schema": "https://json-schema.org/draft/2020-12/schema",
331
- "type": "object",
332
337
  "properties": {
333
- "completedAt": {
334
- "$ref": "#/$defs/Timestamp"
335
- },
336
- "startedAt": {
337
- "$ref": "#/$defs/Timestamp"
338
- },
339
- "status": {
340
- "$ref": "#/$defs/RunnableStrategyStatus"
338
+ "strategyState": {
339
+ "$ref": "#/$defs/StrategyState"
341
340
  }
342
- },
343
- "required": [
344
- "status"
345
- ],
346
- "unevaluatedProperties": false,
347
- "$anchor": "RunnableStrategyContext"
348
- },
349
- "JobIdentity": {
350
- "$schema": "https://json-schema.org/draft/2020-12/schema",
351
- "type": "string",
352
- "$anchor": "JobIdentity",
353
- "pattern": "^JOB-.+$"
354
- },
355
- "JobRunIdentity": {
356
- "$schema": "https://json-schema.org/draft/2020-12/schema",
357
- "type": "string",
358
- "$anchor": "JobRunIdentity",
359
- "pattern": "^JobRun-.+$"
341
+ }
360
342
  },
361
343
  "StepIdentity": {
344
+ "$anchor": "StepIdentity",
362
345
  "$schema": "https://json-schema.org/draft/2020-12/schema",
363
346
  "type": "object",
364
347
  "oneOf": [
@@ -374,13 +357,12 @@
374
357
  {
375
358
  "$ref": "#/$defs/ForStepIdentity"
376
359
  }
377
- ],
378
- "$anchor": "StepIdentity"
360
+ ]
379
361
  },
380
362
  "StepKind": {
363
+ "$anchor": "StepKind",
381
364
  "$schema": "https://json-schema.org/draft/2020-12/schema",
382
365
  "type": "string",
383
- "$anchor": "StepKind",
384
366
  "enum": [
385
367
  "job",
386
368
  "branch",
@@ -388,55 +370,32 @@
388
370
  "for"
389
371
  ]
390
372
  },
391
- "StrategyStateDelta": {
392
- "$schema": "https://json-schema.org/draft/2020-12/schema",
393
- "type": "object",
394
- "properties": {
395
- "strategyStateUpdate": {
396
- "$ref": "#/$defs/StrategyState"
397
- }
398
- },
399
- "required": [
400
- "strategyStateUpdate"
401
- ],
402
- "$anchor": "StrategyStateDelta"
403
- },
404
373
  "StepArray": {
374
+ "$anchor": "StepArray",
405
375
  "$schema": "https://json-schema.org/draft/2020-12/schema",
406
376
  "type": "array",
407
- "$anchor": "StepArray",
408
377
  "items": {
409
378
  "$ref": "#/$defs/Step"
410
379
  },
411
380
  "uniqueItems": true
412
381
  },
413
- "StrategyThreadMap": {
414
- "$schema": "https://json-schema.org/draft/2020-12/schema",
415
- "type": "object",
416
- "additionalProperties": {
417
- "$ref": "#/$defs/StepArray"
418
- },
419
- "$anchor": "StrategyThreadMap",
420
- "$comment": "Each thread contains an array of steps, allowing for sequential execution within a thread while supporting parallel execution across multiple threads.",
421
- "propertyNames": {
422
- "$ref": "#/$defs/StrategyThreadIdentity"
423
- }
424
- },
425
- "StrategyState": {
382
+ "StrategyStateDelta": {
383
+ "$anchor": "StrategyStateDelta",
426
384
  "$schema": "https://json-schema.org/draft/2020-12/schema",
427
385
  "type": "object",
428
- "additionalProperties": {
429
- "$ref": "#/$defs/JobRunSocket"
430
- },
431
- "$anchor": "StrategyState",
432
- "propertyNames": {
433
- "$ref": "#/$defs/JobRunIdentity"
386
+ "required": [
387
+ "strategyStateUpdate"
388
+ ],
389
+ "properties": {
390
+ "strategyStateUpdate": {
391
+ "$ref": "#/$defs/StrategyState"
392
+ }
434
393
  }
435
394
  },
436
395
  "RunnableStrategyStatus": {
396
+ "$anchor": "RunnableStrategyStatus",
437
397
  "$schema": "https://json-schema.org/draft/2020-12/schema",
438
398
  "type": "string",
439
- "$anchor": "RunnableStrategyStatus",
440
399
  "enum": [
441
400
  "pending",
442
401
  "running",
@@ -445,31 +404,55 @@
445
404
  "cancelled"
446
405
  ]
447
406
  },
407
+ "StrategyThreadMap": {
408
+ "$anchor": "StrategyThreadMap",
409
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
410
+ "type": "object",
411
+ "propertyNames": {
412
+ "$ref": "#/$defs/StrategyThreadIdentity"
413
+ },
414
+ "additionalProperties": {
415
+ "$ref": "#/$defs/StepArray"
416
+ },
417
+ "$comment": "Each thread contains an array of steps, allowing for sequential execution within a thread while supporting parallel execution across multiple threads."
418
+ },
419
+ "StrategyState": {
420
+ "$anchor": "StrategyState",
421
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
422
+ "type": "object",
423
+ "propertyNames": {
424
+ "$ref": "#/$defs/JobStepIdentity"
425
+ },
426
+ "additionalProperties": {
427
+ "$ref": "#/$defs/JobStepSocket"
428
+ }
429
+ },
448
430
  "JobStepIdentity": {
431
+ "$anchor": "JobStepIdentity",
449
432
  "$schema": "https://json-schema.org/draft/2020-12/schema",
450
433
  "type": "string",
451
- "$anchor": "JobStepIdentity",
452
- "pattern": "^JobStep-.+$"
434
+ "pattern": "^JOB_STEP-.+$"
453
435
  },
454
436
  "BranchStepIdentity": {
437
+ "$anchor": "BranchStepIdentity",
455
438
  "$schema": "https://json-schema.org/draft/2020-12/schema",
456
439
  "type": "string",
457
- "$anchor": "BranchStepIdentity",
458
- "pattern": "^BRANCHSTEP-.+$"
440
+ "pattern": "^BRANCH_STEP-.+$"
459
441
  },
460
442
  "WhileStepIdentity": {
443
+ "$anchor": "WhileStepIdentity",
461
444
  "$schema": "https://json-schema.org/draft/2020-12/schema",
462
445
  "type": "string",
463
- "$anchor": "WhileStepIdentity",
464
- "pattern": "^WHILESTEP-.+$"
446
+ "pattern": "^WHILE_STEP-.+$"
465
447
  },
466
448
  "ForStepIdentity": {
449
+ "$anchor": "ForStepIdentity",
467
450
  "$schema": "https://json-schema.org/draft/2020-12/schema",
468
451
  "type": "string",
469
- "$anchor": "ForStepIdentity",
470
- "pattern": "^FORSTEP-.+$"
452
+ "pattern": "^FOR_STEP-.+$"
471
453
  },
472
454
  "Step": {
455
+ "$anchor": "Step",
473
456
  "$schema": "https://json-schema.org/draft/2020-12/schema",
474
457
  "type": "object",
475
458
  "oneOf": [
@@ -486,54 +469,63 @@
486
469
  "$ref": "#/$defs/ForStep"
487
470
  }
488
471
  ],
489
- "unevaluatedProperties": false,
490
- "$anchor": "Step"
472
+ "unevaluatedProperties": false
491
473
  },
492
- "JobRunSocket": {
474
+ "JobStepSocket": {
475
+ "$anchor": "JobStepSocket",
493
476
  "$schema": "https://json-schema.org/draft/2020-12/schema",
494
477
  "type": "object",
495
- "additionalProperties": {
496
- "$ref": "#/$defs/Resource"
497
- },
498
- "$anchor": "JobRunSocket",
499
478
  "propertyNames": {
500
479
  "$ref": "#/$defs/ResourceRoleIdentity"
480
+ },
481
+ "additionalProperties": {
482
+ "$ref": "#/$defs/Resource"
501
483
  }
502
484
  },
503
485
  "JobStep": {
486
+ "$anchor": "JobStep",
504
487
  "$schema": "https://json-schema.org/draft/2020-12/schema",
505
488
  "type": "object",
506
- "allOf": [
507
- {
508
- "$ref": "#/$defs/StepKindFacet"
509
- }
489
+ "required": [
490
+ "identity",
491
+ "jobHandle"
510
492
  ],
511
493
  "properties": {
512
494
  "identity": {
513
495
  "$ref": "#/$defs/JobStepIdentity"
514
496
  },
515
- "jobRun": {
516
- "$ref": "#/$defs/JobRun"
517
- },
518
497
  "stepKind": {
519
498
  "const": "job"
499
+ },
500
+ "jobHandle": {
501
+ "$ref": "#/$defs/JobIdentity"
520
502
  }
521
503
  },
522
- "required": [
523
- "identity",
524
- "jobRun"
525
- ],
526
- "$anchor": "JobStep"
527
- },
528
- "BranchStep": {
529
- "$schema": "https://json-schema.org/draft/2020-12/schema",
530
- "type": "object",
531
504
  "allOf": [
532
505
  {
533
506
  "$ref": "#/$defs/StepKindFacet"
507
+ },
508
+ {
509
+ "$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
510
+ "$ref": "#/$defs/RoleBindingsFacet"
534
511
  }
512
+ ]
513
+ },
514
+ "BranchStep": {
515
+ "$anchor": "BranchStep",
516
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
517
+ "type": "object",
518
+ "required": [
519
+ "identity",
520
+ "cases"
535
521
  ],
536
522
  "properties": {
523
+ "identity": {
524
+ "$ref": "#/$defs/BranchStepIdentity"
525
+ },
526
+ "stepKind": {
527
+ "const": "branch"
528
+ },
537
529
  "cases": {
538
530
  "type": "array",
539
531
  "items": {
@@ -541,71 +533,72 @@
541
533
  },
542
534
  "minItems": 1,
543
535
  "uniqueItems": true
544
- },
545
- "identity": {
546
- "$ref": "#/$defs/BranchStepIdentity"
547
- },
548
- "stepKind": {
549
- "const": "branch"
550
536
  }
551
537
  },
552
- "required": [
553
- "identity",
554
- "cases"
555
- ],
556
- "$anchor": "BranchStep"
557
- },
558
- "WhileStep": {
559
- "$schema": "https://json-schema.org/draft/2020-12/schema",
560
- "type": "object",
561
538
  "allOf": [
562
539
  {
563
540
  "$ref": "#/$defs/StepKindFacet"
564
541
  }
542
+ ]
543
+ },
544
+ "WhileStep": {
545
+ "$anchor": "WhileStep",
546
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
547
+ "type": "object",
548
+ "required": [
549
+ "identity",
550
+ "case"
565
551
  ],
566
552
  "properties": {
567
- "case": {
568
- "$ref": "#/$defs/Conditional"
569
- },
570
553
  "identity": {
571
554
  "$ref": "#/$defs/WhileStepIdentity"
572
555
  },
573
556
  "stepKind": {
574
557
  "const": "while"
575
- }
576
- },
577
- "required": [
578
- "identity",
579
- "case"
580
- ],
581
- "$anchor": "WhileStep"
582
- },
583
- "ForStep": {
584
- "$schema": "https://json-schema.org/draft/2020-12/schema",
585
- "type": "object",
558
+ },
559
+ "case": {
560
+ "$ref": "#/$defs/Conditional"
561
+ }
562
+ },
586
563
  "allOf": [
587
564
  {
588
565
  "$ref": "#/$defs/StepKindFacet"
589
566
  }
567
+ ]
568
+ },
569
+ "ForStep": {
570
+ "$anchor": "ForStep",
571
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
572
+ "type": "object",
573
+ "required": [
574
+ "identity",
575
+ "case"
590
576
  ],
591
577
  "properties": {
592
- "case": {
593
- "$ref": "#/$defs/Conditional"
594
- },
595
578
  "identity": {
596
579
  "$ref": "#/$defs/ForStepIdentity"
597
580
  },
598
581
  "stepKind": {
599
582
  "const": "for"
583
+ },
584
+ "case": {
585
+ "$ref": "#/$defs/Conditional"
600
586
  }
601
587
  },
602
- "required": [
603
- "identity",
604
- "case"
605
- ],
606
- "$anchor": "ForStep"
588
+ "allOf": [
589
+ {
590
+ "$ref": "#/$defs/StepKindFacet"
591
+ }
592
+ ]
593
+ },
594
+ "ResourceRoleIdentity": {
595
+ "$anchor": "ResourceRoleIdentity",
596
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
597
+ "type": "string",
598
+ "pattern": "^ROLE-.+$"
607
599
  },
608
600
  "Resource": {
601
+ "$anchor": "Resource",
609
602
  "$schema": "https://json-schema.org/draft/2020-12/schema",
610
603
  "type": "object",
611
604
  "oneOf": [
@@ -622,91 +615,81 @@
622
615
  "$ref": "#/$defs/ResourceMaterialized"
623
616
  }
624
617
  ],
625
- "unevaluatedProperties": false,
626
- "$anchor": "Resource"
618
+ "unevaluatedProperties": false
627
619
  },
628
- "ResourceRoleIdentity": {
620
+ "JobIdentity": {
621
+ "$anchor": "JobIdentity",
629
622
  "$schema": "https://json-schema.org/draft/2020-12/schema",
630
623
  "type": "string",
631
- "$anchor": "ResourceRoleIdentity",
632
- "pattern": "^ROLE-.+$"
624
+ "pattern": "^JOB-.+$"
633
625
  },
634
626
  "StepKindFacet": {
627
+ "$anchor": "StepKindFacet",
635
628
  "$schema": "https://json-schema.org/draft/2020-12/schema",
636
629
  "type": "object",
630
+ "required": [
631
+ "stepKind"
632
+ ],
637
633
  "properties": {
638
634
  "stepKind": {
639
635
  "$ref": "#/$defs/StepKind"
640
636
  }
641
- },
642
- "required": [
643
- "stepKind"
644
- ],
645
- "$anchor": "StepKindFacet"
637
+ }
646
638
  },
647
- "JobRun": {
639
+ "RoleBindingsFacet": {
640
+ "$anchor": "RoleBindingsFacet",
648
641
  "$schema": "https://json-schema.org/draft/2020-12/schema",
649
642
  "type": "object",
650
- "allOf": [
651
- {
652
- "$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
653
- "$ref": "#/$defs/RoleBindingsFacet"
654
- }
643
+ "required": [
644
+ "roleBindings"
655
645
  ],
656
646
  "properties": {
657
- "identity": {
658
- "$ref": "#/$defs/JobRunIdentity"
659
- },
660
- "jobHandle": {
661
- "$ref": "#/$defs/JobIdentity"
647
+ "roleBindings": {
648
+ "$ref": "#/$defs/RoleBindings"
662
649
  }
663
- },
664
- "required": [
665
- "identity",
666
- "jobHandle"
667
- ],
668
- "$anchor": "JobRun"
650
+ }
669
651
  },
670
652
  "Conditional": {
653
+ "$anchor": "Conditional",
671
654
  "$schema": "https://json-schema.org/draft/2020-12/schema",
672
655
  "type": "object",
656
+ "required": [
657
+ "when",
658
+ "what"
659
+ ],
673
660
  "properties": {
674
- "what": {
661
+ "when": {
675
662
  "$ref": "#/$defs/JobStep"
676
663
  },
677
- "when": {
664
+ "what": {
678
665
  "$ref": "#/$defs/JobStep"
679
666
  }
680
667
  },
681
- "required": [
682
- "when",
683
- "what"
684
- ],
685
- "unevaluatedProperties": false,
686
- "$anchor": "Conditional"
668
+ "unevaluatedProperties": false
687
669
  },
688
670
  "ResourceMissing": {
671
+ "$anchor": "ResourceMissing",
689
672
  "$schema": "https://json-schema.org/draft/2020-12/schema",
690
673
  "type": "object",
691
- "unevaluatedProperties": false,
692
- "$anchor": "ResourceMissing",
693
- "$ref": "#/$defs/ShellMissing"
674
+ "$ref": "#/$defs/ShellMissing",
675
+ "unevaluatedProperties": false
694
676
  },
695
677
  "ResourceInputPotential": {
678
+ "$anchor": "ResourceInputPotential",
696
679
  "$schema": "https://json-schema.org/draft/2020-12/schema",
697
680
  "type": "object",
698
- "unevaluatedProperties": false,
699
- "$anchor": "ResourceInputPotential",
700
- "$ref": "#/$defs/ShellInputPotential"
681
+ "$ref": "#/$defs/ShellInputPotential",
682
+ "unevaluatedProperties": false
701
683
  },
702
684
  "ResourceOutputPotential": {
685
+ "$anchor": "ResourceOutputPotential",
703
686
  "$schema": "https://json-schema.org/draft/2020-12/schema",
704
687
  "type": "object",
705
- "unevaluatedProperties": false,
706
- "$anchor": "ResourceOutputPotential",
707
- "$ref": "#/$defs/ShellOutputPotential"
688
+ "$ref": "#/$defs/ShellOutputPotential",
689
+ "unevaluatedProperties": false
708
690
  },
709
691
  "ResourceMaterialized": {
692
+ "$anchor": "ResourceMaterialized",
710
693
  "$schema": "https://json-schema.org/draft/2020-12/schema",
711
694
  "type": "object",
712
695
  "allOf": [
@@ -718,25 +701,34 @@
718
701
  "$ref": "#/$defs/NucleusFacet"
719
702
  }
720
703
  ],
721
- "unevaluatedProperties": false,
722
- "$anchor": "ResourceMaterialized"
704
+ "unevaluatedProperties": false
723
705
  },
724
- "RoleBindingsFacet": {
706
+ "RoleBindings": {
707
+ "$anchor": "RoleBindings",
725
708
  "$schema": "https://json-schema.org/draft/2020-12/schema",
726
709
  "type": "object",
727
- "properties": {
728
- "roleBindings": {
729
- "$ref": "#/$defs/RoleBindings"
730
- }
731
- },
732
710
  "required": [
733
- "roleBindings"
711
+ "inputBindings",
712
+ "outputBindings"
734
713
  ],
735
- "$anchor": "RoleBindingsFacet"
714
+ "properties": {
715
+ "inputBindings": {
716
+ "$ref": "#/$defs/RoleBindingArray"
717
+ },
718
+ "outputBindings": {
719
+ "$ref": "#/$defs/RoleBindingArray"
720
+ }
721
+ }
736
722
  },
737
723
  "ShellMissing": {
724
+ "$anchor": "ShellMissing",
738
725
  "$schema": "https://json-schema.org/draft/2020-12/schema",
739
726
  "type": "object",
727
+ "properties": {
728
+ "resourceKind": {
729
+ "const": "missing"
730
+ }
731
+ },
740
732
  "allOf": [
741
733
  {
742
734
  "$ref": "#/$defs/ResourceBase"
@@ -745,17 +737,17 @@
745
737
  "$ref": "#/$defs/ResourceKindFacet"
746
738
  }
747
739
  ],
748
- "properties": {
749
- "resourceKind": {
750
- "const": "missing"
751
- }
752
- },
753
- "unevaluatedProperties": false,
754
- "$anchor": "ShellMissing"
740
+ "unevaluatedProperties": false
755
741
  },
756
742
  "ShellInputPotential": {
743
+ "$anchor": "ShellInputPotential",
757
744
  "$schema": "https://json-schema.org/draft/2020-12/schema",
758
745
  "type": "object",
746
+ "properties": {
747
+ "resourceKind": {
748
+ "const": "input-potential"
749
+ }
750
+ },
759
751
  "allOf": [
760
752
  {
761
753
  "$ref": "#/$defs/ResourceBase"
@@ -767,17 +759,17 @@
767
759
  "$ref": "#/$defs/ResourceKindFacet"
768
760
  }
769
761
  ],
770
- "properties": {
771
- "resourceKind": {
772
- "const": "input-potential"
773
- }
774
- },
775
- "unevaluatedProperties": false,
776
- "$anchor": "ShellInputPotential"
762
+ "unevaluatedProperties": false
777
763
  },
778
764
  "ShellOutputPotential": {
765
+ "$anchor": "ShellOutputPotential",
779
766
  "$schema": "https://json-schema.org/draft/2020-12/schema",
780
767
  "type": "object",
768
+ "properties": {
769
+ "resourceKind": {
770
+ "const": "output-potential"
771
+ }
772
+ },
781
773
  "allOf": [
782
774
  {
783
775
  "$ref": "#/$defs/ResourceBase"
@@ -789,17 +781,23 @@
789
781
  "$ref": "#/$defs/ResourceKindFacet"
790
782
  }
791
783
  ],
792
- "properties": {
793
- "resourceKind": {
794
- "const": "output-potential"
795
- }
796
- },
797
- "unevaluatedProperties": false,
798
- "$anchor": "ShellOutputPotential"
784
+ "unevaluatedProperties": false
799
785
  },
800
786
  "ShellMaterializedBase": {
787
+ "$anchor": "ShellMaterializedBase",
801
788
  "$schema": "https://json-schema.org/draft/2020-12/schema",
802
789
  "type": "object",
790
+ "required": [
791
+ "version"
792
+ ],
793
+ "properties": {
794
+ "version": {
795
+ "const": 1
796
+ },
797
+ "resourceKind": {
798
+ "const": "materialized"
799
+ }
800
+ },
803
801
  "allOf": [
804
802
  {
805
803
  "$ref": "#/$defs/ResourceBase"
@@ -816,53 +814,37 @@
816
814
  {
817
815
  "$ref": "#/$defs/PathFacet"
818
816
  }
819
- ],
820
- "properties": {
821
- "resourceKind": {
822
- "const": "materialized"
823
- },
824
- "version": {
825
- "const": 1
826
- }
827
- },
828
- "required": [
829
- "version"
830
- ],
831
- "$anchor": "ShellMaterializedBase"
817
+ ]
832
818
  },
833
819
  "NucleusFacet": {
820
+ "$anchor": "NucleusFacet",
834
821
  "$schema": "https://json-schema.org/draft/2020-12/schema",
835
822
  "type": "object",
823
+ "required": [
824
+ "nucleus"
825
+ ],
836
826
  "properties": {
837
827
  "nucleus": {
838
828
  "$ref": "#/$defs/Nucleus"
839
829
  }
840
- },
841
- "required": [
842
- "nucleus"
843
- ],
844
- "$anchor": "NucleusFacet"
830
+ }
845
831
  },
846
- "RoleBindings": {
832
+ "RoleBindingArray": {
833
+ "$anchor": "RoleBindingArray",
847
834
  "$schema": "https://json-schema.org/draft/2020-12/schema",
848
- "type": "object",
849
- "properties": {
850
- "inputBindings": {
851
- "$ref": "#/$defs/RoleBindingArray"
852
- },
853
- "outputBindings": {
854
- "$ref": "#/$defs/RoleBindingArray"
855
- }
856
- },
857
- "required": [
858
- "inputBindings",
859
- "outputBindings"
860
- ],
861
- "$anchor": "RoleBindings"
835
+ "type": "array",
836
+ "items": {
837
+ "$ref": "#/$defs/ResourceRoleIdentity"
838
+ }
862
839
  },
863
840
  "ResourceBase": {
841
+ "$anchor": "ResourceBase",
864
842
  "$schema": "https://json-schema.org/draft/2020-12/schema",
865
843
  "type": "object",
844
+ "required": [
845
+ "identity",
846
+ "resourceTypeHandle"
847
+ ],
866
848
  "properties": {
867
849
  "identity": {
868
850
  "$ref": "#/$defs/ResourceIdentity"
@@ -870,97 +852,84 @@
870
852
  "resourceTypeHandle": {
871
853
  "$ref": "#/$defs/ResourceTypeIdentity"
872
854
  }
873
- },
874
- "required": [
875
- "identity",
876
- "resourceTypeHandle"
877
- ],
878
- "$anchor": "ResourceBase"
855
+ }
879
856
  },
880
857
  "ResourceKindFacet": {
858
+ "$anchor": "ResourceKindFacet",
881
859
  "$schema": "https://json-schema.org/draft/2020-12/schema",
882
860
  "type": "object",
861
+ "required": [
862
+ "resourceKind"
863
+ ],
883
864
  "properties": {
884
865
  "resourceKind": {
885
866
  "$ref": "#/$defs/ResourceKind"
886
867
  }
887
- },
888
- "required": [
889
- "resourceKind"
890
- ],
891
- "$anchor": "ResourceKindFacet"
868
+ }
892
869
  },
893
870
  "CreationContextFacet": {
871
+ "$anchor": "CreationContextFacet",
894
872
  "$schema": "https://json-schema.org/draft/2020-12/schema",
895
873
  "type": "object",
874
+ "required": [
875
+ "creationContext"
876
+ ],
896
877
  "properties": {
897
878
  "creationContext": {
898
879
  "$ref": "#/$defs/CreationContext"
899
880
  }
900
- },
901
- "required": [
902
- "creationContext"
903
- ],
904
- "$anchor": "CreationContextFacet"
881
+ }
905
882
  },
906
883
  "TimestampFacet": {
884
+ "$anchor": "TimestampFacet",
907
885
  "$schema": "https://json-schema.org/draft/2020-12/schema",
908
886
  "type": "object",
887
+ "required": [
888
+ "timestamp"
889
+ ],
909
890
  "properties": {
910
891
  "timestamp": {
911
892
  "$ref": "#/$defs/Timestamp"
912
893
  }
913
- },
914
- "required": [
915
- "timestamp"
916
- ],
917
- "$anchor": "TimestampFacet"
894
+ }
918
895
  },
919
896
  "PathFacet": {
897
+ "$anchor": "PathFacet",
920
898
  "$schema": "https://json-schema.org/draft/2020-12/schema",
921
899
  "type": "object",
900
+ "required": [
901
+ "path"
902
+ ],
922
903
  "properties": {
923
904
  "path": {
924
905
  "$ref": "#/$defs/Path"
925
906
  }
926
- },
927
- "required": [
928
- "path"
929
- ],
930
- "$anchor": "PathFacet"
907
+ }
931
908
  },
932
909
  "Nucleus": {
910
+ "$anchor": "Nucleus",
933
911
  "$schema": "https://json-schema.org/draft/2020-12/schema",
934
912
  "type": "object",
935
913
  "additionalProperties": {
936
914
  "$ref": "#/$defs/JsonData"
937
- },
938
- "$anchor": "Nucleus"
939
- },
940
- "RoleBindingArray": {
941
- "$schema": "https://json-schema.org/draft/2020-12/schema",
942
- "type": "array",
943
- "$anchor": "RoleBindingArray",
944
- "items": {
945
- "$ref": "#/$defs/ResourceRoleIdentity"
946
915
  }
947
916
  },
948
917
  "ResourceIdentity": {
918
+ "$anchor": "ResourceIdentity",
949
919
  "$schema": "https://json-schema.org/draft/2020-12/schema",
950
920
  "type": "string",
951
- "$anchor": "ResourceIdentity",
952
921
  "pattern": "^RESOURCE-.+$"
953
922
  },
954
923
  "ResourceTypeIdentity": {
924
+ "$anchor": "ResourceTypeIdentity",
955
925
  "$schema": "https://json-schema.org/draft/2020-12/schema",
956
926
  "type": "string",
957
- "$anchor": "ResourceTypeIdentity",
958
927
  "pattern": "^TYPE-.+$"
959
928
  },
960
929
  "ResourceKind": {
930
+ "$anchor": "ResourceKind",
961
931
  "$schema": "https://json-schema.org/draft/2020-12/schema",
962
932
  "type": "string",
963
- "$anchor": "ResourceKind",
964
933
  "enum": [
965
934
  "missing",
966
935
  "input-potential",
@@ -969,29 +938,30 @@
969
938
  ]
970
939
  },
971
940
  "CreationContext": {
941
+ "$anchor": "CreationContext",
972
942
  "$schema": "https://json-schema.org/draft/2020-12/schema",
973
943
  "type": "object",
944
+ "required": [
945
+ "resourceRoleHandle",
946
+ "jobStepHandle"
947
+ ],
974
948
  "properties": {
975
- "jobRunHandle": {
976
- "$ref": "#/$defs/JobRunIdentity"
977
- },
978
949
  "resourceRoleHandle": {
979
950
  "$ref": "#/$defs/ResourceRoleIdentity"
951
+ },
952
+ "jobStepHandle": {
953
+ "$ref": "#/$defs/JobStepIdentity"
980
954
  }
981
- },
982
- "required": [
983
- "resourceRoleHandle",
984
- "jobRunHandle"
985
- ],
986
- "$anchor": "CreationContext"
955
+ }
987
956
  },
988
957
  "Path": {
958
+ "$anchor": "Path",
989
959
  "$schema": "https://json-schema.org/draft/2020-12/schema",
990
960
  "type": "string",
991
- "$anchor": "Path",
992
961
  "format": "uri-reference"
993
962
  },
994
963
  "JsonData": {
964
+ "$anchor": "JsonData",
995
965
  "$schema": "https://json-schema.org/draft/2020-12/schema",
996
966
  "oneOf": [
997
967
  {
@@ -1018,8 +988,7 @@
1018
988
  "$ref": "#/$defs/JsonData"
1019
989
  }
1020
990
  }
1021
- ],
1022
- "$anchor": "JsonData"
991
+ ]
1023
992
  }
1024
993
  }
1025
994
  }