@toolproof-core/schema 1.0.9 → 1.0.10

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 (54) hide show
  1. package/dist/generated/artifacts/constants.d.ts +120 -0
  2. package/dist/generated/artifacts/constants.js +120 -0
  3. package/dist/generated/artifacts/mappings.d.ts +23 -0
  4. package/dist/generated/artifacts/mappings.js +23 -0
  5. package/dist/generated/normalized/Genesis.json +67 -53
  6. package/dist/generated/resources/Genesis.json +424 -236
  7. package/dist/generated/schemas/Genesis.json +56 -42
  8. package/dist/generated/schemas/standalone/Job.json +2 -0
  9. package/dist/generated/schemas/standalone/RawStrategy.json +86 -110
  10. package/dist/generated/schemas/standalone/RunnableStrategy.json +108 -132
  11. package/dist/generated/schemas/standalone/StrategyRun.json +86 -110
  12. package/dist/generated/types/types.d.ts +34 -34
  13. package/dist/index.d.ts +6 -3
  14. package/dist/index.js +5 -2
  15. package/dist/scripts/_lib/config.d.ts +3 -5
  16. package/dist/scripts/_lib/config.js +8 -14
  17. package/dist/scripts/generateConstantsAndMappings.d.ts +31 -0
  18. package/dist/scripts/generateConstantsAndMappings.js +243 -0
  19. package/dist/scripts/generateDependencies.js +1 -1
  20. package/dist/scripts/generateTerminals.js +2 -2
  21. package/dist/scripts/generateTypes.js +47 -2
  22. package/dist/scripts/wrapResourceTypesWithResourceShells.js +7 -3
  23. package/package.json +9 -10
  24. package/src/Genesis.json +1847 -1833
  25. package/src/generated/artifacts/constants.ts +121 -0
  26. package/src/generated/{dependencies → artifacts}/dependencyMap.json +16 -18
  27. package/src/generated/artifacts/mappings.ts +24 -0
  28. package/src/generated/{dependencies → artifacts}/terminals.json +1 -0
  29. package/src/generated/normalized/Genesis.json +1760 -1746
  30. package/src/generated/resources/Genesis.json +2796 -2608
  31. package/src/generated/schemas/Genesis.json +1329 -1315
  32. package/src/generated/schemas/standalone/Job.json +2 -0
  33. package/src/generated/schemas/standalone/RawStrategy.json +580 -604
  34. package/src/generated/schemas/standalone/RunnableStrategy.json +645 -669
  35. package/src/generated/schemas/standalone/StrategyRun.json +913 -937
  36. package/src/generated/types/types.d.ts +709 -709
  37. package/src/index.ts +75 -70
  38. package/src/scripts/_lib/config.ts +207 -215
  39. package/src/scripts/extractSchemasFromResourceTypeShells.ts +261 -261
  40. package/src/scripts/generateConstantsAndMappings.ts +309 -0
  41. package/src/scripts/generateDependencies.ts +121 -121
  42. package/src/scripts/generateSchemaShims.ts +127 -127
  43. package/src/scripts/generateStandaloneSchema.ts +185 -185
  44. package/src/scripts/generateStandaloneType.ts +127 -127
  45. package/src/scripts/generateTerminals.ts +73 -73
  46. package/src/scripts/generateTypes.ts +587 -531
  47. package/src/scripts/normalizeAnchorsToPointers.ts +141 -141
  48. package/src/scripts/wrapResourceTypesWithResourceShells.ts +86 -82
  49. package/dist/generated/constants/constants.d.ts +0 -60
  50. package/dist/generated/constants/constants.js +0 -60
  51. package/dist/scripts/generateConstants.d.ts +0 -12
  52. package/dist/scripts/generateConstants.js +0 -179
  53. package/src/generated/constants/constants.ts +0 -61
  54. package/src/scripts/generateConstants.ts +0 -217
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$comment": "This file defines all schemas used internally by ToolProof.",
4
- "$id": "https://schemas.toolproof.com/v2/Genesis.json",
4
+ "$id": "https://schemas.toolproof.com/v1/Genesis.json",
5
5
  "$defs": {
6
6
  "Name": {
7
7
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -176,6 +176,7 @@
176
176
  "$ref": "#/$defs/RoleMap"
177
177
  },
178
178
  {
179
+ "type": "object",
179
180
  "required": [
180
181
  "ROLE-ErrorOutput"
181
182
  ],
@@ -242,6 +243,7 @@
242
243
  "$ref": "#/$defs/JobIdentity"
243
244
  },
244
245
  "implementationUri": {
246
+ "$comment": "Instances of a ResourceType that requires implementationUri are 'executable' ResourceTypes. TYPE-Job is the canonical executable ResourceType in the ecosystem.",
245
247
  "$ref": "#/$defs/Uri"
246
248
  }
247
249
  },
