@toolproof-npm/schema 0.1.81 → 0.1.82

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