@toolproof-core/schema 1.0.0

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 (74) hide show
  1. package/dist/generated/types/Resource_Genesis.d.ts +3 -0
  2. package/dist/generated/types/Resource_Genesis.js +1 -0
  3. package/dist/generated/types/Resource_Job.d.ts +3 -0
  4. package/dist/generated/types/Resource_Job.js +1 -0
  5. package/dist/generated/types/Resource_RawStrategy.d.ts +3 -0
  6. package/dist/generated/types/Resource_RawStrategy.js +1 -0
  7. package/dist/generated/types/Resource_ResourceType.d.ts +3 -0
  8. package/dist/generated/types/Resource_ResourceType.js +1 -0
  9. package/dist/generated/types/Resource_RunnableStrategy.d.ts +3 -0
  10. package/dist/generated/types/Resource_RunnableStrategy.js +1 -0
  11. package/dist/generated/types/types.d.ts +1784 -0
  12. package/dist/generated/types/types.js +1 -0
  13. package/dist/scripts/_lib/config.d.ts +53 -0
  14. package/dist/scripts/_lib/config.js +138 -0
  15. package/dist/scripts/extractSchemas.d.ts +1 -0
  16. package/dist/scripts/extractSchemas.js +210 -0
  17. package/dist/scripts/extractSubSchemaWithDefs.d.ts +1 -0
  18. package/dist/scripts/extractSubSchemaWithDefs.js +187 -0
  19. package/dist/scripts/generateDependencies.d.ts +1 -0
  20. package/dist/scripts/generateDependencies.js +106 -0
  21. package/dist/scripts/generateResourceShells.d.ts +1 -0
  22. package/dist/scripts/generateResourceShells.js +91 -0
  23. package/dist/scripts/generateResourceTypeType.d.ts +1 -0
  24. package/dist/scripts/generateResourceTypeType.js +93 -0
  25. package/dist/scripts/generateSchemaShims.d.ts +1 -0
  26. package/dist/scripts/generateSchemaShims.js +105 -0
  27. package/dist/scripts/generateTypes.d.ts +1 -0
  28. package/dist/scripts/generateTypes.js +550 -0
  29. package/dist/scripts/rewriteAnchors.d.ts +1 -0
  30. package/dist/scripts/rewriteAnchors.js +96 -0
  31. package/package.json +45 -0
  32. package/src/Genesis.json +2043 -0
  33. package/src/Roadmap.json +102 -0
  34. package/src/generated/dependencies.json +299 -0
  35. package/src/generated/resourceTypes/Genesis.json +2043 -0
  36. package/src/generated/resourceTypes/Genesis.ts +2 -0
  37. package/src/generated/resources/Genesis.json +2962 -0
  38. package/src/generated/resources/Genesis.ts +2 -0
  39. package/src/generated/schemas/Genesis.json +1489 -0
  40. package/src/generated/schemas/Genesis.ts +2 -0
  41. package/src/generated/schemas/Goal.json +86 -0
  42. package/src/generated/schemas/Goal.ts +2 -0
  43. package/src/generated/schemas/Job.json +236 -0
  44. package/src/generated/schemas/Job.ts +2 -0
  45. package/src/generated/schemas/RawStrategy.json +667 -0
  46. package/src/generated/schemas/RawStrategy.ts +2 -0
  47. package/src/generated/schemas/ResourceType.json +140 -0
  48. package/src/generated/schemas/ResourceType.ts +2 -0
  49. package/src/generated/schemas/RunnableStrategy.json +737 -0
  50. package/src/generated/schemas/RunnableStrategy.ts +2 -0
  51. package/src/generated/schemas/StrategyRun.json +1025 -0
  52. package/src/generated/schemas/StrategyRun.ts +2 -0
  53. package/src/generated/types/Resource_Genesis.d.ts +3 -0
  54. package/src/generated/types/Resource_Genesis.js +1 -0
  55. package/src/generated/types/Resource_Job.d.ts +3 -0
  56. package/src/generated/types/Resource_Job.js +1 -0
  57. package/src/generated/types/Resource_RawStrategy.d.ts +3 -0
  58. package/src/generated/types/Resource_RawStrategy.js +1 -0
  59. package/src/generated/types/Resource_ResourceType.d.ts +3 -0
  60. package/src/generated/types/Resource_ResourceType.js +1 -0
  61. package/src/generated/types/Resource_RunnableStrategy.d.ts +3 -0
  62. package/src/generated/types/Resource_RunnableStrategy.js +1 -0
  63. package/src/generated/types/types.d.ts +1784 -0
  64. package/src/generated/types/types.js +1 -0
  65. package/src/index.ts +1 -0
  66. package/src/scripts/_lib/config.ts +181 -0
  67. package/src/scripts/extractSchemas.ts +229 -0
  68. package/src/scripts/extractSubSchemaWithDefs.ts +196 -0
  69. package/src/scripts/generateDependencies.ts +120 -0
  70. package/src/scripts/generateResourceShells.ts +105 -0
  71. package/src/scripts/generateResourceTypeType.ts +110 -0
  72. package/src/scripts/generateSchemaShims.ts +115 -0
  73. package/src/scripts/generateTypes.ts +615 -0
  74. package/src/scripts/rewriteAnchors.ts +123 -0
