@toolproof-npm/schema 0.1.44 → 0.1.46

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/_lib/test.js +38 -31
  2. package/dist/genesis/generated/resources/Genesis.json +742 -452
  3. package/dist/genesis/generated/schemas/Genesis.json +441 -166
  4. package/dist/genesis/generated/schemas/Job.json +26 -26
  5. package/dist/genesis/generated/schemas/ResourceFormat.json +9 -9
  6. package/dist/genesis/generated/schemas/ResourceType.json +317 -42
  7. package/dist/genesis/generated/schemas/StatefulStrategy.json +76 -76
  8. package/dist/genesis/generated/schemas/StatelessStrategy.json +40 -40
  9. package/dist/{_lib → genesis/generated}/types/Resource_Job.d.ts +16 -16
  10. package/dist/{_lib → genesis/generated}/types/Resource_ResourceFormat.d.ts +10 -10
  11. package/dist/{_lib → genesis/generated}/types/Resource_ResourceType.d.ts +15 -15
  12. package/dist/{_lib → genesis/generated}/types/Resource_StatelessStrategy.d.ts +16 -16
  13. package/dist/{_lib → genesis/generated}/types/types.d.ts +289 -261
  14. package/dist/genesis/resourceTypes/Genesis.json +530 -250
  15. package/dist/index.d.ts +6 -6
  16. package/dist/index.js +2 -2
  17. package/dist/scripts/_lib/config.js +2 -2
  18. package/dist/scripts/brandFactories.d.ts +37 -23
  19. package/dist/scripts/brandFactories.js +26 -29
  20. package/dist/scripts/extractSchemas.js +1 -1
  21. package/dist/scripts/generateResourceEnvelopes.js +6 -6
  22. package/dist/scripts/generateTypes.js +38 -26
  23. package/package.json +1 -1
  24. /package/dist/{_lib → genesis/generated}/types/Resource_Job.js +0 -0
  25. /package/dist/{_lib → genesis/generated}/types/Resource_ResourceFormat.js +0 -0
  26. /package/dist/{_lib → genesis/generated}/types/Resource_ResourceType.js +0 -0
  27. /package/dist/{_lib → genesis/generated}/types/Resource_StatelessStrategy.js +0 -0
  28. /package/dist/{_lib → genesis/generated}/types/types.js +0 -0
@@ -2,19 +2,19 @@
2
2
  "identity": "TYPE-Genesis",
3
3
  "name": "Genesis",
4
4
  "description": "dummy-description",
