@toolproof-core/schema 1.0.2 → 1.0.3

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