@toolproof-npm/schema 0.1.33 → 0.1.35

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