5
- "resourceFormatId": "FORMAT-ApplicationJson",
5
+ "resourceFormatRef": "FORMAT-ApplicationJson",
6
6
  "extractionSchema": {
7
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
8
  "$id": "https://schemas.toolproof.com/v0/Genesis.json",
9
9
  "$schema": "https://json-schema.org/draft/2020-12/schema",
10
10
  "$defs": {
11
- "Name": {
12
- "identity": "TYPE-Name",
13
- "name": "Name",
11
+ "Named": {
12
+ "identity": "TYPE-Named",
13
+ "name": "Named",
14
14
  "description": "dummy-description",
15
- "resourceFormatId": "FORMAT-ApplicationJson",
15
+ "resourceFormatRef": "FORMAT-ApplicationJson",
16
16
  "extractionSchema": {
17
- "$anchor": "Name",
17
+ "$anchor": "Named",
18
18
  "$schema": "https://json-schema.org/draft/2020-12/schema",
19
19
  "type": "object",
20
20
  "required": [
@@ -31,13 +31,13 @@
31
31
  }
32
32
  }
33
33
  },
34
- "Description": {
35
- "identity": "TYPE-Description",
36
- "name": "Description",
34
+ "Described": {
35
+ "identity": "TYPE-Described",
36
+ "name": "Described",
37
37
  "description": "dummy-description",
38
- "resourceFormatId": "FORMAT-ApplicationJson",
38
+ "resourceFormatRef": "FORMAT-ApplicationJson",
39
39
  "extractionSchema": {
40
- "$anchor": "Description",
40
+ "$anchor": "Described",
41
41
  "$schema": "https://json-schema.org/draft/2020-12/schema",
42
42
  "type": "object",
43
43
  "required": [
@@ -57,28 +57,28 @@
57
57
  "identity": "TYPE-Documented",
58
58
  "name": "Documented",
59
59
  "description": "dummy-description",
60
- "resourceFormatId": "FORMAT-ApplicationJson",
60
+ "resourceFormatRef": "FORMAT-ApplicationJson",
61
61
  "extractionSchema": {
62
62
  "$anchor": "Documented",
63
63
  "$schema": "https://json-schema.org/draft/2020-12/schema",
64
64
  "type": "object",
65
65
  "allOf": [
66
66
  {
67
- "$ref": "#Name"
67
+ "$ref": "#Named"
68
68
  },
69
69
  {
70
- "$ref": "#Description"
70
+ "$ref": "#Described"
71
71
  }
72
72
  ]
73
73
  }
74
74
  },
75
- "IdentityValue": {
76
- "identity": "TYPE-IdentityValue",
77
- "name": "IdentityValue",
75
+ "IdentitySchemaRef": {
76
+ "identity": "TYPE-IdentitySchemaRef",
77
+ "name": "IdentitySchemaRef",
78
78
  "description": "dummy-description",
79
- "resourceFormatId": "FORMAT-ApplicationJson",
79
+ "resourceFormatRef": "FORMAT-ApplicationJson",
80
80
  "extractionSchema": {
81
- "$anchor": "IdentityValue",
81
+ "$anchor": "IdentitySchemaRef",
82
82
  "$schema": "https://json-schema.org/draft/2020-12/schema",
83
83
  "type": "object",
84
84
  "required": [
@@ -87,26 +87,36 @@
87
87
  "properties": {
88
88
  "$ref": {
89
89
  "type": "string",
90
- "$comment": "Supports both anchor syntax (#<Name>Id) and JSON Pointer syntax (#/path/to/definition). Anchors use #<Name>Id for identity refs. Top-level and nested $defs should expose an $anchor matching <Name>Id.",
91
- "pattern": "^#([A-Za-z][A-Za-z0-9._-]*Id|/.*)$"
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
92
  }
93
93
  },
94
94
  "additionalProperties": false
95
95
  }
96
96
  },
97
- "IdSchemaValue": {
98
- "identity": "TYPE-IdSchemaValue",
99
- "name": "IdSchemaValue",
97
+ "IdentitySchema": {
98
+ "identity": "TYPE-IdentitySchema",
99
+ "name": "IdentitySchema",
100
100
  "description": "dummy-description",
101
- "resourceFormatId": "FORMAT-ApplicationJson",
101
+ "resourceFormatRef": "FORMAT-ApplicationJson",
102
102
  "extractionSchema": {
103
- "$anchor": "IdSchemaValue",
103
+ "$anchor": "IdentitySchema",
104
104
  "$schema": "https://json-schema.org/draft/2020-12/schema",
105
105
  "type": "object",
106
106
  "required": [
107
107
  "type"
108
108
  ],
109
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
+ },
110
120
  "type": {
111
121
  "enum": [
112
122
  "string",
@@ -114,15 +124,135 @@
114
124
  "integer",
115
125
  "boolean"
116
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
117
146
  }
118
- }
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
119
249
  }
120
250
  },
121
251
  "IdentityProp": {
122
252
  "identity": "TYPE-IdentityProp",
123
253
  "name": "IdentityProp",
124
254
  "description": "dummy-description",
125
- "resourceFormatId": "FORMAT-ApplicationJson",
255
+ "resourceFormatRef": "FORMAT-ApplicationJson",
126
256
  "extractionSchema": {
127
257
  "$anchor": "IdentityProp",
128
258
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -136,13 +266,13 @@
136
266
  "$defs": {
137
267
  "type": "object",
138
268
  "patternProperties": {
139
- "^[A-Za-z][A-Za-z0-9._-]*Id$": {
140
- "$ref": "#IdSchemaValue"
269
+ "^[A-Za-z][A-Za-z0-9._-]*Identity$": {
270
+ "$ref": "#IdentitySchema"
141
271
  }
142
272
  },
143
- "$comment": "Ajv-specific: patternRequired enforces at least one Id-like key in this $defs block when identity is present.",
273
+ "$comment": "Ajv-specific: patternRequired enforces at least one Identity-like key in this $defs block when identity is present.",
144
274
  "patternRequired": [
145
- "^[A-Za-z][A-Za-z0-9._-]*Id$"
275
+ "^[A-Za-z][A-Za-z0-9._-]*Identity$"
146
276
  ],
147
277
  "minProperties": 1,
148
278
  "additionalProperties": true
@@ -164,22 +294,86 @@
164
294
  ],
165
295
  "properties": {
166
296
  "identity": {
167
- "$ref": "#IdentityValue"
297
+ "$ref": "#IdentitySchemaRef"
168
298
  }
169
299
  }
170
300
  }
171
301
  }
172
302
  }
173
303
  },
174
- "MeritValue": {
175
- "identity": "TYPE-MeritValue",
176
- "name": "MeritValue",
304
+ "MeritSchemaRef": {
305
+ "identity": "TYPE-MeritSchemaRef",
306
+ "name": "MeritSchemaRef",
177
307
  "description": "dummy-description",
178
- "resourceFormatId": "FORMAT-ApplicationJson",
308
+ "resourceFormatRef": "FORMAT-ApplicationJson",
179
309
  "extractionSchema": {
180
- "$anchor": "MeritValue",
310
+ "$anchor": "MeritSchemaRef",
181
311
  "$schema": "https://json-schema.org/draft/2020-12/schema",
182
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
+ },
183
377
  "oneOf": [
184
378
  {
185
379
  "required": [
@@ -208,36 +402,109 @@
208
402
  }
209
403
  }
210
404
  }
211
- ]
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
212
449
  }
213
450
  },
214
451
  "MeritProp": {
215
452
  "identity": "TYPE-MeritProp",
216
453
  "name": "MeritProp",
217
- "resourceFormatId": "FORMAT-ApplicationJson",
454
+ "resourceFormatRef": "FORMAT-ApplicationJson",
218
455
  "extractionSchema": {
219
456
  "$anchor": "MeritProp",
220
457
  "$schema": "https://json-schema.org/draft/2020-12/schema",
221
458
  "type": "object",
459
+ "required": [
460
+ "$defs",
461
+ "required",
462
+ "properties"
463
+ ],
222
464
  "properties": {
465
+ "$defs": {
466
+ "type": "object",
467
+ "patternProperties": {
468
+ "^[A-Za-z][A-Za-z0-9._-]*Merit$": {
469
+ "$ref": "#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
+ },
223
486
  "properties": {
224
487
  "type": "object",
488
+ "required": [
489
+ "merit"
490
+ ],
225
491
  "properties": {
226
492
  "merit": {
227
- "$ref": "#MeritValue"
493
+ "$ref": "#MeritSchemaRef"
228
494
  }
229
495
  }
230
496
  }
231
- }
497
+ },
498
+ "additionalProperties": false
232
499
  }
233
500
  },
234
- "ExtractionSchemaValue": {
235
- "identity": "TYPE-ExtractionSchemaValue",
236
- "name": "ExtractionSchemaValue",
501
+ "ExtractionSchema": {
502
+ "identity": "TYPE-ExtractionSchema",
503
+ "name": "ExtractionSchema",
237
504
  "description": "dummy-description",
238
- "resourceFormatId": "FORMAT-ApplicationJson",
505
+ "resourceFormatRef": "FORMAT-ApplicationJson",
239
506
  "extractionSchema": {
240
- "$anchor": "ExtractionSchemaValue",
507
+ "$anchor": "ExtractionSchema",
241
508
  "$schema": "https://json-schema.org/draft/2020-12/schema",
242
509
  "type": "object",
243
510
  "required": [
@@ -315,14 +582,28 @@
315
582
  },
316
583
  {
317
584
  "if": {
318
- "properties": {
319
- "properties": {
320
- "type": "object",
585
+ "anyOf": [
586
+ {
321
587
  "properties": {
322
- "merit": {}
588
+ "properties": {
589
+ "type": "object",
590
+ "properties": {
591
+ "merit": {}
592
+ }
593
+ }
594
+ }
595
+ },
596
+ {
597
+ "properties": {
598
+ "required": {
599
+ "type": "array",
600
+ "contains": {
601
+ "const": "merit"
602
+ }
603
+ }
323
604
  }
324
605
  }
325
- }
606
+ ]
326
607
  },
327
608
  "then": {
328
609
  "$ref": "#MeritProp"
@@ -346,13 +627,13 @@
346
627
  "unevaluatedProperties": false
347
628
  }
348
629
  },
349
- "ExtractionSchema": {
350
- "identity": "TYPE-ExtractionSchema",
351
- "name": "ExtractionSchema",
630
+ "ExtractionSchemaWrapper": {
631
+ "identity": "TYPE-ExtractionSchemaWrapper",
632
+ "name": "ExtractionSchemaWrapper",
352
633
  "description": "dummy-description",
353
- "resourceFormatId": "FORMAT-ApplicationJson",
634
+ "resourceFormatRef": "FORMAT-ApplicationJson",
354
635
  "extractionSchema": {
355
- "$anchor": "ExtractionSchema",
636
+ "$anchor": "ExtractionSchemaWrapper",
356
637
  "$schema": "https://json-schema.org/draft/2020-12/schema",
357
638
  "type": "object",
358
639
  "required": [
@@ -360,30 +641,30 @@
360
641
  ],
361
642
  "properties": {
362
643
  "extractionSchema": {
363
- "$ref": "#ExtractionSchemaValue"
644
+ "$ref": "#ExtractionSchema"
364
645
  }
365
646
  }
366
647
  }
367
648
  },
368
- "ResourceFormatId": {
369
- "identity": "TYPE-ResourceFormatId",
370
- "name": "ResourceFormatId",
649
+ "ResourceFormatIdentity": {
650
+ "identity": "TYPE-ResourceFormatIdentity",
651
+ "name": "ResourceFormatIdentity",
371
652
  "description": "dummy-description",
372
- "resourceFormatId": "FORMAT-ApplicationJson",
653
+ "resourceFormatIdentity": "FORMAT-ApplicationJson",
373
654
  "extractionSchema": {
374
- "$anchor": "ResourceFormatId",
655
+ "$anchor": "ResourceFormatIdentity",
375
656
  "$schema": "https://json-schema.org/draft/2020-12/schema",
376
657
  "type": "string",
377
658
  "pattern": "^FORMAT-.+$"
378
659
  }
379
660
  },
380
- "ResourceTypeId": {
381
- "identity": "TYPE-ResourceTypeId",
382
- "name": "ResourceTypeId",
661
+ "ResourceTypeIdentity": {
662
+ "identity": "TYPE-ResourceTypeIdentity",
663
+ "name": "ResourceTypeIdentity",
383
664
  "description": "dummy-description",
384
- "resourceFormatId": "FORMAT-ApplicationJson",
665
+ "resourceFormatRef": "FORMAT-ApplicationJson",
385
666
  "extractionSchema": {
386
- "$anchor": "ResourceTypeId",
667
+ "$anchor": "ResourceTypeIdentity",
387
668
  "$schema": "https://json-schema.org/draft/2020-12/schema",
388
669
  "type": "string",
389
670
  "pattern": "^TYPE-.+$"
@@ -393,7 +674,7 @@
393
674
  "identity": "TYPE-ResourceType",
394
675
  "name": "ResourceType",
395
676
  "description": "dummy-description",
396
- "resourceFormatId": "FORMAT-ApplicationJson",
677
+ "resourceFormatRef": "FORMAT-ApplicationJson",
397
678
  "extractionSchema": {
398
679
  "$anchor": "ResourceType",
399
680
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -402,14 +683,14 @@
402
683
  {
403
684
  "required": [
404
685
  "identity",
405
- "resourceFormatId"
686
+ "resourceFormatRef"
406
687
  ],
407
688
  "properties": {
408
689
  "identity": {
409
- "$ref": "#ResourceTypeId"
690
+ "$ref": "#ResourceTypeIdentity"
410
691
  },
411
- "resourceFormatId": {
412
- "$ref": "#ResourceFormatId"
692
+ "resourceFormatRef": {
693
+ "$ref": "#ResourceFormatIdentity"
413
694
  }
414
695
  }
415
696
  },
@@ -417,13 +698,13 @@
417
698
  "$ref": "#Documented"
418
699
  },
419
700
  {
420
- "$ref": "#ExtractionSchema"
701
+ "$ref": "#ExtractionSchemaWrapper"
421
702
  },
422
703
  {
423
704
  "if": {
424
- "$comment": "If resourceFormatId is FORMAT-ApplicationJson, then extractor must not be present, but if resourceFormatId is not FORMAT-ApplicationJson, then extractor must be present. This is because resources of types with format FORMAT-ApplicationJson are self-contained and do not need an extractor.",
705
+ "$comment": "If resourceFormatRef is FORMAT-ApplicationJson, then extractor must not be present, but if resourceFormatRef is not FORMAT-ApplicationJson, then extractor must be present. This is because resources of types with format FORMAT-ApplicationJson are self-contained and do not need an extractor.",
425
706
  "properties": {
426
- "resourceFormatId": {
707
+ "resourceFormatRef": {
427
708
  "const": "FORMAT-ApplicationJson"
428
709
  }
429
710
  }
@@ -455,7 +736,7 @@
455
736
  "identity": "TYPE-ResourceFormat",
456
737
  "name": "ResourceFormat",
457
738
  "description": "dummy-description",
458
- "resourceFormatId": "FORMAT-ApplicationJson",
739
+ "resourceFormatRef": "FORMAT-ApplicationJson",
459
740
  "extractionSchema": {
460
741
  "$anchor": "ResourceFormat",
461
742
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -467,7 +748,7 @@
467
748
  ],
468
749
  "properties": {
469
750
  "identity": {
470
- "$ref": "#ResourceFormatId"
751
+ "$ref": "#ResourceFormatIdentity"
471
752
  }
472
753
  }
473
754
  },
@@ -477,25 +758,25 @@
477
758
  ]
478
759
  }
479
760
  },
480
- "ResourceRoleId": {
481
- "identity": "TYPE-ResourceRoleId",
482
- "name": "ResourceRoleId",
761
+ "ResourceRoleIdentity": {
762
+ "identity": "TYPE-ResourceRoleIdentity",
763
+ "name": "ResourceRoleIdentity",
483
764
  "description": "dummy-description",
484
- "resourceFormatId": "FORMAT-ApplicationJson",
765
+ "resourceFormatRef": "FORMAT-ApplicationJson",
485
766
  "extractionSchema": {
486
- "$anchor": "ResourceRoleId",
767
+ "$anchor": "ResourceRoleIdentity",
487
768
  "$schema": "https://json-schema.org/draft/2020-12/schema",
488
769
  "type": "string",
489
770
  "pattern": "^ROLE-.+$"
490
771
  }
491
772
  },
492
- "ResourceId": {
493
- "identity": "TYPE-ResourceId",
494
- "name": "ResourceId",
773
+ "ResourceIdentity": {
774
+ "identity": "TYPE-ResourceIdentity",
775
+ "name": "ResourceIdentity",
495
776
  "description": "dummy-description",
496
- "resourceFormatId": "FORMAT-ApplicationJson",
777
+ "resourceFormatRef": "FORMAT-ApplicationJson",
497
778
  "extractionSchema": {
498
- "$anchor": "ResourceId",
779
+ "$anchor": "ResourceIdentity",
499
780
  "$schema": "https://json-schema.org/draft/2020-12/schema",
500
781
  "type": "string",
501
782
  "$comment": "",
@@ -506,20 +787,20 @@
506
787
  "identity": "TYPE-ResourceRoleValue",
507
788
  "name": "ResourceRoleValue",
508
789
  "description": "dummy-description",
509
- "resourceFormatId": "FORMAT-ApplicationJson",
790
+ "resourceFormatRef": "FORMAT-ApplicationJson",
510
791
  "extractionSchema": {
511
792
  "$anchor": "ResourceRoleValue",
512
793
  "$schema": "https://json-schema.org/draft/2020-12/schema",
513
794
  "type": "object",
514
795
  "allOf": [
515
796
  {
516
- "$comment": "A ResourceRole does not have a self-contained identity, as it is always defined in the context of a RoleMap.",
797
+ "$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).",
517
798
  "required": [
518
- "resourceTypeId"
799
+ "resourceTypeRef"
519
800
  ],
520
801
  "properties": {
521
- "resourceTypeId": {
522
- "$ref": "#ResourceTypeId"
802
+ "resourceTypeRef": {
803
+ "$ref": "#ResourceTypeIdentity"
523
804
  }
524
805
  }
525
806
  },
@@ -533,26 +814,26 @@
533
814
  "identity": "TYPE-RoleMap",
534
815
  "name": "RoleMap",
535
816
  "description": "dummy-description",
536
- "resourceFormatId": "FORMAT-ApplicationJson",
817
+ "resourceFormatRef": "FORMAT-ApplicationJson",
537
818
  "extractionSchema": {
538
819
  "$anchor": "RoleMap",
539
820
  "$schema": "https://json-schema.org/draft/2020-12/schema",
540
821
  "type": "object",
541
822
  "propertyNames": {
542
- "$ref": "#ResourceRoleId"
823
+ "$ref": "#ResourceRoleIdentity"
543
824
  },
544
825
  "additionalProperties": {
545
826
  "$ref": "#ResourceRoleValue"
546
827
  }
547
828
  }
548
829
  },
549
- "RolesInner": {
550
- "identity": "TYPE-RolesInner",
551
- "name": "RolesInner",
830
+ "Roles": {
831
+ "identity": "TYPE-Roles",
832
+ "name": "Roles",
552
833
  "description": "dummy-description",
553
- "resourceFormatId": "FORMAT-ApplicationJson",
834
+ "resourceFormatRef": "FORMAT-ApplicationJson",
554
835
  "extractionSchema": {
555
- "$anchor": "RolesInner",
836
+ "$anchor": "Roles",
556
837
  "$schema": "https://json-schema.org/draft/2020-12/schema",
557
838
  "type": "object",
558
839
  "required": [
@@ -570,13 +851,13 @@
570
851
  "unevaluatedProperties": false
571
852
  }
572
853
  },
573
- "RolesOuter": {
574
- "identity": "TYPE-RolesOuter",
575
- "name": "RolesOuter",
854
+ "RolesWrapper": {
855
+ "identity": "TYPE-RolesWrapper",
856
+ "name": "RolesWrapper",
576
857
  "description": "dummy-description",
577
- "resourceFormatId": "FORMAT-ApplicationJson",
858
+ "resourceFormatRef": "FORMAT-ApplicationJson",
578
859
  "extractionSchema": {
579
- "$anchor": "RolesOuter",
860
+ "$anchor": "RolesWrapper",
580
861
  "$schema": "https://json-schema.org/draft/2020-12/schema",
581
862
  "type": "object",
582
863
  "required": [
@@ -584,19 +865,18 @@
584
865
  ],
585
866
  "properties": {
586
867
  "roles": {
587
- "$ref": "#RolesInner"
868
+ "$ref": "#Roles"
588
869
  }
589
870
  }
590
871
  }
591
872
  },
592
- "JobId": {
593
- "identity": "TYPE-JobId",
594
- "name": "JobId",
873
+ "JobIdentity": {
874
+ "identity": "TYPE-JobIdentity",
875
+ "name": "JobIdentity",
595
876
  "description": "dummy-description",
596
- "resourceFormatId": "FORMAT-ApplicationJson",
597
- "jobFormatId": "FORMAT-ApplicationJson",
877
+ "resourceFormatRef": "FORMAT-ApplicationJson",
598
878
  "extractionSchema": {
599
- "$anchor": "JobId",
879
+ "$anchor": "JobIdentity",
600
880
  "$schema": "https://json-schema.org/draft/2020-12/schema",
601
881
  "type": "string",
602
882
  "$comment": "",
@@ -607,7 +887,7 @@
607
887
  "identity": "TYPE-Job",
608
888
  "name": "Job",
609
889
  "description": "dummy-description",
610
- "resourceFormatId": "FORMAT-ApplicationJob",
890
+ "resourceFormatRef": "FORMAT-ApplicationJob",
611
891
  "extractor": "https://extractors.toolproof.com/v0/JobExtractor.js",
612
892
  "extractionSchema": {
613
893
  "$anchor": "Job",
@@ -617,13 +897,13 @@
617
897
  {
618
898
  "required": [
619
899
  "identity",
620
- "implementation"
900
+ "implementationUri"
621
901
  ],
622
902
  "properties": {
623
903
  "identity": {
624
- "$ref": "#JobId"
904
+ "$ref": "#JobIdentity"
625
905
  },
626
- "implementation": {
906
+ "implementationUri": {
627
907
  "type": "string",
628
908
  "format": "uri"
629
909
  }
@@ -633,7 +913,7 @@
633
913
  "$ref": "#Documented"
634
914
  },
635
915
  {
636
- "$ref": "#RolesOuter"
916
+ "$ref": "#RolesWrapper"
637
917
  }
638
918
  ],
639
919
  "unevaluatedProperties": false
@@ -643,26 +923,26 @@
643
923
  "identity": "TYPE-RoleBindingMap",
644
924
  "name": "RoleBindingMap",
645
925
  "description": "dummy-description",
646
- "resourceFormatId": "FORMAT-ApplicationJson",
926
+ "resourceFormatRef": "FORMAT-ApplicationJson",
647
927
  "extractionSchema": {
648
928
  "$anchor": "RoleBindingMap",
649
929
  "$schema": "https://json-schema.org/draft/2020-12/schema",
650
930
  "type": "object",
651
931
  "propertyNames": {
652
- "$ref": "#ResourceRoleId"
932
+ "$ref": "#ResourceRoleIdentity"
653
933
  },
654
934
  "additionalProperties": {
655
- "$ref": "#ResourceId"
935
+ "$ref": "#ResourceIdentity"
656
936
  }
657
937
  }
658
938
  },
659
- "RoleBindingsInner": {
660
- "identity": "TYPE-RoleBindingsInner",
661
- "name": "RoleBindingsInner",
939
+ "RoleBindings": {
940
+ "identity": "TYPE-RoleBindings",
941
+ "name": "RoleBindings",
662
942
  "description": "dummy-description",
663
- "resourceFormatId": "FORMAT-ApplicationJson",
943
+ "resourceFormatRef": "FORMAT-ApplicationJson",
664
944
  "extractionSchema": {
665
- "$anchor": "RoleBindingsInner",
945
+ "$anchor": "RoleBindings",
666
946
  "$schema": "https://json-schema.org/draft/2020-12/schema",
667
947
  "type": "object",
668
948
  "required": [
@@ -680,13 +960,13 @@
680
960
  "unevaluatedProperties": false
681
961
  }
682
962
  },
683
- "RoleBindingsOuter": {
684
- "identity": "TYPE-RoleBindingsOuter",
685
- "name": "RoleBindingsOuter",
963
+ "RoleBindingsWrapper": {
964
+ "identity": "TYPE-RoleBindingsWrapper",
965
+ "name": "RoleBindingsWrapper",
686
966
  "description": "dummy-description",
687
- "resourceFormatId": "FORMAT-ApplicationJson",
967
+ "resourceFormatRef": "FORMAT-ApplicationJson",
688
968
  "extractionSchema": {
689
- "$anchor": "RoleBindingsOuter",
969
+ "$anchor": "RoleBindingsWrapper",
690
970
  "$schema": "https://json-schema.org/draft/2020-12/schema",
691
971
  "type": "object",
692
972
  "required": [
@@ -694,41 +974,41 @@
694
974
  ],
695
975
  "properties": {
696
976
  "roleBindings": {
697
- "$ref": "#RoleBindingsInner"
977
+ "$ref": "#RoleBindings"
698
978
  }
699
979
  }
700
980
  }
701
981
  },
702
- "CreationContextValue": {
703
- "identity": "TYPE-CreationContextValue",
704
- "name": "CreationContextValue",
982
+ "CreationContext": {
983
+ "identity": "TYPE-CreationContext",
984
+ "name": "CreationContext",
705
985
  "description": "dummy-description",
706
- "resourceFormatId": "FORMAT-ApplicationJson",
986
+ "resourceFormatRef": "FORMAT-ApplicationJson",
707
987
  "extractionSchema": {
708
- "$anchor": "CreationContextValue",
988
+ "$anchor": "CreationContext",
709
989
  "$schema": "https://json-schema.org/draft/2020-12/schema",
710
990
  "type": "object",
711
991
  "required": [
712
- "resourceRoleId",
713
- "executionId"
992
+ "resourceRoleRef",
993
+ "executionRef"
714
994
  ],
715
995
  "properties": {
716
- "resourceRoleId": {
717
- "$ref": "#ResourceRoleId"
996
+ "resourceRoleRef": {
997
+ "$ref": "#ResourceRoleIdentity"
718
998
  },
719
- "executionId": {
720
- "$ref": "#ExecutionId"
999
+ "executionRef": {
1000
+ "$ref": "#ExecutionIdentity"
721
1001
  }
722
1002
  }
723
1003
  }
724
1004
  },
725
- "CreationContext": {
726
- "identity": "TYPE-CreationContext",
727
- "name": "CreationContext",
1005
+ "CreationContextWrapper": {
1006
+ "identity": "TYPE-CreationContextWrapper",
1007
+ "name": "CreationContextWrapper",
728
1008
  "description": "dummy-description",
729
- "resourceFormatId": "FORMAT-ApplicationJson",
1009
+ "resourceFormatRef": "FORMAT-ApplicationJson",
730
1010
  "extractionSchema": {
731
- "$anchor": "CreationContext",
1011
+ "$anchor": "CreationContextWrapper",
732
1012
  "$schema": "https://json-schema.org/draft/2020-12/schema",
733
1013
  "type": "object",
734
1014
  "required": [
@@ -736,7 +1016,7 @@
736
1016
  ],
737
1017
  "properties": {
738
1018
  "creationContext": {
739
- "$ref": "#CreationContextValue"
1019
+ "$ref": "#CreationContext"
740
1020
  }
741
1021
  }
742
1022
  }
@@ -745,7 +1025,7 @@
745
1025
  "identity": "TYPE-ResourceBase",
746
1026
  "name": "ResourceBase",
747
1027
  "description": "dummy-description",
748
- "resourceFormatId": "FORMAT-ApplicationJson",
1028
+ "resourceFormatRef": "FORMAT-ApplicationJson",
749
1029
  "extractionSchema": {
750
1030
  "$anchor": "ResourceBase",
751
1031
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -754,14 +1034,14 @@
754
1034
  {
755
1035
  "required": [
756
1036
  "identity",
757
- "resourceTypeId"
1037
+ "resourceTypeRef"
758
1038
  ],
759
1039
  "properties": {
760
1040
  "identity": {
761
- "$ref": "#ResourceId"
1041
+ "$ref": "#ResourceIdentity"
762
1042
  },
763
- "resourceTypeId": {
764
- "$ref": "#ResourceTypeId"
1043
+ "resourceTypeRef": {
1044
+ "$ref": "#ResourceTypeIdentity"
765
1045
  }
766
1046
  }
767
1047
  }
@@ -772,7 +1052,7 @@
772
1052
  "identity": "TYPE-ResourceKind",
773
1053
  "name": "ResourceKind",
774
1054
  "description": "dummy-description",
775
- "resourceFormatId": "FORMAT-ApplicationJson",
1055
+ "resourceFormatRef": "FORMAT-ApplicationJson",
776
1056
  "extractionSchema": {
777
1057
  "$anchor": "ResourceKind",
778
1058
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -796,7 +1076,7 @@
796
1076
  "identity": "TYPE-ResourceMissing",
797
1077
  "name": "ResourceMissing",
798
1078
  "description": "dummy-description",
799
- "resourceFormatId": "FORMAT-ApplicationJson",
1079
+ "resourceFormatRef": "FORMAT-ApplicationJson",
800
1080
  "extractionSchema": {
801
1081
  "$anchor": "ResourceMissing",
802
1082
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -826,7 +1106,7 @@
826
1106
  "identity": "TYPE-ResourcePotentialInput",
827
1107
  "name": "ResourcePotentialInput",
828
1108
  "description": "dummy-description",
829
- "resourceFormatId": "FORMAT-ApplicationJson",
1109
+ "resourceFormatRef": "FORMAT-ApplicationJson",
830
1110
  "extractionSchema": {
831
1111
  "$anchor": "ResourcePotentialInput",
832
1112
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -836,7 +1116,7 @@
836
1116
  "$ref": "#ResourceBase"
837
1117
  },
838
1118
  {
839
- "$ref": "#CreationContext"
1119
+ "$ref": "#CreationContextWrapper"
840
1120
  },
841
1121
  {
842
1122
  "$ref": "#ResourceKind"
@@ -859,7 +1139,7 @@
859
1139
  "identity": "TYPE-ResourcePotentialOutput",
860
1140
  "name": "ResourcePotentialOutput",
861
1141
  "description": "dummy-description",
862
- "resourceFormatId": "FORMAT-ApplicationJson",
1142
+ "resourceFormatRef": "FORMAT-ApplicationJson",
863
1143
  "extractionSchema": {
864
1144
  "$anchor": "ResourcePotentialOutput",
865
1145
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -869,7 +1149,7 @@
869
1149
  "$ref": "#ResourceBase"
870
1150
  },
871
1151
  {
872
- "$ref": "#CreationContext"
1152
+ "$ref": "#CreationContextWrapper"
873
1153
  },
874
1154
  {
875
1155
  "$ref": "#ResourceKind"
@@ -892,7 +1172,7 @@
892
1172
  "identity": "TYPE-Timestamp",
893
1173
  "name": "Timestamp",
894
1174
  "description": "dummy-description",
895
- "resourceFormatId": "FORMAT-ApplicationJson",
1175
+ "resourceFormatRef": "FORMAT-ApplicationJson",
896
1176
  "extractionSchema": {
897
1177
  "$anchor": "Timestamp",
898
1178
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -912,7 +1192,7 @@
912
1192
  "identity": "TYPE-Path",
913
1193
  "name": "Path",
914
1194
  "description": "dummy-description",
915
- "resourceFormatId": "FORMAT-ApplicationJson",
1195
+ "resourceFormatRef": "FORMAT-ApplicationJson",
916
1196
  "extractionSchema": {
917
1197
  "$anchor": "Path",
918
1198
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -931,7 +1211,7 @@
931
1211
  "identity": "TYPE-ResourceMetaBase",
932
1212
  "name": "ResourceMetaBase",
933
1213
  "description": "dummy-description",
934
- "resourceFormatId": "FORMAT-ApplicationJson",
1214
+ "resourceFormatRef": "FORMAT-ApplicationJson",
935
1215
  "extractionSchema": {
936
1216
  "$anchor": "ResourceMetaBase",
937
1217
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -941,7 +1221,7 @@
941
1221
  "$ref": "#ResourceBase"
942
1222
  },
943
1223
  {
944
- "$ref": "#CreationContext"
1224
+ "$ref": "#CreationContextWrapper"
945
1225
  },
946
1226
  {
947
1227
  "$ref": "#ResourceKind"
@@ -969,7 +1249,7 @@
969
1249
  "identity": "TYPE-ResourceMeta",
970
1250
  "name": "ResourceMeta",
971
1251
  "description": "dummy-description",
972
- "resourceFormatId": "FORMAT-ApplicationJson",
1252
+ "resourceFormatRef": "FORMAT-ApplicationJson",
973
1253
  "extractionSchema": {
974
1254
  "$anchor": "ResourceMeta",
975
1255
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -978,13 +1258,13 @@
978
1258
  "unevaluatedProperties": false
979
1259
  }
980
1260
  },
981
- "JsonValue": {
982
- "identity": "TYPE-JsonValue",
983
- "name": "JsonValue",
1261
+ "JsonData": {
1262
+ "identity": "TYPE-JsonData",
1263
+ "name": "JsonData",
984
1264
  "description": "dummy-description",
985
- "resourceFormatId": "FORMAT-ApplicationJson",
1265
+ "resourceFormatRef": "FORMAT-ApplicationJson",
986
1266
  "extractionSchema": {
987
- "$anchor": "JsonValue",
1267
+ "$anchor": "JsonData",
988
1268
  "$schema": "https://json-schema.org/draft/2020-12/schema",
989
1269
  "oneOf": [
990
1270
  {
@@ -1002,13 +1282,13 @@
1002
1282
  {
1003
1283
  "type": "array",
1004
1284
  "items": {
1005
- "$ref": "#JsonValue"
1285
+ "$ref": "#JsonData"
1006
1286
  }
1007
1287
  },
1008
1288
  {
1009
1289
  "type": "object",
1010
1290
  "additionalProperties": {
1011
- "$ref": "#JsonValue"
1291
+ "$ref": "#JsonData"
1012
1292
  }
1013
1293
  }
1014
1294
  ]
@@ -1018,7 +1298,7 @@
1018
1298
  "identity": "TYPE-Resource",
1019
1299
  "name": "Resource",
1020
1300
  "description": "dummy-description",
1021
- "resourceFormatId": "FORMAT-ApplicationJson",
1301
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1022
1302
  "extractionSchema": {
1023
1303
  "$anchor": "Resource",
1024
1304
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1036,7 +1316,7 @@
1036
1316
  "$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.",
1037
1317
  "type": "object",
1038
1318
  "additionalProperties": {
1039
- "$ref": "#JsonValue"
1319
+ "$ref": "#JsonData"
1040
1320
  }
1041
1321
  }
1042
1322
  }
@@ -1045,13 +1325,13 @@
1045
1325
  "unevaluatedProperties": false
1046
1326
  }
1047
1327
  },
1048
- "ExecutionId": {
1049
- "identity": "TYPE-ExecutionId",
1050
- "name": "ExecutionId",
1328
+ "ExecutionIdentity": {
1329
+ "identity": "TYPE-ExecutionIdentity",
1330
+ "name": "ExecutionIdentity",
1051
1331
  "description": "dummy-description",
1052
- "resourceFormatId": "FORMAT-ApplicationJson",
1332
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1053
1333
  "extractionSchema": {
1054
- "$anchor": "ExecutionId",
1334
+ "$anchor": "ExecutionIdentity",
1055
1335
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1056
1336
  "type": "string",
1057
1337
  "pattern": "^EXECUTION-.+$"
@@ -1061,7 +1341,7 @@
1061
1341
  "identity": "TYPE-Execution",
1062
1342
  "name": "Execution",
1063
1343
  "description": "dummy-description",
1064
- "resourceFormatId": "FORMAT-ApplicationJson",
1344
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1065
1345
  "extractionSchema": {
1066
1346
  "$anchor": "Execution",
1067
1347
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1071,31 +1351,31 @@
1071
1351
  "type": "object",
1072
1352
  "required": [
1073
1353
  "identity",
1074
- "jobId"
1354
+ "jobRef"
1075
1355
  ],
1076
1356
  "properties": {
1077
1357
  "identity": {
1078
- "$ref": "#ExecutionId"
1358
+ "$ref": "#ExecutionIdentity"
1079
1359
  },
1080
- "jobId": {
1081
- "$ref": "#JobId"
1360
+ "jobRef": {
1361
+ "$ref": "#JobIdentity"
1082
1362
  }
1083
1363
  }
1084
1364
  },
1085
1365
  {
1086
1366
  "$comment": "This will be overlayed at runtime to specify roleBindings corresponding to the roles of the underlying job.",
1087
- "$ref": "#RoleBindingsOuter"
1367
+ "$ref": "#RoleBindingsWrapper"
1088
1368
  }
1089
1369
  ]
1090
1370
  }
1091
1371
  },
1092
- "ConditionalWrapper": {
1093
- "identity": "TYPE-ConditionalWrapper",
1094
- "name": "ConditionalWrapper",
1372
+ "Conditional": {
1373
+ "identity": "TYPE-Conditional",
1374
+ "name": "Conditional",
1095
1375
  "description": "dummy-description",
1096
- "resourceFormatId": "FORMAT-ApplicationJson",
1376
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1097
1377
  "extractionSchema": {
1098
- "$anchor": "ConditionalWrapper",
1378
+ "$anchor": "Conditional",
1099
1379
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1100
1380
  "type": "object",
1101
1381
  "required": [
@@ -1117,7 +1397,7 @@
1117
1397
  "identity": "TYPE-StepKind",
1118
1398
  "name": "StepKind",
1119
1399
  "description": "dummy-description",
1120
- "resourceFormatId": "FORMAT-ApplicationJson",
1400
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1121
1401
  "extractionSchema": {
1122
1402
  "$anchor": "StepKind",
1123
1403
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1138,13 +1418,13 @@
1138
1418
  }
1139
1419
  }
1140
1420
  },
1141
- "WorkStepId": {
1142
- "identity": "TYPE-WorkStepId",
1143
- "name": "WorkStepId",
1421
+ "WorkStepIdentity": {
1422
+ "identity": "TYPE-WorkStepIdentity",
1423
+ "name": "WorkStepIdentity",
1144
1424
  "description": "dummy-description",
1145
- "resourceFormatId": "FORMAT-ApplicationJson",
1425
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1146
1426
  "extractionSchema": {
1147
- "$anchor": "WorkStepId",
1427
+ "$anchor": "WorkStepIdentity",
1148
1428
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1149
1429
  "type": "string",
1150
1430
  "pattern": "^WORKSTEP-.+$"
@@ -1154,7 +1434,7 @@
1154
1434
  "identity": "TYPE-WorkStep",
1155
1435
  "name": "WorkStep",
1156
1436
  "description": "dummy-description",
1157
- "resourceFormatId": "FORMAT-ApplicationJson",
1437
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1158
1438
  "extractionSchema": {
1159
1439
  "$anchor": "WorkStep",
1160
1440
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1172,7 +1452,7 @@
1172
1452
  ],
1173
1453
  "properties": {
1174
1454
  "identity": {
1175
- "$ref": "#WorkStepId"
1455
+ "$ref": "#WorkStepIdentity"
1176
1456
  },
1177
1457
  "kind": {
1178
1458
  "const": "work"
@@ -1185,13 +1465,13 @@
1185
1465
  ]
1186
1466
  }
1187
1467
  },
1188
- "BranchStepId": {
1189
- "identity": "TYPE-BranchStepId",
1190
- "name": "BranchStepId",
1468
+ "BranchStepIdentity": {
1469
+ "identity": "TYPE-BranchStepIdentity",
1470
+ "name": "BranchStepIdentity",
1191
1471
  "description": "dummy-description",
1192
- "resourceFormatId": "FORMAT-ApplicationJson",
1472
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1193
1473
  "extractionSchema": {
1194
- "$anchor": "BranchStepId",
1474
+ "$anchor": "BranchStepIdentity",
1195
1475
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1196
1476
  "type": "string",
1197
1477
  "pattern": "^BRANCHSTEP-.+$"
@@ -1201,7 +1481,7 @@
1201
1481
  "identity": "TYPE-BranchStep",
1202
1482
  "name": "BranchStep",
1203
1483
  "description": "dummy-description",
1204
- "resourceFormatId": "FORMAT-ApplicationJson",
1484
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1205
1485
  "extractionSchema": {
1206
1486
  "$anchor": "BranchStep",
1207
1487
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1219,7 +1499,7 @@
1219
1499
  ],
1220
1500
  "properties": {
1221
1501
  "identity": {
1222
- "$ref": "#BranchStepId"
1502
+ "$ref": "#BranchStepIdentity"
1223
1503
  },
1224
1504
  "kind": {
1225
1505
  "const": "branch"
@@ -1227,7 +1507,7 @@
1227
1507
  "cases": {
1228
1508
  "type": "array",
1229
1509
  "items": {
1230
- "$ref": "#ConditionalWrapper"
1510
+ "$ref": "#Conditional"
1231
1511
  },
1232
1512
  "minItems": 1,
1233
1513
  "uniqueItems": true
@@ -1237,13 +1517,13 @@
1237
1517
  ]
1238
1518
  }
1239
1519
  },
1240
- "WhileStepId": {
1241
- "identity": "TYPE-WhileStepId",
1242
- "name": "WhileStepId",
1520
+ "WhileStepIdentity": {
1521
+ "identity": "TYPE-WhileStepIdentity",
1522
+ "name": "WhileStepIdentity",
1243
1523
  "description": "dummy-description",
1244
- "resourceFormatId": "FORMAT-ApplicationJson",
1524
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1245
1525
  "extractionSchema": {
1246
- "$anchor": "WhileStepId",
1526
+ "$anchor": "WhileStepIdentity",
1247
1527
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1248
1528
  "type": "string",
1249
1529
  "pattern": "^WHILESTEP-.+$"
@@ -1253,7 +1533,7 @@
1253
1533
  "identity": "TYPE-WhileStep",
1254
1534
  "name": "WhileStep",
1255
1535
  "description": "dummy-description",
1256
- "resourceFormatId": "FORMAT-ApplicationJson",
1536
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1257
1537
  "extractionSchema": {
1258
1538
  "$anchor": "WhileStep",
1259
1539
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1271,26 +1551,26 @@
1271
1551
  ],
1272
1552
  "properties": {
1273
1553
  "identity": {
1274
- "$ref": "#WhileStepId"
1554
+ "$ref": "#WhileStepIdentity"
1275
1555
  },
1276
1556
  "kind": {
1277
1557
  "const": "while"
1278
1558
  },
1279
1559
  "case": {
1280
- "$ref": "#ConditionalWrapper"
1560
+ "$ref": "#Conditional"
1281
1561
  }
1282
1562
  }
1283
1563
  }
1284
1564
  ]
1285
1565
  }
1286
1566
  },
1287
- "ForStepId": {
1288
- "identity": "TYPE-ForStepId",
1289
- "name": "ForStepId",
1567
+ "ForStepIdentity": {
1568
+ "identity": "TYPE-ForStepIdentity",
1569
+ "name": "ForStepIdentity",
1290
1570
  "description": "dummy-description",
1291
- "resourceFormatId": "FORMAT-ApplicationJson",
1571
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1292
1572
  "extractionSchema": {
1293
- "$anchor": "ForStepId",
1573
+ "$anchor": "ForStepIdentity",
1294
1574
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1295
1575
  "type": "string",
1296
1576
  "pattern": "^FORSTEP-.+$"
@@ -1300,7 +1580,7 @@
1300
1580
  "identity": "TYPE-ForStep",
1301
1581
  "name": "ForStep",
1302
1582
  "description": "dummy-description",
1303
- "resourceFormatId": "FORMAT-ApplicationJson",
1583
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1304
1584
  "extractionSchema": {
1305
1585
  "$anchor": "ForStep",
1306
1586
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1318,13 +1598,13 @@
1318
1598
  ],
1319
1599
  "properties": {
1320
1600
  "identity": {
1321
- "$ref": "#ForStepId"
1601
+ "$ref": "#ForStepIdentity"
1322
1602
  },
1323
1603
  "kind": {
1324
1604
  "const": "for"
1325
1605
  },
1326
1606
  "case": {
1327
- "$ref": "#ConditionalWrapper"
1607
+ "$ref": "#Conditional"
1328
1608
  }
1329
1609
  }
1330
1610
  }
@@ -1335,7 +1615,7 @@
1335
1615
  "identity": "TYPE-Step",
1336
1616
  "name": "Step",
1337
1617
  "description": "dummy-description",
1338
- "resourceFormatId": "FORMAT-ApplicationJson",
1618
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1339
1619
  "extractionSchema": {
1340
1620
  "$anchor": "Step",
1341
1621
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1357,13 +1637,13 @@
1357
1637
  "unevaluatedProperties": false
1358
1638
  }
1359
1639
  },
1360
- "StatelessStrategyId": {
1361
- "identity": "TYPE-StatelessStrategyId",
1362
- "name": "StatelessStrategyId",
1640
+ "StatelessStrategyIdentity": {
1641
+ "identity": "TYPE-StatelessStrategyIdentity",
1642
+ "name": "StatelessStrategyIdentity",
1363
1643
  "description": "dummy-description",
1364
- "resourceFormatId": "FORMAT-ApplicationJson",
1644
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1365
1645
  "extractionSchema": {
1366
- "$anchor": "StatelessStrategyId",
1646
+ "$anchor": "StatelessStrategyIdentity",
1367
1647
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1368
1648
  "type": "string",
1369
1649
  "pattern": "^STATELESS_STRATEGY-.+$"
@@ -1373,7 +1653,7 @@
1373
1653
  "identity": "TYPE-StatelessStrategy",
1374
1654
  "name": "StatelessStrategy",
1375
1655
  "description": "dummy-description",
1376
- "resourceFormatId": "FORMAT-ApplicationJson",
1656
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1377
1657
  "extractionSchema": {
1378
1658
  "$anchor": "StatelessStrategy",
1379
1659
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1387,7 +1667,7 @@
1387
1667
  ],
1388
1668
  "properties": {
1389
1669
  "identity": {
1390
- "$ref": "#StatelessStrategyId"
1670
+ "$ref": "#StatelessStrategyIdentity"
1391
1671
  },
1392
1672
  "steps": {
1393
1673
  "type": "array",
@@ -1402,22 +1682,22 @@
1402
1682
  "unevaluatedProperties": false
1403
1683
  }
1404
1684
  },
1405
- "StrategyStateValue": {
1406
- "identity": "TYPE-StrategyStateValue",
1407
- "name": "StrategyStateValue",
1685
+ "StrategyState": {
1686
+ "identity": "TYPE-StrategyState",
1687
+ "name": "StrategyState",
1408
1688
  "description": "dummy-description",
1409
- "resourceFormatId": "FORMAT-ApplicationJson",
1689
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1410
1690
  "extractionSchema": {
1411
- "$anchor": "StrategyStateValue",
1691
+ "$anchor": "StrategyState",
1412
1692
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1413
1693
  "type": "object",
1414
1694
  "propertyNames": {
1415
- "$ref": "#ExecutionId"
1695
+ "$ref": "#ExecutionIdentity"
1416
1696
  },
1417
1697
  "additionalProperties": {
1418
1698
  "type": "object",
1419
1699
  "propertyNames": {
1420
- "$ref": "#ResourceRoleId"
1700
+ "$ref": "#ResourceRoleIdentity"
1421
1701
  },
1422
1702
  "additionalProperties": {
1423
1703
  "oneOf": [
@@ -1438,13 +1718,13 @@
1438
1718
  }
1439
1719
  }
1440
1720
  },
1441
- "StrategyState": {
1442
- "identity": "TYPE-StrategyState",
1443
- "name": "StrategyState",
1721
+ "StrategyStateWrapper": {
1722
+ "identity": "TYPE-StrategyStateWrapper",
1723
+ "name": "StrategyStateWrapper",
1444
1724
  "description": "dummy-description",
1445
- "resourceFormatId": "FORMAT-ApplicationJson",
1725
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1446
1726
  "extractionSchema": {
1447
- "$anchor": "StrategyState",
1727
+ "$anchor": "StrategyStateWrapper",
1448
1728
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1449
1729
  "type": "object",
1450
1730
  "required": [
@@ -1452,18 +1732,18 @@
1452
1732
  ],
1453
1733
  "properties": {
1454
1734
  "strategyState": {
1455
- "$ref": "#StrategyStateValue"
1735
+ "$ref": "#StrategyState"
1456
1736
  }
1457
1737
  }
1458
1738
  }
1459
1739
  },
1460
- "StatefulStrategyId": {
1461
- "identity": "TYPE-StatefulStrategyId",
1462
- "name": "StatefulStrategyId",
1740
+ "StatefulStrategyIdentity": {
1741
+ "identity": "TYPE-StatefulStrategyIdentity",
1742
+ "name": "StatefulStrategyIdentity",
1463
1743
  "description": "dummy-description",
1464
- "resourceFormatId": "FORMAT-ApplicationJson",
1744
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1465
1745
  "extractionSchema": {
1466
- "$anchor": "StatefulStrategyId",
1746
+ "$anchor": "StatefulStrategyIdentity",
1467
1747
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1468
1748
  "type": "string",
1469
1749
  "pattern": "^STATEFUL_STRATEGY-.+$"
@@ -1473,7 +1753,7 @@
1473
1753
  "identity": "TYPE-StatefulStrategy",
1474
1754
  "name": "StatefulStrategy",
1475
1755
  "description": "dummy-description",
1476
- "resourceFormatId": "FORMAT-ApplicationJson",
1756
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1477
1757
  "extractionSchema": {
1478
1758
  "$anchor": "StatefulStrategy",
1479
1759
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -1486,7 +1766,7 @@
1486
1766
  ],
1487
1767
  "properties": {
1488
1768
  "identity": {
1489
- "$ref": "#StatefulStrategyId"
1769
+ "$ref": "#StatefulStrategyIdentity"
1490
1770
  },
1491
1771
  "statelessStrategy": {
1492
1772
  "$ref": "#StatelessStrategy"
@@ -1494,7 +1774,7 @@
1494
1774
  }
1495
1775
  },
1496
1776
  {
1497
- "$ref": "#StrategyState"
1777
+ "$ref": "#StrategyStateWrapper"
1498
1778
  }
1499
1779
  ]
1500
1780
  }