@platformatic/next 2.65.1 → 2.66.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.
package/schema.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://schemas.platformatic.dev/@platformatic/next/2.65.1.json",
2
+ "$id": "https://schemas.platformatic.dev/@platformatic/next/2.66.0.json",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Platformatic Next.js Stackable",
5
5
  "type": "object",
@@ -135,6 +135,24 @@
135
135
  "paths"
136
136
  ],
137
137
  "additionalProperties": false
138
+ },
139
+ "base": {
140
+ "anyOf": [
141
+ {
142
+ "type": "object",
143
+ "additionalProperties": true
144
+ },
145
+ {
146
+ "type": "null"
147
+ }
148
+ ]
149
+ },
150
+ "messageKey": {
151
+ "type": "string"
152
+ },
153
+ "customLevels": {
154
+ "type": "object",
155
+ "additionalProperties": true
138
156
  }
139
157
  },
140
158
  "required": [
@@ -346,6 +364,1006 @@
346
364
  "additionalProperties": false,
347
365
  "default": {}
348
366
  },
367
+ "runtime": {
368
+ "type": "object",
369
+ "properties": {
370
+ "preload": {
371
+ "anyOf": [
372
+ {
373
+ "type": "string",
374
+ "resolvePath": true
375
+ },
376
+ {
377
+ "type": "array",
378
+ "items": {
379
+ "type": "string",
380
+ "resolvePath": true
381
+ }
382
+ }
383
+ ]
384
+ },
385
+ "basePath": {
386
+ "type": "string"
387
+ },
388
+ "workers": {
389
+ "anyOf": [
390
+ {
391
+ "type": "number",
392
+ "minimum": 1
393
+ },
394
+ {
395
+ "type": "string"
396
+ }
397
+ ],
398
+ "default": 1
399
+ },
400
+ "logger": {
401
+ "type": "object",
402
+ "properties": {
403
+ "level": {
404
+ "type": "string",
405
+ "default": "info",
406
+ "oneOf": [
407
+ {
408
+ "enum": [
409
+ "fatal",
410
+ "error",
411
+ "warn",
412
+ "info",
413
+ "debug",
414
+ "trace",
415
+ "silent"
416
+ ]
417
+ },
418
+ {
419
+ "pattern": "^\\{.+\\}$"
420
+ }
421
+ ]
422
+ },
423
+ "transport": {
424
+ "anyOf": [
425
+ {
426
+ "type": "object",
427
+ "properties": {
428
+ "target": {
429
+ "type": "string",
430
+ "resolveModule": true
431
+ },
432
+ "options": {
433
+ "type": "object"
434
+ }
435
+ },
436
+ "additionalProperties": false
437
+ },
438
+ {
439
+ "type": "object",
440
+ "properties": {
441
+ "targets": {
442
+ "type": "array",
443
+ "items": {
444
+ "type": "object",
445
+ "properties": {
446
+ "target": {
447
+ "anyOf": [
448
+ {
449
+ "type": "string",
450
+ "resolveModule": true
451
+ },
452
+ {
453
+ "type": "string",
454
+ "resolvePath": true
455
+ }
456
+ ]
457
+ },
458
+ "options": {
459
+ "type": "object"
460
+ },
461
+ "level": {
462
+ "type": "string"
463
+ }
464
+ },
465
+ "additionalProperties": false
466
+ }
467
+ },
468
+ "options": {
469
+ "type": "object"
470
+ }
471
+ },
472
+ "additionalProperties": false
473
+ }
474
+ ]
475
+ },
476
+ "pipeline": {
477
+ "type": "object",
478
+ "properties": {
479
+ "target": {
480
+ "type": "string",
481
+ "resolveModule": true
482
+ },
483
+ "options": {
484
+ "type": "object"
485
+ }
486
+ },
487
+ "additionalProperties": false
488
+ },
489
+ "formatters": {
490
+ "type": "object",
491
+ "properties": {
492
+ "path": {
493
+ "type": "string",
494
+ "resolvePath": true
495
+ }
496
+ },
497
+ "required": [
498
+ "path"
499
+ ],
500
+ "additionalProperties": false
501
+ },
502
+ "timestamp": {
503
+ "enum": [
504
+ "epochTime",
505
+ "unixTime",
506
+ "nullTime",
507
+ "isoTime"
508
+ ]
509
+ },
510
+ "redact": {
511
+ "type": "object",
512
+ "properties": {
513
+ "paths": {
514
+ "type": "array",
515
+ "items": {
516
+ "type": "string"
517
+ }
518
+ },
519
+ "censor": {
520
+ "type": "string",
521
+ "default": "[redacted]"
522
+ }
523
+ },
524
+ "required": [
525
+ "paths"
526
+ ],
527
+ "additionalProperties": false
528
+ },
529
+ "base": {
530
+ "anyOf": [
531
+ {
532
+ "type": "object",
533
+ "additionalProperties": true
534
+ },
535
+ {
536
+ "type": "null"
537
+ }
538
+ ]
539
+ },
540
+ "messageKey": {
541
+ "type": "string"
542
+ },
543
+ "customLevels": {
544
+ "type": "object",
545
+ "additionalProperties": true
546
+ }
547
+ },
548
+ "required": [
549
+ "level"
550
+ ],
551
+ "default": {},
552
+ "additionalProperties": true
553
+ },
554
+ "server": {
555
+ "type": "object",
556
+ "properties": {
557
+ "hostname": {
558
+ "type": "string",
559
+ "default": "127.0.0.1"
560
+ },
561
+ "port": {
562
+ "anyOf": [
563
+ {
564
+ "type": "integer"
565
+ },
566
+ {
567
+ "type": "string"
568
+ }
569
+ ]
570
+ },
571
+ "http2": {
572
+ "type": "boolean"
573
+ },
574
+ "https": {
575
+ "type": "object",
576
+ "properties": {
577
+ "allowHTTP1": {
578
+ "type": "boolean"
579
+ },
580
+ "key": {
581
+ "anyOf": [
582
+ {
583
+ "type": "string"
584
+ },
585
+ {
586
+ "type": "object",
587
+ "properties": {
588
+ "path": {
589
+ "type": "string",
590
+ "resolvePath": true
591
+ }
592
+ },
593
+ "additionalProperties": false
594
+ },
595
+ {
596
+ "type": "array",
597
+ "items": {
598
+ "anyOf": [
599
+ {
600
+ "type": "string"
601
+ },
602
+ {
603
+ "type": "object",
604
+ "properties": {
605
+ "path": {
606
+ "type": "string",
607
+ "resolvePath": true
608
+ }
609
+ },
610
+ "additionalProperties": false
611
+ }
612
+ ]
613
+ }
614
+ }
615
+ ]
616
+ },
617
+ "cert": {
618
+ "anyOf": [
619
+ {
620
+ "type": "string"
621
+ },
622
+ {
623
+ "type": "object",
624
+ "properties": {
625
+ "path": {
626
+ "type": "string",
627
+ "resolvePath": true
628
+ }
629
+ },
630
+ "additionalProperties": false
631
+ },
632
+ {
633
+ "type": "array",
634
+ "items": {
635
+ "anyOf": [
636
+ {
637
+ "type": "string"
638
+ },
639
+ {
640
+ "type": "object",
641
+ "properties": {
642
+ "path": {
643
+ "type": "string",
644
+ "resolvePath": true
645
+ }
646
+ },
647
+ "additionalProperties": false
648
+ }
649
+ ]
650
+ }
651
+ }
652
+ ]
653
+ },
654
+ "requestCert": {
655
+ "type": "boolean"
656
+ },
657
+ "rejectUnauthorized": {
658
+ "type": "boolean"
659
+ }
660
+ },
661
+ "additionalProperties": false,
662
+ "required": [
663
+ "key",
664
+ "cert"
665
+ ]
666
+ }
667
+ },
668
+ "additionalProperties": false
669
+ },
670
+ "startTimeout": {
671
+ "default": 30000,
672
+ "type": "number",
673
+ "minimum": 0
674
+ },
675
+ "restartOnError": {
676
+ "default": true,
677
+ "anyOf": [
678
+ {
679
+ "type": "boolean"
680
+ },
681
+ {
682
+ "type": "number",
683
+ "minimum": 0
684
+ }
685
+ ]
686
+ },
687
+ "gracefulShutdown": {
688
+ "type": "object",
689
+ "properties": {
690
+ "runtime": {
691
+ "anyOf": [
692
+ {
693
+ "type": "number",
694
+ "minimum": 1
695
+ },
696
+ {
697
+ "type": "string"
698
+ }
699
+ ],
700
+ "default": 10000
701
+ },
702
+ "service": {
703
+ "anyOf": [
704
+ {
705
+ "type": "number",
706
+ "minimum": 1
707
+ },
708
+ {
709
+ "type": "string"
710
+ }
711
+ ],
712
+ "default": 10000
713
+ }
714
+ },
715
+ "default": {},
716
+ "required": [
717
+ "runtime",
718
+ "service"
719
+ ],
720
+ "additionalProperties": false
721
+ },
722
+ "health": {
723
+ "type": "object",
724
+ "default": {},
725
+ "properties": {
726
+ "enabled": {
727
+ "default": true,
728
+ "anyOf": [
729
+ {
730
+ "type": "boolean"
731
+ },
732
+ {
733
+ "type": "string"
734
+ }
735
+ ]
736
+ },
737
+ "interval": {
738
+ "default": 30000,
739
+ "anyOf": [
740
+ {
741
+ "type": "number",
742
+ "minimum": 0
743
+ },
744
+ {
745
+ "type": "string"
746
+ }
747
+ ]
748
+ },
749
+ "gracePeriod": {
750
+ "default": 30000,
751
+ "anyOf": [
752
+ {
753
+ "type": "number",
754
+ "minimum": 0
755
+ },
756
+ {
757
+ "type": "string"
758
+ }
759
+ ]
760
+ },
761
+ "maxUnhealthyChecks": {
762
+ "default": 10,
763
+ "anyOf": [
764
+ {
765
+ "type": "number",
766
+ "minimum": 1
767
+ },
768
+ {
769
+ "type": "string"
770
+ }
771
+ ]
772
+ },
773
+ "maxELU": {
774
+ "default": 0.99,
775
+ "anyOf": [
776
+ {
777
+ "type": "number",
778
+ "minimum": 0,
779
+ "maximum": 1
780
+ },
781
+ {
782
+ "type": "string"
783
+ }
784
+ ]
785
+ },
786
+ "maxHeapUsed": {
787
+ "default": 0.99,
788
+ "anyOf": [
789
+ {
790
+ "type": "number",
791
+ "minimum": 0,
792
+ "maximum": 1
793
+ },
794
+ {
795
+ "type": "string"
796
+ }
797
+ ]
798
+ },
799
+ "maxHeapTotal": {
800
+ "default": 4294967296,
801
+ "anyOf": [
802
+ {
803
+ "type": "number",
804
+ "minimum": 0
805
+ },
806
+ {
807
+ "type": "string"
808
+ }
809
+ ]
810
+ },
811
+ "maxYoungGeneration": {
812
+ "type": "number",
813
+ "minimum": 0
814
+ }
815
+ },
816
+ "additionalProperties": false
817
+ },
818
+ "undici": {
819
+ "type": "object",
820
+ "properties": {
821
+ "agentOptions": {
822
+ "type": "object",
823
+ "additionalProperties": true
824
+ },
825
+ "interceptors": {
826
+ "anyOf": [
827
+ {
828
+ "type": "array",
829
+ "items": {
830
+ "type": "object",
831
+ "properties": {
832
+ "module": {
833
+ "type": "string"
834
+ },
835
+ "options": {
836
+ "type": "object",
837
+ "additionalProperties": true
838
+ }
839
+ },
840
+ "required": [
841
+ "module",
842
+ "options"
843
+ ]
844
+ }
845
+ },
846
+ {
847
+ "type": "object",
848
+ "properties": {
849
+ "Client": {
850
+ "type": "array",
851
+ "items": {
852
+ "type": "object",
853
+ "properties": {
854
+ "module": {
855
+ "type": "string"
856
+ },
857
+ "options": {
858
+ "type": "object",
859
+ "additionalProperties": true
860
+ }
861
+ },
862
+ "required": [
863
+ "module",
864
+ "options"
865
+ ]
866
+ }
867
+ },
868
+ "Pool": {
869
+ "type": "array",
870
+ "items": {
871
+ "type": "object",
872
+ "properties": {
873
+ "module": {
874
+ "type": "string"
875
+ },
876
+ "options": {
877
+ "type": "object",
878
+ "additionalProperties": true
879
+ }
880
+ },
881
+ "required": [
882
+ "module",
883
+ "options"
884
+ ]
885
+ }
886
+ },
887
+ "Agent": {
888
+ "type": "array",
889
+ "items": {
890
+ "type": "object",
891
+ "properties": {
892
+ "module": {
893
+ "type": "string"
894
+ },
895
+ "options": {
896
+ "type": "object",
897
+ "additionalProperties": true
898
+ }
899
+ },
900
+ "required": [
901
+ "module",
902
+ "options"
903
+ ]
904
+ }
905
+ }
906
+ }
907
+ }
908
+ ]
909
+ }
910
+ }
911
+ },
912
+ "httpCache": {
913
+ "oneOf": [
914
+ {
915
+ "type": "boolean"
916
+ },
917
+ {
918
+ "type": "object",
919
+ "properties": {
920
+ "store": {
921
+ "type": "string"
922
+ },
923
+ "methods": {
924
+ "type": "array",
925
+ "items": {
926
+ "type": "string"
927
+ },
928
+ "default": [
929
+ "GET",
930
+ "HEAD"
931
+ ],
932
+ "minItems": 1
933
+ },
934
+ "cacheTagsHeader": {
935
+ "type": "string"
936
+ },
937
+ "maxSize": {
938
+ "type": "integer"
939
+ },
940
+ "maxEntrySize": {
941
+ "type": "integer"
942
+ },
943
+ "maxCount": {
944
+ "type": "integer"
945
+ }
946
+ }
947
+ }
948
+ ]
949
+ },
950
+ "watch": {
951
+ "anyOf": [
952
+ {
953
+ "type": "boolean"
954
+ },
955
+ {
956
+ "type": "string"
957
+ }
958
+ ]
959
+ },
960
+ "managementApi": {
961
+ "anyOf": [
962
+ {
963
+ "type": "boolean"
964
+ },
965
+ {
966
+ "type": "string"
967
+ },
968
+ {
969
+ "type": "object",
970
+ "properties": {
971
+ "logs": {
972
+ "type": "object",
973
+ "properties": {
974
+ "maxSize": {
975
+ "type": "number",
976
+ "minimum": 5,
977
+ "default": 200
978
+ }
979
+ },
980
+ "additionalProperties": false
981
+ }
982
+ },
983
+ "additionalProperties": false
984
+ }
985
+ ],
986
+ "default": true
987
+ },
988
+ "metrics": {
989
+ "anyOf": [
990
+ {
991
+ "type": "boolean"
992
+ },
993
+ {
994
+ "type": "object",
995
+ "properties": {
996
+ "port": {
997
+ "anyOf": [
998
+ {
999
+ "type": "integer"
1000
+ },
1001
+ {
1002
+ "type": "string"
1003
+ }
1004
+ ]
1005
+ },
1006
+ "enabled": {
1007
+ "anyOf": [
1008
+ {
1009
+ "type": "boolean"
1010
+ },
1011
+ {
1012
+ "type": "string"
1013
+ }
1014
+ ]
1015
+ },
1016
+ "hostname": {
1017
+ "type": "string"
1018
+ },
1019
+ "endpoint": {
1020
+ "type": "string"
1021
+ },
1022
+ "auth": {
1023
+ "type": "object",
1024
+ "properties": {
1025
+ "username": {
1026
+ "type": "string"
1027
+ },
1028
+ "password": {
1029
+ "type": "string"
1030
+ }
1031
+ },
1032
+ "additionalProperties": false,
1033
+ "required": [
1034
+ "username",
1035
+ "password"
1036
+ ]
1037
+ },
1038
+ "labels": {
1039
+ "type": "object",
1040
+ "additionalProperties": {
1041
+ "type": "string"
1042
+ }
1043
+ },
1044
+ "readiness": {
1045
+ "anyOf": [
1046
+ {
1047
+ "type": "boolean"
1048
+ },
1049
+ {
1050
+ "type": "object",
1051
+ "properties": {
1052
+ "endpoint": {
1053
+ "type": "string"
1054
+ },
1055
+ "success": {
1056
+ "type": "object",
1057
+ "properties": {
1058
+ "statusCode": {
1059
+ "type": "number"
1060
+ },
1061
+ "body": {
1062
+ "type": "string"
1063
+ }
1064
+ },
1065
+ "additionalProperties": false
1066
+ },
1067
+ "fail": {
1068
+ "type": "object",
1069
+ "properties": {
1070
+ "statusCode": {
1071
+ "type": "number"
1072
+ },
1073
+ "body": {
1074
+ "type": "string"
1075
+ }
1076
+ },
1077
+ "additionalProperties": false
1078
+ }
1079
+ },
1080
+ "additionalProperties": false
1081
+ }
1082
+ ]
1083
+ },
1084
+ "liveness": {
1085
+ "anyOf": [
1086
+ {
1087
+ "type": "boolean"
1088
+ },
1089
+ {
1090
+ "type": "object",
1091
+ "properties": {
1092
+ "endpoint": {
1093
+ "type": "string"
1094
+ },
1095
+ "success": {
1096
+ "type": "object",
1097
+ "properties": {
1098
+ "statusCode": {
1099
+ "type": "number"
1100
+ },
1101
+ "body": {
1102
+ "type": "string"
1103
+ }
1104
+ },
1105
+ "additionalProperties": false
1106
+ },
1107
+ "fail": {
1108
+ "type": "object",
1109
+ "properties": {
1110
+ "statusCode": {
1111
+ "type": "number"
1112
+ },
1113
+ "body": {
1114
+ "type": "string"
1115
+ }
1116
+ },
1117
+ "additionalProperties": false
1118
+ }
1119
+ },
1120
+ "additionalProperties": false
1121
+ }
1122
+ ]
1123
+ },
1124
+ "additionalProperties": false
1125
+ }
1126
+ }
1127
+ ]
1128
+ },
1129
+ "telemetry": {
1130
+ "type": "object",
1131
+ "properties": {
1132
+ "enabled": {
1133
+ "anyOf": [
1134
+ {
1135
+ "type": "boolean"
1136
+ },
1137
+ {
1138
+ "type": "string"
1139
+ }
1140
+ ]
1141
+ },
1142
+ "serviceName": {
1143
+ "type": "string",
1144
+ "description": "The name of the service. Defaults to the folder name if not specified."
1145
+ },
1146
+ "version": {
1147
+ "type": "string",
1148
+ "description": "The version of the service (optional)"
1149
+ },
1150
+ "skip": {
1151
+ "type": "array",
1152
+ "description": "An array of paths to skip when creating spans. Useful for health checks and other endpoints that do not need to be traced.",
1153
+ "items": {
1154
+ "type": "object",
1155
+ "properties": {
1156
+ "path": {
1157
+ "type": "string",
1158
+ "description": "The path to skip. Can be a string or a regex."
1159
+ },
1160
+ "method": {
1161
+ "description": "HTTP method to skip",
1162
+ "type": "string",
1163
+ "enum": [
1164
+ "GET",
1165
+ "POST",
1166
+ "PUT",
1167
+ "DELETE",
1168
+ "PATCH",
1169
+ "HEAD",
1170
+ "OPTIONS"
1171
+ ]
1172
+ }
1173
+ }
1174
+ }
1175
+ },
1176
+ "exporter": {
1177
+ "anyOf": [
1178
+ {
1179
+ "type": "array",
1180
+ "items": {
1181
+ "type": "object",
1182
+ "properties": {
1183
+ "type": {
1184
+ "type": "string",
1185
+ "enum": [
1186
+ "console",
1187
+ "otlp",
1188
+ "zipkin",
1189
+ "memory",
1190
+ "file"
1191
+ ],
1192
+ "default": "console"
1193
+ },
1194
+ "options": {
1195
+ "type": "object",
1196
+ "description": "Options for the exporter. These are passed directly to the exporter.",
1197
+ "properties": {
1198
+ "url": {
1199
+ "type": "string",
1200
+ "description": "The URL to send the traces to. Not used for console or memory exporters."
1201
+ },
1202
+ "headers": {
1203
+ "type": "object",
1204
+ "description": "Headers to send to the exporter. Not used for console or memory exporters."
1205
+ },
1206
+ "path": {
1207
+ "type": "string",
1208
+ "description": "The path to write the traces to. Only for file exporter."
1209
+ }
1210
+ }
1211
+ },
1212
+ "additionalProperties": false
1213
+ }
1214
+ }
1215
+ },
1216
+ {
1217
+ "type": "object",
1218
+ "properties": {
1219
+ "type": {
1220
+ "type": "string",
1221
+ "enum": [
1222
+ "console",
1223
+ "otlp",
1224
+ "zipkin",
1225
+ "memory",
1226
+ "file"
1227
+ ],
1228
+ "default": "console"
1229
+ },
1230
+ "options": {
1231
+ "type": "object",
1232
+ "description": "Options for the exporter. These are passed directly to the exporter.",
1233
+ "properties": {
1234
+ "url": {
1235
+ "type": "string",
1236
+ "description": "The URL to send the traces to. Not used for console or memory exporters."
1237
+ },
1238
+ "headers": {
1239
+ "type": "object",
1240
+ "description": "Headers to send to the exporter. Not used for console or memory exporters."
1241
+ },
1242
+ "path": {
1243
+ "type": "string",
1244
+ "description": "The path to write the traces to. Only for file exporter."
1245
+ }
1246
+ }
1247
+ },
1248
+ "additionalProperties": false
1249
+ }
1250
+ }
1251
+ ]
1252
+ }
1253
+ },
1254
+ "required": [
1255
+ "serviceName"
1256
+ ],
1257
+ "additionalProperties": false
1258
+ },
1259
+ "inspectorOptions": {
1260
+ "type": "object",
1261
+ "properties": {
1262
+ "host": {
1263
+ "type": "string"
1264
+ },
1265
+ "port": {
1266
+ "type": "number"
1267
+ },
1268
+ "breakFirstLine": {
1269
+ "type": "boolean"
1270
+ },
1271
+ "watchDisabled": {
1272
+ "type": "boolean"
1273
+ }
1274
+ }
1275
+ },
1276
+ "serviceTimeout": {
1277
+ "anyOf": [
1278
+ {
1279
+ "type": "number",
1280
+ "minimum": 1
1281
+ },
1282
+ {
1283
+ "type": "string"
1284
+ }
1285
+ ],
1286
+ "default": 300000
1287
+ },
1288
+ "env": {
1289
+ "type": "object",
1290
+ "additionalProperties": {
1291
+ "type": "string"
1292
+ }
1293
+ },
1294
+ "sourceMaps": {
1295
+ "type": "boolean",
1296
+ "default": false
1297
+ },
1298
+ "scheduler": {
1299
+ "type": "array",
1300
+ "items": {
1301
+ "type": "object",
1302
+ "properties": {
1303
+ "enabled": {
1304
+ "anyOf": [
1305
+ {
1306
+ "type": "boolean"
1307
+ },
1308
+ {
1309
+ "type": "string"
1310
+ }
1311
+ ],
1312
+ "default": true
1313
+ },
1314
+ "name": {
1315
+ "type": "string"
1316
+ },
1317
+ "cron": {
1318
+ "type": "string"
1319
+ },
1320
+ "callbackUrl": {
1321
+ "type": "string"
1322
+ },
1323
+ "method": {
1324
+ "type": "string",
1325
+ "enum": [
1326
+ "GET",
1327
+ "POST",
1328
+ "PUT",
1329
+ "PATCH",
1330
+ "DELETE"
1331
+ ],
1332
+ "default": "GET"
1333
+ },
1334
+ "headers": {
1335
+ "type": "object",
1336
+ "additionalProperties": {
1337
+ "type": "string"
1338
+ }
1339
+ },
1340
+ "body": {
1341
+ "anyOf": [
1342
+ {
1343
+ "type": "string"
1344
+ },
1345
+ {
1346
+ "type": "object",
1347
+ "additionalProperties": true
1348
+ }
1349
+ ]
1350
+ },
1351
+ "maxRetries": {
1352
+ "type": "number",
1353
+ "minimum": 0,
1354
+ "default": 3
1355
+ }
1356
+ },
1357
+ "required": [
1358
+ "name",
1359
+ "cron",
1360
+ "callbackUrl"
1361
+ ]
1362
+ }
1363
+ }
1364
+ },
1365
+ "additionalProperties": false
1366
+ },
349
1367
  "next": {
350
1368
  "type": "object",
351
1369
  "properties": {