@toolproof-npm/schema 0.1.81 → 0.1.83

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 (28) hide show
  1. package/dist/genesis/generated/dependencies_ordered.json +69 -21
  2. package/dist/genesis/generated/resourceTypes/Genesis.json +46 -76
  3. package/dist/genesis/generated/resources/Genesis.json +56 -96
  4. package/dist/genesis/generated/schemas/Genesis.json +104 -128
  5. package/dist/genesis/generated/schemas/RunRecording.d.ts +2 -0
  6. package/dist/genesis/generated/schemas/RunRecording.js +2 -0
  7. package/dist/genesis/generated/schemas/RunRecording.json +998 -0
  8. package/dist/genesis/generated/schemas/RunnableStrategy.d.ts +2 -0
  9. package/dist/genesis/generated/schemas/RunnableStrategy.js +2 -0
  10. package/dist/genesis/generated/schemas/{StrategyRun.json → RunnableStrategy.json} +21 -23
  11. package/dist/genesis/generated/schemas/StatefulStrategy.json +0 -2
  12. package/dist/genesis/generated/terminals.json +2 -1
  13. package/dist/genesis/generated/types/ResourceTypeGenesis.d.ts +5 -6
  14. package/dist/genesis/generated/types/Resource_RunnableStrategy.d.ts +3 -0
  15. package/dist/genesis/generated/types/types.d.ts +661 -209
  16. package/dist/index.d.ts +4 -3
  17. package/dist/index.js +2 -1
  18. package/package.json +2 -2
  19. package/dist/genesis/generated/resource-envelopes/Genesis.d.ts +0 -2
  20. package/dist/genesis/generated/resource-envelopes/Genesis.js +0 -2
  21. package/dist/genesis/generated/resource-envelopes/Genesis.json +0 -2337
  22. package/dist/genesis/generated/resource-type-envelopes/Genesis.d.ts +0 -2
  23. package/dist/genesis/generated/resource-type-envelopes/Genesis.js +0 -2
  24. package/dist/genesis/generated/resource-type-envelopes/Genesis.json +0 -1757
  25. package/dist/genesis/generated/schemas/StrategyRun.d.ts +0 -2
  26. package/dist/genesis/generated/schemas/StrategyRun.js +0 -2
  27. package/dist/genesis/generated/types/Resource_StrategyRun.d.ts +0 -3
  28. /package/dist/genesis/generated/types/{Resource_StrategyRun.js → Resource_RunnableStrategy.js} +0 -0
