@platformatic/composer 3.0.0-alpha.5 → 3.0.0-alpha.8

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 (49) hide show
  1. package/LICENSE +1 -1
  2. package/eslint.config.js +1 -8
  3. package/index.d.ts +1 -58
  4. package/index.js +9 -30
  5. package/package.json +8 -54
  6. package/schema.json +1141 -905
  7. package/scripts/schema.js +12 -0
  8. package/config.d.ts +0 -997
  9. package/lib/application.js +0 -186
  10. package/lib/commands/index.js +0 -15
  11. package/lib/commands/openapi-fetch-schemas.js +0 -47
  12. package/lib/composer-hook.js +0 -60
  13. package/lib/errors.js +0 -18
  14. package/lib/generator.js +0 -127
  15. package/lib/graphql-fetch.js +0 -83
  16. package/lib/graphql-generator.js +0 -33
  17. package/lib/graphql.js +0 -24
  18. package/lib/metrics.js +0 -12
  19. package/lib/not-host-constraints.js +0 -31
  20. package/lib/openapi-composer.js +0 -101
  21. package/lib/openapi-config-schema.js +0 -89
  22. package/lib/openapi-generator.js +0 -213
  23. package/lib/openapi-load-config.js +0 -31
  24. package/lib/openapi-modifier.js +0 -128
  25. package/lib/openapi-scalar.js +0 -22
  26. package/lib/proxy.js +0 -265
  27. package/lib/root.js +0 -75
  28. package/lib/schema.js +0 -258
  29. package/lib/stackable.js +0 -88
  30. package/lib/upgrade.js +0 -20
  31. package/lib/utils.js +0 -16
  32. package/lib/versions/2.0.0.js +0 -9
  33. package/lib/versions/3.0.0.js +0 -14
  34. package/public/images/dark_mode.svg +0 -3
  35. package/public/images/ellipse.svg +0 -21
  36. package/public/images/external-link.svg +0 -5
  37. package/public/images/favicon.ico +0 -0
  38. package/public/images/graphiql.svg +0 -10
  39. package/public/images/graphql.svg +0 -10
  40. package/public/images/light_mode.svg +0 -11
  41. package/public/images/openapi.svg +0 -13
  42. package/public/images/platformatic-logo-dark.svg +0 -30
  43. package/public/images/platformatic-logo-light.svg +0 -30
  44. package/public/images/reverse-proxy.svg +0 -8
  45. package/public/images/triangle_dark.svg +0 -3
  46. package/public/images/triangle_light.svg +0 -3
  47. package/public/index.html +0 -253
  48. package/public/index.njk +0 -101
  49. package/public/main.css +0 -244
package/schema.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://schemas.platformatic.dev/@platformatic/composer/3.0.0-alpha.5.json",
2
+ "$id": "https://schemas.platformatic.dev/@platformatic/composer/3.0.0-alpha.8.json",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Platformatic Composer Config",
5
5
  "type": "object",
@@ -538,732 +538,391 @@
538
538
  },
539
539
  "additionalProperties": false
540
540
  },
