@toolproof-npm/schema 0.1.49 → 0.1.52

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 (27) hide show
  1. package/dist/genesis/generated/resource-envelopes/Genesis.d.ts +2 -0
  2. package/dist/genesis/generated/resource-envelopes/Genesis.js +2 -0
  3. package/dist/genesis/generated/resource-envelopes/Genesis.json +2337 -0
  4. package/dist/genesis/{resourceTypes → generated/resource-type-envelopes}/Genesis.json +223 -255
  5. package/dist/genesis/generated/resourceTypes/Genesis.d.ts +2 -0
  6. package/dist/genesis/generated/resourceTypes/Genesis.js +2 -0
  7. package/dist/genesis/generated/resourceTypes/Genesis.json +1757 -0
  8. package/dist/genesis/generated/resources/Genesis.json +157 -189
  9. package/dist/genesis/generated/schemas/Genesis.json +149 -181
  10. package/dist/genesis/generated/schemas/Job.json +20 -22
  11. package/dist/genesis/generated/schemas/ResourceFormat.json +14 -16
  12. package/dist/genesis/generated/schemas/ResourceType.json +28 -30
  13. package/dist/genesis/generated/schemas/StatefulStrategy.json +225 -251
  14. package/dist/genesis/generated/schemas/StatelessStrategy.json +103 -123
  15. package/dist/genesis/generated/types/types.d.ts +174 -86
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/scripts/_lib/config.d.ts +4 -0
  19. package/dist/scripts/_lib/config.js +18 -1
  20. package/dist/scripts/extractSchemas.js +2 -2
  21. package/dist/scripts/generateResourceEnvelopes.js +1 -1
  22. package/dist/scripts/generateSchemaShims.js +21 -0
  23. package/dist/scripts/generateTypes.js +58 -0
  24. package/dist/scripts/rewriteAnchors.js +4 -2
  25. package/package.json +1 -1
  26. /package/dist/genesis/{resourceTypes → generated/resource-type-envelopes}/Genesis.d.ts +0 -0
  27. /package/dist/genesis/{resourceTypes → generated/resource-type-envelopes}/Genesis.js +0 -0