@@ -0,0 +1,737 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "allOf": [
5
+ {
6
+ "$comment": "The Engine runs jobs specified by steps in strategyThreadMap. The Engine also injects repeted steps when encountering loops.",
7
+ "$ref": "#/$defs/StrategyThreadMapFacet"
8
+ },
9
+ {
10
+ "$comment": "The Engine updates strategyState with materialized Resources upon job completions and runtime-provided input events. It also inserts input-potential and output-potential Resources upon step injections.",
11
+ "$ref": "#/$defs/StrategyStateFacet"
12
+ }
13
+ ],
14
+ "properties": {
15
+ "identity": {
16
+ "$ref": "#/$defs/RunnableStrategyIdentity"
17
+ },
18
+ "runnableStrategyContext": {
19
+ "$ref": "#/$defs/RunnableStrategyContext"
20
+ }
21
+ },
22
+ "required": [
23
+ "identity",
24
+ "runnableStrategyContext"
25
+ ],
26
+ "unevaluatedProperties": false,
27
+ "$anchor": "RunnableStrategy",
28
+ "$defs": {
29
+ "StrategyThreadMapFacet": {
30
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
31
+ "type": "object",
32
+ "properties": {
33
+ "strategyThreadMap": {
34
+ "$ref": "#/$defs/StrategyThreadMap"
35
+ }
36
+ },
37
+ "required": [
38
+ "strategyThreadMap"
39
+ ],
40
+ "$anchor": "StrategyThreadMapFacet"
41
+ },
42
+ "StrategyStateFacet": {
43
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
44
+ "type": "object",
45
+ "properties": {
46
+ "strategyState": {
47
+ "$ref": "#/$defs/StrategyState"
48
+ }
49
+ },
50
+ "required": [
51
+ "strategyState"
52
+ ],
53
+ "$anchor": "StrategyStateFacet"
54
+ },
55
+ "RunnableStrategyIdentity": {
56
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
57
+ "type": "string",
58
+ "$anchor": "RunnableStrategyIdentity",
59
+ "pattern": "^RUNNABLE_STRATEGY-.+$"
60
+ },
61
+ "RunnableStrategyContext": {
62
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
63
+ "type": "object",
64
+ "properties": {
65
+ "completedAt": {
66
+ "$ref": "#/$defs/Timestamp"
67
+ },
68
+ "startedAt": {
69
+ "$ref": "#/$defs/Timestamp"
70
+ },
71
+ "status": {
72
+ "$ref": "#/$defs/RunnableStrategyStatus"
73
+ }
74
+ },
75
+ "required": [
76
+ "status"
77
+ ],
78
+ "unevaluatedProperties": false,
79
+ "$anchor": "RunnableStrategyContext"
80
+ },
81
+ "StrategyThreadMap": {
82
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
83
+ "type": "object",
84
+ "additionalProperties": {
85
+ "$ref": "#/$defs/StepArray"
86
+ },
87
+ "$anchor": "StrategyThreadMap",
88
+ "$comment": "Each thread contains an array of steps, allowing for sequential execution within a thread while supporting parallel execution across multiple threads.",
89
+ "propertyNames": {
90
+ "$ref": "#/$defs/StrategyThreadIdentity"
91
+ }
92
+ },
93
+ "StrategyState": {
94
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
95
+ "type": "object",
96
+ "additionalProperties": {
97
+ "$ref": "#/$defs/JobRunSocket"
98
+ },
99
+ "$anchor": "StrategyState",
100
+ "propertyNames": {
101
+ "$ref": "#/$defs/JobRunIdentity"
102
+ }
103
+ },
104
+ "Timestamp": {
105
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
106
+ "type": "string",
107
+ "$anchor": "Timestamp",
108
+ "format": "date-time"
109
+ },
110
+ "RunnableStrategyStatus": {
111
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
112
+ "type": "string",
113
+ "$anchor": "RunnableStrategyStatus",
114
+ "enum": [
115
+ "pending",
116
+ "running",
117
+ "completed",
118
+ "failed",
119
+ "cancelled"
120
+ ]
121
+ },
122
+ "StepArray": {
123
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
124
+ "type": "array",
125
+ "$anchor": "StepArray",
126
+ "items": {
127
+ "$ref": "#/$defs/Step"
128
+ },
129
+ "uniqueItems": true
130
+ },
131
+ "StrategyThreadIdentity": {
132
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
133
+ "type": "string",
134
+ "$anchor": "StrategyThreadIdentity",
135
+ "pattern": "^STRATEGY_THREAD-.+$"
136
+ },
137
+ "JobRunSocket": {
138
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
139
+ "type": "object",
140
+ "additionalProperties": {
141
+ "$ref": "#/$defs/Resource"
142
+ },
143
+ "$anchor": "JobRunSocket",
144
+ "propertyNames": {
145
+ "$ref": "#/$defs/ResourceRoleIdentity"
146
+ }
147
+ },
148
+ "JobRunIdentity": {
149
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
150
+ "type": "string",
151
+ "$anchor": "JobRunIdentity",
152
+ "pattern": "^JobRun-.+$"
153
+ },
154
+ "Step": {
155
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
156
+ "type": "object",
157
+ "oneOf": [
158
+ {
159
+ "$ref": "#/$defs/JobStep"
160
+ },
161
+ {
162
+ "$ref": "#/$defs/BranchStep"
163
+ },
164
+ {
165
+ "$ref": "#/$defs/WhileStep"
166
+ },
167
+ {
168
+ "$ref": "#/$defs/ForStep"
169
+ }
170
+ ],
171
+ "unevaluatedProperties": false,
172
+ "$anchor": "Step"
173
+ },
174
+ "Resource": {
175
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
176
+ "type": "object",
177
+ "oneOf": [
178
+ {
179
+ "$ref": "#/$defs/ResourceMissing"
180
+ },
181
+ {
182
+ "$ref": "#/$defs/ResourceInputPotential"
183
+ },
184
+ {
185
+ "$ref": "#/$defs/ResourceOutputPotential"
186
+ },
187
+ {
188
+ "$ref": "#/$defs/ResourceMaterialized"
189
+ }
190
+ ],
191
+ "unevaluatedProperties": false,
192
+ "$anchor": "Resource"
193
+ },
194
+ "ResourceRoleIdentity": {
195
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
196
+ "type": "string",
197
+ "$anchor": "ResourceRoleIdentity",
198
+ "pattern": "^ROLE-.+$"
199
+ },
200
+ "JobStep": {
201
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
202
+ "type": "object",
203
+ "allOf": [
204
+ {
205
+ "$ref": "#/$defs/StepKindFacet"
206
+ }
207
+ ],
208
+ "properties": {
209
+ "identity": {
210
+ "$ref": "#/$defs/JobStepIdentity"
211
+ },
212
+ "jobRun": {
213
+ "$ref": "#/$defs/JobRun"
214
+ },
215
+ "stepKind": {
216
+ "const": "job"
217
+ }
218
+ },
219
+ "required": [
220
+ "identity",
221
+ "jobRun"
222
+ ],
223
+ "$anchor": "JobStep"
224
+ },
225
+ "BranchStep": {
226
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
227
+ "type": "object",
228
+ "allOf": [
229
+ {
230
+ "$ref": "#/$defs/StepKindFacet"
231
+ }
232
+ ],
233
+ "properties": {
234
+ "cases": {
235
+ "type": "array",
236
+ "items": {
237
+ "$ref": "#/$defs/Conditional"
238
+ },
239
+ "minItems": 1,
240
+ "uniqueItems": true
241
+ },
242
+ "identity": {
243
+ "$ref": "#/$defs/BranchStepIdentity"
244
+ },
245
+ "stepKind": {
246
+ "const": "branch"
247
+ }
248
+ },
249
+ "required": [
250
+ "identity",
251
+ "cases"
252
+ ],
253
+ "$anchor": "BranchStep"
254
+ },
255
+ "WhileStep": {
256
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
257
+ "type": "object",
258
+ "allOf": [
259
+ {
260
+ "$ref": "#/$defs/StepKindFacet"
261
+ }
262
+ ],
263
+ "properties": {
264
+ "case": {
265
+ "$ref": "#/$defs/Conditional"
266
+ },
267
+ "identity": {
268
+ "$ref": "#/$defs/WhileStepIdentity"
269
+ },
270
+ "stepKind": {
271
+ "const": "while"
272
+ }
273
+ },
274
+ "required": [
275
+ "identity",
276
+ "case"
277
+ ],
278
+ "$anchor": "WhileStep"
279
+ },
280
+ "ForStep": {
281
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
282
+ "type": "object",
283
+ "allOf": [
284
+ {
285
+ "$ref": "#/$defs/StepKindFacet"
286
+ }
287
+ ],
288
+ "properties": {
289
+ "case": {
290
+ "$ref": "#/$defs/Conditional"
291
+ },
292
+ "identity": {
293
+ "$ref": "#/$defs/ForStepIdentity"
294
+ },
295
+ "stepKind": {
296
+ "const": "for"
297
+ }
298
+ },
299
+ "required": [
300
+ "identity",
301
+ "case"
302
+ ],
303
+ "$anchor": "ForStep"
304
+ },
305
+ "ResourceMissing": {
306
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
307
+ "type": "object",
308
+ "unevaluatedProperties": false,
309
+ "$anchor": "ResourceMissing",
310
+ "$ref": "#/$defs/ShellMissing"
311
+ },
312
+ "ResourceInputPotential": {
313
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
314
+ "type": "object",
315
+ "unevaluatedProperties": false,
316
+ "$anchor": "ResourceInputPotential",
317
+ "$ref": "#/$defs/ShellInputPotential"
318
+ },
319
+ "ResourceOutputPotential": {
320
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
321
+ "type": "object",
322
+ "unevaluatedProperties": false,
323
+ "$anchor": "ResourceOutputPotential",
324
+ "$ref": "#/$defs/ShellOutputPotential"
325
+ },
326
+ "ResourceMaterialized": {
327
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
328
+ "type": "object",
329
+ "allOf": [
330
+ {
331
+ "$ref": "#/$defs/ShellMaterializedBase"
332
+ },
333
+ {
334
+ "$comment": "This will be overlayed dynamically to match the data structure of the underlying ResourceType's nucleusSchema.",
335
+ "$ref": "#/$defs/NucleusFacet"
336
+ }
337
+ ],
338
+ "unevaluatedProperties": false,
339
+ "$anchor": "ResourceMaterialized"
340
+ },
341
+ "StepKindFacet": {
342
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
343
+ "type": "object",
344
+ "properties": {
345
+ "stepKind": {
346
+ "$ref": "#/$defs/StepKind"
347
+ }
348
+ },
349
+ "required": [
350
+ "stepKind"
351
+ ],
352
+ "$anchor": "StepKindFacet"
353
+ },
354
+ "JobStepIdentity": {
355
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
356
+ "type": "string",
357
+ "$anchor": "JobStepIdentity",
358
+ "pattern": "^JobStep-.+$"
359
+ },
360
+ "JobRun": {
361
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
362
+ "type": "object",
363
+ "allOf": [
364
+ {
365
+ "$comment": "This will be overlayed dynamically to specify roleBindings corresponding to the roles of the underlying job.",
366
+ "$ref": "#/$defs/RoleBindingsFacet"
367
+ }
368
+ ],
369
+ "properties": {
370
+ "identity": {
371
+ "$ref": "#/$defs/JobRunIdentity"
372
+ },
373
+ "jobHandle": {
374
+ "$ref": "#/$defs/JobIdentity"
375
+ }
376
+ },
377
+ "required": [
378
+ "identity",
379
+ "jobHandle"
380
+ ],
381
+ "$anchor": "JobRun"
382
+ },
383
+ "Conditional": {
384
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
385
+ "type": "object",
386
+ "properties": {
387
+ "what": {
388
+ "$ref": "#/$defs/JobStep"
389
+ },
390
+ "when": {
391
+ "$ref": "#/$defs/JobStep"
392
+ }
393
+ },
394
+ "required": [
395
+ "when",
396
+ "what"
397
+ ],
398
+ "unevaluatedProperties": false,
399
+ "$anchor": "Conditional"
400
+ },
401
+ "BranchStepIdentity": {
402
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
403
+ "type": "string",
404
+ "$anchor": "BranchStepIdentity",
405
+ "pattern": "^BRANCHSTEP-.+$"
406
+ },
407
+ "WhileStepIdentity": {
408
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
409
+ "type": "string",
410
+ "$anchor": "WhileStepIdentity",
411
+ "pattern": "^WHILESTEP-.+$"
412
+ },
413
+ "ForStepIdentity": {
414
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
415
+ "type": "string",
416
+ "$anchor": "ForStepIdentity",
417
+ "pattern": "^FORSTEP-.+$"
418
+ },
419
+ "ShellMissing": {
420
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
421
+ "type": "object",
422
+ "allOf": [
423
+ {
424
+ "$ref": "#/$defs/ResourceBase"
425
+ },
426
+ {
427
+ "$ref": "#/$defs/ResourceKindFacet"
428
+ }
429
+ ],
430
+ "properties": {
431
+ "resourceKind": {
432
+ "const": "missing"
433
+ }
434
+ },
435
+ "unevaluatedProperties": false,
436
+ "$anchor": "ShellMissing"
437
+ },
438
+ "ShellInputPotential": {
439
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
440
+ "type": "object",
441
+ "allOf": [
442
+ {
443
+ "$ref": "#/$defs/ResourceBase"
444
+ },
445
+ {
446
+ "$ref": "#/$defs/CreationContextFacet"
447
+ },
448
+ {
449
+ "$ref": "#/$defs/ResourceKindFacet"
450
+ }
451
+ ],
452
+ "properties": {
453
+ "resourceKind": {
454
+ "const": "input-potential"
455
+ }
456
+ },
457
+ "unevaluatedProperties": false,
458
+ "$anchor": "ShellInputPotential"
459
+ },
460
+ "ShellOutputPotential": {
461
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
462
+ "type": "object",
463
+ "allOf": [
464
+ {
465
+ "$ref": "#/$defs/ResourceBase"
466
+ },
467
+ {
468
+ "$ref": "#/$defs/CreationContextFacet"
469
+ },
470
+ {
471
+ "$ref": "#/$defs/ResourceKindFacet"
472
+ }
473
+ ],
474
+ "properties": {
475
+ "resourceKind": {
476
+ "const": "output-potential"
477
+ }
478
+ },
479
+ "unevaluatedProperties": false,
480
+ "$anchor": "ShellOutputPotential"
481
+ },
482
+ "ShellMaterializedBase": {
483
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
484
+ "type": "object",
485
+ "allOf": [
486
+ {
487
+ "$ref": "#/$defs/ResourceBase"
488
+ },
489
+ {
490
+ "$ref": "#/$defs/CreationContextFacet"
491
+ },
492
+ {
493
+ "$ref": "#/$defs/ResourceKindFacet"
494
+ },
495
+ {
496
+ "$ref": "#/$defs/TimestampFacet"
497
+ },
498
+ {
499
+ "$ref": "#/$defs/PathFacet"
500
+ }
501
+ ],
502
+ "properties": {
503
+ "resourceKind": {
504
+ "const": "materialized"
505
+ },
506
+ "version": {
507
+ "const": 1
508
+ }
509
+ },
510
+ "required": [
511
+ "version"
512
+ ],
513
+ "$anchor": "ShellMaterializedBase"
514
+ },
515
+ "NucleusFacet": {
516
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
517
+ "type": "object",
518
+ "properties": {
519
+ "nucleus": {
520
+ "$ref": "#/$defs/Nucleus"
521
+ }
522
+ },
523
+ "required": [
524
+ "nucleus"
525
+ ],
526
+ "$anchor": "NucleusFacet"
527
+ },
528
+ "StepKind": {
529
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
530
+ "type": "string",
531
+ "$anchor": "StepKind",
532
+ "enum": [
533
+ "job",
534
+ "branch",
535
+ "while",
536
+ "for"
537
+ ]
538
+ },
539
+ "RoleBindingsFacet": {
540
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
541
+ "type": "object",
542
+ "properties": {
543
+ "roleBindings": {
544
+ "$ref": "#/$defs/RoleBindings"
545
+ }
546
+ },
547
+ "required": [
548
+ "roleBindings"
549
+ ],
550
+ "$anchor": "RoleBindingsFacet"
551
+ },
552
+ "JobIdentity": {
553
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
554
+ "type": "string",
555
+ "$anchor": "JobIdentity",
556
+ "pattern": "^JOB-.+$"
557
+ },
558
+ "ResourceBase": {
559
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
560
+ "type": "object",
561
+ "properties": {
562
+ "identity": {
563
+ "$ref": "#/$defs/ResourceIdentity"
564
+ },
565
+ "resourceTypeHandle": {
566
+ "$ref": "#/$defs/ResourceTypeIdentity"
567
+ }
568
+ },
569
+ "required": [
570
+ "identity",
571
+ "resourceTypeHandle"
572
+ ],
573
+ "$anchor": "ResourceBase"
574
+ },
575
+ "ResourceKindFacet": {
576
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
577
+ "type": "object",
578
+ "properties": {
579
+ "resourceKind": {
580
+ "$ref": "#/$defs/ResourceKind"
581
+ }
582
+ },
583
+ "required": [
584
+ "resourceKind"
585
+ ],
586
+ "$anchor": "ResourceKindFacet"
587
+ },
588
+ "CreationContextFacet": {
589
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
590
+ "type": "object",
591
+ "properties": {
592
+ "creationContext": {
593
+ "$ref": "#/$defs/CreationContext"
594
+ }
595
+ },
596
+ "required": [
597
+ "creationContext"
598
+ ],
599
+ "$anchor": "CreationContextFacet"
600
+ },
601
+ "TimestampFacet": {
602
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
603
+ "type": "object",
604
+ "properties": {
605
+ "timestamp": {
606
+ "$ref": "#/$defs/Timestamp"
607
+ }
608
+ },
609
+ "required": [
610
+ "timestamp"
611
+ ],
612
+ "$anchor": "TimestampFacet"
613
+ },
614
+ "PathFacet": {
615
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
616
+ "type": "object",
617
+ "properties": {
618
+ "path": {
619
+ "$ref": "#/$defs/Path"
620
+ }
621
+ },
622
+ "required": [
623
+ "path"
624
+ ],
625
+ "$anchor": "PathFacet"
626
+ },
627
+ "Nucleus": {
628
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
629
+ "type": "object",
630
+ "additionalProperties": {
631
+ "$ref": "#/$defs/JsonData"
632
+ },
633
+ "$anchor": "Nucleus"
634
+ },
635
+ "RoleBindings": {
636
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
637
+ "type": "object",
638
+ "properties": {
639
+ "inputBindings": {
640
+ "$ref": "#/$defs/RoleBindingArray"
641
+ },
642
+ "outputBindings": {
643
+ "$ref": "#/$defs/RoleBindingArray"
644
+ }
645
+ },
646
+ "required": [
647
+ "inputBindings",
648
+ "outputBindings"
649
+ ],
650
+ "$anchor": "RoleBindings"
651
+ },
652
+ "ResourceIdentity": {
653
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
654
+ "type": "string",
655
+ "$anchor": "ResourceIdentity",
656
+ "pattern": "^RESOURCE-.+$"
657
+ },
658
+ "ResourceTypeIdentity": {
659
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
660
+ "type": "string",
661
+ "$anchor": "ResourceTypeIdentity",
662
+ "pattern": "^TYPE-.+$"
663
+ },
664
+ "ResourceKind": {
665
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
666
+ "type": "string",
667
+ "$anchor": "ResourceKind",
668
+ "enum": [
669
+ "missing",
670
+ "input-potential",
671
+ "output-potential",
672
+ "materialized"
673
+ ]
674
+ },
675
+ "CreationContext": {
676
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
677
+ "type": "object",
678
+ "properties": {
679
+ "jobRunHandle": {
680
+ "$ref": "#/$defs/JobRunIdentity"
681
+ },
682
+ "resourceRoleHandle": {
683
+ "$ref": "#/$defs/ResourceRoleIdentity"
684
+ }
685
+ },
686
+ "required": [
687
+ "resourceRoleHandle",
688
+ "jobRunHandle"
689
+ ],
690
+ "$anchor": "CreationContext"
691
+ },
692
+ "Path": {
693
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
694
+ "type": "string",
695
+ "$anchor": "Path",
696
+ "format": "uri-reference"
697
+ },
698
+ "JsonData": {
699
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
700
+ "oneOf": [
701
+ {
702
+ "type": "null"
703
+ },
704
+ {
705
+ "type": "boolean"
706
+ },
707
+ {
708
+ "type": "number"
709
+ },
710
+ {
711
+ "type": "string"
712
+ },
713
+ {
714
+ "type": "array",
715
+ "items": {
716
+ "$ref": "#/$defs/JsonData"
717
+ }
718
+ },
719
+ {
720
+ "type": "object",
721
+ "additionalProperties": {
722
+ "$ref": "#/$defs/JsonData"
723
+ }
724
+ }
725
+ ],
726
+ "$anchor": "JsonData"
727
+ },
728
+ "RoleBindingArray": {
729
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
730
+ "type": "array",
731
+ "$anchor": "RoleBindingArray",
732
+ "items": {
733
+ "$ref": "#/$defs/ResourceRoleIdentity"
734
+ }
735
+ }
736
+ }
737
+ }