541
- "composer": {
541
+ "types": {
542
542
  "type": "object",
543
543
  "properties": {
544
- "services": {
544
+ "autogenerate": {
545
+ "type": "boolean"
546
+ },
547
+ "dir": {
548
+ "description": "The path to the directory the types should be generated in.",
549
+ "type": "string",
550
+ "default": "types",
551
+ "resolvePath": true
552
+ }
553
+ },
554
+ "additionalProperties": false
555
+ },
556
+ "plugins": {
557
+ "type": "object",
558
+ "properties": {
559
+ "packages": {
545
560
  "type": "array",
546
561
  "items": {
547
- "type": "object",
548
- "properties": {
549
- "id": {
550
- "type": "string"
551
- },
552
- "origin": {
562
+ "anyOf": [
563
+ {
553
564
  "type": "string"
554
565
  },
555
- "openapi": {
566
+ {
556
567
  "type": "object",
557
568
  "properties": {
558
- "url": {
569
+ "name": {
559
570
  "type": "string"
560
571
  },
561
- "file": {
572
+ "options": {
573
+ "type": "object",
574
+ "additionalProperties": true
575
+ }
576
+ },
577
+ "required": [
578
+ "name"
579
+ ]
580
+ }
581
+ ]
582
+ }
583
+ },
584
+ "paths": {
585
+ "type": "array",
586
+ "items": {
587
+ "anyOf": [
588
+ {
589
+ "type": "string",
590
+ "resolvePath": true
591
+ },
592
+ {
593
+ "type": "object",
594
+ "properties": {
595
+ "path": {
562
596
  "type": "string",
563
597
  "resolvePath": true
564
598
  },
565
- "prefix": {
599
+ "encapsulate": {
600
+ "type": "boolean",
601
+ "default": true
602
+ },
603
+ "maxDepth": {
604
+ "type": "integer"
605
+ },
606
+ "autoHooks": {
607
+ "type": "boolean"
608
+ },
609
+ "autoHooksPattern": {
566
610
  "type": "string"
567
611
  },
568
- "config": {
569
- "type": "string",
570
- "resolvePath": true
612
+ "cascadeHooks": {
613
+ "type": "boolean"
614
+ },
615
+ "overwriteHooks": {
616
+ "type": "boolean"
617
+ },
618
+ "routeParams": {
619
+ "type": "boolean"
620
+ },
621
+ "forceESM": {
622
+ "type": "boolean"
623
+ },
624
+ "ignoreFilter": {
625
+ "type": "string"
626
+ },
627
+ "matchFilter": {
628
+ "type": "string"
629
+ },
630
+ "ignorePattern": {
631
+ "type": "string"
632
+ },
633
+ "scriptPattern": {
634
+ "type": "string"
635
+ },
636
+ "indexPattern": {
637
+ "type": "string"
638
+ },
639
+ "options": {
640
+ "type": "object",
641
+ "additionalProperties": true
571
642
  }
572
- },
643
+ }
644
+ }
645
+ ]
646
+ }
647
+ }
648
+ },
649
+ "additionalProperties": false,
650
+ "anyOf": [
651
+ {
652
+ "required": [
653
+ "paths"
654
+ ]
655
+ },
656
+ {
657
+ "required": [
658
+ "packages"
659
+ ]
660
+ }
661
+ ]
662
+ },
663
+ "application": {
664
+ "type": "object",
665
+ "properties": {},
666
+ "additionalProperties": false,
667
+ "required": [],
668
+ "default": {}
669
+ },
670
+ "runtime": {
671
+ "type": "object",
672
+ "properties": {
673
+ "preload": {
674
+ "anyOf": [
675
+ {
676
+ "type": "string",
677
+ "resolvePath": true
678
+ },
679
+ {
680
+ "type": "array",
681
+ "items": {
682
+ "type": "string",
683
+ "resolvePath": true
684
+ }
685
+ }
686
+ ]
687
+ },
688
+ "basePath": {
689
+ "type": "string"
690
+ },
691
+ "services": {
692
+ "type": "array",
693
+ "items": {
694
+ "type": "object",
695
+ "anyOf": [
696
+ {
697
+ "required": [
698
+ "id",
699
+ "path"
700
+ ]
701
+ },
702
+ {
703
+ "required": [
704
+ "id",
705
+ "url"
706
+ ]
707
+ }
708
+ ],
709
+ "properties": {
710
+ "id": {
711
+ "type": "string"
712
+ },
713
+ "path": {
714
+ "type": "string",
715
+ "allowEmptyPaths": true,
716
+ "resolvePath": true
717
+ },
718
+ "config": {
719
+ "type": "string"
720
+ },
721
+ "url": {
722
+ "type": "string"
723
+ },
724
+ "gitBranch": {
725
+ "type": "string",
726
+ "default": "main"
727
+ },
728
+ "useHttp": {
729
+ "type": "boolean"
730
+ },
731
+ "workers": {
573
732
  "anyOf": [
574
733
  {
575
- "required": [
576
- "url"
577
- ]
734
+ "type": "number",
735
+ "minimum": 1
578
736
  },
579
737
  {
580
- "required": [
581
- "file"
582
- ]
738
+ "type": "string"
583
739
  }
584
- ],
585
- "additionalProperties": false
740
+ ]
586
741
  },
587
- "graphql": {
588
- "anyOf": [
589
- {
590
- "type": "boolean"
742
+ "health": {
743
+ "type": "object",
744
+ "default": {},
745
+ "properties": {
746
+ "enabled": {
747
+ "anyOf": [
748
+ {
749
+ "type": "boolean"
750
+ },
751
+ {
752
+ "type": "string"
753
+ }
754
+ ]
591
755
  },
592
- {
593
- "type": "object",
594
- "properties": {
595
- "host": {
756
+ "interval": {
757
+ "anyOf": [
758
+ {
759
+ "type": "number",
760
+ "minimum": 0
761
+ },
762
+ {
596
763
  "type": "string"
764
+ }
765
+ ]
766
+ },
767
+ "gracePeriod": {
768
+ "anyOf": [
769
+ {
770
+ "type": "number",
771
+ "minimum": 0
597
772
  },
598
- "name": {
773
+ {
599
774
  "type": "string"
775
+ }
776
+ ]
777
+ },
778
+ "maxUnhealthyChecks": {
779
+ "anyOf": [
780
+ {
781
+ "type": "number",
782
+ "minimum": 1
600
783
  },
601
- "graphqlEndpoint": {
602
- "type": "string",
603
- "default": "/graphql"
784
+ {
785
+ "type": "string"
786
+ }
787
+ ]
788
+ },
789
+ "maxELU": {
790
+ "anyOf": [
791
+ {
792
+ "type": "number",
793
+ "minimum": 0,
794
+ "maximum": 1
604
795
  },
605
- "composeEndpoint": {
606
- "type": "string",
607
- "default": "/.well-known/graphql-composition"
796
+ {
797
+ "type": "string"
798
+ }
799
+ ]
800
+ },
801
+ "maxHeapUsed": {
802
+ "anyOf": [
803
+ {
804
+ "type": "number",
805
+ "minimum": 0,
806
+ "maximum": 1
608
807
  },
609
- "entities": {
610
- "type": "object",
611
- "patternProperties": {
612
- "^.*$": {
613
- "type": "object",
614
- "properties": {
615
- "pkey": {
616
- "type": "string"
617
- },
618
- "resolver": {
619
- "type": "object",
620
- "properties": {
621
- "name": {
622
- "type": "string"
623
- },
624
- "argsAdapter": {
625
- "anyOf": [
626
- {
627
- "typeof": "function"
628
- },
629
- {
630
- "type": "string"
631
- }
632
- ]
633
- },
634
- "partialResults": {
635
- "anyOf": [
636
- {
637
- "typeof": "function"
638
- },
639
- {
640
- "type": "string"
641
- }
642
- ]
643
- }
644
- },
645
- "required": [
646
- "name"
647
- ],
648
- "additionalProperties": false
649
- },
650
- "fkeys": {
651
- "type": "array",
652
- "items": {
653
- "type": "object",
654
- "properties": {
655
- "type": {
656
- "type": "string"
657
- },
658
- "field": {
659
- "type": "string"
660
- },
661
- "as": {
662
- "type": "string"
663
- },
664
- "pkey": {
665
- "type": "string"
666
- },
667
- "subgraph": {
668
- "type": "string"
669
- },
670
- "resolver": {
671
- "type": "object",
672
- "properties": {
673
- "name": {
674
- "type": "string"
675
- },
676
- "argsAdapter": {
677
- "anyOf": [
678
- {
679
- "typeof": "function"
680
- },
681
- {
682
- "type": "string"
683
- }
684
- ]
685
- },
686
- "partialResults": {
687
- "anyOf": [
688
- {
689
- "typeof": "function"
690
- },
691
- {
692
- "type": "string"
693
- }
694
- ]
695
- }
696
- },
697
- "required": [
698
- "name"
699
- ],
700
- "additionalProperties": false
701
- }
702
- },
703
- "required": [
704
- "type"
705
- ]
706
- }
707
- },
708
- "many": {
709
- "type": "array",
710
- "items": {
711
- "type": "object",
712
- "properties": {
713
- "type": {
714
- "type": "string"
715
- },
716
- "fkey": {
717
- "type": "string"
718
- },
719
- "as": {
720
- "type": "string"
721
- },
722
- "pkey": {
723
- "type": "string"
724
- },
725
- "subgraph": {
726
- "type": "string"
727
- },
728
- "resolver": {
729
- "type": "object",
730
- "properties": {
731
- "name": {
732
- "type": "string"
733
- },
734
- "argsAdapter": {
735
- "anyOf": [
736
- {
737
- "typeof": "function"
738
- },
739
- {
740
- "type": "string"
741
- }
742
- ]
743
- },
744
- "partialResults": {
745
- "anyOf": [
746
- {
747
- "typeof": "function"
748
- },
749
- {
750
- "type": "string"
751
- }
752
- ]
753
- }
754
- },
755
- "required": [
756
- "name"
757
- ],
758
- "additionalProperties": false
759
- }
760
- },
761
- "required": [
762
- "type",
763
- "fkey",
764
- "resolver"
765
- ]
766
- }
767
- }
768
- }
769
- }
770
- }
771
- }
772
- },
773
- "additionalProperties": false
774
- }
775
- ]
776
- },
777
- "proxy": {
778
- "anyOf": [
779
- {
780
- "type": "boolean",
781
- "const": false
782
- },
783
- {
784
- "type": "object",
785
- "properties": {
786
- "upstream": {
787
- "type": "string"
788
- },
789
- "prefix": {
790
- "type": "string"
791
- },
792
- "hostname": {
808
+ {
793
809
  "type": "string"
794
- },
795
- "ws": {
796
- "type": "object",
797
- "properties": {
798
- "upstream": {
799
- "type": "string"
800
- },
801
- "reconnect": {
802
- "type": "object",
803
- "properties": {
804
- "pingInterval": {
805
- "type": "number"
806
- },
807
- "maxReconnectionRetries": {
808
- "type": "number"
809
- },
810
- "reconnectInterval": {
811
- "type": "number"
812
- },
813
- "reconnectDecay": {
814
- "type": "number"
815
- },
816
- "connectionTimeout": {
817
- "type": "number"
818
- },
819
- "reconnectOnClose": {
820
- "type": "boolean"
821
- },
822
- "logs": {
823
- "type": "boolean"
824
- }
825
- }
826
- },
827
- "hooks": {
828
- "type": "object",
829
- "properties": {
830
- "path": {
831
- "type": "string"
832
- }
833
- },
834
- "required": [
835
- "path"
836
- ],
837
- "additionalProperties": false
838
- }
839
- },
840
- "required": [],
841
- "additionalProperties": false
842
810
  }
843
- },
844
- "required": [],
845
- "additionalProperties": false
846
- }
847
- ]
848
- }
849
- },
850
- "required": [
851
- "id"
852
- ],
853
- "additionalProperties": false
854
- }
855
- },
856
- "openapi": {
857
- "type": "object",
858
- "properties": {
859
- "info": {
860
- "$ref": "#/$defs/info"
861
- },
862
- "jsonSchemaDialect": {
863
- "type": "string",
864
- "default": "https://spec.openapis.org/oas/3.1/dialect/base"
865
- },
866
- "servers": {
867
- "type": "array",
868
- "items": {
869
- "$ref": "#/$defs/server"
870
- },
871
- "default": [
872
- {
873
- "url": "/"
874
- }
875
- ]
876
- },
877
- "paths": {
878
- "$ref": "#/$defs/paths"
879
- },
880
- "webhooks": {
881
- "type": "object",
882
- "additionalProperties": {
883
- "$ref": "#/$defs/path-item-or-reference"
884
- }
885
- },
886
- "components": {
887
- "$ref": "#/$defs/components"
888
- },
889
- "security": {
890
- "type": "array",
891
- "items": {
892
- "$ref": "#/$defs/security-requirement"
893
- }
894
- },
895
- "tags": {
896
- "type": "array",
897
- "items": {
898
- "$ref": "#/$defs/tag"
899
- }
900
- },
901
- "externalDocs": {
902
- "$ref": "#/$defs/external-documentation"
903
- },
904
- "swaggerPrefix": {
905
- "type": "string",
906
- "description": "Base URL for the OpenAPI Swagger Documentation"
907
- },
908
- "path": {
909
- "type": "string",
910
- "description": "Path to an OpenAPI spec file",
911
- "resolvePath": true
912
- }
913
- }
914
- },
915
- "graphql": {
916
- "type": "object",
917
- "properties": {
918
- "graphiql": {
919
- "type": "boolean"
920
- },
921
- "onSubgraphError": {
922
- "typeof": "function"
923
- },
924
- "defaultArgsAdapter": {
925
- "oneOf": [
926
- {
927
- "typeof": "function"
928
- },
929
- {
930
- "type": "string"
931
- }
932
- ]
933
- },
934
- "entities": {
935
- "type": "object",
936
- "patternProperties": {
937
- "^.*$": {
938
- "type": "object",
939
- "properties": {
940
- "pkey": {
941
- "type": "string"
942
- },
943
- "resolver": {
944
- "type": "object",
945
- "properties": {
946
- "name": {
947
- "type": "string"
948
- },
949
- "argsAdapter": {
950
- "anyOf": [
951
- {
952
- "typeof": "function"
953
- },
954
- {
955
- "type": "string"
956
- }
957
- ]
958
- },
959
- "partialResults": {
960
- "anyOf": [
961
- {
962
- "typeof": "function"
963
- },
964
- {
965
- "type": "string"
966
- }
967
- ]
968
- }
969
- },
970
- "required": [
971
- "name"
972
- ],
973
- "additionalProperties": false
974
- },
975
- "fkeys": {
976
- "type": "array",
977
- "items": {
978
- "type": "object",
979
- "properties": {
980
- "type": {
981
- "type": "string"
982
- },
983
- "field": {
984
- "type": "string"
985
- },
986
- "as": {
987
- "type": "string"
988
- },
989
- "pkey": {
990
- "type": "string"
991
- },
992
- "subgraph": {
993
- "type": "string"
994
- },
995
- "resolver": {
996
- "type": "object",
997
- "properties": {
998
- "name": {
999
- "type": "string"
1000
- },
1001
- "argsAdapter": {
1002
- "anyOf": [
1003
- {
1004
- "typeof": "function"
1005
- },
1006
- {
1007
- "type": "string"
1008
- }
1009
- ]
1010
- },
1011
- "partialResults": {
1012
- "anyOf": [
1013
- {
1014
- "typeof": "function"
1015
- },
1016
- {
1017
- "type": "string"
1018
- }
1019
- ]
1020
- }
1021
- },
1022
- "required": [
1023
- "name"
1024
- ],
1025
- "additionalProperties": false
1026
- }
1027
- },
1028
- "required": [
1029
- "type"
1030
- ]
811
+ ]
812
+ },
813
+ "maxHeapTotal": {
814
+ "anyOf": [
815
+ {
816
+ "type": "number",
817
+ "minimum": 0
818
+ },
819
+ {
820
+ "type": "string"
1031
821
  }
1032
- },
1033
- "many": {
1034
- "type": "array",
1035
- "items": {
1036
- "type": "object",
1037
- "properties": {
1038
- "type": {
1039
- "type": "string"
1040
- },
1041
- "fkey": {
1042
- "type": "string"
1043
- },
1044
- "as": {
1045
- "type": "string"
1046
- },
1047
- "pkey": {
1048
- "type": "string"
1049
- },
1050
- "subgraph": {
1051
- "type": "string"
1052
- },
1053
- "resolver": {
1054
- "type": "object",
1055
- "properties": {
1056
- "name": {
1057
- "type": "string"
1058
- },
1059
- "argsAdapter": {
1060
- "anyOf": [
1061
- {
1062
- "typeof": "function"
1063
- },
1064
- {
1065
- "type": "string"
1066
- }
1067
- ]
1068
- },
1069
- "partialResults": {
1070
- "anyOf": [
1071
- {
1072
- "typeof": "function"
1073
- },
1074
- {
1075
- "type": "string"
1076
- }
1077
- ]
1078
- }
1079
- },
1080
- "required": [
1081
- "name"
1082
- ],
1083
- "additionalProperties": false
1084
- }
1085
- },
1086
- "required": [
1087
- "type",
1088
- "fkey",
1089
- "resolver"
1090
- ]
822
+ ]
823
+ },
824
+ "maxYoungGeneration": {
825
+ "anyOf": [
826
+ {
827
+ "type": "number",
828
+ "minimum": 0
829
+ },
830
+ {
831
+ "type": "string"
1091
832
  }
1092
- }
833
+ ]
1093
834
  }
835
+ },
836
+ "additionalProperties": false
837
+ },
838
+ "dependencies": {
839
+ "type": "array",
840
+ "items": {
841
+ "type": "string"
842
+ },
843
+ "default": []
844
+ },
845
+ "arguments": {
846
+ "type": "array",
847
+ "items": {
848
+ "type": "string"
1094
849
  }
1095
- }
1096
- },
1097
- "addEntitiesResolvers": {
1098
- "type": "boolean",
1099
- "default": false
1100
- }
1101
- },
1102
- "additionalProperties": false
1103
- },
1104
- "addEmptySchema": {
1105
- "type": "boolean",
1106
- "default": false
1107
- },
1108
- "refreshTimeout": {
1109
- "type": "integer",
1110
- "minimum": 0,
1111
- "default": 1000
1112
- }
1113
- },
1114
- "required": [],
1115
- "default": {},
1116
- "additionalProperties": false
1117
- },
1118
- "types": {
1119
- "type": "object",
1120
- "properties": {
1121
- "autogenerate": {
1122
- "type": "boolean"
1123
- },
1124
- "dir": {
1125
- "description": "The path to the directory the types should be generated in.",
1126
- "type": "string",
1127
- "default": "types",
1128
- "resolvePath": true
1129
- }
1130
- },
1131
- "additionalProperties": false
1132
- },
1133
- "plugins": {
1134
- "type": "object",
1135
- "properties": {
1136
- "packages": {
1137
- "type": "array",
1138
- "items": {
1139
- "anyOf": [
1140
- {
1141
- "type": "string"
1142
850
  },
1143
- {
851
+ "env": {
1144
852
  "type": "object",
1145
- "properties": {
1146
- "name": {
1147
- "type": "string"
1148
- },
1149
- "options": {
1150
- "type": "object",
1151
- "additionalProperties": true
1152
- }
1153
- },
1154
- "required": [
1155
- "name"
1156
- ]
1157
- }
1158
- ]
1159
- }
1160
- },
1161
- "paths": {
1162
- "type": "array",
1163
- "items": {
1164
- "anyOf": [
1165
- {
853
+ "additionalProperties": {
854
+ "type": "string"
855
+ }
856
+ },
857
+ "envfile": {
858
+ "type": "string"
859
+ },
860
+ "sourceMaps": {
861
+ "type": "boolean",
862
+ "default": false
863
+ },
864
+ "packageManager": {
1166
865
  "type": "string",
1167
- "resolvePath": true
866
+ "enum": [
867
+ "npm",
868
+ "pnpm",
869
+ "yarn"
870
+ ]
1168
871
  },
1169
- {
1170
- "type": "object",
1171
- "properties": {
1172
- "path": {
872
+ "preload": {
873
+ "anyOf": [
874
+ {
1173
875
  "type": "string",
1174
876
  "resolvePath": true
1175
877
  },
1176
- "encapsulate": {
1177
- "type": "boolean",
1178
- "default": true
1179
- },
1180
- "maxDepth": {
1181
- "type": "integer"
1182
- },
1183
- "autoHooks": {
1184
- "type": "boolean"
1185
- },
1186
- "autoHooksPattern": {
1187
- "type": "string"
1188
- },
1189
- "cascadeHooks": {
1190
- "type": "boolean"
1191
- },
1192
- "overwriteHooks": {
1193
- "type": "boolean"
1194
- },
1195
- "routeParams": {
1196
- "type": "boolean"
1197
- },
1198
- "forceESM": {
1199
- "type": "boolean"
1200
- },
1201
- "ignoreFilter": {
1202
- "type": "string"
1203
- },
1204
- "matchFilter": {
1205
- "type": "string"
1206
- },
1207
- "ignorePattern": {
1208
- "type": "string"
1209
- },
1210
- "scriptPattern": {
1211
- "type": "string"
1212
- },
1213
- "indexPattern": {
1214
- "type": "string"
1215
- },
1216
- "options": {
1217
- "type": "object",
1218
- "additionalProperties": true
878
+ {
879
+ "type": "array",
880
+ "items": {
881
+ "type": "string",
882
+ "resolvePath": true
883
+ }
1219
884
  }
1220
- }
1221
- }
1222
- ]
1223
- }
1224
- }
1225
- },
1226
- "additionalProperties": false,
1227
- "anyOf": [
1228
- {
1229
- "required": [
1230
- "paths"
1231
- ]
1232
- },
1233
- {
1234
- "required": [
1235
- "packages"
1236
- ]
1237
- }
1238
- ]
1239
- },
1240
- "application": {
1241
- "type": "object",
1242
- "properties": {},
1243
- "additionalProperties": false,
1244
- "required": [],
1245
- "default": {}
1246
- },
1247
- "runtime": {
1248
- "type": "object",
1249
- "properties": {
1250
- "preload": {
1251
- "anyOf": [
1252
- {
1253
- "type": "string",
1254
- "resolvePath": true
1255
- },
1256
- {
1257
- "type": "array",
1258
- "items": {
1259
- "type": "string",
1260
- "resolvePath": true
885
+ ]
886
+ },
887
+ "nodeOptions": {
888
+ "type": "string"
889
+ },
890
+ "telemetry": {
891
+ "type": "object",
892
+ "properties": {
893
+ "instrumentations": {
894
+ "type": "array",
895
+ "description": "An array of instrumentations loaded if telemetry is enabled",
896
+ "items": {
897
+ "oneOf": [
898
+ {
899
+ "type": "string"
900
+ },
901
+ {
902
+ "type": "object",
903
+ "properties": {
904
+ "package": {
905
+ "type": "string"
906
+ },
907
+ "exportName": {
908
+ "type": "string"
909
+ },
910
+ "options": {
911
+ "type": "object",
912
+ "additionalProperties": true
913
+ }
914
+ },
915
+ "required": [
916
+ "package"
917
+ ]
918
+ }
919
+ ]
920
+ }
921
+ }
922
+ }
1261
923
  }
1262
924
  }
1263
- ]
1264
- },
1265
- "basePath": {
1266
- "type": "string"
925
+ }
1267
926
  },
1268
927
  "workers": {
1269
928
  "anyOf": [
@@ -1579,7 +1238,7 @@
1579
1238
  ],
1580
1239
  "default": 10000
1581
1240
  },
1582
- "service": {
1241
+ "application": {
1583
1242
  "anyOf": [
1584
1243
  {
1585
1244
  "type": "number",
@@ -1595,7 +1254,7 @@
1595
1254
  "default": {},
1596
1255
  "required": [
1597
1256
  "runtime",
1598
- "service"
1257
+ "application"
1599
1258
  ],
1600
1259
  "additionalProperties": false
1601
1260
  },
@@ -2026,13 +1685,13 @@
2026
1685
  }
2027
1686
  ]
2028
1687
  },
2029
- "serviceName": {
1688
+ "applicationName": {
2030
1689
  "type": "string",
2031
- "description": "The name of the service. Defaults to the folder name if not specified."
1690
+ "description": "The name of the application. Defaults to the folder name if not specified."
2032
1691
  },
2033
1692
  "version": {
2034
1693
  "type": "string",
2035
- "description": "The version of the service (optional)"
1694
+ "description": "The version of the application (optional)"
2036
1695
  },
2037
1696
  "skip": {
2038
1697
  "type": "array",
@@ -2139,7 +1798,7 @@
2139
1798
  }
2140
1799
  },
2141
1800
  "required": [
2142
- "serviceName"
1801
+ "applicationName"
2143
1802
  ],
2144
1803
  "additionalProperties": false
2145
1804
  },
@@ -2160,7 +1819,7 @@
2160
1819
  }
2161
1820
  }
2162
1821
  },
2163
- "serviceTimeout": {
1822
+ "applicationTimeout": {
2164
1823
  "anyOf": [
2165
1824
  {
2166
1825
  "type": "number",
@@ -2178,270 +1837,847 @@
2178
1837
  "type": "number",
2179
1838
  "minimum": 1
2180
1839
  },
2181
- {
2182
- "type": "string"
1840
+ {
1841
+ "type": "string"
1842
+ }
1843
+ ],
1844
+ "default": 30000
1845
+ },
1846
+ "env": {
1847
+ "type": "object",
1848
+ "additionalProperties": {
1849
+ "type": "string"
1850
+ }
1851
+ },
1852
+ "sourceMaps": {
1853
+ "type": "boolean",
1854
+ "default": false
1855
+ },
1856
+ "scheduler": {
1857
+ "type": "array",
1858
+ "items": {
1859
+ "type": "object",
1860
+ "properties": {
1861
+ "enabled": {
1862
+ "anyOf": [
1863
+ {
1864
+ "type": "boolean"
1865
+ },
1866
+ {
1867
+ "type": "string"
1868
+ }
1869
+ ],
1870
+ "default": true
1871
+ },
1872
+ "name": {
1873
+ "type": "string"
1874
+ },
1875
+ "cron": {
1876
+ "type": "string"
1877
+ },
1878
+ "callbackUrl": {
1879
+ "type": "string"
1880
+ },
1881
+ "method": {
1882
+ "type": "string",
1883
+ "enum": [
1884
+ "GET",
1885
+ "POST",
1886
+ "PUT",
1887
+ "PATCH",
1888
+ "DELETE"
1889
+ ],
1890
+ "default": "GET"
1891
+ },
1892
+ "headers": {
1893
+ "type": "object",
1894
+ "additionalProperties": {
1895
+ "type": "string"
1896
+ }
1897
+ },
1898
+ "body": {
1899
+ "anyOf": [
1900
+ {
1901
+ "type": "string"
1902
+ },
1903
+ {
1904
+ "type": "object",
1905
+ "additionalProperties": true
1906
+ }
1907
+ ]
1908
+ },
1909
+ "maxRetries": {
1910
+ "type": "number",
1911
+ "minimum": 0,
1912
+ "default": 3
1913
+ }
1914
+ },
1915
+ "required": [
1916
+ "name",
1917
+ "cron",
1918
+ "callbackUrl"
1919
+ ]
1920
+ }
1921
+ }
1922
+ },
1923
+ "additionalProperties": false
1924
+ },
1925
+ "telemetry": {
1926
+ "type": "object",
1927
+ "properties": {
1928
+ "enabled": {
1929
+ "anyOf": [
1930
+ {
1931
+ "type": "boolean"
1932
+ },
1933
+ {
1934
+ "type": "string"
1935
+ }
1936
+ ]
1937
+ },
1938
+ "applicationName": {
1939
+ "type": "string",
1940
+ "description": "The name of the application. Defaults to the folder name if not specified."
1941
+ },
1942
+ "version": {
1943
+ "type": "string",
1944
+ "description": "The version of the application (optional)"
1945
+ },
1946
+ "skip": {
1947
+ "type": "array",
1948
+ "description": "An array of paths to skip when creating spans. Useful for health checks and other endpoints that do not need to be traced.",
1949
+ "items": {
1950
+ "type": "object",
1951
+ "properties": {
1952
+ "path": {
1953
+ "type": "string",
1954
+ "description": "The path to skip. Can be a string or a regex."
1955
+ },
1956
+ "method": {
1957
+ "description": "HTTP method to skip",
1958
+ "type": "string",
1959
+ "enum": [
1960
+ "GET",
1961
+ "POST",
1962
+ "PUT",
1963
+ "DELETE",
1964
+ "PATCH",
1965
+ "HEAD",
1966
+ "OPTIONS"
1967
+ ]
1968
+ }
1969
+ }
1970
+ }
1971
+ },
1972
+ "exporter": {
1973
+ "anyOf": [
1974
+ {
1975
+ "type": "array",
1976
+ "items": {
1977
+ "type": "object",
1978
+ "properties": {
1979
+ "type": {
1980
+ "type": "string",
1981
+ "enum": [
1982
+ "console",
1983
+ "otlp",
1984
+ "zipkin",
1985
+ "memory",
1986
+ "file"
1987
+ ],
1988
+ "default": "console"
1989
+ },
1990
+ "options": {
1991
+ "type": "object",
1992
+ "description": "Options for the exporter. These are passed directly to the exporter.",
1993
+ "properties": {
1994
+ "url": {
1995
+ "type": "string",
1996
+ "description": "The URL to send the traces to. Not used for console or memory exporters."
1997
+ },
1998
+ "headers": {
1999
+ "type": "object",
2000
+ "description": "Headers to send to the exporter. Not used for console or memory exporters."
2001
+ },
2002
+ "path": {
2003
+ "type": "string",
2004
+ "description": "The path to write the traces to. Only for file exporter."
2005
+ }
2006
+ }
2007
+ },
2008
+ "additionalProperties": false
2009
+ }
2010
+ }
2011
+ },
2012
+ {
2013
+ "type": "object",
2014
+ "properties": {
2015
+ "type": {
2016
+ "type": "string",
2017
+ "enum": [
2018
+ "console",
2019
+ "otlp",
2020
+ "zipkin",
2021
+ "memory",
2022
+ "file"
2023
+ ],
2024
+ "default": "console"
2025
+ },
2026
+ "options": {
2027
+ "type": "object",
2028
+ "description": "Options for the exporter. These are passed directly to the exporter.",
2029
+ "properties": {
2030
+ "url": {
2031
+ "type": "string",
2032
+ "description": "The URL to send the traces to. Not used for console or memory exporters."
2033
+ },
2034
+ "headers": {
2035
+ "type": "object",
2036
+ "description": "Headers to send to the exporter. Not used for console or memory exporters."
2037
+ },
2038
+ "path": {
2039
+ "type": "string",
2040
+ "description": "The path to write the traces to. Only for file exporter."
2041
+ }
2042
+ }
2043
+ },
2044
+ "additionalProperties": false
2045
+ }
2046
+ }
2047
+ ]
2048
+ }
2049
+ },
2050
+ "required": [
2051
+ "applicationName"
2052
+ ],
2053
+ "additionalProperties": false
2054
+ },
2055
+ "watch": {
2056
+ "anyOf": [
2057
+ {
2058
+ "type": "object",
2059
+ "properties": {
2060
+ "enabled": {
2061
+ "default": true,
2062
+ "anyOf": [
2063
+ {
2064
+ "type": "boolean"
2065
+ },
2066
+ {
2067
+ "type": "string"
2068
+ }
2069
+ ]
2070
+ },
2071
+ "allow": {
2072
+ "type": "array",
2073
+ "items": {
2074
+ "type": "string"
2075
+ },
2076
+ "minItems": 1,
2077
+ "nullable": true,
2078
+ "default": null
2079
+ },
2080
+ "ignore": {
2081
+ "type": "array",
2082
+ "items": {
2083
+ "type": "string"
2084
+ },
2085
+ "nullable": true,
2086
+ "default": null
2183
2087
  }
2184
- ],
2185
- "default": 30000
2186
- },
2187
- "env": {
2188
- "type": "object",
2189
- "additionalProperties": {
2190
- "type": "string"
2191
- }
2088
+ },
2089
+ "additionalProperties": false
2192
2090
  },
2193
- "sourceMaps": {
2194
- "type": "boolean",
2195
- "default": false
2091
+ {
2092
+ "type": "boolean"
2196
2093
  },
2197
- "scheduler": {
2094
+ {
2095
+ "type": "string"
2096
+ }
2097
+ ]
2098
+ },
2099
+ "$schema": {
2100
+ "type": "string"
2101
+ },
2102
+ "module": {
2103
+ "type": "string"
2104
+ },
2105
+ "composer": {
2106
+ "type": "object",
2107
+ "properties": {
2108
+ "applications": {
2198
2109
  "type": "array",
2199
2110
  "items": {
2200
2111
  "type": "object",
2201
2112
  "properties": {
2202
- "enabled": {
2113
+ "id": {
2114
+ "type": "string"
2115
+ },
2116
+ "origin": {
2117
+ "type": "string"
2118
+ },
2119
+ "openapi": {
2120
+ "type": "object",
2121
+ "properties": {
2122
+ "url": {
2123
+ "type": "string"
2124
+ },
2125
+ "file": {
2126
+ "type": "string",
2127
+ "resolvePath": true
2128
+ },
2129
+ "prefix": {
2130
+ "type": "string"
2131
+ },
2132
+ "config": {
2133
+ "type": "string",
2134
+ "resolvePath": true
2135
+ }
2136
+ },
2137
+ "anyOf": [
2138
+ {
2139
+ "required": [
2140
+ "url"
2141
+ ]
2142
+ },
2143
+ {
2144
+ "required": [
2145
+ "file"
2146
+ ]
2147
+ }
2148
+ ],
2149
+ "additionalProperties": false
2150
+ },
2151
+ "graphql": {
2203
2152
  "anyOf": [
2204
2153
  {
2205
2154
  "type": "boolean"
2206
2155
  },
2207
2156
  {
2208
- "type": "string"
2157
+ "type": "object",
2158
+ "properties": {
2159
+ "host": {
2160
+ "type": "string"
2161
+ },
2162
+ "name": {
2163
+ "type": "string"
2164
+ },
2165
+ "graphqlEndpoint": {
2166
+ "type": "string",
2167
+ "default": "/graphql"
2168
+ },
2169
+ "composeEndpoint": {
2170
+ "type": "string",
2171
+ "default": "/.well-known/graphql-composition"
2172
+ },
2173
+ "entities": {
2174
+ "type": "object",
2175
+ "patternProperties": {
2176
+ "^.*$": {
2177
+ "type": "object",
2178
+ "properties": {
2179
+ "pkey": {
2180
+ "type": "string"
2181
+ },
2182
+ "resolver": {
2183
+ "type": "object",
2184
+ "properties": {
2185
+ "name": {
2186
+ "type": "string"
2187
+ },
2188
+ "argsAdapter": {
2189
+ "anyOf": [
2190
+ {
2191
+ "typeof": "function"
2192
+ },
2193
+ {
2194
+ "type": "string"
2195
+ }
2196
+ ]
2197
+ },
2198
+ "partialResults": {
2199
+ "anyOf": [
2200
+ {
2201
+ "typeof": "function"
2202
+ },
2203
+ {
2204
+ "type": "string"
2205
+ }
2206
+ ]
2207
+ }
2208
+ },
2209
+ "required": [
2210
+ "name"
2211
+ ],
2212
+ "additionalProperties": false
2213
+ },
2214
+ "fkeys": {
2215
+ "type": "array",
2216
+ "items": {
2217
+ "type": "object",
2218
+ "properties": {
2219
+ "type": {
2220
+ "type": "string"
2221
+ },
2222
+ "field": {
2223
+ "type": "string"
2224
+ },
2225
+ "as": {
2226
+ "type": "string"
2227
+ },
2228
+ "pkey": {
2229
+ "type": "string"
2230
+ },
2231
+ "subgraph": {
2232
+ "type": "string"
2233
+ },
2234
+ "resolver": {
2235
+ "type": "object",
2236
+ "properties": {
2237
+ "name": {
2238
+ "type": "string"
2239
+ },
2240
+ "argsAdapter": {
2241
+ "anyOf": [
2242
+ {
2243
+ "typeof": "function"
2244
+ },
2245
+ {
2246
+ "type": "string"
2247
+ }
2248
+ ]
2249
+ },
2250
+ "partialResults": {
2251
+ "anyOf": [
2252
+ {
2253
+ "typeof": "function"
2254
+ },
2255
+ {
2256
+ "type": "string"
2257
+ }
2258
+ ]
2259
+ }
2260
+ },
2261
+ "required": [
2262
+ "name"
2263
+ ],
2264
+ "additionalProperties": false
2265
+ }
2266
+ },
2267
+ "required": [
2268
+ "type"
2269
+ ]
2270
+ }
2271
+ },
2272
+ "many": {
2273
+ "type": "array",
2274
+ "items": {
2275
+ "type": "object",
2276
+ "properties": {
2277
+ "type": {
2278
+ "type": "string"
2279
+ },
2280
+ "fkey": {
2281
+ "type": "string"
2282
+ },
2283
+ "as": {
2284
+ "type": "string"
2285
+ },
2286
+ "pkey": {
2287
+ "type": "string"
2288
+ },
2289
+ "subgraph": {
2290
+ "type": "string"
2291
+ },
2292
+ "resolver": {
2293
+ "type": "object",
2294
+ "properties": {
2295
+ "name": {
2296
+ "type": "string"
2297
+ },
2298
+ "argsAdapter": {
2299
+ "anyOf": [
2300
+ {
2301
+ "typeof": "function"
2302
+ },
2303
+ {
2304
+ "type": "string"
2305
+ }
2306
+ ]
2307
+ },
2308
+ "partialResults": {
2309
+ "anyOf": [
2310
+ {
2311
+ "typeof": "function"
2312
+ },
2313
+ {
2314
+ "type": "string"
2315
+ }
2316
+ ]
2317
+ }
2318
+ },
2319
+ "required": [
2320
+ "name"
2321
+ ],
2322
+ "additionalProperties": false
2323
+ }
2324
+ },
2325
+ "required": [
2326
+ "type",
2327
+ "fkey",
2328
+ "resolver"
2329
+ ]
2330
+ }
2331
+ }
2332
+ }
2333
+ }
2334
+ }
2335
+ }
2336
+ },
2337
+ "additionalProperties": false
2209
2338
  }
2210
- ],
2211
- "default": true
2212
- },
2213
- "name": {
2214
- "type": "string"
2215
- },
2216
- "cron": {
2217
- "type": "string"
2218
- },
2219
- "callbackUrl": {
2220
- "type": "string"
2221
- },
2222
- "method": {
2223
- "type": "string",
2224
- "enum": [
2225
- "GET",
2226
- "POST",
2227
- "PUT",
2228
- "PATCH",
2229
- "DELETE"
2230
- ],
2231
- "default": "GET"
2232
- },
2233
- "headers": {
2234
- "type": "object",
2235
- "additionalProperties": {
2236
- "type": "string"
2237
- }
2339
+ ]
2238
2340
  },
2239
- "body": {
2341
+ "proxy": {
2240
2342
  "anyOf": [
2241
2343
  {
2242
- "type": "string"
2344
+ "type": "boolean",
2345
+ "const": false
2243
2346
  },
2244
2347
  {
2245
2348
  "type": "object",
2246
- "additionalProperties": true
2349
+ "properties": {
2350
+ "upstream": {
2351
+ "type": "string"
2352
+ },
2353
+ "prefix": {
2354
+ "type": "string"
2355
+ },
2356
+ "hostname": {
2357
+ "type": "string"
2358
+ },
2359
+ "ws": {
2360
+ "type": "object",
2361
+ "properties": {
2362
+ "upstream": {
2363
+ "type": "string"
2364
+ },
2365
+ "reconnect": {
2366
+ "type": "object",
2367
+ "properties": {
2368
+ "pingInterval": {
2369
+ "type": "number"
2370
+ },
2371
+ "maxReconnectionRetries": {
2372
+ "type": "number"
2373
+ },
2374
+ "reconnectInterval": {
2375
+ "type": "number"
2376
+ },
2377
+ "reconnectDecay": {
2378
+ "type": "number"
2379
+ },
2380
+ "connectionTimeout": {
2381
+ "type": "number"
2382
+ },
2383
+ "reconnectOnClose": {
2384
+ "type": "boolean"
2385
+ },
2386
+ "logs": {
2387
+ "type": "boolean"
2388
+ }
2389
+ }
2390
+ },
2391
+ "hooks": {
2392
+ "type": "object",
2393
+ "properties": {
2394
+ "path": {
2395
+ "type": "string"
2396
+ }
2397
+ },
2398
+ "required": [
2399
+ "path"
2400
+ ],
2401
+ "additionalProperties": false
2402
+ }
2403
+ },
2404
+ "required": [],
2405
+ "additionalProperties": false
2406
+ }
2407
+ },
2408
+ "required": [],
2409
+ "additionalProperties": false
2247
2410
  }
2248
2411
  ]
2249
- },
2250
- "maxRetries": {
2251
- "type": "number",
2252
- "minimum": 0,
2253
- "default": 3
2254
2412
  }
2255
2413
  },
2256
2414
  "required": [
2257
- "name",
2258
- "cron",
2259
- "callbackUrl"
2260
- ]
2261
- }
2262
- }
2263
- },
2264
- "additionalProperties": false
2265
- },
2266
- "telemetry": {
2267
- "type": "object",
2268
- "properties": {
2269
- "enabled": {
2270
- "anyOf": [
2271
- {
2272
- "type": "boolean"
2273
- },
2274
- {
2275
- "type": "string"
2276
- }
2277
- ]
2278
- },
2279
- "serviceName": {
2280
- "type": "string",
2281
- "description": "The name of the service. Defaults to the folder name if not specified."
2282
- },
2283
- "version": {
2284
- "type": "string",
2285
- "description": "The version of the service (optional)"
2286
- },
2287
- "skip": {
2288
- "type": "array",
2289
- "description": "An array of paths to skip when creating spans. Useful for health checks and other endpoints that do not need to be traced.",
2290
- "items": {
2291
- "type": "object",
2292
- "properties": {
2293
- "path": {
2294
- "type": "string",
2295
- "description": "The path to skip. Can be a string or a regex."
2296
- },
2297
- "method": {
2298
- "description": "HTTP method to skip",
2299
- "type": "string",
2300
- "enum": [
2301
- "GET",
2302
- "POST",
2303
- "PUT",
2304
- "DELETE",
2305
- "PATCH",
2306
- "HEAD",
2307
- "OPTIONS"
2308
- ]
2309
- }
2310
- }
2415
+ "id"
2416
+ ],
2417
+ "additionalProperties": false
2311
2418
  }
2312
2419
  },
2313
- "exporter": {
2314
- "anyOf": [
2315
- {
2420
+ "openapi": {
2421
+ "type": "object",
2422
+ "properties": {
2423
+ "info": {
2424
+ "$ref": "#/$defs/info"
2425
+ },
2426
+ "jsonSchemaDialect": {
2427
+ "type": "string",
2428
+ "default": "https://spec.openapis.org/oas/3.1/dialect/base"
2429
+ },
2430
+ "servers": {
2316
2431
  "type": "array",
2317
2432
  "items": {
2318
- "type": "object",
2319
- "properties": {
2320
- "type": {
2321
- "type": "string",
2322
- "enum": [
2323
- "console",
2324
- "otlp",
2325
- "zipkin",
2326
- "memory",
2327
- "file"
2328
- ],
2329
- "default": "console"
2330
- },
2331
- "options": {
2332
- "type": "object",
2333
- "description": "Options for the exporter. These are passed directly to the exporter.",
2334
- "properties": {
2335
- "url": {
2336
- "type": "string",
2337
- "description": "The URL to send the traces to. Not used for console or memory exporters."
2338
- },
2339
- "headers": {
2340
- "type": "object",
2341
- "description": "Headers to send to the exporter. Not used for console or memory exporters."
2342
- },
2343
- "path": {
2344
- "type": "string",
2345
- "description": "The path to write the traces to. Only for file exporter."
2346
- }
2347
- }
2348
- },
2349
- "additionalProperties": false
2433
+ "$ref": "#/$defs/server"
2434
+ },
2435
+ "default": [
2436
+ {
2437
+ "url": "/"
2350
2438
  }
2351
- }
2439
+ ]
2352
2440
  },
2353
- {
2441
+ "paths": {
2442
+ "$ref": "#/$defs/paths"
2443
+ },
2444
+ "webhooks": {
2354
2445
  "type": "object",
2355
- "properties": {
2356
- "type": {
2357
- "type": "string",
2358
- "enum": [
2359
- "console",
2360
- "otlp",
2361
- "zipkin",
2362
- "memory",
2363
- "file"
2364
- ],
2365
- "default": "console"
2366
- },
2367
- "options": {
2368
- "type": "object",
2369
- "description": "Options for the exporter. These are passed directly to the exporter.",
2370
- "properties": {
2371
- "url": {
2372
- "type": "string",
2373
- "description": "The URL to send the traces to. Not used for console or memory exporters."
2374
- },
2375
- "headers": {
2376
- "type": "object",
2377
- "description": "Headers to send to the exporter. Not used for console or memory exporters."
2378
- },
2379
- "path": {
2380
- "type": "string",
2381
- "description": "The path to write the traces to. Only for file exporter."
2382
- }
2383
- }
2384
- },
2385
- "additionalProperties": false
2446
+ "additionalProperties": {
2447
+ "$ref": "#/$defs/path-item-or-reference"
2448
+ }
2449
+ },
2450
+ "components": {
2451
+ "$ref": "#/$defs/components"
2452
+ },
2453
+ "security": {
2454
+ "type": "array",
2455
+ "items": {
2456
+ "$ref": "#/$defs/security-requirement"
2457
+ }
2458
+ },
2459
+ "tags": {
2460
+ "type": "array",
2461
+ "items": {
2462
+ "$ref": "#/$defs/tag"
2386
2463
  }
2464
+ },
2465
+ "externalDocs": {
2466
+ "$ref": "#/$defs/external-documentation"
2467
+ },
2468
+ "swaggerPrefix": {
2469
+ "type": "string",
2470
+ "description": "Base URL for the OpenAPI Swagger Documentation"
2471
+ },
2472
+ "path": {
2473
+ "type": "string",
2474
+ "description": "Path to an OpenAPI spec file",
2475
+ "resolvePath": true
2387
2476
  }
2388
- ]
2389
- }
2390
- },
2391
- "required": [
2392
- "serviceName"
2393
- ],
2394
- "additionalProperties": false
2395
- },
2396
- "watch": {
2397
- "anyOf": [
2398
- {
2477
+ }
2478
+ },
2479
+ "graphql": {
2399
2480
  "type": "object",
2400
2481
  "properties": {
2401
- "enabled": {
2402
- "default": true,
2403
- "anyOf": [
2482
+ "graphiql": {
2483
+ "type": "boolean"
2484
+ },
2485
+ "onSubgraphError": {
2486
+ "typeof": "function"
2487
+ },
2488
+ "defaultArgsAdapter": {
2489
+ "oneOf": [
2404
2490
  {
2405
- "type": "boolean"
2491
+ "typeof": "function"
2406
2492
  },
2407
2493
  {
2408
2494
  "type": "string"
2409
2495
  }
2410
2496
  ]
2411
2497
  },
2412
- "allow": {
2413
- "type": "array",
2414
- "items": {
2415
- "type": "string"
2416
- },
2417
- "minItems": 1,
2418
- "nullable": true,
2419
- "default": null
2498
+ "entities": {
2499
+ "type": "object",
2500
+ "patternProperties": {
2501
+ "^.*$": {
2502
+ "type": "object",
2503
+ "properties": {
2504
+ "pkey": {
2505
+ "type": "string"
2506
+ },
2507
+ "resolver": {
2508
+ "type": "object",
2509
+ "properties": {
2510
+ "name": {
2511
+ "type": "string"
2512
+ },
2513
+ "argsAdapter": {
2514
+ "anyOf": [
2515
+ {
2516
+ "typeof": "function"
2517
+ },
2518
+ {
2519
+ "type": "string"
2520
+ }
2521
+ ]
2522
+ },
2523
+ "partialResults": {
2524
+ "anyOf": [
2525
+ {
2526
+ "typeof": "function"
2527
+ },
2528
+ {
2529
+ "type": "string"
2530
+ }
2531
+ ]
2532
+ }
2533
+ },
2534
+ "required": [
2535
+ "name"
2536
+ ],
2537
+ "additionalProperties": false
2538
+ },
2539
+ "fkeys": {
2540
+ "type": "array",
2541
+ "items": {
2542
+ "type": "object",
2543
+ "properties": {
2544
+ "type": {
2545
+ "type": "string"
2546
+ },
2547
+ "field": {
2548
+ "type": "string"
2549
+ },
2550
+ "as": {
2551
+ "type": "string"
2552
+ },
2553
+ "pkey": {
2554
+ "type": "string"
2555
+ },
2556
+ "subgraph": {
2557
+ "type": "string"
2558
+ },
2559
+ "resolver": {
2560
+ "type": "object",
2561
+ "properties": {
2562
+ "name": {
2563
+ "type": "string"
2564
+ },
2565
+ "argsAdapter": {
2566
+ "anyOf": [
2567
+ {
2568
+ "typeof": "function"
2569
+ },
2570
+ {
2571
+ "type": "string"
2572
+ }
2573
+ ]
2574
+ },
2575
+ "partialResults": {
2576
+ "anyOf": [
2577
+ {
2578
+ "typeof": "function"
2579
+ },
2580
+ {
2581
+ "type": "string"
2582
+ }
2583
+ ]
2584
+ }
2585
+ },
2586
+ "required": [
2587
+ "name"
2588
+ ],
2589
+ "additionalProperties": false
2590
+ }
2591
+ },
2592
+ "required": [
2593
+ "type"
2594
+ ]
2595
+ }
2596
+ },
2597
+ "many": {
2598
+ "type": "array",
2599
+ "items": {
2600
+ "type": "object",
2601
+ "properties": {
2602
+ "type": {
2603
+ "type": "string"
2604
+ },
2605
+ "fkey": {
2606
+ "type": "string"
2607
+ },
2608
+ "as": {
2609
+ "type": "string"
2610
+ },
2611
+ "pkey": {
2612
+ "type": "string"
2613
+ },
2614
+ "subgraph": {
2615
+ "type": "string"
2616
+ },
2617
+ "resolver": {
2618
+ "type": "object",
2619
+ "properties": {
2620
+ "name": {
2621
+ "type": "string"
2622
+ },
2623
+ "argsAdapter": {
2624
+ "anyOf": [
2625
+ {
2626
+ "typeof": "function"
2627
+ },
2628
+ {
2629
+ "type": "string"
2630
+ }
2631
+ ]
2632
+ },
2633
+ "partialResults": {
2634
+ "anyOf": [
2635
+ {
2636
+ "typeof": "function"
2637
+ },
2638
+ {
2639
+ "type": "string"
2640
+ }
2641
+ ]
2642
+ }
2643
+ },
2644
+ "required": [
2645
+ "name"
2646
+ ],
2647
+ "additionalProperties": false
2648
+ }
2649
+ },
2650
+ "required": [
2651
+ "type",
2652
+ "fkey",
2653
+ "resolver"
2654
+ ]
2655
+ }
2656
+ }
2657
+ }
2658
+ }
2659
+ }
2420
2660
  },
2421
- "ignore": {
2422
- "type": "array",
2423
- "items": {
2424
- "type": "string"
2425
- },
2426
- "nullable": true,
2427
- "default": null
2661
+ "addEntitiesResolvers": {
2662
+ "type": "boolean",
2663
+ "default": false
2428
2664
  }
2429
2665
  },
2430
2666
  "additionalProperties": false
2431
2667
  },
2432
- {
2433
- "type": "boolean"
2668
+ "addEmptySchema": {
2669
+ "type": "boolean",
2670
+ "default": false
2434
2671
  },
2435
- {
2436
- "type": "string"
2672
+ "refreshTimeout": {
2673
+ "type": "integer",
2674
+ "minimum": 0,
2675
+ "default": 1000
2437
2676
  }
2438
- ]
2439
- },
2440
- "$schema": {
2441
- "type": "string"
2442
- },
2443
- "module": {
2444
- "type": "string"
2677
+ },
2678
+ "required": [],
2679
+ "default": {},
2680
+ "additionalProperties": false
2445
2681
  }
2446
2682
  },
2447
2683
  "additionalProperties": false,
@@ -3547,4 +3783,4 @@
3547
3783
  }
3548
3784
  }
3549
3785
  }
3550
- }
3786
+ }