@@ -0,0 +1,2337 @@
1
+ {
2
+ "Genesis": {
3
+ "identity": "RESOURCE-Genesis",
4
+ "resourceTypeRef": "TYPE-ResourceType",
5
+ "creationContext": {
6
+ "resourceRoleRef": "ROLE-Genesis",
7
+ "executionRef": "EXECUTION-Genesis"
8
+ },
9
+ "kind": "materialized",
10
+ "timestamp": "2025-11-30T00:00:00.000Z",
11
+ "extractedData": {}
12
+ },
13
+ "Named": {
14
+ "identity": "RESOURCE-Named",
15
+ "resourceTypeRef": "TYPE-ResourceType",
16
+ "creationContext": {
17
+ "resourceRoleRef": "ROLE-Genesis",
18
+ "executionRef": "EXECUTION-Named"
19
+ },
20
+ "kind": "materialized",
21
+ "timestamp": "2025-11-30T00:00:00.000Z",
22
+ "extractedData": {
23
+ "identity": "TYPE-Named",
24
+ "name": "Named",
25
+ "description": "dummy-description",
26
+ "resourceFormatRef": "FORMAT-ApplicationJson",
27
+ "extractionSchema": {
28
+ "$anchor": "Named",
29
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
30
+ "type": "object",
31
+ "required": [
32
+ "name"
33
+ ],
34
+ "properties": {
35
+ "name": {
36
+ "type": "string",
37
+ "minLength": 1,
38
+ "pattern": "^(?:[A-Z].*|[a-z]+/[a-z0-9.+-]+)$",
39
+ "$comment": "Validation is intercepted by an AI Agent that verifies the name against Toolproof's naming conventions.",
40
+ "semanticValidation": "Ajv custom keyword to verify name."
41
+ }
42
+ }
43
+ }
44
+ }
45
+ },
46
+ "Described": {
47
+ "identity": "RESOURCE-Described",
48
+ "resourceTypeRef": "TYPE-ResourceType",
49
+ "creationContext": {
50
+ "resourceRoleRef": "ROLE-Genesis",
51
+ "executionRef": "EXECUTION-Described"
52
+ },
53
+ "kind": "materialized",
54
+ "timestamp": "2025-11-30T00:00:00.000Z",
55
+ "extractedData": {
56
+ "identity": "TYPE-Described",
57
+ "name": "Described",
58
+ "description": "dummy-description",
59
+ "resourceFormatRef": "FORMAT-ApplicationJson",
60
+ "extractionSchema": {
61
+ "$anchor": "Described",
62
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
63
+ "type": "object",
64
+ "required": [
65
+ "description"
66
+ ],
67
+ "properties": {
68
+ "description": {
69
+ "type": "string",
70
+ "minLength": 1,
71
+ "$comment": "Validation is intercepted by an AI Agent that verifies the description against Toolproof's documentation standards.",
72
+ "semanticValidation": "Ajv custom keyword to verify description."
73
+ }
74
+ }
75
+ }
76
+ }
77
+ },
78
+ "Documented": {
79
+ "identity": "RESOURCE-Documented",
80
+ "resourceTypeRef": "TYPE-ResourceType",
81
+ "creationContext": {
82
+ "resourceRoleRef": "ROLE-Genesis",
83
+ "executionRef": "EXECUTION-Documented"
84
+ },
85
+ "kind": "materialized",
86
+ "timestamp": "2025-11-30T00:00:00.000Z",
87
+ "extractedData": {
88
+ "identity": "TYPE-Documented",
89
+ "name": "Documented",
90
+ "description": "dummy-description",
91
+ "resourceFormatRef": "FORMAT-ApplicationJson",
92
+ "extractionSchema": {
93
+ "$anchor": "Documented",
94
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
95
+ "type": "object",
96
+ "allOf": [
97
+ {
98
+ "$ref": "#/$defs/Named"
99
+ },
100
+ {
101
+ "$ref": "#/$defs/Described"
102
+ }
103
+ ]
104
+ }
105
+ }
106
+ },
107
+ "IdentitySchemaRef": {
108
+ "identity": "RESOURCE-IdentitySchemaRef",
109
+ "resourceTypeRef": "TYPE-ResourceType",
110
+ "creationContext": {
111
+ "resourceRoleRef": "ROLE-Genesis",
112
+ "executionRef": "EXECUTION-IdentitySchemaRef"
113
+ },
114
+ "kind": "materialized",
115
+ "timestamp": "2025-11-30T00:00:00.000Z",
116
+ "extractedData": {
117
+ "identity": "TYPE-IdentitySchemaRef",
118
+ "name": "IdentitySchemaRef",
119
+ "description": "dummy-description",
120
+ "resourceFormatRef": "FORMAT-ApplicationJson",
121
+ "extractionSchema": {
122
+ "$anchor": "IdentitySchemaRef",
123
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
124
+ "type": "object",
125
+ "required": [
126
+ "$ref"
127
+ ],
128
+ "properties": {
129
+ "$ref": {
130
+ "type": "string",
131
+ "$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.",
132
+ "pattern": "^#([A-Za-z][A-Za-z0-9._-]*Identity|/.*)$"
133
+ }
134
+ },
135
+ "additionalProperties": false
136
+ }
137
+ }
138
+ },
139
+ "IdentitySchema": {
140
+ "identity": "RESOURCE-IdentitySchema",
141
+ "resourceTypeRef": "TYPE-ResourceType",
142
+ "creationContext": {
143
+ "resourceRoleRef": "ROLE-Genesis",
144
+ "executionRef": "EXECUTION-IdentitySchema"
145
+ },
146
+ "kind": "materialized",
147
+ "timestamp": "2025-11-30T00:00:00.000Z",
148
+ "extractedData": {
149
+ "identity": "TYPE-IdentitySchema",
150
+ "name": "IdentitySchema",
151
+ "description": "dummy-description",
152
+ "resourceFormatRef": "FORMAT-ApplicationJson",
153
+ "extractionSchema": {
154
+ "$anchor": "IdentitySchema",
155
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
156
+ "type": "object",
157
+ "required": [
158
+ "type"
159
+ ],
160
+ "properties": {
161
+ "$anchor": {
162
+ "type": "string",
163
+ "pattern": "^[A-Za-z][A-Za-z0-9._-]*Identity$"
164
+ },
165
+ "$schema": {
166
+ "const": "https://json-schema.org/draft/2020-12/schema"
167
+ },
168
+ "$comment": {
169
+ "type": "string"
170
+ },
171
+ "type": {
172
+ "enum": [
173
+ "string",
174
+ "number",
175
+ "integer",
176
+ "boolean"
177
+ ]
178
+ },
179
+ "pattern": {
180
+ "type": "string"
181
+ },
182
+ "format": {
183
+ "type": "string"
184
+ },
185
+ "minLength": {
186
+ "type": "integer",
187
+ "minimum": 0
188
+ },
189
+ "maxLength": {
190
+ "type": "integer",
191
+ "minimum": 0
192
+ },
193
+ "enum": {
194
+ "type": "array",
195
+ "minItems": 1,
196
+ "uniqueItems": true
197
+ }
198
+ },
199
+ "allOf": [
200
+ {
201
+ "if": {
202
+ "properties": {
203
+ "type": {
204
+ "const": "string"
205
+ }
206
+ }
207
+ },
208
+ "then": {
209
+ "properties": {
210
+ "enum": {
211
+ "items": {
212
+ "type": "string"
213
+ }
214
+ }
215
+ }
216
+ },
217
+ "else": {
218
+ "not": {
219
+ "anyOf": [
220
+ {
221
+ "required": [
222
+ "pattern"
223
+ ]
224
+ },
225
+ {
226
+ "required": [
227
+ "format"
228
+ ]
229
+ },
230
+ {
231
+ "required": [
232
+ "minLength"
233
+ ]
234
+ },
235
+ {
236
+ "required": [
237
+ "maxLength"
238
+ ]
239
+ }
240
+ ]
241
+ }
242
+ }
243
+ },
244
+ {
245
+ "if": {
246
+ "properties": {
247
+ "type": {
248
+ "const": "number"
249
+ }
250
+ }
251
+ },
252
+ "then": {
253
+ "properties": {
254
+ "enum": {
255
+ "items": {
256
+ "type": "number"
257
+ }
258
+ }
259
+ }
260
+ }
261
+ },
262
+ {
263
+ "if": {
264
+ "properties": {
265
+ "type": {
266
+ "const": "integer"
267
+ }
268
+ }
269
+ },
270
+ "then": {
271
+ "properties": {
272
+ "enum": {
273
+ "items": {
274
+ "type": "integer"
275
+ }
276
+ }
277
+ }
278
+ }
279
+ },
280
+ {
281
+ "if": {
282
+ "properties": {
283
+ "type": {
284
+ "const": "boolean"
285
+ }
286
+ }
287
+ },
288
+ "then": {
289
+ "properties": {
290
+ "enum": {
291
+ "items": {
292
+ "type": "boolean"
293
+ }
294
+ }
295
+ }
296
+ }
297
+ }
298
+ ],
299
+ "additionalProperties": false
300
+ }
301
+ }
302
+ },
303
+ "IdentityProp": {
304
+ "identity": "RESOURCE-IdentityProp",
305
+ "resourceTypeRef": "TYPE-ResourceType",
306
+ "creationContext": {
307
+ "resourceRoleRef": "ROLE-Genesis",
308
+ "executionRef": "EXECUTION-IdentityProp"
309
+ },
310
+ "kind": "materialized",
311
+ "timestamp": "2025-11-30T00:00:00.000Z",
312
+ "extractedData": {
313
+ "identity": "TYPE-IdentityProp",
314
+ "name": "IdentityProp",
315
+ "description": "dummy-description",
316
+ "resourceFormatRef": "FORMAT-ApplicationJson",
317
+ "extractionSchema": {
318
+ "$anchor": "IdentityProp",
319
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
320
+ "type": "object",
321
+ "required": [
322
+ "$defs",
323
+ "required",
324
+ "properties"
325
+ ],
326
+ "properties": {
327
+ "$defs": {
328
+ "type": "object",
329
+ "patternProperties": {
330
+ "^[A-Za-z][A-Za-z0-9._-]*Identity$": {
331
+ "$ref": "#/$defs/IdentitySchema"
332
+ }
333
+ },
334
+ "$comment": "Ajv-specific: patternRequired enforces at least one Identity-like key in this $defs block when identity is present.",
335
+ "patternRequired": [
336
+ "^[A-Za-z][A-Za-z0-9._-]*Identity$"
337
+ ],
338
+ "minProperties": 1,
339
+ "additionalProperties": true
340
+ },
341
+ "required": {
342
+ "type": "array",
343
+ "items": {
344
+ "type": "string"
345
+ },
346
+ "uniqueItems": true,
347
+ "contains": {
348
+ "const": "identity"
349
+ }
350
+ },
351
+ "properties": {
352
+ "type": "object",
353
+ "required": [
354
+ "identity"
355
+ ],
356
+ "properties": {
357
+ "identity": {
358
+ "$ref": "#/$defs/IdentitySchemaRef"
359
+ }
360
+ }
361
+ }
362
+ }
363
+ }
364
+ }
365
+ },
366
+ "MeritSchemaRef": {
367
+ "identity": "RESOURCE-MeritSchemaRef",
368
+ "resourceTypeRef": "TYPE-ResourceType",
369
+ "creationContext": {
370
+ "resourceRoleRef": "ROLE-Genesis",
371
+ "executionRef": "EXECUTION-MeritSchemaRef"
372
+ },
373
+ "kind": "materialized",
374
+ "timestamp": "2025-11-30T00:00:00.000Z",
375
+ "extractedData": {
376
+ "identity": "TYPE-MeritSchemaRef",
377
+ "name": "MeritSchemaRef",
378
+ "description": "dummy-description",
379
+ "resourceFormatRef": "FORMAT-ApplicationJson",
380
+ "extractionSchema": {
381
+ "$anchor": "MeritSchemaRef",
382
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
383
+ "type": "object",
384
+ "required": [
385
+ "$ref"
386
+ ],
387
+ "properties": {
388
+ "$ref": {
389
+ "type": "string",
390
+ "$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.",
391
+ "pattern": "^#([A-Za-z][A-Za-z0-9._-]*Merit|/.*)$"
392
+ }
393
+ },
394
+ "additionalProperties": false
395
+ }
396
+ }
397
+ },
398
+ "MeritSchema": {
399
+ "identity": "RESOURCE-MeritSchema",
400
+ "resourceTypeRef": "TYPE-ResourceType",
401
+ "creationContext": {
402
+ "resourceRoleRef": "ROLE-Genesis",
403
+ "executionRef": "EXECUTION-MeritSchema"
404
+ },
405
+ "kind": "materialized",
406
+ "timestamp": "2025-11-30T00:00:00.000Z",
407
+ "extractedData": {
408
+ "identity": "TYPE-MeritSchema",
409
+ "name": "MeritSchema",
410
+ "description": "dummy-description",
411
+ "resourceFormatRef": "FORMAT-ApplicationJson",
412
+ "extractionSchema": {
413
+ "$anchor": "MeritSchema",
414
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
415
+ "type": "object",
416
+ "properties": {
417
+ "$anchor": {
418
+ "type": "string",
419
+ "pattern": "^[A-Za-z][A-Za-z0-9._-]*Merit$"
420
+ },
421
+ "$schema": {
422
+ "const": "https://json-schema.org/draft/2020-12/schema"
423
+ },
424
+ "$comment": {
425
+ "type": "string"
426
+ },
427
+ "type": {
428
+ "enum": [
429
+ "number",
430
+ "integer"
431
+ ]
432
+ },
433
+ "enum": {
434
+ "type": "array",
435
+ "items": {
436
+ "type": "number"
437
+ },
438
+ "minItems": 1,
439
+ "uniqueItems": true
440
+ },
441
+ "minimum": {
442
+ "type": "number"
443
+ },
444
+ "maximum": {
445
+ "type": "number"
446
+ },
447
+ "exclusiveMinimum": {
448
+ "type": "number"
449
+ },
450
+ "exclusiveMaximum": {
451
+ "type": "number"
452
+ },
453
+ "multipleOf": {
454
+ "type": "number",
455
+ "exclusiveMinimum": 0
456
+ }
457
+ },
458
+ "oneOf": [
459
+ {
460
+ "required": [
461
+ "type"
462
+ ],
463
+ "properties": {
464
+ "type": {
465
+ "enum": [
466
+ "number",
467
+ "integer"
468
+ ]
469
+ }
470
+ }
471
+ },
472
+ {
473
+ "required": [
474
+ "enum"
475
+ ],
476
+ "properties": {
477
+ "enum": {
478
+ "type": "array",
479
+ "items": {
480
+ "type": "number"
481
+ },
482
+ "minItems": 1
483
+ }
484
+ }
485
+ }
486
+ ],
487
+ "allOf": [
488
+ {
489
+ "$comment": "Numeric constraints (minimum/maximum/etc) only make sense when using the explicit type form; the enum-only form is allowed for simple enumerations.",
490
+ "if": {
491
+ "required": [
492
+ "type"
493
+ ]
494
+ },
495
+ "then": {},
496
+ "else": {
497
+ "not": {
498
+ "anyOf": [
499
+ {
500
+ "required": [
501
+ "minimum"
502
+ ]
503
+ },
504
+ {
505
+ "required": [
506
+ "maximum"
507
+ ]
508
+ },
509
+ {
510
+ "required": [
511
+ "exclusiveMinimum"
512
+ ]
513
+ },
514
+ {
515
+ "required": [
516
+ "exclusiveMaximum"
517
+ ]
518
+ },
519
+ {
520
+ "required": [
521
+ "multipleOf"
522
+ ]
523
+ }
524
+ ]
525
+ }
526
+ }
527
+ }
528
+ ],
529
+ "additionalProperties": false
530
+ }
531
+ }
532
+ },
533
+ "MeritProp": {
534
+ "identity": "RESOURCE-MeritProp",
535
+ "resourceTypeRef": "TYPE-ResourceType",
536
+ "creationContext": {
537
+ "resourceRoleRef": "ROLE-Genesis",
538
+ "executionRef": "EXECUTION-MeritProp"
539
+ },
540
+ "kind": "materialized",
541
+ "timestamp": "2025-11-30T00:00:00.000Z",
542
+ "extractedData": {
543
+ "identity": "TYPE-MeritProp",
544
+ "name": "MeritProp",
545
+ "resourceFormatRef": "FORMAT-ApplicationJson",
546
+ "extractionSchema": {
547
+ "$anchor": "MeritProp",
548
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
549
+ "type": "object",
550
+ "required": [
551
+ "$defs",
552
+ "required",
553
+ "properties"
554
+ ],
555
+ "properties": {
556
+ "$defs": {
557
+ "type": "object",
558
+ "patternProperties": {
559
+ "^[A-Za-z][A-Za-z0-9._-]*Merit$": {
560
+ "$ref": "#/$defs/MeritSchema"
561
+ }
562
+ },
563
+ "$comment": "Ajv-specific: patternRequired enforces at least one Merit-like key in this $defs block when merit is present.",
564
+ "patternRequired": [
565
+ "^[A-Za-z][A-Za-z0-9._-]*Merit$"
566
+ ],
567
+ "minProperties": 1,
568
+ "additionalProperties": true
569
+ },
570
+ "required": {
571
+ "type": "array",
572
+ "items": {
573
+ "type": "string"
574
+ },
575
+ "uniqueItems": true
576
+ },
577
+ "properties": {
578
+ "type": "object",
579
+ "required": [
580
+ "merit"
581
+ ],
582
+ "properties": {
583
+ "merit": {
584
+ "$ref": "#/$defs/MeritSchemaRef"
585
+ }
586
+ }
587
+ }
588
+ }
589
+ }
590
+ }
591
+ },
592
+ "ExtractionSchema": {
593
+ "identity": "RESOURCE-ExtractionSchema",
594
+ "resourceTypeRef": "TYPE-ResourceType",
595
+ "creationContext": {
596
+ "resourceRoleRef": "ROLE-Genesis",
597
+ "executionRef": "EXECUTION-ExtractionSchema"
598
+ },
599
+ "kind": "materialized",
600
+ "timestamp": "2025-11-30T00:00:00.000Z",
601
+ "extractedData": {
602
+ "identity": "TYPE-ExtractionSchema",
603
+ "name": "ExtractionSchema",
604
+ "description": "dummy-description",
605
+ "resourceFormatRef": "FORMAT-ApplicationJson",
606
+ "extractionSchema": {
607
+ "$anchor": "ExtractionSchema",
608
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
609
+ "type": "object",
610
+ "required": [
611
+ "$schema",
612
+ "$anchor",
613
+ "type"
614
+ ],
615
+ "properties": {
616
+ "$anchor": {
617
+ "type": "string",
618
+ "pattern": "^[A-Za-z][A-Za-z0-9._-]*$"
619
+ },
620
+ "$schema": {
621
+ "const": "https://json-schema.org/draft/2020-12/schema"
622
+ },
623
+ "$defs": {
624
+ "type": "object"
625
+ },
626
+ "type": {
627
+ "const": "object"
628
+ },
629
+ "required": {
630
+ "type": "array",
631
+ "items": {
632
+ "type": "string"
633
+ },
634
+ "uniqueItems": true
635
+ },
636
+ "properties": {
637
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
638
+ "type": "object"
639
+ },
640
+ "allOf": {
641
+ "type": "array",
642
+ "items": {
643
+ "type": "object"
644
+ }
645
+ },
646
+ "additionalProperties": {
647
+ "const": false
648
+ },
649
+ "unevaluatedProperties": {
650
+ "const": false
651
+ }
652
+ },
653
+ "allOf": [
654
+ {
655
+ "if": {
656
+ "anyOf": [
657
+ {
658
+ "properties": {
659
+ "properties": {
660
+ "type": "object",
661
+ "required": [
662
+ "identity"
663
+ ],
664
+ "properties": {
665
+ "identity": {}
666
+ }
667
+ }
668
+ }
669
+ },
670
+ {
671
+ "properties": {
672
+ "required": {
673
+ "type": "array",
674
+ "contains": {
675
+ "const": "identity"
676
+ }
677
+ }
678
+ }
679
+ }
680
+ ]
681
+ },
682
+ "then": {
683
+ "$ref": "#/$defs/IdentityProp"
684
+ }
685
+ },
686
+ {
687
+ "if": {
688
+ "anyOf": [
689
+ {
690
+ "properties": {
691
+ "properties": {
692
+ "type": "object",
693
+ "required": [
694
+ "merit"
695
+ ],
696
+ "properties": {
697
+ "merit": {}
698
+ }
699
+ }
700
+ }
701
+ },
702
+ {
703
+ "properties": {
704
+ "required": {
705
+ "type": "array",
706
+ "contains": {
707
+ "const": "merit"
708
+ }
709
+ }
710
+ }
711
+ }
712
+ ]
713
+ },
714
+ "then": {
715
+ "$ref": "#/$defs/MeritProp"
716
+ }
717
+ },
718
+ {
719
+ "oneOf": [
720
+ {
721
+ "required": [
722
+ "additionalProperties"
723
+ ]
724
+ },
725
+ {
726
+ "required": [
727
+ "unevaluatedProperties"
728
+ ]
729
+ }
730
+ ]
731
+ }
732
+ ],
733
+ "unevaluatedProperties": false
734
+ }
735
+ }
736
+ },
737
+ "ExtractionSchemaWrapper": {
738
+ "identity": "RESOURCE-ExtractionSchemaWrapper",
739
+ "resourceTypeRef": "TYPE-ResourceType",
740
+ "creationContext": {
741
+ "resourceRoleRef": "ROLE-Genesis",
742
+ "executionRef": "EXECUTION-ExtractionSchemaWrapper"
743
+ },
744
+ "kind": "materialized",
745
+ "timestamp": "2025-11-30T00:00:00.000Z",
746
+ "extractedData": {
747
+ "identity": "TYPE-ExtractionSchemaWrapper",
748
+ "name": "ExtractionSchemaWrapper",
749
+ "description": "dummy-description",
750
+ "resourceFormatRef": "FORMAT-ApplicationJson",
751
+ "extractionSchema": {
752
+ "$anchor": "ExtractionSchemaWrapper",
753
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
754
+ "type": "object",
755
+ "required": [
756
+ "extractionSchema"
757
+ ],
758
+ "properties": {
759
+ "extractionSchema": {
760
+ "$ref": "#/$defs/ExtractionSchema"
761
+ }
762
+ }
763
+ }
764
+ }
765
+ },
766
+ "ResourceFormatIdentity": {
767
+ "identity": "RESOURCE-ResourceFormatIdentity",
768
+ "resourceTypeRef": "TYPE-ResourceType",
769
+ "creationContext": {
770
+ "resourceRoleRef": "ROLE-Genesis",
771
+ "executionRef": "EXECUTION-ResourceFormatIdentity"
772
+ },
773
+ "kind": "materialized",
774
+ "timestamp": "2025-11-30T00:00:00.000Z",
775
+ "extractedData": {
776
+ "identity": "TYPE-ResourceFormatIdentity",
777
+ "name": "ResourceFormatIdentity",
778
+ "description": "dummy-description",
779
+ "resourceFormatIdentity": "FORMAT-ApplicationJson",
780
+ "extractionSchema": {
781
+ "$anchor": "ResourceFormatIdentity",
782
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
783
+ "type": "string",
784
+ "pattern": "^FORMAT-.+$"
785
+ }
786
+ }
787
+ },
788
+ "ResourceTypeIdentity": {
789
+ "identity": "RESOURCE-ResourceTypeIdentity",
790
+ "resourceTypeRef": "TYPE-ResourceType",
791
+ "creationContext": {
792
+ "resourceRoleRef": "ROLE-Genesis",
793
+ "executionRef": "EXECUTION-ResourceTypeIdentity"
794
+ },
795
+ "kind": "materialized",
796
+ "timestamp": "2025-11-30T00:00:00.000Z",
797
+ "extractedData": {
798
+ "identity": "TYPE-ResourceTypeIdentity",
799
+ "name": "ResourceTypeIdentity",
800
+ "description": "dummy-description",
801
+ "resourceFormatRef": "FORMAT-ApplicationJson",
802
+ "extractionSchema": {
803
+ "$anchor": "ResourceTypeIdentity",
804
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
805
+ "type": "string",
806
+ "pattern": "^TYPE-.+$"
807
+ }
808
+ }
809
+ },
810
+ "ResourceType": {
811
+ "identity": "RESOURCE-ResourceType",
812
+ "resourceTypeRef": "TYPE-ResourceType",
813
+ "creationContext": {
814
+ "resourceRoleRef": "ROLE-Genesis",
815
+ "executionRef": "EXECUTION-ResourceType"
816
+ },
817
+ "kind": "materialized",
818
+ "timestamp": "2025-11-30T00:00:00.000Z",
819
+ "extractedData": {
820
+ "identity": "TYPE-ResourceType",
821
+ "name": "ResourceType",
822
+ "description": "dummy-description",
823
+ "resourceFormatRef": "FORMAT-ApplicationJson",
824
+ "extractionSchema": {
825
+ "$anchor": "ResourceType",
826
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
827
+ "type": "object",
828
+ "required": [
829
+ "identity",
830
+ "resourceFormatRef"
831
+ ],
832
+ "properties": {
833
+ "identity": {
834
+ "$ref": "#/$defs/ResourceTypeIdentity"
835
+ },
836
+ "resourceFormatRef": {
837
+ "$ref": "#/$defs/ResourceFormatIdentity"
838
+ }
839
+ },
840
+ "allOf": [
841
+ {
842
+ "$ref": "#/$defs/Documented"
843
+ },
844
+ {
845
+ "$ref": "#/$defs/ExtractionSchemaWrapper"
846
+ },
847
+ {
848
+ "if": {
849
+ "$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.",
850
+ "properties": {
851
+ "resourceFormatRef": {
852
+ "const": "FORMAT-ApplicationJson"
853
+ }
854
+ }
855
+ },
856
+ "then": {
857
+ "not": {
858
+ "required": [
859
+ "extractorUri"
860
+ ]
861
+ }
862
+ },
863
+ "else": {
864
+ "type": "object",
865
+ "required": [
866
+ "extractorUri"
867
+ ],
868
+ "properties": {
869
+ "extractorUri": {
870
+ "type": "string",
871
+ "format": "uri"
872
+ }
873
+ }
874
+ }
875
+ }
876
+ ]
877
+ }
878
+ }
879
+ },
880
+ "ResourceFormat": {
881
+ "identity": "RESOURCE-ResourceFormat",
882
+ "resourceTypeRef": "TYPE-ResourceType",
883
+ "creationContext": {
884
+ "resourceRoleRef": "ROLE-Genesis",
885
+ "executionRef": "EXECUTION-ResourceFormat"
886
+ },
887
+ "kind": "materialized",
888
+ "timestamp": "2025-11-30T00:00:00.000Z",
889
+ "extractedData": {
890
+ "identity": "TYPE-ResourceFormat",
891
+ "name": "ResourceFormat",
892
+ "description": "dummy-description",
893
+ "resourceFormatRef": "FORMAT-ApplicationJson",
894
+ "extractionSchema": {
895
+ "$anchor": "ResourceFormat",
896
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
897
+ "type": "object",
898
+ "required": [
899
+ "identity"
900
+ ],
901
+ "properties": {
902
+ "identity": {
903
+ "$ref": "#/$defs/ResourceFormatIdentity"
904
+ }
905
+ },
906
+ "allOf": [
907
+ {
908
+ "$ref": "#/$defs/Documented"
909
+ }
910
+ ]
911
+ }
912
+ }
913
+ },
914
+ "ResourceRoleIdentity": {
915
+ "identity": "RESOURCE-ResourceRoleIdentity",
916
+ "resourceTypeRef": "TYPE-ResourceType",
917
+ "creationContext": {
918
+ "resourceRoleRef": "ROLE-Genesis",
919
+ "executionRef": "EXECUTION-ResourceRoleIdentity"
920
+ },
921
+ "kind": "materialized",
922
+ "timestamp": "2025-11-30T00:00:00.000Z",
923
+ "extractedData": {
924
+ "identity": "TYPE-ResourceRoleIdentity",
925
+ "name": "ResourceRoleIdentity",
926
+ "description": "dummy-description",
927
+ "resourceFormatRef": "FORMAT-ApplicationJson",
928
+ "extractionSchema": {
929
+ "$anchor": "ResourceRoleIdentity",
930
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
931
+ "type": "string",
932
+ "pattern": "^ROLE-.+$"
933
+ }
934
+ }
935
+ },
936
+ "ResourceIdentity": {
937
+ "identity": "RESOURCE-ResourceIdentity",
938
+ "resourceTypeRef": "TYPE-ResourceType",
939
+ "creationContext": {
940
+ "resourceRoleRef": "ROLE-Genesis",
941
+ "executionRef": "EXECUTION-ResourceIdentity"
942
+ },
943
+ "kind": "materialized",
944
+ "timestamp": "2025-11-30T00:00:00.000Z",
945
+ "extractedData": {
946
+ "identity": "TYPE-ResourceIdentity",
947
+ "name": "ResourceIdentity",
948
+ "description": "dummy-description",
949
+ "resourceFormatRef": "FORMAT-ApplicationJson",
950
+ "extractionSchema": {
951
+ "$anchor": "ResourceIdentity",
952
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
953
+ "type": "string",
954
+ "$comment": "",
955
+ "pattern": "^RESOURCE-.+$"
956
+ }
957
+ }
958
+ },
959
+ "ResourceRoleValue": {
960
+ "identity": "RESOURCE-ResourceRoleValue",
961
+ "resourceTypeRef": "TYPE-ResourceType",
962
+ "creationContext": {
963
+ "resourceRoleRef": "ROLE-Genesis",
964
+ "executionRef": "EXECUTION-ResourceRoleValue"
965
+ },
966
+ "kind": "materialized",
967
+ "timestamp": "2025-11-30T00:00:00.000Z",
968
+ "extractedData": {
969
+ "identity": "TYPE-ResourceRoleValue",
970
+ "name": "ResourceRoleValue",
971
+ "description": "dummy-description",
972
+ "resourceFormatRef": "FORMAT-ApplicationJson",
973
+ "extractionSchema": {
974
+ "$anchor": "ResourceRoleValue",
975
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
976
+ "type": "object",
977
+ "allOf": [
978
+ {
979
+ "$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).",
980
+ "required": [
981
+ "resourceTypeRef"
982
+ ],
983
+ "properties": {
984
+ "resourceTypeRef": {
985
+ "$ref": "#/$defs/ResourceTypeIdentity"
986
+ }
987
+ }
988
+ },
989
+ {
990
+ "$ref": "#/$defs/Documented"
991
+ }
992
+ ]
993
+ }
994
+ }
995
+ },
996
+ "RoleMap": {
997
+ "identity": "RESOURCE-RoleMap",
998
+ "resourceTypeRef": "TYPE-ResourceType",
999
+ "creationContext": {
1000
+ "resourceRoleRef": "ROLE-Genesis",
1001
+ "executionRef": "EXECUTION-RoleMap"
1002
+ },
1003
+ "kind": "materialized",
1004
+ "timestamp": "2025-11-30T00:00:00.000Z",
1005
+ "extractedData": {
1006
+ "identity": "TYPE-RoleMap",
1007
+ "name": "RoleMap",
1008
+ "description": "dummy-description",
1009
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1010
+ "extractionSchema": {
1011
+ "$anchor": "RoleMap",
1012
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1013
+ "type": "object",
1014
+ "propertyNames": {
1015
+ "$ref": "#/$defs/ResourceRoleIdentity"
1016
+ },
1017
+ "additionalProperties": {
1018
+ "$ref": "#/$defs/ResourceRoleValue"
1019
+ }
1020
+ }
1021
+ }
1022
+ },
1023
+ "Roles": {
1024
+ "identity": "RESOURCE-Roles",
1025
+ "resourceTypeRef": "TYPE-ResourceType",
1026
+ "creationContext": {
1027
+ "resourceRoleRef": "ROLE-Genesis",
1028
+ "executionRef": "EXECUTION-Roles"
1029
+ },
1030
+ "kind": "materialized",
1031
+ "timestamp": "2025-11-30T00:00:00.000Z",
1032
+ "extractedData": {
1033
+ "identity": "TYPE-Roles",
1034
+ "name": "Roles",
1035
+ "description": "dummy-description",
1036
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1037
+ "extractionSchema": {
1038
+ "$anchor": "Roles",
1039
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1040
+ "type": "object",
1041
+ "required": [
1042
+ "inputMap",
1043
+ "outputMap"
1044
+ ],
1045
+ "properties": {
1046
+ "inputMap": {
1047
+ "$ref": "#/$defs/RoleMap"
1048
+ },
1049
+ "outputMap": {
1050
+ "$ref": "#/$defs/RoleMap"
1051
+ }
1052
+ },
1053
+ "unevaluatedProperties": false
1054
+ }
1055
+ }
1056
+ },
1057
+ "RolesWrapper": {
1058
+ "identity": "RESOURCE-RolesWrapper",
1059
+ "resourceTypeRef": "TYPE-ResourceType",
1060
+ "creationContext": {
1061
+ "resourceRoleRef": "ROLE-Genesis",
1062
+ "executionRef": "EXECUTION-RolesWrapper"
1063
+ },
1064
+ "kind": "materialized",
1065
+ "timestamp": "2025-11-30T00:00:00.000Z",
1066
+ "extractedData": {
1067
+ "identity": "TYPE-RolesWrapper",
1068
+ "name": "RolesWrapper",
1069
+ "description": "dummy-description",
1070
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1071
+ "extractionSchema": {
1072
+ "$anchor": "RolesWrapper",
1073
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1074
+ "type": "object",
1075
+ "required": [
1076
+ "roles"
1077
+ ],
1078
+ "properties": {
1079
+ "roles": {
1080
+ "$ref": "#/$defs/Roles"
1081
+ }
1082
+ }
1083
+ }
1084
+ }
1085
+ },
1086
+ "JobIdentity": {
1087
+ "identity": "RESOURCE-JobIdentity",
1088
+ "resourceTypeRef": "TYPE-ResourceType",
1089
+ "creationContext": {
1090
+ "resourceRoleRef": "ROLE-Genesis",
1091
+ "executionRef": "EXECUTION-JobIdentity"
1092
+ },
1093
+ "kind": "materialized",
1094
+ "timestamp": "2025-11-30T00:00:00.000Z",
1095
+ "extractedData": {
1096
+ "identity": "TYPE-JobIdentity",
1097
+ "name": "JobIdentity",
1098
+ "description": "dummy-description",
1099
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1100
+ "extractionSchema": {
1101
+ "$anchor": "JobIdentity",
1102
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1103
+ "type": "string",
1104
+ "$comment": "",
1105
+ "pattern": "^JOB-.+$"
1106
+ }
1107
+ }
1108
+ },
1109
+ "Job": {
1110
+ "identity": "RESOURCE-Job",
1111
+ "resourceTypeRef": "TYPE-ResourceType",
1112
+ "creationContext": {
1113
+ "resourceRoleRef": "ROLE-Genesis",
1114
+ "executionRef": "EXECUTION-Job"
1115
+ },
1116
+ "kind": "materialized",
1117
+ "timestamp": "2025-11-30T00:00:00.000Z",
1118
+ "extractedData": {
1119
+ "identity": "TYPE-Job",
1120
+ "name": "Job",
1121
+ "description": "dummy-description",
1122
+ "resourceFormatRef": "FORMAT-ApplicationJob",
1123
+ "extractorUri": "https://extractors.toolproof.com/v0/JobExtractor.js",
1124
+ "extractionSchema": {
1125
+ "$anchor": "Job",
1126
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1127
+ "type": "object",
1128
+ "required": [
1129
+ "identity",
1130
+ "implementationUri"
1131
+ ],
1132
+ "properties": {
1133
+ "identity": {
1134
+ "$ref": "#/$defs/JobIdentity"
1135
+ },
1136
+ "implementationUri": {
1137
+ "type": "string",
1138
+ "format": "uri"
1139
+ }
1140
+ },
1141
+ "allOf": [
1142
+ {
1143
+ "$ref": "#/$defs/Documented"
1144
+ },
1145
+ {
1146
+ "$ref": "#/$defs/RolesWrapper"
1147
+ }
1148
+ ],
1149
+ "unevaluatedProperties": false
1150
+ }
1151
+ }
1152
+ },
1153
+ "RoleBindingMap": {
1154
+ "identity": "RESOURCE-RoleBindingMap",
1155
+ "resourceTypeRef": "TYPE-ResourceType",
1156
+ "creationContext": {
1157
+ "resourceRoleRef": "ROLE-Genesis",
1158
+ "executionRef": "EXECUTION-RoleBindingMap"
1159
+ },
1160
+ "kind": "materialized",
1161
+ "timestamp": "2025-11-30T00:00:00.000Z",
1162
+ "extractedData": {
1163
+ "identity": "TYPE-RoleBindingMap",
1164
+ "name": "RoleBindingMap",
1165
+ "description": "dummy-description",
1166
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1167
+ "extractionSchema": {
1168
+ "$anchor": "RoleBindingMap",
1169
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1170
+ "type": "object",
1171
+ "propertyNames": {
1172
+ "$ref": "#/$defs/ResourceRoleIdentity"
1173
+ },
1174
+ "additionalProperties": {
1175
+ "$ref": "#/$defs/ResourceIdentity"
1176
+ }
1177
+ }
1178
+ }
1179
+ },
1180
+ "RoleBindings": {
1181
+ "identity": "RESOURCE-RoleBindings",
1182
+ "resourceTypeRef": "TYPE-ResourceType",
1183
+ "creationContext": {
1184
+ "resourceRoleRef": "ROLE-Genesis",
1185
+ "executionRef": "EXECUTION-RoleBindings"
1186
+ },
1187
+ "kind": "materialized",
1188
+ "timestamp": "2025-11-30T00:00:00.000Z",
1189
+ "extractedData": {
1190
+ "identity": "TYPE-RoleBindings",
1191
+ "name": "RoleBindings",
1192
+ "description": "dummy-description",
1193
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1194
+ "extractionSchema": {
1195
+ "$anchor": "RoleBindings",
1196
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1197
+ "type": "object",
1198
+ "required": [
1199
+ "inputBindingMap",
1200
+ "outputBindingMap"
1201
+ ],
1202
+ "properties": {
1203
+ "inputBindingMap": {
1204
+ "$ref": "#/$defs/RoleBindingMap"
1205
+ },
1206
+ "outputBindingMap": {
1207
+ "$ref": "#/$defs/RoleBindingMap"
1208
+ }
1209
+ },
1210
+ "unevaluatedProperties": false
1211
+ }
1212
+ }
1213
+ },
1214
+ "RoleBindingsWrapper": {
1215
+ "identity": "RESOURCE-RoleBindingsWrapper",
1216
+ "resourceTypeRef": "TYPE-ResourceType",
1217
+ "creationContext": {
1218
+ "resourceRoleRef": "ROLE-Genesis",
1219
+ "executionRef": "EXECUTION-RoleBindingsWrapper"
1220
+ },
1221
+ "kind": "materialized",
1222
+ "timestamp": "2025-11-30T00:00:00.000Z",
1223
+ "extractedData": {
1224
+ "identity": "TYPE-RoleBindingsWrapper",
1225
+ "name": "RoleBindingsWrapper",
1226
+ "description": "dummy-description",
1227
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1228
+ "extractionSchema": {
1229
+ "$anchor": "RoleBindingsWrapper",
1230
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1231
+ "type": "object",
1232
+ "required": [
1233
+ "roleBindings"
1234
+ ],
1235
+ "properties": {
1236
+ "roleBindings": {
1237
+ "$ref": "#/$defs/RoleBindings"
1238
+ }
1239
+ }
1240
+ }
1241
+ }
1242
+ },
1243
+ "CreationContext": {
1244
+ "identity": "RESOURCE-CreationContext",
1245
+ "resourceTypeRef": "TYPE-ResourceType",
1246
+ "creationContext": {
1247
+ "resourceRoleRef": "ROLE-Genesis",
1248
+ "executionRef": "EXECUTION-CreationContext"
1249
+ },
1250
+ "kind": "materialized",
1251
+ "timestamp": "2025-11-30T00:00:00.000Z",
1252
+ "extractedData": {
1253
+ "identity": "TYPE-CreationContext",
1254
+ "name": "CreationContext",
1255
+ "description": "dummy-description",
1256
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1257
+ "extractionSchema": {
1258
+ "$anchor": "CreationContext",
1259
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1260
+ "type": "object",
1261
+ "required": [
1262
+ "resourceRoleRef",
1263
+ "executionRef"
1264
+ ],
1265
+ "properties": {
1266
+ "resourceRoleRef": {
1267
+ "$ref": "#/$defs/ResourceRoleIdentity"
1268
+ },
1269
+ "executionRef": {
1270
+ "$ref": "#/$defs/ExecutionIdentity"
1271
+ }
1272
+ }
1273
+ }
1274
+ }
1275
+ },
1276
+ "CreationContextWrapper": {
1277
+ "identity": "RESOURCE-CreationContextWrapper",
1278
+ "resourceTypeRef": "TYPE-ResourceType",
1279
+ "creationContext": {
1280
+ "resourceRoleRef": "ROLE-Genesis",
1281
+ "executionRef": "EXECUTION-CreationContextWrapper"
1282
+ },
1283
+ "kind": "materialized",
1284
+ "timestamp": "2025-11-30T00:00:00.000Z",
1285
+ "extractedData": {
1286
+ "identity": "TYPE-CreationContextWrapper",
1287
+ "name": "CreationContextWrapper",
1288
+ "description": "dummy-description",
1289
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1290
+ "extractionSchema": {
1291
+ "$anchor": "CreationContextWrapper",
1292
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1293
+ "type": "object",
1294
+ "required": [
1295
+ "creationContext"
1296
+ ],
1297
+ "properties": {
1298
+ "creationContext": {
1299
+ "$ref": "#/$defs/CreationContext"
1300
+ }
1301
+ }
1302
+ }
1303
+ }
1304
+ },
1305
+ "ResourceBase": {
1306
+ "identity": "RESOURCE-ResourceBase",
1307
+ "resourceTypeRef": "TYPE-ResourceType",
1308
+ "creationContext": {
1309
+ "resourceRoleRef": "ROLE-Genesis",
1310
+ "executionRef": "EXECUTION-ResourceBase"
1311
+ },
1312
+ "kind": "materialized",
1313
+ "timestamp": "2025-11-30T00:00:00.000Z",
1314
+ "extractedData": {
1315
+ "identity": "TYPE-ResourceBase",
1316
+ "name": "ResourceBase",
1317
+ "description": "dummy-description",
1318
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1319
+ "extractionSchema": {
1320
+ "$anchor": "ResourceBase",
1321
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1322
+ "type": "object",
1323
+ "required": [
1324
+ "identity",
1325
+ "resourceTypeRef"
1326
+ ],
1327
+ "properties": {
1328
+ "identity": {
1329
+ "$ref": "#/$defs/ResourceIdentity"
1330
+ },
1331
+ "resourceTypeRef": {
1332
+ "$ref": "#/$defs/ResourceTypeIdentity"
1333
+ }
1334
+ }
1335
+ }
1336
+ }
1337
+ },
1338
+ "ResourceKind": {
1339
+ "identity": "RESOURCE-ResourceKind",
1340
+ "resourceTypeRef": "TYPE-ResourceType",
1341
+ "creationContext": {
1342
+ "resourceRoleRef": "ROLE-Genesis",
1343
+ "executionRef": "EXECUTION-ResourceKind"
1344
+ },
1345
+ "kind": "materialized",
1346
+ "timestamp": "2025-11-30T00:00:00.000Z",
1347
+ "extractedData": {
1348
+ "identity": "TYPE-ResourceKind",
1349
+ "name": "ResourceKind",
1350
+ "description": "dummy-description",
1351
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1352
+ "extractionSchema": {
1353
+ "$anchor": "ResourceKind",
1354
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1355
+ "type": "object",
1356
+ "required": [
1357
+ "kind"
1358
+ ],
1359
+ "properties": {
1360
+ "kind": {
1361
+ "enum": [
1362
+ "missing",
1363
+ "potential-input",
1364
+ "potential-output",
1365
+ "materialized"
1366
+ ]
1367
+ }
1368
+ }
1369
+ }
1370
+ }
1371
+ },
1372
+ "ResourceMissing": {
1373
+ "identity": "RESOURCE-ResourceMissing",
1374
+ "resourceTypeRef": "TYPE-ResourceType",
1375
+ "creationContext": {
1376
+ "resourceRoleRef": "ROLE-Genesis",
1377
+ "executionRef": "EXECUTION-ResourceMissing"
1378
+ },
1379
+ "kind": "materialized",
1380
+ "timestamp": "2025-11-30T00:00:00.000Z",
1381
+ "extractedData": {
1382
+ "identity": "TYPE-ResourceMissing",
1383
+ "name": "ResourceMissing",
1384
+ "description": "dummy-description",
1385
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1386
+ "extractionSchema": {
1387
+ "$anchor": "ResourceMissing",
1388
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1389
+ "type": "object",
1390
+ "allOf": [
1391
+ {
1392
+ "$ref": "#/$defs/ResourceBase"
1393
+ },
1394
+ {
1395
+ "$ref": "#/$defs/ResourceKind"
1396
+ },
1397
+ {
1398
+ "required": [
1399
+ "kind"
1400
+ ],
1401
+ "properties": {
1402
+ "kind": {
1403
+ "const": "missing"
1404
+ }
1405
+ }
1406
+ }
1407
+ ],
1408
+ "unevaluatedProperties": false
1409
+ }
1410
+ }
1411
+ },
1412
+ "ResourcePotentialInput": {
1413
+ "identity": "RESOURCE-ResourcePotentialInput",
1414
+ "resourceTypeRef": "TYPE-ResourceType",
1415
+ "creationContext": {
1416
+ "resourceRoleRef": "ROLE-Genesis",
1417
+ "executionRef": "EXECUTION-ResourcePotentialInput"
1418
+ },
1419
+ "kind": "materialized",
1420
+ "timestamp": "2025-11-30T00:00:00.000Z",
1421
+ "extractedData": {
1422
+ "identity": "TYPE-ResourcePotentialInput",
1423
+ "name": "ResourcePotentialInput",
1424
+ "description": "dummy-description",
1425
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1426
+ "extractionSchema": {
1427
+ "$anchor": "ResourcePotentialInput",
1428
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1429
+ "type": "object",
1430
+ "allOf": [
1431
+ {
1432
+ "$ref": "#/$defs/ResourceBase"
1433
+ },
1434
+ {
1435
+ "$ref": "#/$defs/CreationContextWrapper"
1436
+ },
1437
+ {
1438
+ "$ref": "#/$defs/ResourceKind"
1439
+ },
1440
+ {
1441
+ "required": [
1442
+ "kind"
1443
+ ],
1444
+ "properties": {
1445
+ "kind": {
1446
+ "const": "potential-input"
1447
+ }
1448
+ }
1449
+ }
1450
+ ],
1451
+ "unevaluatedProperties": false
1452
+ }
1453
+ }
1454
+ },
1455
+ "ResourcePotentialOutput": {
1456
+ "identity": "RESOURCE-ResourcePotentialOutput",
1457
+ "resourceTypeRef": "TYPE-ResourceType",
1458
+ "creationContext": {
1459
+ "resourceRoleRef": "ROLE-Genesis",
1460
+ "executionRef": "EXECUTION-ResourcePotentialOutput"
1461
+ },
1462
+ "kind": "materialized",
1463
+ "timestamp": "2025-11-30T00:00:00.000Z",
1464
+ "extractedData": {
1465
+ "identity": "TYPE-ResourcePotentialOutput",
1466
+ "name": "ResourcePotentialOutput",
1467
+ "description": "dummy-description",
1468
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1469
+ "extractionSchema": {
1470
+ "$anchor": "ResourcePotentialOutput",
1471
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1472
+ "type": "object",
1473
+ "allOf": [
1474
+ {
1475
+ "$ref": "#/$defs/ResourceBase"
1476
+ },
1477
+ {
1478
+ "$ref": "#/$defs/CreationContextWrapper"
1479
+ },
1480
+ {
1481
+ "$ref": "#/$defs/ResourceKind"
1482
+ },
1483
+ {
1484
+ "required": [
1485
+ "kind"
1486
+ ],
1487
+ "properties": {
1488
+ "kind": {
1489
+ "const": "potential-output"
1490
+ }
1491
+ }
1492
+ }
1493
+ ],
1494
+ "unevaluatedProperties": false
1495
+ }
1496
+ }
1497
+ },
1498
+ "Timestamp": {
1499
+ "identity": "RESOURCE-Timestamp",
1500
+ "resourceTypeRef": "TYPE-ResourceType",
1501
+ "creationContext": {
1502
+ "resourceRoleRef": "ROLE-Genesis",
1503
+ "executionRef": "EXECUTION-Timestamp"
1504
+ },
1505
+ "kind": "materialized",
1506
+ "timestamp": "2025-11-30T00:00:00.000Z",
1507
+ "extractedData": {
1508
+ "identity": "TYPE-Timestamp",
1509
+ "name": "Timestamp",
1510
+ "description": "dummy-description",
1511
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1512
+ "extractionSchema": {
1513
+ "$anchor": "Timestamp",
1514
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1515
+ "type": "object",
1516
+ "required": [
1517
+ "timestamp"
1518
+ ],
1519
+ "properties": {
1520
+ "timestamp": {
1521
+ "type": "string",
1522
+ "format": "date-time"
1523
+ }
1524
+ }
1525
+ }
1526
+ }
1527
+ },
1528
+ "Path": {
1529
+ "identity": "RESOURCE-Path",
1530
+ "resourceTypeRef": "TYPE-ResourceType",
1531
+ "creationContext": {
1532
+ "resourceRoleRef": "ROLE-Genesis",
1533
+ "executionRef": "EXECUTION-Path"
1534
+ },
1535
+ "kind": "materialized",
1536
+ "timestamp": "2025-11-30T00:00:00.000Z",
1537
+ "extractedData": {
1538
+ "identity": "TYPE-Path",
1539
+ "name": "Path",
1540
+ "description": "dummy-description",
1541
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1542
+ "extractionSchema": {
1543
+ "$anchor": "Path",
1544
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1545
+ "type": "object",
1546
+ "required": [
1547
+ "path"
1548
+ ],
1549
+ "properties": {
1550
+ "path": {
1551
+ "type": "string"
1552
+ }
1553
+ }
1554
+ }
1555
+ }
1556
+ },
1557
+ "ResourceMetaBase": {
1558
+ "identity": "RESOURCE-ResourceMetaBase",
1559
+ "resourceTypeRef": "TYPE-ResourceType",
1560
+ "creationContext": {
1561
+ "resourceRoleRef": "ROLE-Genesis",
1562
+ "executionRef": "EXECUTION-ResourceMetaBase"
1563
+ },
1564
+ "kind": "materialized",
1565
+ "timestamp": "2025-11-30T00:00:00.000Z",
1566
+ "extractedData": {
1567
+ "identity": "TYPE-ResourceMetaBase",
1568
+ "name": "ResourceMetaBase",
1569
+ "description": "dummy-description",
1570
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1571
+ "extractionSchema": {
1572
+ "$anchor": "ResourceMetaBase",
1573
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1574
+ "type": "object",
1575
+ "allOf": [
1576
+ {
1577
+ "$ref": "#/$defs/ResourceBase"
1578
+ },
1579
+ {
1580
+ "$ref": "#/$defs/CreationContextWrapper"
1581
+ },
1582
+ {
1583
+ "$ref": "#/$defs/ResourceKind"
1584
+ },
1585
+ {
1586
+ "required": [
1587
+ "kind"
1588
+ ],
1589
+ "properties": {
1590
+ "kind": {
1591
+ "const": "materialized"
1592
+ }
1593
+ }
1594
+ },
1595
+ {
1596
+ "$ref": "#/$defs/Timestamp"
1597
+ },
1598
+ {
1599
+ "$ref": "#/$defs/Path"
1600
+ }
1601
+ ]
1602
+ }
1603
+ }
1604
+ },
1605
+ "ResourceMeta": {
1606
+ "identity": "RESOURCE-ResourceMeta",
1607
+ "resourceTypeRef": "TYPE-ResourceType",
1608
+ "creationContext": {
1609
+ "resourceRoleRef": "ROLE-Genesis",
1610
+ "executionRef": "EXECUTION-ResourceMeta"
1611
+ },
1612
+ "kind": "materialized",
1613
+ "timestamp": "2025-11-30T00:00:00.000Z",
1614
+ "extractedData": {
1615
+ "identity": "TYPE-ResourceMeta",
1616
+ "name": "ResourceMeta",
1617
+ "description": "dummy-description",
1618
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1619
+ "extractionSchema": {
1620
+ "$anchor": "ResourceMeta",
1621
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1622
+ "type": "object",
1623
+ "$ref": "#/$defs/ResourceMetaBase",
1624
+ "unevaluatedProperties": false
1625
+ }
1626
+ }
1627
+ },
1628
+ "JsonData": {
1629
+ "identity": "RESOURCE-JsonData",
1630
+ "resourceTypeRef": "TYPE-ResourceType",
1631
+ "creationContext": {
1632
+ "resourceRoleRef": "ROLE-Genesis",
1633
+ "executionRef": "EXECUTION-JsonData"
1634
+ },
1635
+ "kind": "materialized",
1636
+ "timestamp": "2025-11-30T00:00:00.000Z",
1637
+ "extractedData": {
1638
+ "identity": "TYPE-JsonData",
1639
+ "name": "JsonData",
1640
+ "description": "dummy-description",
1641
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1642
+ "extractionSchema": {
1643
+ "$anchor": "JsonData",
1644
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1645
+ "oneOf": [
1646
+ {
1647
+ "type": "null"
1648
+ },
1649
+ {
1650
+ "type": "boolean"
1651
+ },
1652
+ {
1653
+ "type": "number"
1654
+ },
1655
+ {
1656
+ "type": "string"
1657
+ },
1658
+ {
1659
+ "type": "array",
1660
+ "items": {
1661
+ "$ref": "#/$defs/JsonData"
1662
+ }
1663
+ },
1664
+ {
1665
+ "type": "object",
1666
+ "additionalProperties": {
1667
+ "$ref": "#/$defs/JsonData"
1668
+ }
1669
+ }
1670
+ ]
1671
+ }
1672
+ }
1673
+ },
1674
+ "Resource": {
1675
+ "identity": "RESOURCE-Resource",
1676
+ "resourceTypeRef": "TYPE-ResourceType",
1677
+ "creationContext": {
1678
+ "resourceRoleRef": "ROLE-Genesis",
1679
+ "executionRef": "EXECUTION-Resource"
1680
+ },
1681
+ "kind": "materialized",
1682
+ "timestamp": "2025-11-30T00:00:00.000Z",
1683
+ "extractedData": {
1684
+ "identity": "TYPE-Resource",
1685
+ "name": "Resource",
1686
+ "description": "dummy-description",
1687
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1688
+ "extractionSchema": {
1689
+ "$anchor": "Resource",
1690
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1691
+ "type": "object",
1692
+ "allOf": [
1693
+ {
1694
+ "$ref": "#/$defs/ResourceMetaBase"
1695
+ },
1696
+ {
1697
+ "required": [
1698
+ "extractedData"
1699
+ ],
1700
+ "properties": {
1701
+ "extractedData": {
1702
+ "$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.",
1703
+ "type": "object",
1704
+ "additionalProperties": {
1705
+ "$ref": "#/$defs/JsonData"
1706
+ }
1707
+ }
1708
+ }
1709
+ }
1710
+ ],
1711
+ "unevaluatedProperties": false
1712
+ }
1713
+ }
1714
+ },
1715
+ "ExecutionIdentity": {
1716
+ "identity": "RESOURCE-ExecutionIdentity",
1717
+ "resourceTypeRef": "TYPE-ResourceType",
1718
+ "creationContext": {
1719
+ "resourceRoleRef": "ROLE-Genesis",
1720
+ "executionRef": "EXECUTION-ExecutionIdentity"
1721
+ },
1722
+ "kind": "materialized",
1723
+ "timestamp": "2025-11-30T00:00:00.000Z",
1724
+ "extractedData": {
1725
+ "identity": "TYPE-ExecutionIdentity",
1726
+ "name": "ExecutionIdentity",
1727
+ "description": "dummy-description",
1728
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1729
+ "extractionSchema": {
1730
+ "$anchor": "ExecutionIdentity",
1731
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1732
+ "type": "string",
1733
+ "pattern": "^EXECUTION-.+$"
1734
+ }
1735
+ }
1736
+ },
1737
+ "Execution": {
1738
+ "identity": "RESOURCE-Execution",
1739
+ "resourceTypeRef": "TYPE-ResourceType",
1740
+ "creationContext": {
1741
+ "resourceRoleRef": "ROLE-Genesis",
1742
+ "executionRef": "EXECUTION-Execution"
1743
+ },
1744
+ "kind": "materialized",
1745
+ "timestamp": "2025-11-30T00:00:00.000Z",
1746
+ "extractedData": {
1747
+ "identity": "TYPE-Execution",
1748
+ "name": "Execution",
1749
+ "description": "dummy-description",
1750
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1751
+ "extractionSchema": {
1752
+ "$anchor": "Execution",
1753
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1754
+ "type": "object",
1755
+ "required": [
1756
+ "identity",
1757
+ "jobRef"
1758
+ ],
1759
+ "properties": {
1760
+ "identity": {
1761
+ "$ref": "#/$defs/ExecutionIdentity"
1762
+ },
1763
+ "jobRef": {
1764
+ "$ref": "#/$defs/JobIdentity"
1765
+ }
1766
+ },
1767
+ "allOf": [
1768
+ {
1769
+ "$comment": "This will be overlayed at runtime to specify roleBindings corresponding to the roles of the underlying job.",
1770
+ "$ref": "#/$defs/RoleBindingsWrapper"
1771
+ }
1772
+ ]
1773
+ }
1774
+ }
1775
+ },
1776
+ "Conditional": {
1777
+ "identity": "RESOURCE-Conditional",
1778
+ "resourceTypeRef": "TYPE-ResourceType",
1779
+ "creationContext": {
1780
+ "resourceRoleRef": "ROLE-Genesis",
1781
+ "executionRef": "EXECUTION-Conditional"
1782
+ },
1783
+ "kind": "materialized",
1784
+ "timestamp": "2025-11-30T00:00:00.000Z",
1785
+ "extractedData": {
1786
+ "identity": "TYPE-Conditional",
1787
+ "name": "Conditional",
1788
+ "description": "dummy-description",
1789
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1790
+ "extractionSchema": {
1791
+ "$anchor": "Conditional",
1792
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1793
+ "type": "object",
1794
+ "required": [
1795
+ "when",
1796
+ "what"
1797
+ ],
1798
+ "properties": {
1799
+ "when": {
1800
+ "$ref": "#/$defs/WorkStep"
1801
+ },
1802
+ "what": {
1803
+ "$ref": "#/$defs/WorkStep"
1804
+ }
1805
+ },
1806
+ "unevaluatedProperties": false
1807
+ }
1808
+ }
1809
+ },
1810
+ "StepKind": {
1811
+ "identity": "RESOURCE-StepKind",
1812
+ "resourceTypeRef": "TYPE-ResourceType",
1813
+ "creationContext": {
1814
+ "resourceRoleRef": "ROLE-Genesis",
1815
+ "executionRef": "EXECUTION-StepKind"
1816
+ },
1817
+ "kind": "materialized",
1818
+ "timestamp": "2025-11-30T00:00:00.000Z",
1819
+ "extractedData": {
1820
+ "identity": "TYPE-StepKind",
1821
+ "name": "StepKind",
1822
+ "description": "dummy-description",
1823
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1824
+ "extractionSchema": {
1825
+ "$anchor": "StepKind",
1826
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1827
+ "type": "object",
1828
+ "required": [
1829
+ "kind"
1830
+ ],
1831
+ "properties": {
1832
+ "kind": {
1833
+ "type": "string",
1834
+ "enum": [
1835
+ "work",
1836
+ "branch",
1837
+ "while",
1838
+ "for"
1839
+ ]
1840
+ }
1841
+ }
1842
+ }
1843
+ }
1844
+ },
1845
+ "WorkStepIdentity": {
1846
+ "identity": "RESOURCE-WorkStepIdentity",
1847
+ "resourceTypeRef": "TYPE-ResourceType",
1848
+ "creationContext": {
1849
+ "resourceRoleRef": "ROLE-Genesis",
1850
+ "executionRef": "EXECUTION-WorkStepIdentity"
1851
+ },
1852
+ "kind": "materialized",
1853
+ "timestamp": "2025-11-30T00:00:00.000Z",
1854
+ "extractedData": {
1855
+ "identity": "TYPE-WorkStepIdentity",
1856
+ "name": "WorkStepIdentity",
1857
+ "description": "dummy-description",
1858
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1859
+ "extractionSchema": {
1860
+ "$anchor": "WorkStepIdentity",
1861
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1862
+ "type": "string",
1863
+ "pattern": "^WORKSTEP-.+$"
1864
+ }
1865
+ }
1866
+ },
1867
+ "WorkStep": {
1868
+ "identity": "RESOURCE-WorkStep",
1869
+ "resourceTypeRef": "TYPE-ResourceType",
1870
+ "creationContext": {
1871
+ "resourceRoleRef": "ROLE-Genesis",
1872
+ "executionRef": "EXECUTION-WorkStep"
1873
+ },
1874
+ "kind": "materialized",
1875
+ "timestamp": "2025-11-30T00:00:00.000Z",
1876
+ "extractedData": {
1877
+ "identity": "TYPE-WorkStep",
1878
+ "name": "WorkStep",
1879
+ "description": "dummy-description",
1880
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1881
+ "extractionSchema": {
1882
+ "$anchor": "WorkStep",
1883
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1884
+ "type": "object",
1885
+ "required": [
1886
+ "identity",
1887
+ "kind",
1888
+ "execution"
1889
+ ],
1890
+ "properties": {
1891
+ "identity": {
1892
+ "$ref": "#/$defs/WorkStepIdentity"
1893
+ },
1894
+ "kind": {
1895
+ "const": "work"
1896
+ },
1897
+ "execution": {
1898
+ "$ref": "#/$defs/Execution"
1899
+ }
1900
+ },
1901
+ "allOf": [
1902
+ {
1903
+ "$ref": "#/$defs/StepKind"
1904
+ }
1905
+ ]
1906
+ }
1907
+ }
1908
+ },
1909
+ "BranchStepIdentity": {
1910
+ "identity": "RESOURCE-BranchStepIdentity",
1911
+ "resourceTypeRef": "TYPE-ResourceType",
1912
+ "creationContext": {
1913
+ "resourceRoleRef": "ROLE-Genesis",
1914
+ "executionRef": "EXECUTION-BranchStepIdentity"
1915
+ },
1916
+ "kind": "materialized",
1917
+ "timestamp": "2025-11-30T00:00:00.000Z",
1918
+ "extractedData": {
1919
+ "identity": "TYPE-BranchStepIdentity",
1920
+ "name": "BranchStepIdentity",
1921
+ "description": "dummy-description",
1922
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1923
+ "extractionSchema": {
1924
+ "$anchor": "BranchStepIdentity",
1925
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1926
+ "type": "string",
1927
+ "pattern": "^BRANCHSTEP-.+$"
1928
+ }
1929
+ }
1930
+ },
1931
+ "BranchStep": {
1932
+ "identity": "RESOURCE-BranchStep",
1933
+ "resourceTypeRef": "TYPE-ResourceType",
1934
+ "creationContext": {
1935
+ "resourceRoleRef": "ROLE-Genesis",
1936
+ "executionRef": "EXECUTION-BranchStep"
1937
+ },
1938
+ "kind": "materialized",
1939
+ "timestamp": "2025-11-30T00:00:00.000Z",
1940
+ "extractedData": {
1941
+ "identity": "TYPE-BranchStep",
1942
+ "name": "BranchStep",
1943
+ "description": "dummy-description",
1944
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1945
+ "extractionSchema": {
1946
+ "$anchor": "BranchStep",
1947
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1948
+ "type": "object",
1949
+ "required": [
1950
+ "identity",
1951
+ "kind",
1952
+ "cases"
1953
+ ],
1954
+ "properties": {
1955
+ "identity": {
1956
+ "$ref": "#/$defs/BranchStepIdentity"
1957
+ },
1958
+ "kind": {
1959
+ "const": "branch"
1960
+ },
1961
+ "cases": {
1962
+ "type": "array",
1963
+ "items": {
1964
+ "$ref": "#/$defs/Conditional"
1965
+ },
1966
+ "minItems": 1,
1967
+ "uniqueItems": true
1968
+ }
1969
+ },
1970
+ "allOf": [
1971
+ {
1972
+ "$ref": "#/$defs/StepKind"
1973
+ }
1974
+ ]
1975
+ }
1976
+ }
1977
+ },
1978
+ "WhileStepIdentity": {
1979
+ "identity": "RESOURCE-WhileStepIdentity",
1980
+ "resourceTypeRef": "TYPE-ResourceType",
1981
+ "creationContext": {
1982
+ "resourceRoleRef": "ROLE-Genesis",
1983
+ "executionRef": "EXECUTION-WhileStepIdentity"
1984
+ },
1985
+ "kind": "materialized",
1986
+ "timestamp": "2025-11-30T00:00:00.000Z",
1987
+ "extractedData": {
1988
+ "identity": "TYPE-WhileStepIdentity",
1989
+ "name": "WhileStepIdentity",
1990
+ "description": "dummy-description",
1991
+ "resourceFormatRef": "FORMAT-ApplicationJson",
1992
+ "extractionSchema": {
1993
+ "$anchor": "WhileStepIdentity",
1994
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
1995
+ "type": "string",
1996
+ "pattern": "^WHILESTEP-.+$"
1997
+ }
1998
+ }
1999
+ },
2000
+ "WhileStep": {
2001
+ "identity": "RESOURCE-WhileStep",
2002
+ "resourceTypeRef": "TYPE-ResourceType",
2003
+ "creationContext": {
2004
+ "resourceRoleRef": "ROLE-Genesis",
2005
+ "executionRef": "EXECUTION-WhileStep"
2006
+ },
2007
+ "kind": "materialized",
2008
+ "timestamp": "2025-11-30T00:00:00.000Z",
2009
+ "extractedData": {
2010
+ "identity": "TYPE-WhileStep",
2011
+ "name": "WhileStep",
2012
+ "description": "dummy-description",
2013
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2014
+ "extractionSchema": {
2015
+ "$anchor": "WhileStep",
2016
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2017
+ "type": "object",
2018
+ "required": [
2019
+ "identity",
2020
+ "kind",
2021
+ "case"
2022
+ ],
2023
+ "properties": {
2024
+ "identity": {
2025
+ "$ref": "#/$defs/WhileStepIdentity"
2026
+ },
2027
+ "kind": {
2028
+ "const": "while"
2029
+ },
2030
+ "case": {
2031
+ "$ref": "#/$defs/Conditional"
2032
+ }
2033
+ },
2034
+ "allOf": [
2035
+ {
2036
+ "$ref": "#/$defs/StepKind"
2037
+ }
2038
+ ]
2039
+ }
2040
+ }
2041
+ },
2042
+ "ForStepIdentity": {
2043
+ "identity": "RESOURCE-ForStepIdentity",
2044
+ "resourceTypeRef": "TYPE-ResourceType",
2045
+ "creationContext": {
2046
+ "resourceRoleRef": "ROLE-Genesis",
2047
+ "executionRef": "EXECUTION-ForStepIdentity"
2048
+ },
2049
+ "kind": "materialized",
2050
+ "timestamp": "2025-11-30T00:00:00.000Z",
2051
+ "extractedData": {
2052
+ "identity": "TYPE-ForStepIdentity",
2053
+ "name": "ForStepIdentity",
2054
+ "description": "dummy-description",
2055
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2056
+ "extractionSchema": {
2057
+ "$anchor": "ForStepIdentity",
2058
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2059
+ "type": "string",
2060
+ "pattern": "^FORSTEP-.+$"
2061
+ }
2062
+ }
2063
+ },
2064
+ "ForStep": {
2065
+ "identity": "RESOURCE-ForStep",
2066
+ "resourceTypeRef": "TYPE-ResourceType",
2067
+ "creationContext": {
2068
+ "resourceRoleRef": "ROLE-Genesis",
2069
+ "executionRef": "EXECUTION-ForStep"
2070
+ },
2071
+ "kind": "materialized",
2072
+ "timestamp": "2025-11-30T00:00:00.000Z",
2073
+ "extractedData": {
2074
+ "identity": "TYPE-ForStep",
2075
+ "name": "ForStep",
2076
+ "description": "dummy-description",
2077
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2078
+ "extractionSchema": {
2079
+ "$anchor": "ForStep",
2080
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2081
+ "type": "object",
2082
+ "required": [
2083
+ "identity",
2084
+ "kind",
2085
+ "case"
2086
+ ],
2087
+ "properties": {
2088
+ "identity": {
2089
+ "$ref": "#/$defs/ForStepIdentity"
2090
+ },
2091
+ "kind": {
2092
+ "const": "for"
2093
+ },
2094
+ "case": {
2095
+ "$ref": "#/$defs/Conditional"
2096
+ }
2097
+ },
2098
+ "allOf": [
2099
+ {
2100
+ "$ref": "#/$defs/StepKind"
2101
+ }
2102
+ ]
2103
+ }
2104
+ }
2105
+ },
2106
+ "Step": {
2107
+ "identity": "RESOURCE-Step",
2108
+ "resourceTypeRef": "TYPE-ResourceType",
2109
+ "creationContext": {
2110
+ "resourceRoleRef": "ROLE-Genesis",
2111
+ "executionRef": "EXECUTION-Step"
2112
+ },
2113
+ "kind": "materialized",
2114
+ "timestamp": "2025-11-30T00:00:00.000Z",
2115
+ "extractedData": {
2116
+ "identity": "TYPE-Step",
2117
+ "name": "Step",
2118
+ "description": "dummy-description",
2119
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2120
+ "extractionSchema": {
2121
+ "$anchor": "Step",
2122
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2123
+ "type": "object",
2124
+ "oneOf": [
2125
+ {
2126
+ "$ref": "#/$defs/WorkStep"
2127
+ },
2128
+ {
2129
+ "$ref": "#/$defs/BranchStep"
2130
+ },
2131
+ {
2132
+ "$ref": "#/$defs/WhileStep"
2133
+ },
2134
+ {
2135
+ "$ref": "#/$defs/ForStep"
2136
+ }
2137
+ ],
2138
+ "unevaluatedProperties": false
2139
+ }
2140
+ }
2141
+ },
2142
+ "StatelessStrategyIdentity": {
2143
+ "identity": "RESOURCE-StatelessStrategyIdentity",
2144
+ "resourceTypeRef": "TYPE-ResourceType",
2145
+ "creationContext": {
2146
+ "resourceRoleRef": "ROLE-Genesis",
2147
+ "executionRef": "EXECUTION-StatelessStrategyIdentity"
2148
+ },
2149
+ "kind": "materialized",
2150
+ "timestamp": "2025-11-30T00:00:00.000Z",
2151
+ "extractedData": {
2152
+ "identity": "TYPE-StatelessStrategyIdentity",
2153
+ "name": "StatelessStrategyIdentity",
2154
+ "description": "dummy-description",
2155
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2156
+ "extractionSchema": {
2157
+ "$anchor": "StatelessStrategyIdentity",
2158
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2159
+ "type": "string",
2160
+ "pattern": "^STATELESS_STRATEGY-.+$"
2161
+ }
2162
+ }
2163
+ },
2164
+ "StatelessStrategy": {
2165
+ "identity": "RESOURCE-StatelessStrategy",
2166
+ "resourceTypeRef": "TYPE-ResourceType",
2167
+ "creationContext": {
2168
+ "resourceRoleRef": "ROLE-Genesis",
2169
+ "executionRef": "EXECUTION-StatelessStrategy"
2170
+ },
2171
+ "kind": "materialized",
2172
+ "timestamp": "2025-11-30T00:00:00.000Z",
2173
+ "extractedData": {
2174
+ "identity": "TYPE-StatelessStrategy",
2175
+ "name": "StatelessStrategy",
2176
+ "description": "dummy-description",
2177
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2178
+ "extractionSchema": {
2179
+ "$anchor": "StatelessStrategy",
2180
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2181
+ "type": "object",
2182
+ "required": [
2183
+ "identity",
2184
+ "steps"
2185
+ ],
2186
+ "properties": {
2187
+ "identity": {
2188
+ "$ref": "#/$defs/StatelessStrategyIdentity"
2189
+ },
2190
+ "steps": {
2191
+ "type": "array",
2192
+ "items": {
2193
+ "$ref": "#/$defs/Step"
2194
+ },
2195
+ "uniqueItems": true
2196
+ }
2197
+ },
2198
+ "unevaluatedProperties": false
2199
+ }
2200
+ }
2201
+ },
2202
+ "StrategyState": {
2203
+ "identity": "RESOURCE-StrategyState",
2204
+ "resourceTypeRef": "TYPE-ResourceType",
2205
+ "creationContext": {
2206
+ "resourceRoleRef": "ROLE-Genesis",
2207
+ "executionRef": "EXECUTION-StrategyState"
2208
+ },
2209
+ "kind": "materialized",
2210
+ "timestamp": "2025-11-30T00:00:00.000Z",
2211
+ "extractedData": {
2212
+ "identity": "TYPE-StrategyState",
2213
+ "name": "StrategyState",
2214
+ "description": "dummy-description",
2215
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2216
+ "extractionSchema": {
2217
+ "$anchor": "StrategyState",
2218
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2219
+ "type": "object",
2220
+ "propertyNames": {
2221
+ "$ref": "#/$defs/ExecutionIdentity"
2222
+ },
2223
+ "additionalProperties": {
2224
+ "type": "object",
2225
+ "propertyNames": {
2226
+ "$ref": "#/$defs/ResourceRoleIdentity"
2227
+ },
2228
+ "additionalProperties": {
2229
+ "oneOf": [
2230
+ {
2231
+ "$ref": "#/$defs/ResourceMissing"
2232
+ },
2233
+ {
2234
+ "$ref": "#/$defs/ResourcePotentialInput"
2235
+ },
2236
+ {
2237
+ "$ref": "#/$defs/ResourcePotentialOutput"
2238
+ },
2239
+ {
2240
+ "$ref": "#/$defs/Resource"
2241
+ }
2242
+ ]
2243
+ }
2244
+ }
2245
+ }
2246
+ }
2247
+ },
2248
+ "StrategyStateWrapper": {
2249
+ "identity": "RESOURCE-StrategyStateWrapper",
2250
+ "resourceTypeRef": "TYPE-ResourceType",
2251
+ "creationContext": {
2252
+ "resourceRoleRef": "ROLE-Genesis",
2253
+ "executionRef": "EXECUTION-StrategyStateWrapper"
2254
+ },
2255
+ "kind": "materialized",
2256
+ "timestamp": "2025-11-30T00:00:00.000Z",
2257
+ "extractedData": {
2258
+ "identity": "TYPE-StrategyStateWrapper",
2259
+ "name": "StrategyStateWrapper",
2260
+ "description": "dummy-description",
2261
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2262
+ "extractionSchema": {
2263
+ "$anchor": "StrategyStateWrapper",
2264
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2265
+ "type": "object",
2266
+ "required": [
2267
+ "strategyState"
2268
+ ],
2269
+ "properties": {
2270
+ "strategyState": {
2271
+ "$ref": "#/$defs/StrategyState"
2272
+ }
2273
+ }
2274
+ }
2275
+ }
2276
+ },
2277
+ "StatefulStrategyIdentity": {
2278
+ "identity": "RESOURCE-StatefulStrategyIdentity",
2279
+ "resourceTypeRef": "TYPE-ResourceType",
2280
+ "creationContext": {
2281
+ "resourceRoleRef": "ROLE-Genesis",
2282
+ "executionRef": "EXECUTION-StatefulStrategyIdentity"
2283
+ },
2284
+ "kind": "materialized",
2285
+ "timestamp": "2025-11-30T00:00:00.000Z",
2286
+ "extractedData": {
2287
+ "identity": "TYPE-StatefulStrategyIdentity",
2288
+ "name": "StatefulStrategyIdentity",
2289
+ "description": "dummy-description",
2290
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2291
+ "extractionSchema": {
2292
+ "$anchor": "StatefulStrategyIdentity",
2293
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2294
+ "type": "string",
2295
+ "pattern": "^STATEFUL_STRATEGY-.+$"
2296
+ }
2297
+ }
2298
+ },
2299
+ "StatefulStrategy": {
2300
+ "identity": "RESOURCE-StatefulStrategy",
2301
+ "resourceTypeRef": "TYPE-ResourceType",
2302
+ "creationContext": {
2303
+ "resourceRoleRef": "ROLE-Genesis",
2304
+ "executionRef": "EXECUTION-StatefulStrategy"
2305
+ },
2306
+ "kind": "materialized",
2307
+ "timestamp": "2025-11-30T00:00:00.000Z",
2308
+ "extractedData": {
2309
+ "identity": "TYPE-StatefulStrategy",
2310
+ "name": "StatefulStrategy",
2311
+ "description": "dummy-description",
2312
+ "resourceFormatRef": "FORMAT-ApplicationJson",
2313
+ "extractionSchema": {
2314
+ "$anchor": "StatefulStrategy",
2315
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
2316
+ "type": "object",
2317
+ "required": [
2318
+ "identity",
2319
+ "statelessStrategy"
2320
+ ],
2321
+ "properties": {
2322
+ "identity": {
2323
+ "$ref": "#/$defs/StatefulStrategyIdentity"
2324
+ },
2325
+ "statelessStrategy": {
2326
+ "$ref": "#/$defs/StatelessStrategy"
2327
+ }
2328
+ },
2329
+ "allOf": [
2330
+ {
2331
+ "$ref": "#/$defs/StrategyStateWrapper"
2332
+ }
2333
+ ]
2334
+ }
2335
+ }
2336
+ }
2337
+ }