@@ -534,7 +536,7 @@
534
536
  "required": [
535
537
  "identity",
536
538
  "resourceTypeHandle",
537
- "resourceKind"
539
+ "resourceShellKind"
538
540
  ],
539
541
  "properties": {
540
542
  "identity": {
@@ -543,12 +545,12 @@
543
545
  "resourceTypeHandle": {
544
546
  "$ref": "#/$defs/ResourceTypeIdentity"
545
547
  },
546
- "resourceKind": {
547
- "$ref": "#/$defs/ResourceKind"
548
+ "resourceShellKind": {
549
+ "$ref": "#/$defs/ResourceShellKind"
548
550
  }
549
551
  }
550
552
  },
551
- "ResourceKind": {
553
+ "ResourceShellKind": {
552
554
  "$schema": "https://json-schema.org/draft/2020-12/schema",
553
555
  "type": "string",
554
556
  "enum": [
@@ -558,23 +560,26 @@
558
560
  "materialized"
559
561
  ]
560
562
  },
561
- "ResourceKindFacet": {
563
+ "ResourceShellKindFacet": {
562
564
  "$schema": "https://json-schema.org/draft/2020-12/schema",
563
565
  "type": "object",
564
566
  "required": [
565
- "resourceKind"
567
+ "resourceShellKind"
566
568
  ],
567
569
  "properties": {
568
- "resourceKind": {
569
- "$ref": "#/$defs/ResourceKind"
570
+ "resourceShellKind": {
571
+ "$ref": "#/$defs/ResourceShellKind"
570
572
  }
571
573
  }
572
574
  },
573
575
  "ShellMissing": {
574
576
  "$schema": "https://json-schema.org/draft/2020-12/schema",
575
577
  "type": "object",
578
+ "required": [
579
+ "resourceShellKind"
580
+ ],
576
581
  "properties": {
577
- "resourceKind": {
582
+ "resourceShellKind": {
578
583
  "const": "missing"
579
584
  }
580
585
  },
@@ -583,7 +588,7 @@
583
588
  "$ref": "#/$defs/ResourceShellBase"
584
589
  },
585
590
  {
586
- "$ref": "#/$defs/ResourceKindFacet"
591
+ "$ref": "#/$defs/ResourceShellKindFacet"
587
592
  }
588
593
  ],
589
594
  "unevaluatedProperties": false
@@ -591,8 +596,11 @@
591
596
  "ShellInputPotential": {
592
597
  "$schema": "https://json-schema.org/draft/2020-12/schema",
593
598
  "type": "object",
599
+ "required": [
600
+ "resourceShellKind"
601
+ ],
594
602
  "properties": {
595
- "resourceKind": {
603
+ "resourceShellKind": {
596
604
  "const": "inputPotential"
597
605
  }
598
606
  },
@@ -604,7 +612,7 @@
604
612
  "$ref": "#/$defs/CreationContextFacet"
605
613
  },
606
614
  {
607
- "$ref": "#/$defs/ResourceKindFacet"
615
+ "$ref": "#/$defs/ResourceShellKindFacet"
608
616
  }
609
617
  ],
610
618
  "unevaluatedProperties": false
@@ -612,8 +620,11 @@
612
620
  "ShellOutputPotential": {
613
621
  "$schema": "https://json-schema.org/draft/2020-12/schema",
614
622
  "type": "object",
623
+ "required": [
624
+ "resourceShellKind"
625
+ ],
615
626
  "properties": {
616
- "resourceKind": {
627
+ "resourceShellKind": {
617
628
  "const": "outputPotential"
618
629
  }
619
630
  },
@@ -625,7 +636,7 @@
625
636
  "$ref": "#/$defs/CreationContextFacet"
626
637
  },
627
638
  {
628
- "$ref": "#/$defs/ResourceKindFacet"
639
+ "$ref": "#/$defs/ResourceShellKindFacet"
629
640
  }
630
641
  ],
631
642
  "unevaluatedProperties": false
@@ -668,13 +679,14 @@
668
679
  "$schema": "https://json-schema.org/draft/2020-12/schema",
669
680
  "type": "object",
670
681
  "required": [
671
- "version"
682
+ "version",
683
+ "resourceShellKind"
672
684
  ],
673
685
  "properties": {
674
686
  "version": {
675
687
  "const": 1
676
688
  },
677
- "resourceKind": {
689
+ "resourceShellKind": {
678
690
  "const": "materialized"
679
691
  }
680
692
  },
@@ -686,7 +698,7 @@
686
698
  "$ref": "#/$defs/CreationContextFacet"
687
699
  },
688
700
  {
689
- "$ref": "#/$defs/ResourceKindFacet"
701
+ "$ref": "#/$defs/ResourceShellKindFacet"
690
702
  },
691
703
  {
692
704
  "$ref": "#/$defs/TimestampFacet"
@@ -720,6 +732,22 @@
720
732
  "$ref": "#/$defs/ShellOutputPotential",
721
733
  "unevaluatedProperties": false
722
734
  },
735
+ "ResourcePotential": {
736
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
737
+ "type": "object",
738
+ "oneOf": [
739
+ {
740
+ "$ref": "#/$defs/ResourceMissing"
741
+ },
742
+ {
743
+ "$ref": "#/$defs/ResourceInputPotential"
744
+ },
745
+ {
746
+ "$ref": "#/$defs/ResourceOutputPotential"
747
+ }
748
+ ],
749
+ "unevaluatedProperties": false
750
+ },
723
751
  "JsonData": {
724
752
  "$schema": "https://json-schema.org/draft/2020-12/schema",
725
753
  "oneOf": [
@@ -763,12 +791,10 @@
763
791
  "nucleus"
764
792
  ],
765
793
  "properties": {
766
- "nucleus": {
767
- "$ref": "#/$defs/Nucleus"
768
- }
794
+ "nucleus": true
769
795
  }
770
796
  },
771
- "ResourceMaterialized": {
797
+ "Resource": {
772
798
  "$schema": "https://json-schema.org/draft/2020-12/schema",
773
799
  "type": "object",
774
800
  "allOf": [
@@ -782,25 +808,6 @@
782
808
  ],
783
809
  "unevaluatedProperties": false
784
810
  },
785
- "Resource": {
786
- "$schema": "https://json-schema.org/draft/2020-12/schema",
787
- "type": "object",
788
- "oneOf": [
789
- {
790
- "$ref": "#/$defs/ResourceMissing"
791
- },
792
- {
793
- "$ref": "#/$defs/ResourceInputPotential"
794
- },
795
- {
796
- "$ref": "#/$defs/ResourceOutputPotential"
797
- },
798
- {
799
- "$ref": "#/$defs/ResourceMaterialized"
800
- }
801
- ],
802
- "unevaluatedProperties": false
803
- },
804
811
  "JobStepSocket": {
805
812
  "$schema": "https://json-schema.org/draft/2020-12/schema",
806
813
  "type": "object",
@@ -808,7 +815,14 @@
808
815
  "$ref": "#/$defs/ResourceRoleIdentity"
809
816
  },
810
817
  "additionalProperties": {
811
- "$ref": "#/$defs/Resource"
818
+ "oneOf": [
819
+ {
820
+ "$ref": "#/$defs/ResourcePotential"
821
+ },
822
+ {
823
+ "$ref": "#/$defs/Resource"
824
+ }
825
+ ]
812
826
  }
813
827
  },
814
828
  "StrategyState": {
@@ -10,6 +10,7 @@
10
10
  "$ref": "#/$defs/JobIdentity"
11
11
  },
12
12
  "implementationUri": {
13
+ "$comment": "Instances of a ResourceType that requires implementationUri are 'executable' ResourceTypes. TYPE-Job is the canonical executable ResourceType in the ecosystem.",
13
14
  "$ref": "#/$defs/Uri"
14
15
  }
15
16
  },
@@ -98,6 +99,7 @@
98
99
  "$ref": "#/$defs/RoleMap"
99
100
  },
100
101
  {
102
+ "type": "object",
101
103
  "required": [
102
104
  "ROLE-ErrorOutput"
103
105
  ],
@@ -84,7 +84,14 @@
84
84
  "$ref": "#/$defs/ResourceRoleIdentity"
85
85
  },
86
86
  "additionalProperties": {
87
- "$ref": "#/$defs/Resource"
87
+ "oneOf": [
88
+ {
89
+ "$ref": "#/$defs/ResourcePotential"
90
+ },
91
+ {
92
+ "$ref": "#/$defs/Resource"
93
+ }
94
+ ]
88
95
  }
89
96
  },
90
97
  "JobStep": {
@@ -201,7 +208,7 @@
201
208
  "type": "string",
202
209
  "pattern": "^ROLE-.+$"
203
210
  },
204
- "Resource": {
211
+ "ResourcePotential": {
205
212
  "$schema": "https://json-schema.org/draft/2020-12/schema",
206
213
  "type": "object",
207
214
  "oneOf": [
@@ -213,9 +220,20 @@
213
220
  },
214
221
  {
215
222
  "$ref": "#/$defs/ResourceOutputPotential"
223
+ }
224
+ ],
225
+ "unevaluatedProperties": false
226
+ },
227
+ "Resource": {
228
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
229
+ "type": "object",
230
+ "allOf": [
231
+ {
232
+ "$ref": "#/$defs/ShellMaterializedBase"
216
233
  },
217
234
  {
218
- "$ref": "#/$defs/ResourceMaterialized"
235
+ "$comment": "This will be overlayed dynamically to match the data structure of the underlying ResourceType's nucleusSchema.",
236
+ "$ref": "#/$defs/NucleusFacet"
219
237
  }
220
238
  ],
221
239
  "unevaluatedProperties": false
@@ -299,19 +317,48 @@
299
317
  "$ref": "#/$defs/ShellOutputPotential",
300
318
  "unevaluatedProperties": false
301
319
  },
302
- "ResourceMaterialized": {
320
+ "ShellMaterializedBase": {
303
321
  "$schema": "https://json-schema.org/draft/2020-12/schema",
304
322
  "type": "object",
323
+ "required": [
324
+ "version",
325
+ "resourceShellKind"
326
+ ],
327
+ "properties": {
328
+ "version": {
329
+ "const": 1
330
+ },
331
+ "resourceShellKind": {
332
+ "const": "materialized"
333
+ }
334
+ },
305
335
  "allOf": [
306
336
  {
307
- "$ref": "#/$defs/ShellMaterializedBase"
337
+ "$ref": "#/$defs/ResourceShellBase"
308
338
  },
309
339
  {
310
- "$comment": "This will be overlayed dynamically to match the data structure of the underlying ResourceType's nucleusSchema.",
311
- "$ref": "#/$defs/NucleusFacet"
340
+ "$ref": "#/$defs/CreationContextFacet"
341
+ },
342
+ {
343
+ "$ref": "#/$defs/ResourceShellKindFacet"
344
+ },
345
+ {
346
+ "$ref": "#/$defs/TimestampFacet"
347
+ },
348
+ {
349
+ "$ref": "#/$defs/PathFacet"
312
350
  }
351
+ ]
352
+ },
353
+ "NucleusFacet": {
354
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
355
+ "type": "object",
356
+ "required": [
357
+ "nucleus"
313
358
  ],
314
- "unevaluatedProperties": false
359
+ "properties": {
360
+ "nucleus": true
361
+ }
315
362
  },
316
363
  "StepKind": {
317
364
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -342,8 +389,11 @@
342
389
  "ShellMissing": {
343
390
  "$schema": "https://json-schema.org/draft/2020-12/schema",
344
391
  "type": "object",
392
+ "required": [
393
+ "resourceShellKind"
394
+ ],
345
395
  "properties": {
346
- "resourceKind": {
396
+ "resourceShellKind": {
347
397
  "const": "missing"
348
398
  }
349
399
  },
@@ -352,7 +402,7 @@
352
402
  "$ref": "#/$defs/ResourceShellBase"
353
403
  },
354
404
  {
355
- "$ref": "#/$defs/ResourceKindFacet"
405
+ "$ref": "#/$defs/ResourceShellKindFacet"
356
406
  }
357
407
  ],
358
408
  "unevaluatedProperties": false
@@ -360,8 +410,11 @@
360
410
  "ShellInputPotential": {
361
411
  "$schema": "https://json-schema.org/draft/2020-12/schema",
362
412
  "type": "object",
413
+ "required": [
414
+ "resourceShellKind"
415
+ ],
363
416
  "properties": {
364
- "resourceKind": {
417
+ "resourceShellKind": {
365
418
  "const": "inputPotential"
366
419
  }
367
420
  },
@@ -373,44 +426,20 @@
373
426
  "$ref": "#/$defs/CreationContextFacet"
374
427
  },
375
428
  {
376
- "$ref": "#/$defs/ResourceKindFacet"
429
+ "$ref": "#/$defs/ResourceShellKindFacet"
377
430
  }
378
431
  ],
379
432
  "unevaluatedProperties": false
380
433
  },
381
434
  "ShellOutputPotential": {
382
- "$schema": "https://json-schema.org/draft/2020-12/schema",
383
- "type": "object",
384
- "properties": {
385
- "resourceKind": {
386
- "const": "outputPotential"
387
- }
388
- },
389
- "allOf": [
390
- {
391
- "$ref": "#/$defs/ResourceShellBase"
392
- },
393
- {
394
- "$ref": "#/$defs/CreationContextFacet"
395
- },
396
- {
397
- "$ref": "#/$defs/ResourceKindFacet"
398
- }
399
- ],
400
- "unevaluatedProperties": false
401
- },
402
- "ShellMaterializedBase": {
403
435
  "$schema": "https://json-schema.org/draft/2020-12/schema",
404
436
  "type": "object",
405
437
  "required": [
406
- "version"
438
+ "resourceShellKind"
407
439
  ],
408
440
  "properties": {
409
- "version": {
410
- "const": 1
411
- },
412
- "resourceKind": {
413
- "const": "materialized"
441
+ "resourceShellKind": {
442
+ "const": "outputPotential"
414
443
  }
415
444
  },
416
445
  "allOf": [
@@ -421,34 +450,10 @@
421
450
  "$ref": "#/$defs/CreationContextFacet"
422
451
  },
423
452
  {
424
- "$ref": "#/$defs/ResourceKindFacet"
425
- },
426
- {
427
- "$ref": "#/$defs/TimestampFacet"
428
- },
429
- {
430
- "$ref": "#/$defs/PathFacet"
453
+ "$ref": "#/$defs/ResourceShellKindFacet"
431
454
  }
432
- ]
433
- },
434
- "NucleusFacet": {
435
- "$schema": "https://json-schema.org/draft/2020-12/schema",
436
- "type": "object",
437
- "required": [
438
- "nucleus"
439
455
  ],
440
- "properties": {
441
- "nucleus": {
442
- "$ref": "#/$defs/Nucleus"
443
- }
444
- }
445
- },
446
- "RoleBindingArray": {
447
- "$schema": "https://json-schema.org/draft/2020-12/schema",
448
- "type": "array",
449
- "items": {
450
- "$ref": "#/$defs/ResourceRoleIdentity"
451
- }
456
+ "unevaluatedProperties": false
452
457
  },
453
458
  "ResourceShellBase": {
454
459
  "$schema": "https://json-schema.org/draft/2020-12/schema",
@@ -456,7 +461,7 @@
456
461
  "required": [
457
462
  "identity",
458
463
  "resourceTypeHandle",
459
- "resourceKind"
464
+ "resourceShellKind"
460
465
  ],
461
466
  "properties": {
462
467
  "identity": {
@@ -465,32 +470,32 @@
465
470
  "resourceTypeHandle": {
466
471
  "$ref": "#/$defs/ResourceTypeIdentity"
467
472
  },
468
- "resourceKind": {
469
- "$ref": "#/$defs/ResourceKind"
473
+ "resourceShellKind": {
474
+ "$ref": "#/$defs/ResourceShellKind"
470
475
  }
471
476
  }
472
477
  },
473
- "ResourceKindFacet": {
478
+ "CreationContextFacet": {
474
479
  "$schema": "https://json-schema.org/draft/2020-12/schema",
475
480
  "type": "object",
476
481
  "required": [
477
- "resourceKind"
482
+ "creationContext"
478
483
  ],
479
484
  "properties": {
480
- "resourceKind": {
481
- "$ref": "#/$defs/ResourceKind"
485
+ "creationContext": {
486
+ "$ref": "#/$defs/CreationContext"
482
487
  }
483
488
  }
484
489
  },
485
- "CreationContextFacet": {
490
+ "ResourceShellKindFacet": {
486
491
  "$schema": "https://json-schema.org/draft/2020-12/schema",
487
492
  "type": "object",
488
493
  "required": [
489
- "creationContext"
494
+ "resourceShellKind"
490
495
  ],
491
496
  "properties": {
492
- "creationContext": {
493
- "$ref": "#/$defs/CreationContext"
497
+ "resourceShellKind": {
498
+ "$ref": "#/$defs/ResourceShellKind"
494
499
  }
495
500
  }
496
501
  },
@@ -518,11 +523,11 @@
518
523
  }
519
524
  }
520
525
  },
521
- "Nucleus": {
526
+ "RoleBindingArray": {
522
527
  "$schema": "https://json-schema.org/draft/2020-12/schema",
523
- "type": "object",
524
- "additionalProperties": {
525
- "$ref": "#/$defs/JsonData"
528
+ "type": "array",
529
+ "items": {
530
+ "$ref": "#/$defs/ResourceRoleIdentity"
526
531
  }
527
532
  },
528
533
  "ResourceIdentity": {
@@ -535,7 +540,7 @@
535
540
  "type": "string",
536
541
  "pattern": "^TYPE-.+$"
537
542
  },
538
- "ResourceKind": {
543
+ "ResourceShellKind": {
539
544
  "$schema": "https://json-schema.org/draft/2020-12/schema",
540
545
  "type": "string",
541
546
  "enum": [
@@ -570,35 +575,6 @@
570
575
  "$schema": "https://json-schema.org/draft/2020-12/schema",
571
576
  "type": "string",
572
577
  "format": "uri-reference"
573
- },
574
- "JsonData": {
575
- "$schema": "https://json-schema.org/draft/2020-12/schema",
576
- "oneOf": [
577
- {
578
- "type": "null"
579
- },
580
- {
581
- "type": "boolean"
582
- },
583
- {
584
- "type": "number"
585
- },
586
- {
587
- "type": "string"
588
- },
589
- {
590
- "type": "array",
591
- "items": {
592
- "$ref": "#/$defs/JsonData"
593
- }
594
- },
595
- {
596
- "type": "object",
597
- "additionalProperties": {
598
- "$ref": "#/$defs/JsonData"
599
- }
600
- }
601
- ]
602
578
  }
603
579
  }
604
580
  }