@@ -1,1757 +0,0 @@
1
- {
2
- "identity": "TYPE-Genesis",
3
- "name": "Genesis",
4
- "description": "dummy-description",
5
- "resourceFormatRef": "FORMAT-ApplicationJson",
6
- "extractionSchema": {
7
- "$comment": "This schema defines all genesis schemas used throughout the Toolproof ecosystem. The genesis schemas themselves are defined in $defs.<ResourceType>.extractionSchema. The build process (via extractSchemas.js) extracts these schemas and writes them to a separate file (genesis/generated/schemas/Genesis.json). The reason for this indirection is to have all these schema envelopes validate positively against the schema at $defs/ResourceType, effectively making them ResourceTypes, which are first-class citizens in the Toolproof ecosystem.",
8
- "$id": "https://schemas.toolproof.com/v0/Genesis.json",
9
- "$schema": "https://json-schema.org/draft/2020-12/schema",
10
- "$defs": {
11
- "Named": {
12
- "identity": "TYPE-Named",
13
- "name": "Named",
14
- "description": "dummy-description",
15
- "resourceFormatRef": "FORMAT-ApplicationJson",
16
- "extractionSchema": {
17
- "$anchor": "Named",
18
- "$schema": "https://json-schema.org/draft/2020-12/schema",
19
- "type": "object",
20
- "required": [
21
- "name"
22
- ],
23
- "properties": {
24
- "name": {
25
- "type": "string",
26
- "minLength": 1,
27
- "pattern": "^(?:[A-Z].*|[a-z]+/[a-z0-9.+-]+)$",
28
- "$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
29
- "semanticValidation": "Ajv custom keyword to verify name."
30
- }
31
- }
32
- }
33
- },
34
- "Described": {
35
- "identity": "TYPE-Described",
36
- "name": "Described",
37
- "description": "dummy-description",
38
- "resourceFormatRef": "FORMAT-ApplicationJson",
39
- "extractionSchema": {
40
- "$anchor": "Described",
41
- "$schema": "https://json-schema.org/draft/2020-12/schema",
42
- "type": "object",
43
- "required": [
44
- "description"
45
- ],
46
- "properties": {
47
- "description": {
48
- "type": "string",
49
- "minLength": 1,
50
- "$comment": "Validation is intercepted by an AI Agent that verifies the description against Toolproof's documentation standards.",
51
- "semanticValidation": "Ajv custom keyword to verify description."
52
- }
53
- }
54
- }
55
- },
56
- "Documented": {
57
- "identity": "TYPE-Documented",
58
- "name": "Documented",
59
- "description": "dummy-description",
60
- "resourceFormatRef": "FORMAT-ApplicationJson",
61
- "extractionSchema": {
62
- "$anchor": "Documented",
63
- "$schema": "https://json-schema.org/draft/2020-12/schema",
64
- "type": "object",
65
- "allOf": [
66
- {
67
- "$ref": "#/$defs/Named"
68
- },
69
- {
70
- "$ref": "#/$defs/Described"
71
- }
72
- ]
73
- }
74
- },
75
- "IdentitySchemaRef": {
76
- "identity": "TYPE-IdentitySchemaRef",
77
- "name": "IdentitySchemaRef",
78
- "description": "dummy-description",
79
- "resourceFormatRef": "FORMAT-ApplicationJson",
80
- "extractionSchema": {
81
- "$anchor": "IdentitySchemaRef",
82
- "$schema": "https://json-schema.org/draft/2020-12/schema",
83
- "type": "object",
84
- "required": [
85
- "$ref"
86
- ],
87
- "properties": {
88
- "$ref": {
89
- "type": "string",
90
- "$comment": "Supports both anchor syntax (#<Name>Identity) and JSON Pointer syntax (#/path/to/definition). Anchors use #<Name>Identity for identity refs. Top-level and nested $defs should expose an $anchor matching <Name>Identity.",
91
- "pattern": "^#([A-Za-z][A-Za-z0-9._-]*Identity|/.*)$"
92
- }
93
- },
94
- "additionalProperties": false
95
- }
96
- },
97
- "IdentitySchema": {
98
- "identity": "TYPE-IdentitySchema",
99
- "name": "IdentitySchema",
100
- "description": "dummy-description",
101
- "resourceFormatRef": "FORMAT-ApplicationJson",
102
- "extractionSchema": {
103
- "$anchor": "IdentitySchema",
104
- "$schema": "https://json-schema.org/draft/2020-12/schema",
105
- "type": "object",
106
- "required": [
107
- "type"
108
- ],
109
- "properties": {
110
- "$anchor": {
111
- "type": "string",
112
- "pattern": "^[A-Za-z][A-Za-z0-9._-]*Identity$"
113
- },
114
- "$schema": {
115
- "const": "https://json-schema.org/draft/2020-12/schema"
116
- },
117
- "$comment": {
118
- "type": "string"
119
- },
120
- "type": {
121
- "enum": [
122
- "string",
123
- "number",
124
- "integer",
125
- "boolean"
126
- ]
127
- },
128
- "pattern": {
129
- "type": "string"
130
- },
131
- "format": {
132
- "type": "string"
133
- },
134
- "minLength": {
135
- "type": "integer",
136
- "minimum": 0
137
- },
138
- "maxLength": {
139
- "type": "integer",
140
- "minimum": 0
141
- },
142
- "enum": {
143
- "type": "array",
144
- "minItems": 1,
145
- "uniqueItems": true
146
- }
147
- },
148
- "allOf": [
149
- {
150
- "if": {
151
- "properties": {
152
- "type": {
153
- "const": "string"
154
- }
155
- }
156
- },
157
- "then": {
158
- "properties": {
159
- "enum": {
160
- "items": {
161
- "type": "string"
162
- }
163
- }
164
- }
165
- },
166
- "else": {
167
- "not": {
168
- "anyOf": [
169
- {
170
- "required": [
171
- "pattern"
172
- ]
173
- },
174
- {
175
- "required": [
176
- "format"
177
- ]
178
- },
179
- {
180
- "required": [
181
- "minLength"
182
- ]
183
- },
184
- {
185
- "required": [
186
- "maxLength"
187
- ]
188
- }
189
- ]
190
- }
191
- }
192
- },
193
- {
194
- "if": {
195
- "properties": {
196
- "type": {
197
- "const": "number"
198
- }
199
- }
200
- },
201
- "then": {
202
- "properties": {
203
- "enum": {
204
- "items": {
205
- "type": "number"
206
- }
207
- }
208
- }
209
- }
210
- },
211
- {
212
- "if": {
213
- "properties": {
214
- "type": {
215
- "const": "integer"
216
- }
217
- }
218
- },
219
- "then": {
220
- "properties": {
221
- "enum": {
222
- "items": {
223
- "type": "integer"
224
- }
225
- }
226
- }
227
- }
228
- },
229
- {
230
- "if": {
231
- "properties": {
232
- "type": {
233
- "const": "boolean"
234
- }
235
- }
236
- },
237
- "then": {
238
- "properties": {
239
- "enum": {
240
- "items": {
241
- "type": "boolean"
242
- }
243
- }
244
- }
245
- }
246
- }
247
- ],
248
- "additionalProperties": false
249
- }
250
- },
251
- "IdentityProp": {
252
- "identity": "TYPE-IdentityProp",
253
- "name": "IdentityProp",
254
- "description": "dummy-description",
255
- "resourceFormatRef": "FORMAT-ApplicationJson",
256
- "extractionSchema": {
257
- "$anchor": "IdentityProp",
258
- "$schema": "https://json-schema.org/draft/2020-12/schema",
259
- "type": "object",
260
- "required": [
261
- "$defs",
262
- "required",
263
- "properties"
264
- ],
265
- "properties": {
266
- "$defs": {
267
- "type": "object",
268
- "patternProperties": {
269
- "^[A-Za-z][A-Za-z0-9._-]*Identity$": {
270
- "$ref": "#/$defs/IdentitySchema"
271
- }
272
- },
273
- "$comment": "Ajv-specific: patternRequired enforces at least one Identity-like key in this $defs block when identity is present.",
274
- "patternRequired": [
275
- "^[A-Za-z][A-Za-z0-9._-]*Identity$"
276
- ],
277
- "minProperties": 1,
278
- "additionalProperties": true
279
- },
280
- "required": {
281
- "type": "array",
282
- "items": {
283
- "type": "string"
284
- },
285
- "uniqueItems": true,
286
- "contains": {
287
- "const": "identity"
288
- }
289
- },
290
- "properties": {
291
- "type": "object",
292
- "required": [
293
- "identity"
294
- ],
295
- "properties": {
296
- "identity": {
297
- "$ref": "#/$defs/IdentitySchemaRef"
298
- }
299
- }
300
- }
301
- }
302
- }
303
- },
304
- "MeritSchemaRef": {
305
- "identity": "TYPE-MeritSchemaRef",
306
- "name": "MeritSchemaRef",
307
- "description": "dummy-description",
308
- "resourceFormatRef": "FORMAT-ApplicationJson",
309
- "extractionSchema": {
310
- "$anchor": "MeritSchemaRef",
311
- "$schema": "https://json-schema.org/draft/2020-12/schema",
312
- "type": "object",
313
- "required": [
314
- "$ref"
315
- ],
316
- "properties": {
317
- "$ref": {
318
- "type": "string",
319
- "$comment": "Supports both anchor syntax (#<Name>Merit) and JSON Pointer syntax (#/path/to/definition). Anchors use #<Name>Merit for merit refs. Top-level and nested $defs should expose an $anchor matching <Name>Merit.",
320
- "pattern": "^#([A-Za-z][A-Za-z0-9._-]*Merit|/.*)$"
321
- }
322
- },
323
- "additionalProperties": false
324
- }
325
- },
326
- "MeritSchema": {
327
- "identity": "TYPE-MeritSchema",
328
- "name": "MeritSchema",
329
- "description": "dummy-description",
330
- "resourceFormatRef": "FORMAT-ApplicationJson",
331
- "extractionSchema": {
332
- "$anchor": "MeritSchema",
333
- "$schema": "https://json-schema.org/draft/2020-12/schema",
334
- "type": "object",
335
- "properties": {
336
- "$anchor": {
337
- "type": "string",
338
- "pattern": "^[A-Za-z][A-Za-z0-9._-]*Merit$"
339
- },
340
- "$schema": {
341
- "const": "https://json-schema.org/draft/2020-12/schema"
342
- },
343
- "$comment": {
344
- "type": "string"
345
- },
346
- "type": {
347
- "enum": [
348
- "number",
349
- "integer"
350
- ]
351
- },
352
- "enum": {
353
- "type": "array",
354
- "items": {
355
- "type": "number"
356
- },
357
- "minItems": 1,
358
- "uniqueItems": true
359
- },
360
- "minimum": {
361
- "type": "number"
362
- },
363
- "maximum": {
364
- "type": "number"
365
- },
366
- "exclusiveMinimum": {
367
- "type": "number"
368
- },
369
- "exclusiveMaximum": {
370
- "type": "number"
371
- },
372
- "multipleOf": {
373
- "type": "number",
374
- "exclusiveMinimum": 0
375
- }
376
- },
377
- "oneOf": [
378
- {
379
- "required": [
380
- "type"
381
- ],
382
- "properties": {
383
- "type": {
384
- "enum": [
385
- "number",
386
- "integer"
387
- ]
388
- }
389
- }
390
- },
391
- {
392
- "required": [
393
- "enum"
394
- ],
395
- "properties": {
396
- "enum": {
397
- "type": "array",
398
- "items": {
399
- "type": "number"
400
- },
401
- "minItems": 1
402
- }
403
- }
404
- }
405
- ],
406
- "allOf": [
407
- {
408
- "$comment": "Numeric constraints (minimum/maximum/etc) only make sense when using the explicit type form; the enum-only form is allowed for simple enumerations.",
409
- "if": {
410
- "required": [
411
- "type"
412
- ]
413
- },
414
- "then": {},
415
- "else": {
416
- "not": {
417
- "anyOf": [
418
- {
419
- "required": [
420
- "minimum"
421
- ]
422
- },
423
- {
424
- "required": [
425
- "maximum"
426
- ]
427
- },
428
- {
429
- "required": [
430
- "exclusiveMinimum"
431
- ]
432
- },
433
- {
434
- "required": [
435
- "exclusiveMaximum"
436
- ]
437
- },
438
- {
439
- "required": [
440
- "multipleOf"
441
- ]
442
- }
443
- ]
444
- }
445
- }
446
- }
447
- ],
448
- "additionalProperties": false
449
- }
450
- },
451
- "MeritProp": {
452
- "identity": "TYPE-MeritProp",
453
- "name": "MeritProp",
454
- "resourceFormatRef": "FORMAT-ApplicationJson",
455
- "extractionSchema": {
456
- "$anchor": "MeritProp",
457
- "$schema": "https://json-schema.org/draft/2020-12/schema",
458
- "type": "object",
459
- "required": [
460
- "$defs",
461
- "required",
462
- "properties"
463
- ],
464
- "properties": {
465
- "$defs": {
466
- "type": "object",
467
- "patternProperties": {
468
- "^[A-Za-z][A-Za-z0-9._-]*Merit$": {
469
- "$ref": "#/$defs/MeritSchema"
470
- }
471
- },
472
- "$comment": "Ajv-specific: patternRequired enforces at least one Merit-like key in this $defs block when merit is present.",
473
- "patternRequired": [
474
- "^[A-Za-z][A-Za-z0-9._-]*Merit$"
475
- ],
476
- "minProperties": 1,
477
- "additionalProperties": true
478
- },
479
- "required": {
480
- "type": "array",
481
- "items": {
482
- "type": "string"
483
- },
484
- "uniqueItems": true
485
- },
486
- "properties": {
487
- "type": "object",
488
- "required": [
489
- "merit"
490
- ],
491
- "properties": {
492
- "merit": {
493
- "$ref": "#/$defs/MeritSchemaRef"
494
- }
495
- }
496
- }
497
- }
498
- }
499
- },
500
- "ExtractionSchema": {
501
- "identity": "TYPE-ExtractionSchema",
502
- "name": "ExtractionSchema",
503
- "description": "dummy-description",
504
- "resourceFormatRef": "FORMAT-ApplicationJson",
505
- "extractionSchema": {
506
- "$anchor": "ExtractionSchema",
507
- "$schema": "https://json-schema.org/draft/2020-12/schema",
508
- "type": "object",
509
- "required": [
510
- "$schema",
511
- "$anchor",
512
- "type"
513
- ],
514
- "properties": {
515
- "$anchor": {
516
- "type": "string",
517
- "pattern": "^[A-Za-z][A-Za-z0-9._-]*$"
518
- },
519
- "$schema": {
520
- "const": "https://json-schema.org/draft/2020-12/schema"
521
- },
522
- "$defs": {
523
- "type": "object"
524
- },
525
- "type": {
526
- "const": "object"
527
- },
528
- "required": {
529
- "type": "array",
530
- "items": {
531
- "type": "string"
532
- },
533
- "uniqueItems": true
534
- },
535
- "properties": {
536
- "$schema": "https://json-schema.org/draft/2020-12/schema",
537
- "type": "object"
538
- },
539
- "allOf": {
540
- "type": "array",
541
- "items": {
542
- "type": "object"
543
- }
544
- },
545
- "additionalProperties": {
546
- "const": false
547
- },
548
- "unevaluatedProperties": {
549
- "const": false
550
- }
551
- },
552
- "allOf": [
553
- {
554
- "if": {
555
- "anyOf": [
556
- {
557
- "properties": {
558
- "properties": {
559
- "type": "object",
560
- "required": [
561
- "identity"
562
- ],
563
- "properties": {
564
- "identity": {}
565
- }
566
- }
567
- }
568
- },
569
- {
570
- "properties": {
571
- "required": {
572
- "type": "array",
573
- "contains": {
574
- "const": "identity"
575
- }
576
- }
577
- }
578
- }
579
- ]
580
- },
581
- "then": {
582
- "$ref": "#/$defs/IdentityProp"
583
- }
584
- },
585
- {
586
- "if": {
587
- "anyOf": [
588
- {
589
- "properties": {
590
- "properties": {
591
- "type": "object",
592
- "required": [
593
- "merit"
594
- ],
595
- "properties": {
596
- "merit": {}
597
- }
598
- }
599
- }
600
- },
601
- {
602
- "properties": {
603
- "required": {
604
- "type": "array",
605
- "contains": {
606
- "const": "merit"
607
- }
608
- }
609
- }
610
- }
611
- ]
612
- },
613
- "then": {
614
- "$ref": "#/$defs/MeritProp"
615
- }
616
- },
617
- {
618
- "oneOf": [
619
- {
620
- "required": [
621
- "additionalProperties"
622
- ]
623
- },
624
- {
625
- "required": [
626
- "unevaluatedProperties"
627
- ]
628
- }
629
- ]
630
- }
631
- ],
632
- "unevaluatedProperties": false
633
- }
634
- },
635
- "ExtractionSchemaWrapper": {
636
- "identity": "TYPE-ExtractionSchemaWrapper",
637
- "name": "ExtractionSchemaWrapper",
638
- "description": "dummy-description",
639
- "resourceFormatRef": "FORMAT-ApplicationJson",
640
- "extractionSchema": {
641
- "$anchor": "ExtractionSchemaWrapper",
642
- "$schema": "https://json-schema.org/draft/2020-12/schema",
643
- "type": "object",
644
- "required": [
645
- "extractionSchema"
646
- ],
647
- "properties": {
648
- "extractionSchema": {
649
- "$ref": "#/$defs/ExtractionSchema"
650
- }
651
- }
652
- }
653
- },
654
- "ResourceFormatIdentity": {
655
- "identity": "TYPE-ResourceFormatIdentity",
656
- "name": "ResourceFormatIdentity",
657
- "description": "dummy-description",
658
- "resourceFormatIdentity": "FORMAT-ApplicationJson",
659
- "extractionSchema": {
660
- "$anchor": "ResourceFormatIdentity",
661
- "$schema": "https://json-schema.org/draft/2020-12/schema",
662
- "type": "string",
663
- "pattern": "^FORMAT-.+$"
664
- }
665
- },
666
- "ResourceTypeIdentity": {
667
- "identity": "TYPE-ResourceTypeIdentity",
668
- "name": "ResourceTypeIdentity",
669
- "description": "dummy-description",
670
- "resourceFormatRef": "FORMAT-ApplicationJson",
671
- "extractionSchema": {
672
- "$anchor": "ResourceTypeIdentity",
673
- "$schema": "https://json-schema.org/draft/2020-12/schema",
674
- "type": "string",
675
- "pattern": "^TYPE-.+$"
676
- }
677
- },
678
- "ResourceType": {
679
- "identity": "TYPE-ResourceType",
680
- "name": "ResourceType",
681
- "description": "dummy-description",
682
- "resourceFormatRef": "FORMAT-ApplicationJson",
683
- "extractionSchema": {
684
- "$anchor": "ResourceType",
685
- "$schema": "https://json-schema.org/draft/2020-12/schema",
686
- "type": "object",
687
- "required": [
688
- "identity",
689
- "resourceFormatRef"
690
- ],
691
- "properties": {
692
- "identity": {
693
- "$ref": "#/$defs/ResourceTypeIdentity"
694
- },
695
- "resourceFormatRef": {
696
- "$ref": "#/$defs/ResourceFormatIdentity"
697
- }
698
- },
699
- "allOf": [
700
- {
701
- "$ref": "#/$defs/Documented"
702
- },
703
- {
704
- "$ref": "#/$defs/ExtractionSchemaWrapper"
705
- },
706
- {
707
- "if": {
708
- "$comment": "If resourceFormatRef is FORMAT-ApplicationJson, then extractorUri must not be present, but if resourceFormatRef is not FORMAT-ApplicationJson, then extractorUri must be present. This is because resources of types with format FORMAT-ApplicationJson are self-contained and do not need an extractor.",
709
- "properties": {
710
- "resourceFormatRef": {
711
- "const": "FORMAT-ApplicationJson"
712
- }
713
- }
714
- },
715
- "then": {
716
- "not": {
717
- "required": [
718
- "extractorUri"
719
- ]
720
- }
721
- },
722
- "else": {
723
- "type": "object",
724
- "required": [
725
- "extractorUri"
726
- ],
727
- "properties": {
728
- "extractorUri": {
729
- "type": "string",
730
- "format": "uri"
731
- }
732
- }
733
- }
734
- }
735
- ]
736
- }
737
- },
738
- "ResourceFormat": {
739
- "identity": "TYPE-ResourceFormat",
740
- "name": "ResourceFormat",
741
- "description": "dummy-description",
742
- "resourceFormatRef": "FORMAT-ApplicationJson",
743
- "extractionSchema": {
744
- "$anchor": "ResourceFormat",
745
- "$schema": "https://json-schema.org/draft/2020-12/schema",
746
- "type": "object",
747
- "required": [
748
- "identity"
749
- ],
750
- "properties": {
751
- "identity": {
752
- "$ref": "#/$defs/ResourceFormatIdentity"
753
- }
754
- },
755
- "allOf": [
756
- {
757
- "$ref": "#/$defs/Documented"
758
- }
759
- ]
760
- }
761
- },
762
- "ResourceRoleIdentity": {
763
- "identity": "TYPE-ResourceRoleIdentity",
764
- "name": "ResourceRoleIdentity",
765
- "description": "dummy-description",
766
- "resourceFormatRef": "FORMAT-ApplicationJson",
767
- "extractionSchema": {
768
- "$anchor": "ResourceRoleIdentity",
769
- "$schema": "https://json-schema.org/draft/2020-12/schema",
770
- "type": "string",
771
- "pattern": "^ROLE-.+$"
772
- }
773
- },
774
- "ResourceIdentity": {
775
- "identity": "TYPE-ResourceIdentity",
776
- "name": "ResourceIdentity",
777
- "description": "dummy-description",
778
- "resourceFormatRef": "FORMAT-ApplicationJson",
779
- "extractionSchema": {
780
- "$anchor": "ResourceIdentity",
781
- "$schema": "https://json-schema.org/draft/2020-12/schema",
782
- "type": "string",
783
- "$comment": "",
784
- "pattern": "^RESOURCE-.+$"
785
- }
786
- },
787
- "ResourceRoleValue": {
788
- "identity": "TYPE-ResourceRoleValue",
789
- "name": "ResourceRoleValue",
790
- "description": "dummy-description",
791
- "resourceFormatRef": "FORMAT-ApplicationJson",
792
- "extractionSchema": {
793
- "$anchor": "ResourceRoleValue",
794
- "$schema": "https://json-schema.org/draft/2020-12/schema",
795
- "type": "object",
796
- "allOf": [
797
- {
798
- "$comment": "A ResourceRole does not have a self-contained identity, as it is always defined in the context of a RoleMap. ResourceRoleValue uses the Value suffix to mean 'the value stored in this map' (RoleMap.additionalProperties).",
799
- "required": [
800
- "resourceTypeRef"
801
- ],
802
- "properties": {
803
- "resourceTypeRef": {
804
- "$ref": "#/$defs/ResourceTypeIdentity"
805
- }
806
- }
807
- },
808
- {
809
- "$ref": "#/$defs/Documented"
810
- }
811
- ]
812
- }
813
- },
814
- "RoleMap": {
815
- "identity": "TYPE-RoleMap",
816
- "name": "RoleMap",
817
- "description": "dummy-description",
818
- "resourceFormatRef": "FORMAT-ApplicationJson",
819
- "extractionSchema": {
820
- "$anchor": "RoleMap",
821
- "$schema": "https://json-schema.org/draft/2020-12/schema",
822
- "type": "object",
823
- "propertyNames": {
824
- "$ref": "#/$defs/ResourceRoleIdentity"
825
- },
826
- "additionalProperties": {
827
- "$ref": "#/$defs/ResourceRoleValue"
828
- }
829
- }
830
- },
831
- "Roles": {
832
- "identity": "TYPE-Roles",
833
- "name": "Roles",
834
- "description": "dummy-description",
835
- "resourceFormatRef": "FORMAT-ApplicationJson",
836
- "extractionSchema": {
837
- "$anchor": "Roles",
838
- "$schema": "https://json-schema.org/draft/2020-12/schema",
839
- "type": "object",
840
- "required": [
841
- "inputMap",
842
- "outputMap"
843
- ],
844
- "properties": {
845
- "inputMap": {
846
- "$ref": "#/$defs/RoleMap"
847
- },
848
- "outputMap": {
849
- "$ref": "#/$defs/RoleMap"
850
- }
851
- },
852
- "unevaluatedProperties": false
853
- }
854
- },
855
- "RolesWrapper": {
856
- "identity": "TYPE-RolesWrapper",
857
- "name": "RolesWrapper",
858
- "description": "dummy-description",
859
- "resourceFormatRef": "FORMAT-ApplicationJson",
860
- "extractionSchema": {
861
- "$anchor": "RolesWrapper",
862
- "$schema": "https://json-schema.org/draft/2020-12/schema",
863
- "type": "object",
864
- "required": [
865
- "roles"
866
- ],
867
- "properties": {
868
- "roles": {
869
- "$ref": "#/$defs/Roles"
870
- }
871
- }
872
- }
873
- },
874
- "JobIdentity": {
875
- "identity": "TYPE-JobIdentity",
876
- "name": "JobIdentity",
877
- "description": "dummy-description",
878
- "resourceFormatRef": "FORMAT-ApplicationJson",
879
- "extractionSchema": {
880
- "$anchor": "JobIdentity",
881
- "$schema": "https://json-schema.org/draft/2020-12/schema",
882
- "type": "string",
883
- "$comment": "",
884
- "pattern": "^JOB-.+$"
885
- }
886
- },
887
- "Job": {
888
- "identity": "TYPE-Job",
889
- "name": "Job",
890
- "description": "dummy-description",
891
- "resourceFormatRef": "FORMAT-ApplicationJob",
892
- "extractorUri": "https://extractors.toolproof.com/v0/JobExtractor.js",
893
- "extractionSchema": {
894
- "$anchor": "Job",
895
- "$schema": "https://json-schema.org/draft/2020-12/schema",
896
- "type": "object",
897
- "required": [
898
- "identity",
899
- "implementationUri"
900
- ],
901
- "properties": {
902
- "identity": {
903
- "$ref": "#/$defs/JobIdentity"
904
- },
905
- "implementationUri": {
906
- "type": "string",
907
- "format": "uri"
908
- }
909
- },
910
- "allOf": [
911
- {
912
- "$ref": "#/$defs/Documented"
913
- },
914
- {
915
- "$ref": "#/$defs/RolesWrapper"
916
- }
917
- ],
918
- "unevaluatedProperties": false
919
- }
920
- },
921
- "RoleBindingMap": {
922
- "identity": "TYPE-RoleBindingMap",
923
- "name": "RoleBindingMap",
924
- "description": "dummy-description",
925
- "resourceFormatRef": "FORMAT-ApplicationJson",
926
- "extractionSchema": {
927
- "$anchor": "RoleBindingMap",
928
- "$schema": "https://json-schema.org/draft/2020-12/schema",
929
- "type": "object",
930
- "propertyNames": {
931
- "$ref": "#/$defs/ResourceRoleIdentity"
932
- },
933
- "additionalProperties": {
934
- "$ref": "#/$defs/ResourceIdentity"
935
- }
936
- }
937
- },
938
- "RoleBindings": {
939
- "identity": "TYPE-RoleBindings",
940
- "name": "RoleBindings",
941
- "description": "dummy-description",
942
- "resourceFormatRef": "FORMAT-ApplicationJson",
943
- "extractionSchema": {
944
- "$anchor": "RoleBindings",
945
- "$schema": "https://json-schema.org/draft/2020-12/schema",
946
- "type": "object",
947
- "required": [
948
- "inputBindingMap",
949
- "outputBindingMap"
950
- ],
951
- "properties": {
952
- "inputBindingMap": {
953
- "$ref": "#/$defs/RoleBindingMap"
954
- },
955
- "outputBindingMap": {
956
- "$ref": "#/$defs/RoleBindingMap"
957
- }
958
- },
959
- "unevaluatedProperties": false
960
- }
961
- },
962
- "RoleBindingsWrapper": {
963
- "identity": "TYPE-RoleBindingsWrapper",
964
- "name": "RoleBindingsWrapper",
965
- "description": "dummy-description",
966
- "resourceFormatRef": "FORMAT-ApplicationJson",
967
- "extractionSchema": {
968
- "$anchor": "RoleBindingsWrapper",
969
- "$schema": "https://json-schema.org/draft/2020-12/schema",
970
- "type": "object",
971
- "required": [
972
- "roleBindings"
973
- ],
974
- "properties": {
975
- "roleBindings": {
976
- "$ref": "#/$defs/RoleBindings"
977
- }
978
- }
979
- }
980
- },
981
- "CreationContext": {
982
- "identity": "TYPE-CreationContext",
983
- "name": "CreationContext",
984
- "description": "dummy-description",
985
- "resourceFormatRef": "FORMAT-ApplicationJson",
986
- "extractionSchema": {
987
- "$anchor": "CreationContext",
988
- "$schema": "https://json-schema.org/draft/2020-12/schema",
989
- "type": "object",
990
- "required": [
991
- "resourceRoleRef",
992
- "executionRef"
993
- ],
994
- "properties": {
995
- "resourceRoleRef": {
996
- "$ref": "#/$defs/ResourceRoleIdentity"
997
- },
998
- "executionRef": {
999
- "$ref": "#/$defs/ExecutionIdentity"
1000
- }
1001
- }
1002
- }
1003
- },
1004
- "CreationContextWrapper": {
1005
- "identity": "TYPE-CreationContextWrapper",
1006
- "name": "CreationContextWrapper",
1007
- "description": "dummy-description",
1008
- "resourceFormatRef": "FORMAT-ApplicationJson",
1009
- "extractionSchema": {
1010
- "$anchor": "CreationContextWrapper",
1011
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1012
- "type": "object",
1013
- "required": [
1014
- "creationContext"
1015
- ],
1016
- "properties": {
1017
- "creationContext": {
1018
- "$ref": "#/$defs/CreationContext"
1019
- }
1020
- }
1021
- }
1022
- },
1023
- "ResourceBase": {
1024
- "identity": "TYPE-ResourceBase",
1025
- "name": "ResourceBase",
1026
- "description": "dummy-description",
1027
- "resourceFormatRef": "FORMAT-ApplicationJson",
1028
- "extractionSchema": {
1029
- "$anchor": "ResourceBase",
1030
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1031
- "type": "object",
1032
- "required": [
1033
- "identity",
1034
- "resourceTypeRef"
1035
- ],
1036
- "properties": {
1037
- "identity": {
1038
- "$ref": "#/$defs/ResourceIdentity"
1039
- },
1040
- "resourceTypeRef": {
1041
- "$ref": "#/$defs/ResourceTypeIdentity"
1042
- }
1043
- }
1044
- }
1045
- },
1046
- "ResourceKind": {
1047
- "identity": "TYPE-ResourceKind",
1048
- "name": "ResourceKind",
1049
- "description": "dummy-description",
1050
- "resourceFormatRef": "FORMAT-ApplicationJson",
1051
- "extractionSchema": {
1052
- "$anchor": "ResourceKind",
1053
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1054
- "type": "object",
1055
- "required": [
1056
- "kind"
1057
- ],
1058
- "properties": {
1059
- "kind": {
1060
- "enum": [
1061
- "missing",
1062
- "potential-input",
1063
- "potential-output",
1064
- "materialized"
1065
- ]
1066
- }
1067
- }
1068
- }
1069
- },
1070
- "ResourceMissing": {
1071
- "identity": "TYPE-ResourceMissing",
1072
- "name": "ResourceMissing",
1073
- "description": "dummy-description",
1074
- "resourceFormatRef": "FORMAT-ApplicationJson",
1075
- "extractionSchema": {
1076
- "$anchor": "ResourceMissing",
1077
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1078
- "type": "object",
1079
- "allOf": [
1080
- {
1081
- "$ref": "#/$defs/ResourceBase"
1082
- },
1083
- {
1084
- "$ref": "#/$defs/ResourceKind"
1085
- },
1086
- {
1087
- "required": [
1088
- "kind"
1089
- ],
1090
- "properties": {
1091
- "kind": {
1092
- "const": "missing"
1093
- }
1094
- }
1095
- }
1096
- ],
1097
- "unevaluatedProperties": false
1098
- }
1099
- },
1100
- "ResourcePotentialInput": {
1101
- "identity": "TYPE-ResourcePotentialInput",
1102
- "name": "ResourcePotentialInput",
1103
- "description": "dummy-description",
1104
- "resourceFormatRef": "FORMAT-ApplicationJson",
1105
- "extractionSchema": {
1106
- "$anchor": "ResourcePotentialInput",
1107
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1108
- "type": "object",
1109
- "allOf": [
1110
- {
1111
- "$ref": "#/$defs/ResourceBase"
1112
- },
1113
- {
1114
- "$ref": "#/$defs/CreationContextWrapper"
1115
- },
1116
- {
1117
- "$ref": "#/$defs/ResourceKind"
1118
- },
1119
- {
1120
- "required": [
1121
- "kind"
1122
- ],
1123
- "properties": {
1124
- "kind": {
1125
- "const": "potential-input"
1126
- }
1127
- }
1128
- }
1129
- ],
1130
- "unevaluatedProperties": false
1131
- }
1132
- },
1133
- "ResourcePotentialOutput": {
1134
- "identity": "TYPE-ResourcePotentialOutput",
1135
- "name": "ResourcePotentialOutput",
1136
- "description": "dummy-description",
1137
- "resourceFormatRef": "FORMAT-ApplicationJson",
1138
- "extractionSchema": {
1139
- "$anchor": "ResourcePotentialOutput",
1140
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1141
- "type": "object",
1142
- "allOf": [
1143
- {
1144
- "$ref": "#/$defs/ResourceBase"
1145
- },
1146
- {
1147
- "$ref": "#/$defs/CreationContextWrapper"
1148
- },
1149
- {
1150
- "$ref": "#/$defs/ResourceKind"
1151
- },
1152
- {
1153
- "required": [
1154
- "kind"
1155
- ],
1156
- "properties": {
1157
- "kind": {
1158
- "const": "potential-output"
1159
- }
1160
- }
1161
- }
1162
- ],
1163
- "unevaluatedProperties": false
1164
- }
1165
- },
1166
- "Timestamp": {
1167
- "identity": "TYPE-Timestamp",
1168
- "name": "Timestamp",
1169
- "description": "dummy-description",
1170
- "resourceFormatRef": "FORMAT-ApplicationJson",
1171
- "extractionSchema": {
1172
- "$anchor": "Timestamp",
1173
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1174
- "type": "object",
1175
- "required": [
1176
- "timestamp"
1177
- ],
1178
- "properties": {
1179
- "timestamp": {
1180
- "type": "string",
1181
- "format": "date-time"
1182
- }
1183
- }
1184
- }
1185
- },
1186
- "Path": {
1187
- "identity": "TYPE-Path",
1188
- "name": "Path",
1189
- "description": "dummy-description",
1190
- "resourceFormatRef": "FORMAT-ApplicationJson",
1191
- "extractionSchema": {
1192
- "$anchor": "Path",
1193
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1194
- "type": "object",
1195
- "required": [
1196
- "path"
1197
- ],
1198
- "properties": {
1199
- "path": {
1200
- "type": "string"
1201
- }
1202
- }
1203
- }
1204
- },
1205
- "ResourceMetaBase": {
1206
- "identity": "TYPE-ResourceMetaBase",
1207
- "name": "ResourceMetaBase",
1208
- "description": "dummy-description",
1209
- "resourceFormatRef": "FORMAT-ApplicationJson",
1210
- "extractionSchema": {
1211
- "$anchor": "ResourceMetaBase",
1212
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1213
- "type": "object",
1214
- "allOf": [
1215
- {
1216
- "$ref": "#/$defs/ResourceBase"
1217
- },
1218
- {
1219
- "$ref": "#/$defs/CreationContextWrapper"
1220
- },
1221
- {
1222
- "$ref": "#/$defs/ResourceKind"
1223
- },
1224
- {
1225
- "required": [
1226
- "kind"
1227
- ],
1228
- "properties": {
1229
- "kind": {
1230
- "const": "materialized"
1231
- }
1232
- }
1233
- },
1234
- {
1235
- "$ref": "#/$defs/Timestamp"
1236
- },
1237
- {
1238
- "$ref": "#/$defs/Path"
1239
- }
1240
- ]
1241
- }
1242
- },
1243
- "ResourceMeta": {
1244
- "identity": "TYPE-ResourceMeta",
1245
- "name": "ResourceMeta",
1246
- "description": "dummy-description",
1247
- "resourceFormatRef": "FORMAT-ApplicationJson",
1248
- "extractionSchema": {
1249
- "$anchor": "ResourceMeta",
1250
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1251
- "type": "object",
1252
- "$ref": "#/$defs/ResourceMetaBase",
1253
- "unevaluatedProperties": false
1254
- }
1255
- },
1256
- "JsonData": {
1257
- "identity": "TYPE-JsonData",
1258
- "name": "JsonData",
1259
- "description": "dummy-description",
1260
- "resourceFormatRef": "FORMAT-ApplicationJson",
1261
- "extractionSchema": {
1262
- "$anchor": "JsonData",
1263
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1264
- "oneOf": [
1265
- {
1266
- "type": "null"
1267
- },
1268
- {
1269
- "type": "boolean"
1270
- },
1271
- {
1272
- "type": "number"
1273
- },
1274
- {
1275
- "type": "string"
1276
- },
1277
- {
1278
- "type": "array",
1279
- "items": {
1280
- "$ref": "#/$defs/JsonData"
1281
- }
1282
- },
1283
- {
1284
- "type": "object",
1285
- "additionalProperties": {
1286
- "$ref": "#/$defs/JsonData"
1287
- }
1288
- }
1289
- ]
1290
- }
1291
- },
1292
- "Resource": {
1293
- "identity": "TYPE-Resource",
1294
- "name": "Resource",
1295
- "description": "dummy-description",
1296
- "resourceFormatRef": "FORMAT-ApplicationJson",
1297
- "extractionSchema": {
1298
- "$anchor": "Resource",
1299
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1300
- "type": "object",
1301
- "allOf": [
1302
- {
1303
- "$ref": "#/$defs/ResourceMetaBase"
1304
- },
1305
- {
1306
- "required": [
1307
- "extractedData"
1308
- ],
1309
- "properties": {
1310
- "extractedData": {
1311
- "$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.",
1312
- "type": "object",
1313
- "additionalProperties": {
1314
- "$ref": "#/$defs/JsonData"
1315
- }
1316
- }
1317
- }
1318
- }
1319
- ],
1320
- "unevaluatedProperties": false
1321
- }
1322
- },
1323
- "ExecutionIdentity": {
1324
- "identity": "TYPE-ExecutionIdentity",
1325
- "name": "ExecutionIdentity",
1326
- "description": "dummy-description",
1327
- "resourceFormatRef": "FORMAT-ApplicationJson",
1328
- "extractionSchema": {
1329
- "$anchor": "ExecutionIdentity",
1330
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1331
- "type": "string",
1332
- "pattern": "^EXECUTION-.+$"
1333
- }
1334
- },
1335
- "Execution": {
1336
- "identity": "TYPE-Execution",
1337
- "name": "Execution",
1338
- "description": "dummy-description",
1339
- "resourceFormatRef": "FORMAT-ApplicationJson",
1340
- "extractionSchema": {
1341
- "$anchor": "Execution",
1342
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1343
- "type": "object",
1344
- "required": [
1345
- "identity",
1346
- "jobRef"
1347
- ],
1348
- "properties": {
1349
- "identity": {
1350
- "$ref": "#/$defs/ExecutionIdentity"
1351
- },
1352
- "jobRef": {
1353
- "$ref": "#/$defs/JobIdentity"
1354
- }
1355
- },
1356
- "allOf": [
1357
- {
1358
- "$comment": "This will be overlayed at runtime to specify roleBindings corresponding to the roles of the underlying job.",
1359
- "$ref": "#/$defs/RoleBindingsWrapper"
1360
- }
1361
- ]
1362
- }
1363
- },
1364
- "Conditional": {
1365
- "identity": "TYPE-Conditional",
1366
- "name": "Conditional",
1367
- "description": "dummy-description",
1368
- "resourceFormatRef": "FORMAT-ApplicationJson",
1369
- "extractionSchema": {
1370
- "$anchor": "Conditional",
1371
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1372
- "type": "object",
1373
- "required": [
1374
- "when",
1375
- "what"
1376
- ],
1377
- "properties": {
1378
- "when": {
1379
- "$ref": "#/$defs/WorkStep"
1380
- },
1381
- "what": {
1382
- "$ref": "#/$defs/WorkStep"
1383
- }
1384
- },
1385
- "unevaluatedProperties": false
1386
- }
1387
- },
1388
- "StepKind": {
1389
- "identity": "TYPE-StepKind",
1390
- "name": "StepKind",
1391
- "description": "dummy-description",
1392
- "resourceFormatRef": "FORMAT-ApplicationJson",
1393
- "extractionSchema": {
1394
- "$anchor": "StepKind",
1395
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1396
- "type": "object",
1397
- "required": [
1398
- "kind"
1399
- ],
1400
- "properties": {
1401
- "kind": {
1402
- "type": "string",
1403
- "enum": [
1404
- "work",
1405
- "branch",
1406
- "while",
1407
- "for"
1408
- ]
1409
- }
1410
- }
1411
- }
1412
- },
1413
- "WorkStepIdentity": {
1414
- "identity": "TYPE-WorkStepIdentity",
1415
- "name": "WorkStepIdentity",
1416
- "description": "dummy-description",
1417
- "resourceFormatRef": "FORMAT-ApplicationJson",
1418
- "extractionSchema": {
1419
- "$anchor": "WorkStepIdentity",
1420
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1421
- "type": "string",
1422
- "pattern": "^WORKSTEP-.+$"
1423
- }
1424
- },
1425
- "WorkStep": {
1426
- "identity": "TYPE-WorkStep",
1427
- "name": "WorkStep",
1428
- "description": "dummy-description",
1429
- "resourceFormatRef": "FORMAT-ApplicationJson",
1430
- "extractionSchema": {
1431
- "$anchor": "WorkStep",
1432
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1433
- "type": "object",
1434
- "required": [
1435
- "identity",
1436
- "kind",
1437
- "execution"
1438
- ],
1439
- "properties": {
1440
- "identity": {
1441
- "$ref": "#/$defs/WorkStepIdentity"
1442
- },
1443
- "kind": {
1444
- "const": "work"
1445
- },
1446
- "execution": {
1447
- "$ref": "#/$defs/Execution"
1448
- }
1449
- },
1450
- "allOf": [
1451
- {
1452
- "$ref": "#/$defs/StepKind"
1453
- }
1454
- ]
1455
- }
1456
- },
1457
- "BranchStepIdentity": {
1458
- "identity": "TYPE-BranchStepIdentity",
1459
- "name": "BranchStepIdentity",
1460
- "description": "dummy-description",
1461
- "resourceFormatRef": "FORMAT-ApplicationJson",
1462
- "extractionSchema": {
1463
- "$anchor": "BranchStepIdentity",
1464
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1465
- "type": "string",
1466
- "pattern": "^BRANCHSTEP-.+$"
1467
- }
1468
- },
1469
- "BranchStep": {
1470
- "identity": "TYPE-BranchStep",
1471
- "name": "BranchStep",
1472
- "description": "dummy-description",
1473
- "resourceFormatRef": "FORMAT-ApplicationJson",
1474
- "extractionSchema": {
1475
- "$anchor": "BranchStep",
1476
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1477
- "type": "object",
1478
- "required": [
1479
- "identity",
1480
- "kind",
1481
- "cases"
1482
- ],
1483
- "properties": {
1484
- "identity": {
1485
- "$ref": "#/$defs/BranchStepIdentity"
1486
- },
1487
- "kind": {
1488
- "const": "branch"
1489
- },
1490
- "cases": {
1491
- "type": "array",
1492
- "items": {
1493
- "$ref": "#/$defs/Conditional"
1494
- },
1495
- "minItems": 1,
1496
- "uniqueItems": true
1497
- }
1498
- },
1499
- "allOf": [
1500
- {
1501
- "$ref": "#/$defs/StepKind"
1502
- }
1503
- ]
1504
- }
1505
- },
1506
- "WhileStepIdentity": {
1507
- "identity": "TYPE-WhileStepIdentity",
1508
- "name": "WhileStepIdentity",
1509
- "description": "dummy-description",
1510
- "resourceFormatRef": "FORMAT-ApplicationJson",
1511
- "extractionSchema": {
1512
- "$anchor": "WhileStepIdentity",
1513
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1514
- "type": "string",
1515
- "pattern": "^WHILESTEP-.+$"
1516
- }
1517
- },
1518
- "WhileStep": {
1519
- "identity": "TYPE-WhileStep",
1520
- "name": "WhileStep",
1521
- "description": "dummy-description",
1522
- "resourceFormatRef": "FORMAT-ApplicationJson",
1523
- "extractionSchema": {
1524
- "$anchor": "WhileStep",
1525
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1526
- "type": "object",
1527
- "required": [
1528
- "identity",
1529
- "kind",
1530
- "case"
1531
- ],
1532
- "properties": {
1533
- "identity": {
1534
- "$ref": "#/$defs/WhileStepIdentity"
1535
- },
1536
- "kind": {
1537
- "const": "while"
1538
- },
1539
- "case": {
1540
- "$ref": "#/$defs/Conditional"
1541
- }
1542
- },
1543
- "allOf": [
1544
- {
1545
- "$ref": "#/$defs/StepKind"
1546
- }
1547
- ]
1548
- }
1549
- },
1550
- "ForStepIdentity": {
1551
- "identity": "TYPE-ForStepIdentity",
1552
- "name": "ForStepIdentity",
1553
- "description": "dummy-description",
1554
- "resourceFormatRef": "FORMAT-ApplicationJson",
1555
- "extractionSchema": {
1556
- "$anchor": "ForStepIdentity",
1557
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1558
- "type": "string",
1559
- "pattern": "^FORSTEP-.+$"
1560
- }
1561
- },
1562
- "ForStep": {
1563
- "identity": "TYPE-ForStep",
1564
- "name": "ForStep",
1565
- "description": "dummy-description",
1566
- "resourceFormatRef": "FORMAT-ApplicationJson",
1567
- "extractionSchema": {
1568
- "$anchor": "ForStep",
1569
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1570
- "type": "object",
1571
- "required": [
1572
- "identity",
1573
- "kind",
1574
- "case"
1575
- ],
1576
- "properties": {
1577
- "identity": {
1578
- "$ref": "#/$defs/ForStepIdentity"
1579
- },
1580
- "kind": {
1581
- "const": "for"
1582
- },
1583
- "case": {
1584
- "$ref": "#/$defs/Conditional"
1585
- }
1586
- },
1587
- "allOf": [
1588
- {
1589
- "$ref": "#/$defs/StepKind"
1590
- }
1591
- ]
1592
- }
1593
- },
1594
- "Step": {
1595
- "identity": "TYPE-Step",
1596
- "name": "Step",
1597
- "description": "dummy-description",
1598
- "resourceFormatRef": "FORMAT-ApplicationJson",
1599
- "extractionSchema": {
1600
- "$anchor": "Step",
1601
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1602
- "type": "object",
1603
- "oneOf": [
1604
- {
1605
- "$ref": "#/$defs/WorkStep"
1606
- },
1607
- {
1608
- "$ref": "#/$defs/BranchStep"
1609
- },
1610
- {
1611
- "$ref": "#/$defs/WhileStep"
1612
- },
1613
- {
1614
- "$ref": "#/$defs/ForStep"
1615
- }
1616
- ],
1617
- "unevaluatedProperties": false
1618
- }
1619
- },
1620
- "StatelessStrategyIdentity": {
1621
- "identity": "TYPE-StatelessStrategyIdentity",
1622
- "name": "StatelessStrategyIdentity",
1623
- "description": "dummy-description",
1624
- "resourceFormatRef": "FORMAT-ApplicationJson",
1625
- "extractionSchema": {
1626
- "$anchor": "StatelessStrategyIdentity",
1627
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1628
- "type": "string",
1629
- "pattern": "^STATELESS_STRATEGY-.+$"
1630
- }
1631
- },
1632
- "StatelessStrategy": {
1633
- "identity": "TYPE-StatelessStrategy",
1634
- "name": "StatelessStrategy",
1635
- "description": "dummy-description",
1636
- "resourceFormatRef": "FORMAT-ApplicationJson",
1637
- "extractionSchema": {
1638
- "$anchor": "StatelessStrategy",
1639
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1640
- "type": "object",
1641
- "required": [
1642
- "identity",
1643
- "steps"
1644
- ],
1645
- "properties": {
1646
- "identity": {
1647
- "$ref": "#/$defs/StatelessStrategyIdentity"
1648
- },
1649
- "steps": {
1650
- "type": "array",
1651
- "items": {
1652
- "$ref": "#/$defs/Step"
1653
- },
1654
- "uniqueItems": true
1655
- }
1656
- },
1657
- "unevaluatedProperties": false
1658
- }
1659
- },
1660
- "StrategyState": {
1661
- "identity": "TYPE-StrategyState",
1662
- "name": "StrategyState",
1663
- "description": "dummy-description",
1664
- "resourceFormatRef": "FORMAT-ApplicationJson",
1665
- "extractionSchema": {
1666
- "$anchor": "StrategyState",
1667
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1668
- "type": "object",
1669
- "propertyNames": {
1670
- "$ref": "#/$defs/ExecutionIdentity"
1671
- },
1672
- "additionalProperties": {
1673
- "type": "object",
1674
- "propertyNames": {
1675
- "$ref": "#/$defs/ResourceRoleIdentity"
1676
- },
1677
- "additionalProperties": {
1678
- "oneOf": [
1679
- {
1680
- "$ref": "#/$defs/ResourceMissing"
1681
- },
1682
- {
1683
- "$ref": "#/$defs/ResourcePotentialInput"
1684
- },
1685
- {
1686
- "$ref": "#/$defs/ResourcePotentialOutput"
1687
- },
1688
- {
1689
- "$ref": "#/$defs/Resource"
1690
- }
1691
- ]
1692
- }
1693
- }
1694
- }
1695
- },
1696
- "StrategyStateWrapper": {
1697
- "identity": "TYPE-StrategyStateWrapper",
1698
- "name": "StrategyStateWrapper",
1699
- "description": "dummy-description",
1700
- "resourceFormatRef": "FORMAT-ApplicationJson",
1701
- "extractionSchema": {
1702
- "$anchor": "StrategyStateWrapper",
1703
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1704
- "type": "object",
1705
- "required": [
1706
- "strategyState"
1707
- ],
1708
- "properties": {
1709
- "strategyState": {
1710
- "$ref": "#/$defs/StrategyState"
1711
- }
1712
- }
1713
- }
1714
- },
1715
- "StatefulStrategyIdentity": {
1716
- "identity": "TYPE-StatefulStrategyIdentity",
1717
- "name": "StatefulStrategyIdentity",
1718
- "description": "dummy-description",
1719
- "resourceFormatRef": "FORMAT-ApplicationJson",
1720
- "extractionSchema": {
1721
- "$anchor": "StatefulStrategyIdentity",
1722
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1723
- "type": "string",
1724
- "pattern": "^STATEFUL_STRATEGY-.+$"
1725
- }
1726
- },
1727
- "StatefulStrategy": {
1728
- "identity": "TYPE-StatefulStrategy",
1729
- "name": "StatefulStrategy",
1730
- "description": "dummy-description",
1731
- "resourceFormatRef": "FORMAT-ApplicationJson",
1732
- "extractionSchema": {
1733
- "$anchor": "StatefulStrategy",
1734
- "$schema": "https://json-schema.org/draft/2020-12/schema",
1735
- "type": "object",
1736
- "required": [
1737
- "identity",
1738
- "statelessStrategy"
1739
- ],
1740
- "properties": {
1741
- "identity": {
1742
- "$ref": "#/$defs/StatefulStrategyIdentity"
1743
- },
1744
- "statelessStrategy": {
1745
- "$ref": "#/$defs/StatelessStrategy"
1746
- }
1747
- },
1748
- "allOf": [
1749
- {
1750
- "$ref": "#/$defs/StrategyStateWrapper"
1751
- }
1752
- ]
1753
- }
1754
- }
1755
- }
1756
- }
1757
- }