@toolproof-core/schema 1.0.2 → 1.0.4

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