@nxtedition/types 23.1.3 → 23.1.4

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.
@@ -1,9 +1,10 @@
1
1
  import { parseRecordName } from "./utils.js";
2
2
  import typia from 'typia';
3
- export function getSchemaByRecordName(name) {
3
+ export function getJsonSchemaByRecordName(name) {
4
4
  const parsed = parseRecordName(name);
5
+ let unit;
5
6
  if (parsed.type === "domain-rows") {
6
- return {
7
+ unit = {
7
8
  version: "3.1",
8
9
  components: {
9
10
  schemas: {
@@ -29,14 +30,26 @@ export function getSchemaByRecordName(name) {
29
30
  };
30
31
  }
31
32
  else if (parsed.type === "domain") {
32
- return _schemaDomainRecord(parsed.domain);
33
+ unit = _schemaDomainRecord(parsed.domain);
33
34
  }
34
35
  else {
35
- return _schemaExactRecord(parsed.exact);
36
+ unit = _schemaExactRecord(parsed.exact);
36
37
  }
38
+ return {
39
+ ...unit.schema,
40
+ components: unit.components,
41
+ // 'satisfies' ensures we're only casting because of the generic type,
42
+ // typias IJsonSchema should be compatible with our JsonSchema type.
43
+ };
37
44
  }
38
- export function getSchemaByDomain(domain) {
39
- return _schemaDomainRecord(domain);
45
+ export function getJsonSchemaByDomain(domain) {
46
+ const unit = _schemaDomainRecord(domain);
47
+ return {
48
+ ...unit.schema,
49
+ components: unit.components,
50
+ // 'satisfies' ensures we're only casting because of the generic type,
51
+ // typias IJsonSchema should be compatible with our JsonSchema type.
52
+ };
40
53
  }
41
54
  // Implemented by the ts-patch transform
42
55
  function _schemaExactRecord(name) {
@@ -370,33 +383,17 @@ function _schemaExactRecord(name) {
370
383
  ],
371
384
  description: "Specifying what type of data will be entered into the field."
372
385
  },
373
- index: {
374
- type: "object",
375
- properties: {
376
- label: {
377
- type: "string",
378
- description: "A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks."
379
- },
380
- path: {
381
- type: "string",
382
- description: "A string specifying where to store the data in the search index. Note that this should be a globally unique value in the system. Typically you'd use `{domain}.{path}` and you should prefer English in camel case"
383
- }
384
- },
385
- required: [
386
- "label",
387
- "path"
388
- ],
389
- description: "An object specifying where to index the data. Adding this will effectively make the data searchable."
386
+ items: {
387
+ $ref: "#/components/schemas/BaseSchemaPropertyunknown"
390
388
  },
391
- title: {
392
- type: "string",
393
- description: "User-friendly title of the property. This will be used as the field's label in the UI."
389
+ minItems: {
390
+ type: "number"
394
391
  },
395
- description: {
396
- type: "string"
392
+ maxItems: {
393
+ type: "number"
397
394
  },
398
- placeholder: {
399
- type: "string"
395
+ properties: {
396
+ $ref: "#/components/schemas/RecordstringBaseSchemaPropertyunknown"
400
397
  },
401
398
  required: {
402
399
  type: "boolean",
@@ -418,6 +415,34 @@ function _schemaExactRecord(name) {
418
415
  type: "array",
419
416
  items: {}
420
417
  },
418
+ title: {
419
+ type: "string",
420
+ description: "User-friendly title of the property. This will be used as the field's label in the UI."
421
+ },
422
+ index: {
423
+ type: "object",
424
+ properties: {
425
+ label: {
426
+ type: "string",
427
+ description: "A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks."
428
+ },
429
+ path: {
430
+ type: "string",
431
+ description: "A string specifying where to store the data in the search index. Note that this should be a globally unique value in the system. Typically you'd use `{domain}.{path}` and you should prefer English in camel case"
432
+ }
433
+ },
434
+ required: [
435
+ "label",
436
+ "path"
437
+ ],
438
+ description: "An object specifying where to index the data. Adding this will effectively make the data searchable."
439
+ },
440
+ description: {
441
+ type: "string"
442
+ },
443
+ placeholder: {
444
+ type: "string"
445
+ },
421
446
  widget: {
422
447
  oneOf: [
423
448
  {
@@ -435,18 +460,6 @@ function _schemaExactRecord(name) {
435
460
  type: "boolean"
436
461
  },
437
462
  emptyValue: {},
438
- minItems: {
439
- type: "number"
440
- },
441
- maxItems: {
442
- type: "number"
443
- },
444
- items: {
445
- $ref: "#/components/schemas/BaseSchemaPropertyunknown"
446
- },
447
- properties: {
448
- $ref: "#/components/schemas/RecordstringBaseSchemaPropertyunknown"
449
- },
450
463
  computed: {}
451
464
  },
452
465
  required: [
@@ -638,6 +651,40 @@ function _schemaExactRecord(name) {
638
651
  ],
639
652
  description: "Specifying what type of data will be entered into the field."
640
653
  },
654
+ "default": {},
655
+ items: {
656
+ $ref: "#/components/schemas/BaseSchemaPropertyunknown"
657
+ },
658
+ minItems: {
659
+ type: "number"
660
+ },
661
+ maxItems: {
662
+ type: "number"
663
+ },
664
+ properties: {
665
+ $ref: "#/components/schemas/RecordstringBaseSchemaPropertyunknown"
666
+ },
667
+ required: {
668
+ type: "boolean",
669
+ description: "If present, indicates that the user must specify a value for the asset to be treated as valid."
670
+ },
671
+ oneOf: {
672
+ type: "array",
673
+ items: {
674
+ $ref: "#/components/schemas/BaseSchemaPropertyunknown"
675
+ }
676
+ },
677
+ anyOf: {
678
+ type: "array",
679
+ items: {
680
+ $ref: "#/components/schemas/BaseSchemaPropertyunknown"
681
+ }
682
+ },
683
+ "enum": {
684
+ type: "array",
685
+ items: {}
686
+ },
687
+ "const": {},
641
688
  recordName: {
642
689
  oneOf: [
643
690
  {
@@ -699,8 +746,10 @@ function _schemaExactRecord(name) {
699
746
  }
700
747
  ]
701
748
  },
702
- "default": {},
703
- "const": {},
749
+ title: {
750
+ type: "string",
751
+ description: "User-friendly title of the property. This will be used as the field's label in the UI."
752
+ },
704
753
  index: {
705
754
  type: "object",
706
755
  properties: {
@@ -719,36 +768,12 @@ function _schemaExactRecord(name) {
719
768
  ],
720
769
  description: "An object specifying where to index the data. Adding this will effectively make the data searchable."
721
770
  },
722
- title: {
723
- type: "string",
724
- description: "User-friendly title of the property. This will be used as the field's label in the UI."
725
- },
726
771
  description: {
727
772
  type: "string"
728
773
  },
729
774
  placeholder: {
730
775
  type: "string"
731
776
  },
732
- required: {
733
- type: "boolean",
734
- description: "If present, indicates that the user must specify a value for the asset to be treated as valid."
735
- },
736
- oneOf: {
737
- type: "array",
738
- items: {
739
- $ref: "#/components/schemas/BaseSchemaPropertyunknown"
740
- }
741
- },
742
- anyOf: {
743
- type: "array",
744
- items: {
745
- $ref: "#/components/schemas/BaseSchemaPropertyunknown"
746
- }
747
- },
748
- "enum": {
749
- type: "array",
750
- items: {}
751
- },
752
777
  widget: {
753
778
  oneOf: [
754
779
  {
@@ -766,18 +791,6 @@ function _schemaExactRecord(name) {
766
791
  type: "boolean"
767
792
  },
768
793
  emptyValue: {},
769
- minItems: {
770
- type: "number"
771
- },
772
- maxItems: {
773
- type: "number"
774
- },
775
- items: {
776
- $ref: "#/components/schemas/BaseSchemaPropertyunknown"
777
- },
778
- properties: {
779
- $ref: "#/components/schemas/RecordstringBaseSchemaPropertyunknown"
780
- },
781
794
  computed: {}
782
795
  },
783
796
  required: [
@@ -1611,7 +1624,8 @@ function _schemaExactRecord(name) {
1611
1624
  ]
1612
1625
  }
1613
1626
  ]
1614
- }
1627
+ },
1628
+ data: {}
1615
1629
  },
1616
1630
  required: [
1617
1631
  "id",
@@ -2567,6 +2581,9 @@ function _schemaExactRecord(name) {
2567
2581
  properties: {
2568
2582
  "user-notify": {
2569
2583
  type: "boolean"
2584
+ },
2585
+ validate: {
2586
+ type: "boolean"
2570
2587
  }
2571
2588
  },
2572
2589
  required: []
@@ -2612,6 +2629,40 @@ function _schemaExactRecord(name) {
2612
2629
  }
2613
2630
  };
2614
2631
  }
2632
+ case "asset-daemon:validate.state": {
2633
+ return {
2634
+ version: "3.1",
2635
+ components: {
2636
+ schemas: {
2637
+ AssetDaemonValidateStateRecord: {
2638
+ type: "object",
2639
+ properties: {
2640
+ since: {
2641
+ oneOf: [
2642
+ {
2643
+ type: "null"
2644
+ },
2645
+ {
2646
+ "const": 0
2647
+ },
2648
+ {
2649
+ type: "string"
2650
+ }
2651
+ ]
2652
+ },
2653
+ version: {
2654
+ type: "number"
2655
+ }
2656
+ },
2657
+ required: []
2658
+ }
2659
+ }
2660
+ },
2661
+ schema: {
2662
+ $ref: "#/components/schemas/AssetDaemonValidateStateRecord"
2663
+ }
2664
+ };
2665
+ }
2615
2666
  case "deepstream-replicator.stats?": {
2616
2667
  return {
2617
2668
  version: "3.1",
@@ -6539,6 +6590,9 @@ function _schemaDomainRecord(domain) {
6539
6590
  share: {
6540
6591
  type: "string"
6541
6592
  },
6593
+ root: {
6594
+ type: "string"
6595
+ },
6542
6596
  workgroup: {
6543
6597
  type: "string"
6544
6598
  },
@@ -6548,6 +6602,9 @@ function _schemaDomainRecord(domain) {
6548
6602
  password: {
6549
6603
  type: "string"
6550
6604
  },
6605
+ createFolders: {
6606
+ type: "boolean"
6607
+ },
6551
6608
  type: {
6552
6609
  "const": "file"
6553
6610
  },
@@ -7086,6 +7143,9 @@ function _schemaDomainRecord(domain) {
7086
7143
  }
7087
7144
  ]
7088
7145
  },
7146
+ position: {
7147
+ type: "string"
7148
+ },
7089
7149
  text: {
7090
7150
  type: "string"
7091
7151
  },
@@ -7237,6 +7297,9 @@ function _schemaDomainRecord(domain) {
7237
7297
  }
7238
7298
  ]
7239
7299
  },
7300
+ printRundownColor: {
7301
+ type: "string"
7302
+ },
7240
7303
  startTime: {
7241
7304
  type: "number"
7242
7305
  },
@@ -7433,6 +7496,9 @@ function _schemaDomainRecord(domain) {
7433
7496
  }
7434
7497
  ]
7435
7498
  },
7499
+ printRundownColor: {
7500
+ type: "string"
7501
+ },
7436
7502
  startTime: {
7437
7503
  type: "number"
7438
7504
  },
@@ -7501,6 +7567,27 @@ function _schemaDomainRecord(domain) {
7501
7567
  }
7502
7568
  };
7503
7569
  }
7570
+ case ":event.stats?": {
7571
+ return {
7572
+ version: "3.1",
7573
+ components: {
7574
+ schemas: {
7575
+ EventStatsRecord: {
7576
+ type: "object",
7577
+ properties: {
7578
+ type: {
7579
+ type: "string"
7580
+ }
7581
+ },
7582
+ required: []
7583
+ }
7584
+ }
7585
+ },
7586
+ schema: {
7587
+ $ref: "#/components/schemas/EventStatsRecord"
7588
+ }
7589
+ };
7590
+ }
7504
7591
  case ":file.replicate": {
7505
7592
  return {
7506
7593
  version: "3.1",
@@ -7947,6 +8034,33 @@ function _schemaDomainRecord(domain) {
7947
8034
  }
7948
8035
  };
7949
8036
  }
8037
+ case ":gallery": {
8038
+ return {
8039
+ version: "3.1",
8040
+ components: {
8041
+ schemas: {
8042
+ GalleryDomainRecord: {
8043
+ type: "object",
8044
+ properties: {
8045
+ sources: {
8046
+ type: "object",
8047
+ properties: {
8048
+ program: {
8049
+ type: "string"
8050
+ }
8051
+ },
8052
+ required: []
8053
+ }
8054
+ },
8055
+ required: []
8056
+ }
8057
+ }
8058
+ },
8059
+ schema: {
8060
+ $ref: "#/components/schemas/GalleryDomainRecord"
8061
+ }
8062
+ };
8063
+ }
7950
8064
  case ":general.title": {
7951
8065
  return {
7952
8066
  version: "3.1",
@@ -8309,7 +8423,7 @@ function _schemaDomainRecord(domain) {
8309
8423
  type: "object",
8310
8424
  properties: {
8311
8425
  __context: {
8312
- $ref: "#/components/schemas/object",
8426
+ $ref: "#/components/schemas/Recordstringunknown",
8313
8427
  description: "TS-HACK: this property doesn't really exist on the nxtpression string,\nit is only here to make sure the generic Context won't get stripped."
8314
8428
  },
8315
8429
  __returnValue: {
@@ -8404,10 +8518,12 @@ function _schemaDomainRecord(domain) {
8404
8518
  },
8405
8519
  required: []
8406
8520
  },
8407
- object: {
8521
+ Recordstringunknown: {
8408
8522
  type: "object",
8409
8523
  properties: {},
8410
- required: []
8524
+ required: [],
8525
+ description: "Construct a type with a set of properties K of type T",
8526
+ additionalProperties: {}
8411
8527
  },
8412
8528
  IngestScheduleRepeat: {
8413
8529
  type: "object",
@@ -8677,6 +8793,9 @@ function _schemaDomainRecord(domain) {
8677
8793
  items: {
8678
8794
  type: "number"
8679
8795
  }
8796
+ },
8797
+ diarization: {
8798
+ type: "boolean"
8680
8799
  }
8681
8800
  },
8682
8801
  required: []
@@ -9852,6 +9971,9 @@ function _schemaDomainRecord(domain) {
9852
9971
  items: {
9853
9972
  type: "number"
9854
9973
  }
9974
+ },
9975
+ diarization: {
9976
+ type: "boolean"
9855
9977
  }
9856
9978
  },
9857
9979
  required: []
@@ -11925,6 +12047,9 @@ function _schemaDomainRecord(domain) {
11925
12047
  items: {
11926
12048
  type: "number"
11927
12049
  }
12050
+ },
12051
+ diarization: {
12052
+ type: "boolean"
11928
12053
  }
11929
12054
  },
11930
12055
  required: []
@@ -13153,6 +13278,9 @@ function _schemaDomainRecord(domain) {
13153
13278
  items: {
13154
13279
  type: "number"
13155
13280
  }
13281
+ },
13282
+ diarization: {
13283
+ type: "boolean"
13156
13284
  }
13157
13285
  },
13158
13286
  required: []
@@ -15016,6 +15144,9 @@ function _schemaDomainRecord(domain) {
15016
15144
  items: {
15017
15145
  type: "number"
15018
15146
  }
15147
+ },
15148
+ diarization: {
15149
+ type: "boolean"
15019
15150
  }
15020
15151
  },
15021
15152
  required: []
@@ -15700,16 +15831,73 @@ function _schemaDomainRecord(domain) {
15700
15831
  }
15701
15832
  };
15702
15833
  }
15703
- case ":role.tags": {
15834
+ case ":role": {
15704
15835
  return {
15705
15836
  version: "3.1",
15706
15837
  components: {
15707
15838
  schemas: {
15708
- RoleTagsRecord: {
15839
+ RoleRecord: {
15709
15840
  type: "object",
15710
15841
  properties: {
15711
- value: {
15712
- type: "array",
15842
+ permissions: {
15843
+ $ref: "#/components/schemas/RecordstringArraystring"
15844
+ }
15845
+ },
15846
+ required: []
15847
+ },
15848
+ RecordstringArraystring: {
15849
+ type: "object",
15850
+ properties: {},
15851
+ required: [],
15852
+ description: "Construct a type with a set of properties K of type T",
15853
+ additionalProperties: {
15854
+ type: "array",
15855
+ items: {
15856
+ type: "string"
15857
+ }
15858
+ }
15859
+ }
15860
+ }
15861
+ },
15862
+ schema: {
15863
+ $ref: "#/components/schemas/RoleRecord"
15864
+ }
15865
+ };
15866
+ }
15867
+ case ":role.users?": {
15868
+ return {
15869
+ version: "3.1",
15870
+ components: {
15871
+ schemas: {
15872
+ RoleUsersRecord: {
15873
+ type: "object",
15874
+ properties: {
15875
+ value: {
15876
+ type: "array",
15877
+ items: {
15878
+ type: "string"
15879
+ }
15880
+ }
15881
+ },
15882
+ required: []
15883
+ }
15884
+ }
15885
+ },
15886
+ schema: {
15887
+ $ref: "#/components/schemas/RoleUsersRecord"
15888
+ }
15889
+ };
15890
+ }
15891
+ case ":role.tags": {
15892
+ return {
15893
+ version: "3.1",
15894
+ components: {
15895
+ schemas: {
15896
+ RoleTagsRecord: {
15897
+ type: "object",
15898
+ properties: {
15899
+ value: {
15900
+ type: "array",
15713
15901
  items: {
15714
15902
  type: "string"
15715
15903
  }
@@ -16359,19 +16547,19 @@ function _schemaDomainRecord(domain) {
16359
16547
  "const": ""
16360
16548
  },
16361
16549
  {
16362
- "const": "center"
16550
+ "const": "right"
16363
16551
  },
16364
16552
  {
16365
- "const": "start"
16553
+ "const": "left"
16366
16554
  },
16367
16555
  {
16368
- "const": "end"
16556
+ "const": "center"
16369
16557
  },
16370
16558
  {
16371
- "const": "left"
16559
+ "const": "start"
16372
16560
  },
16373
16561
  {
16374
- "const": "right"
16562
+ "const": "end"
16375
16563
  },
16376
16564
  {
16377
16565
  "const": "justify"
@@ -16589,19 +16777,19 @@ function _schemaDomainRecord(domain) {
16589
16777
  "const": ""
16590
16778
  },
16591
16779
  {
16592
- "const": "center"
16780
+ "const": "right"
16593
16781
  },
16594
16782
  {
16595
- "const": "start"
16783
+ "const": "left"
16596
16784
  },
16597
16785
  {
16598
- "const": "end"
16786
+ "const": "center"
16599
16787
  },
16600
16788
  {
16601
- "const": "left"
16789
+ "const": "start"
16602
16790
  },
16603
16791
  {
16604
- "const": "right"
16792
+ "const": "end"
16605
16793
  },
16606
16794
  {
16607
16795
  "const": "justify"
@@ -17562,10 +17750,10 @@ function _schemaDomainRecord(domain) {
17562
17750
  sortBy: {
17563
17751
  oneOf: [
17564
17752
  {
17565
- "const": "index"
17753
+ "const": "title"
17566
17754
  },
17567
17755
  {
17568
- "const": "title"
17756
+ "const": "index"
17569
17757
  }
17570
17758
  ]
17571
17759
  },
@@ -17575,6 +17763,9 @@ function _schemaDomainRecord(domain) {
17575
17763
  },
17576
17764
  required: []
17577
17765
  },
17766
+ contentMaxWidth: {
17767
+ type: "number"
17768
+ },
17578
17769
  colorTags: {
17579
17770
  type: "array",
17580
17771
  items: {
@@ -18428,6 +18619,12 @@ function _schemaDomainRecord(domain) {
18428
18619
  items: {
18429
18620
  type: "string"
18430
18621
  }
18622
+ },
18623
+ presets: {
18624
+ type: "array",
18625
+ items: {
18626
+ $ref: "#/components/schemas/PrintOptions"
18627
+ }
18431
18628
  }
18432
18629
  },
18433
18630
  required: []
@@ -18477,6 +18674,12 @@ function _schemaDomainRecord(domain) {
18477
18674
  renderPresetPath: {
18478
18675
  type: "string"
18479
18676
  },
18677
+ renderPresets: {
18678
+ type: "array",
18679
+ items: {
18680
+ type: "string"
18681
+ }
18682
+ },
18480
18683
  videoRenderPreset: {
18481
18684
  type: "string"
18482
18685
  },
@@ -18507,6 +18710,15 @@ function _schemaDomainRecord(domain) {
18507
18710
  },
18508
18711
  required: []
18509
18712
  },
18713
+ ograf: {
18714
+ type: "object",
18715
+ properties: {
18716
+ template: {
18717
+ type: "string"
18718
+ }
18719
+ },
18720
+ required: []
18721
+ },
18510
18722
  rive: {
18511
18723
  type: "object",
18512
18724
  properties: {
@@ -18746,12 +18958,19 @@ function _schemaDomainRecord(domain) {
18746
18958
  performance: {
18747
18959
  type: "object",
18748
18960
  properties: {
18749
- ignoredMessages: {
18961
+ ignoredWarnings: {
18750
18962
  type: "array",
18751
18963
  items: {
18752
18964
  type: "string"
18753
18965
  },
18754
- description: "List of message identifiers to ignore in overall health aggregation (format: \"serviceName:messageText\")"
18966
+ description: "List of message identifiers to ignore warnings (format: \"serviceName:messageText\")"
18967
+ },
18968
+ ignoredErrors: {
18969
+ type: "array",
18970
+ items: {
18971
+ type: "string"
18972
+ },
18973
+ description: "List of message identifiers to ignore errors (format: \"serviceName:messageText\")"
18755
18974
  }
18756
18975
  },
18757
18976
  required: []
@@ -19023,219 +19242,881 @@ function _schemaDomainRecord(domain) {
19023
19242
  "title"
19024
19243
  ]
19025
19244
  },
19026
- NotificationReason: {
19245
+ PrintOptions: {
19027
19246
  oneOf: [
19028
19247
  {
19029
- "const": "mentioned"
19248
+ $ref: "#/components/schemas/PrintScriptOptions"
19030
19249
  },
19031
19250
  {
19032
- "const": "assigned"
19251
+ $ref: "#/components/schemas/PrintRundownOptions"
19252
+ }
19253
+ ],
19254
+ discriminator: {
19255
+ propertyName: "type",
19256
+ mapping: {
19257
+ script: "#/components/schemas/PrintScriptOptions",
19258
+ rundown: "#/components/schemas/PrintRundownOptions"
19259
+ }
19260
+ }
19261
+ },
19262
+ PrintScriptOptions: {
19263
+ type: "object",
19264
+ properties: {
19265
+ type: {
19266
+ "const": "script"
19267
+ },
19268
+ title: {
19269
+ type: "string"
19270
+ },
19271
+ horizontalMargin: {
19272
+ type: "number"
19273
+ },
19274
+ pageSize: {
19275
+ $ref: "#/components/schemas/PageSize"
19276
+ },
19277
+ orientation: {
19278
+ $ref: "#/components/schemas/PageOrientation"
19279
+ },
19280
+ fontSize: {
19281
+ type: "number"
19282
+ },
19283
+ fontFamily: {
19284
+ type: "string"
19033
19285
  },
19286
+ hide: {
19287
+ type: "array",
19288
+ items: {
19289
+ $ref: "#/components/schemas/PrintOptionalScriptNodes"
19290
+ }
19291
+ }
19292
+ },
19293
+ required: [
19294
+ "type",
19295
+ "title",
19296
+ "horizontalMargin",
19297
+ "pageSize",
19298
+ "orientation",
19299
+ "fontSize",
19300
+ "hide"
19301
+ ]
19302
+ },
19303
+ PageSize: {
19304
+ oneOf: [
19034
19305
  {
19035
- "const": "author"
19306
+ "const": "A5"
19036
19307
  },
19037
19308
  {
19038
- "const": "participated"
19309
+ "const": "A4"
19039
19310
  },
19040
19311
  {
19041
- "const": "always"
19312
+ "const": "A3"
19042
19313
  }
19043
19314
  ]
19044
- }
19045
- }
19046
- },
19047
- schema: {
19048
- $ref: "#/components/schemas/Settings"
19049
- }
19050
- };
19051
- }
19052
- case ":settings.node": {
19053
- return {
19054
- version: "3.1",
19055
- components: {
19056
- schemas: {
19057
- SettingsNodeRecord: {
19058
- type: "object",
19059
- properties: {},
19060
- required: [],
19061
- additionalProperties: {
19062
- type: "object",
19063
- properties: {
19064
- collapsed: {
19065
- type: "boolean"
19066
- },
19067
- hidden: {
19068
- type: "boolean"
19069
- }
19315
+ },
19316
+ PageOrientation: {
19317
+ oneOf: [
19318
+ {
19319
+ "const": "landscape"
19070
19320
  },
19071
- required: [
19072
- "collapsed",
19073
- "hidden"
19074
- ]
19075
- }
19076
- }
19077
- }
19078
- },
19079
- schema: {
19080
- $ref: "#/components/schemas/SettingsNodeRecord"
19081
- }
19082
- };
19083
- }
19084
- case ":shotbox": {
19085
- return {
19086
- version: "3.1",
19087
- components: {
19088
- schemas: {
19089
- ShotboxDomainRecord: {
19090
- type: "object",
19091
- properties: {
19092
- pages: {
19093
- type: "array",
19094
- items: {
19095
- $ref: "#/components/schemas/ShotboxPage"
19096
- }
19321
+ {
19322
+ "const": "portrait"
19097
19323
  }
19098
- },
19099
- required: []
19324
+ ]
19100
19325
  },
19101
- ShotboxPage: {
19326
+ PrintOptionalScriptNodes: {
19327
+ oneOf: [
19328
+ {
19329
+ "const": "event"
19330
+ },
19331
+ {
19332
+ "const": "event-data"
19333
+ },
19334
+ {
19335
+ "const": "comment"
19336
+ },
19337
+ {
19338
+ "const": "heading"
19339
+ },
19340
+ {
19341
+ "const": "list"
19342
+ },
19343
+ {
19344
+ "const": "quote"
19345
+ },
19346
+ {
19347
+ "const": "paragraph"
19348
+ },
19349
+ {
19350
+ "const": "horizontalrule"
19351
+ }
19352
+ ]
19353
+ },
19354
+ PrintRundownOptions: {
19102
19355
  type: "object",
19103
19356
  properties: {
19104
- stickyTopRow: {
19105
- type: "boolean"
19106
- },
19107
- inferGroups: {
19108
- type: "boolean"
19357
+ type: {
19358
+ "const": "rundown"
19109
19359
  },
19110
- excludeFromInferredGroups: {
19360
+ columns: {
19111
19361
  type: "array",
19112
19362
  items: {
19113
- type: "string"
19363
+ $ref: "#/components/schemas/PrintRundownColumn"
19114
19364
  }
19115
19365
  },
19116
- layout: {
19366
+ rangeStart: {
19367
+ type: "number"
19368
+ },
19369
+ rangeEnd: {
19370
+ type: "number"
19371
+ },
19372
+ hide: {
19117
19373
  type: "array",
19118
19374
  items: {
19119
19375
  oneOf: [
19120
19376
  {
19121
- type: "array",
19122
- items: {
19123
- $ref: "#/components/schemas/ShotboxGroup"
19124
- }
19377
+ "const": "event"
19125
19378
  },
19126
19379
  {
19127
- $ref: "#/components/schemas/ShotboxEventGroup"
19380
+ "const": "comment"
19128
19381
  },
19129
19382
  {
19130
- $ref: "#/components/schemas/ShotboxStreamGroup"
19131
- }
19132
- ]
19133
- }
19134
- }
19135
- },
19136
- required: []
19137
- },
19383
+ "const": "heading"
19384
+ },
19385
+ {
19386
+ "const": "list"
19387
+ },
19388
+ {
19389
+ "const": "quote"
19390
+ },
19391
+ {
19392
+ "const": "paragraph"
19393
+ },
19394
+ {
19395
+ "const": "horizontalrule"
19396
+ }
19397
+ ]
19398
+ }
19399
+ },
19400
+ title: {
19401
+ type: "string"
19402
+ },
19403
+ horizontalMargin: {
19404
+ type: "number"
19405
+ },
19406
+ pageSize: {
19407
+ $ref: "#/components/schemas/PageSize"
19408
+ },
19409
+ orientation: {
19410
+ $ref: "#/components/schemas/PageOrientation"
19411
+ },
19412
+ fontSize: {
19413
+ type: "number"
19414
+ },
19415
+ fontFamily: {
19416
+ type: "string"
19417
+ }
19418
+ },
19419
+ required: [
19420
+ "type",
19421
+ "columns",
19422
+ "hide",
19423
+ "title",
19424
+ "horizontalMargin",
19425
+ "pageSize",
19426
+ "orientation",
19427
+ "fontSize"
19428
+ ]
19429
+ },
19430
+ PrintRundownColumn: {
19431
+ type: "object",
19432
+ properties: {
19433
+ key: {
19434
+ oneOf: [
19435
+ {
19436
+ "const": "type"
19437
+ },
19438
+ {
19439
+ "const": "id"
19440
+ },
19441
+ {
19442
+ "const": "title"
19443
+ },
19444
+ {
19445
+ "const": "time"
19446
+ },
19447
+ {
19448
+ "const": "duration"
19449
+ },
19450
+ {
19451
+ "const": "position"
19452
+ },
19453
+ {
19454
+ "const": "accDuration"
19455
+ }
19456
+ ]
19457
+ },
19458
+ label: {
19459
+ type: "string"
19460
+ },
19461
+ width: {
19462
+ type: "string"
19463
+ },
19464
+ textAlign: {
19465
+ oneOf: [
19466
+ {
19467
+ "const": "right"
19468
+ },
19469
+ {
19470
+ "const": "left"
19471
+ },
19472
+ {
19473
+ "const": "center"
19474
+ }
19475
+ ]
19476
+ }
19477
+ },
19478
+ required: [
19479
+ "key",
19480
+ "label",
19481
+ "width",
19482
+ "textAlign"
19483
+ ]
19484
+ },
19485
+ NotificationReason: {
19486
+ oneOf: [
19487
+ {
19488
+ "const": "mentioned"
19489
+ },
19490
+ {
19491
+ "const": "assigned"
19492
+ },
19493
+ {
19494
+ "const": "author"
19495
+ },
19496
+ {
19497
+ "const": "participated"
19498
+ },
19499
+ {
19500
+ "const": "always"
19501
+ }
19502
+ ]
19503
+ }
19504
+ }
19505
+ },
19506
+ schema: {
19507
+ $ref: "#/components/schemas/Settings"
19508
+ }
19509
+ };
19510
+ }
19511
+ case ":settings.node": {
19512
+ return {
19513
+ version: "3.1",
19514
+ components: {
19515
+ schemas: {
19516
+ SettingsNodeRecord: {
19517
+ type: "object",
19518
+ properties: {},
19519
+ required: [],
19520
+ additionalProperties: {
19521
+ type: "object",
19522
+ properties: {
19523
+ collapsed: {
19524
+ type: "boolean"
19525
+ },
19526
+ hidden: {
19527
+ type: "boolean"
19528
+ }
19529
+ },
19530
+ required: [
19531
+ "collapsed",
19532
+ "hidden"
19533
+ ]
19534
+ }
19535
+ }
19536
+ }
19537
+ },
19538
+ schema: {
19539
+ $ref: "#/components/schemas/SettingsNodeRecord"
19540
+ }
19541
+ };
19542
+ }
19543
+ case ":shotbox": {
19544
+ return {
19545
+ version: "3.1",
19546
+ components: {
19547
+ schemas: {
19548
+ ShotboxDomainRecord: {
19549
+ type: "object",
19550
+ properties: {
19551
+ pages: {
19552
+ type: "array",
19553
+ items: {
19554
+ $ref: "#/components/schemas/ShotboxPage"
19555
+ }
19556
+ }
19557
+ },
19558
+ required: []
19559
+ },
19560
+ ShotboxPage: {
19561
+ type: "object",
19562
+ properties: {
19563
+ stickyTopRow: {
19564
+ type: "boolean"
19565
+ },
19566
+ inferGroups: {
19567
+ type: "boolean"
19568
+ },
19569
+ excludeFromInferredGroups: {
19570
+ type: "array",
19571
+ items: {
19572
+ type: "string"
19573
+ }
19574
+ },
19575
+ layout: {
19576
+ type: "array",
19577
+ items: {
19578
+ oneOf: [
19579
+ {
19580
+ type: "array",
19581
+ items: {
19582
+ $ref: "#/components/schemas/ShotboxGroup"
19583
+ }
19584
+ },
19585
+ {
19586
+ $ref: "#/components/schemas/ShotboxEventGroup"
19587
+ },
19588
+ {
19589
+ $ref: "#/components/schemas/ShotboxStreamGroup"
19590
+ }
19591
+ ]
19592
+ }
19593
+ }
19594
+ },
19595
+ required: []
19596
+ },
19138
19597
  ShotboxGroup: {
19139
19598
  oneOf: [
19140
19599
  {
19141
19600
  $ref: "#/components/schemas/ShotboxEventGroup"
19142
19601
  },
19143
- {
19144
- $ref: "#/components/schemas/ShotboxStreamGroup"
19602
+ {
19603
+ $ref: "#/components/schemas/ShotboxStreamGroup"
19604
+ }
19605
+ ]
19606
+ },
19607
+ ShotboxEventGroup: {
19608
+ type: "object",
19609
+ properties: {
19610
+ id: {
19611
+ type: "string"
19612
+ },
19613
+ title: {
19614
+ type: "string"
19615
+ },
19616
+ sticky: {
19617
+ type: "boolean"
19618
+ },
19619
+ type: {
19620
+ oneOf: [
19621
+ {
19622
+ "const": "trigger"
19623
+ },
19624
+ {
19625
+ "const": "toggle"
19626
+ }
19627
+ ]
19628
+ },
19629
+ width: {
19630
+ type: "string"
19631
+ },
19632
+ include: {
19633
+ type: "array",
19634
+ items: {
19635
+ type: "string"
19636
+ }
19637
+ },
19638
+ exclude: {
19639
+ type: "array",
19640
+ items: {
19641
+ type: "string"
19642
+ }
19643
+ },
19644
+ states: {
19645
+ type: "object",
19646
+ properties: {
19647
+ completed: {
19648
+ type: "boolean"
19649
+ }
19650
+ },
19651
+ required: [
19652
+ "completed"
19653
+ ]
19654
+ },
19655
+ flow: {
19656
+ oneOf: [
19657
+ {
19658
+ "const": "column"
19659
+ },
19660
+ {
19661
+ "const": "row"
19662
+ }
19663
+ ]
19664
+ },
19665
+ minRows: {
19666
+ type: "number"
19667
+ },
19668
+ maxRows: {
19669
+ type: "number"
19670
+ }
19671
+ },
19672
+ required: []
19673
+ },
19674
+ ShotboxStreamGroup: {
19675
+ type: "object",
19676
+ properties: {
19677
+ type: {
19678
+ "const": "stream"
19679
+ },
19680
+ title: {
19681
+ type: "string"
19682
+ },
19683
+ width: {
19684
+ type: "string"
19685
+ },
19686
+ source: {
19687
+ type: "string"
19688
+ }
19689
+ },
19690
+ required: [
19691
+ "type"
19692
+ ]
19693
+ }
19694
+ }
19695
+ },
19696
+ schema: {
19697
+ $ref: "#/components/schemas/ShotboxDomainRecord"
19698
+ }
19699
+ };
19700
+ }
19701
+ case ":storage": {
19702
+ return {
19703
+ version: "3.1",
19704
+ components: {
19705
+ schemas: {
19706
+ StorageDomainRecord: {
19707
+ type: "object",
19708
+ properties: {
19709
+ zone: {
19710
+ type: "string"
19711
+ },
19712
+ hostname: {
19713
+ oneOf: [
19714
+ {
19715
+ type: "null"
19716
+ },
19717
+ {
19718
+ type: "string"
19719
+ }
19720
+ ]
19721
+ },
19722
+ port: {
19723
+ oneOf: [
19724
+ {
19725
+ type: "null"
19726
+ },
19727
+ {
19728
+ type: "number"
19729
+ }
19730
+ ]
19731
+ },
19732
+ location: {
19733
+ type: "string"
19734
+ },
19735
+ cache: {
19736
+ oneOf: [
19737
+ {
19738
+ type: "null"
19739
+ },
19740
+ {
19741
+ type: "boolean"
19742
+ }
19743
+ ]
19744
+ },
19745
+ allows: {
19746
+ type: "array",
19747
+ items: {
19748
+ type: "string"
19749
+ }
19750
+ },
19751
+ capacity: {
19752
+ oneOf: [
19753
+ {
19754
+ type: "null"
19755
+ },
19756
+ {
19757
+ type: "number"
19758
+ }
19759
+ ]
19760
+ },
19761
+ rxBytesSecMax: {
19762
+ oneOf: [
19763
+ {
19764
+ type: "null"
19765
+ },
19766
+ {
19767
+ type: "number"
19768
+ }
19769
+ ]
19770
+ },
19771
+ txBytesSecMax: {
19772
+ oneOf: [
19773
+ {
19774
+ type: "null"
19775
+ },
19776
+ {
19777
+ type: "number"
19778
+ }
19779
+ ]
19780
+ },
19781
+ rxBytesSecLimit: {
19782
+ oneOf: [
19783
+ {
19784
+ type: "null"
19785
+ },
19786
+ {
19787
+ type: "number"
19788
+ }
19789
+ ]
19790
+ },
19791
+ txBytesSecLimit: {
19792
+ oneOf: [
19793
+ {
19794
+ type: "null"
19795
+ },
19796
+ {
19797
+ type: "number"
19798
+ }
19799
+ ]
19800
+ }
19801
+ },
19802
+ required: [
19803
+ "zone",
19804
+ "hostname"
19805
+ ]
19806
+ }
19807
+ }
19808
+ },
19809
+ schema: {
19810
+ $ref: "#/components/schemas/StorageDomainRecord"
19811
+ }
19812
+ };
19813
+ }
19814
+ case ":storage.stats": {
19815
+ return {
19816
+ version: "3.1",
19817
+ components: {
19818
+ schemas: {
19819
+ StorageStatsDomainRecord: {
19820
+ type: "object",
19821
+ properties: {
19822
+ id: {
19823
+ type: "string"
19824
+ },
19825
+ location: {
19826
+ type: "string"
19827
+ },
19828
+ timestamp: {
19829
+ type: "string"
19830
+ },
19831
+ type: {
19832
+ type: "string"
19833
+ },
19834
+ zone: {
19835
+ type: "string"
19836
+ },
19837
+ origin: {
19838
+ type: "string"
19839
+ },
19840
+ free: {
19841
+ oneOf: [
19842
+ {
19843
+ type: "null"
19844
+ },
19845
+ {
19846
+ type: "number"
19847
+ }
19848
+ ]
19849
+ },
19850
+ size: {
19851
+ oneOf: [
19852
+ {
19853
+ type: "null"
19854
+ },
19855
+ {
19856
+ type: "number"
19857
+ }
19858
+ ]
19859
+ },
19860
+ available: {
19861
+ oneOf: [
19862
+ {
19863
+ type: "null"
19864
+ },
19865
+ {
19866
+ type: "number"
19867
+ }
19868
+ ]
19869
+ },
19870
+ cache: {
19871
+ oneOf: [
19872
+ {
19873
+ type: "null"
19874
+ },
19875
+ {
19876
+ type: "boolean"
19877
+ }
19878
+ ]
19879
+ },
19880
+ capacity: {
19881
+ oneOf: [
19882
+ {
19883
+ type: "null"
19884
+ },
19885
+ {
19886
+ type: "number"
19887
+ }
19888
+ ]
19889
+ },
19890
+ limiter: {
19891
+ type: "object",
19892
+ properties: {
19893
+ readBytesPerSecond: {
19894
+ type: "number"
19895
+ },
19896
+ writeBytesPerSecond: {
19897
+ type: "number"
19898
+ }
19899
+ },
19900
+ required: []
19901
+ },
19902
+ http: {
19903
+ type: "object",
19904
+ properties: {
19905
+ downstreamConnected: {
19906
+ type: "number"
19907
+ },
19908
+ upstreamConnected: {
19909
+ type: "number"
19910
+ },
19911
+ pending: {
19912
+ type: "number"
19913
+ },
19914
+ completed: {
19915
+ type: "number"
19916
+ },
19917
+ failed: {
19918
+ type: "number"
19919
+ }
19920
+ },
19921
+ required: [
19922
+ "downstreamConnected",
19923
+ "upstreamConnected",
19924
+ "pending",
19925
+ "completed",
19926
+ "failed"
19927
+ ]
19928
+ },
19929
+ io: {
19930
+ type: "object",
19931
+ properties: {
19932
+ read: {
19933
+ type: "object",
19934
+ properties: {
19935
+ bytesPerSecond: {
19936
+ type: "number"
19937
+ },
19938
+ pending: {
19939
+ type: "number"
19940
+ },
19941
+ queues: {
19942
+ $ref: "#/components/schemas/StorageIoQueues"
19943
+ }
19944
+ },
19945
+ required: [
19946
+ "bytesPerSecond",
19947
+ "pending",
19948
+ "queues"
19949
+ ]
19950
+ },
19951
+ write: {
19952
+ type: "object",
19953
+ properties: {
19954
+ bytesPerSecond: {
19955
+ type: "number"
19956
+ },
19957
+ pending: {
19958
+ type: "number"
19959
+ },
19960
+ queues: {
19961
+ $ref: "#/components/schemas/StorageIoQueues"
19962
+ }
19963
+ },
19964
+ required: [
19965
+ "bytesPerSecond",
19966
+ "pending",
19967
+ "queues"
19968
+ ]
19969
+ }
19970
+ },
19971
+ required: [
19972
+ "read",
19973
+ "write"
19974
+ ]
19975
+ },
19976
+ fs: {
19977
+ $ref: "#/components/schemas/StorageFsStats"
19978
+ },
19979
+ s3: {
19980
+ $ref: "#/components/schemas/StorageS3Stats"
19145
19981
  }
19982
+ },
19983
+ required: [
19984
+ "id",
19985
+ "location",
19986
+ "timestamp",
19987
+ "type",
19988
+ "zone",
19989
+ "origin",
19990
+ "free",
19991
+ "size",
19992
+ "available",
19993
+ "cache",
19994
+ "capacity",
19995
+ "limiter",
19996
+ "http",
19997
+ "io"
19146
19998
  ]
19147
19999
  },
19148
- ShotboxEventGroup: {
20000
+ StorageIoQueues: {
19149
20001
  type: "object",
19150
20002
  properties: {
19151
- id: {
19152
- type: "string"
20003
+ highest: {
20004
+ type: "number"
19153
20005
  },
19154
- title: {
19155
- type: "string"
20006
+ higher: {
20007
+ type: "number"
19156
20008
  },
19157
- sticky: {
19158
- type: "boolean"
20009
+ high: {
20010
+ type: "number"
19159
20011
  },
19160
- type: {
19161
- oneOf: [
19162
- {
19163
- "const": "trigger"
19164
- },
19165
- {
19166
- "const": "toggle"
19167
- }
19168
- ]
20012
+ normal: {
20013
+ type: "number"
19169
20014
  },
19170
- width: {
19171
- type: "string"
20015
+ low: {
20016
+ type: "number"
19172
20017
  },
19173
- include: {
19174
- type: "array",
19175
- items: {
19176
- type: "string"
19177
- }
20018
+ lower: {
20019
+ type: "number"
19178
20020
  },
19179
- exclude: {
19180
- type: "array",
19181
- items: {
19182
- type: "string"
19183
- }
20021
+ lowest: {
20022
+ type: "number"
20023
+ }
20024
+ },
20025
+ required: [
20026
+ "highest",
20027
+ "higher",
20028
+ "high",
20029
+ "normal",
20030
+ "low",
20031
+ "lower",
20032
+ "lowest"
20033
+ ]
20034
+ },
20035
+ StorageFsStats: {
20036
+ type: "object",
20037
+ properties: {
20038
+ concurrency: {
20039
+ type: "number"
19184
20040
  },
19185
- states: {
19186
- type: "object",
19187
- properties: {
19188
- completed: {
19189
- type: "boolean"
19190
- }
19191
- },
19192
- required: [
19193
- "completed"
19194
- ]
20041
+ path: {
20042
+ type: "string"
19195
20043
  },
19196
- flow: {
20044
+ snapshot: {
19197
20045
  oneOf: [
19198
20046
  {
19199
- "const": "column"
20047
+ type: "null"
19200
20048
  },
19201
20049
  {
19202
- "const": "row"
20050
+ type: "number"
19203
20051
  }
19204
20052
  ]
19205
20053
  },
19206
- minRows: {
20054
+ available: {
19207
20055
  type: "number"
19208
20056
  },
19209
- maxRows: {
20057
+ free: {
20058
+ type: "number"
20059
+ },
20060
+ used: {
20061
+ type: "number"
20062
+ },
20063
+ size: {
19210
20064
  type: "number"
20065
+ },
20066
+ state: {
20067
+ type: "string"
19211
20068
  }
19212
20069
  },
19213
- required: []
20070
+ required: [],
20071
+ additionalProperties: {}
19214
20072
  },
19215
- ShotboxStreamGroup: {
20073
+ StorageS3Stats: {
19216
20074
  type: "object",
19217
20075
  properties: {
19218
- type: {
19219
- "const": "stream"
20076
+ bucket: {
20077
+ type: "string"
19220
20078
  },
19221
- title: {
20079
+ region: {
19222
20080
  type: "string"
19223
20081
  },
19224
- width: {
20082
+ endpoint: {
19225
20083
  type: "string"
19226
20084
  },
19227
- source: {
20085
+ path: {
20086
+ type: "string"
20087
+ },
20088
+ storageClass: {
19228
20089
  type: "string"
19229
20090
  }
19230
20091
  },
19231
- required: [
19232
- "type"
19233
- ]
20092
+ required: [],
20093
+ additionalProperties: {}
19234
20094
  }
19235
20095
  }
19236
20096
  },
19237
20097
  schema: {
19238
- $ref: "#/components/schemas/ShotboxDomainRecord"
20098
+ $ref: "#/components/schemas/StorageStatsDomainRecord"
20099
+ }
20100
+ };
20101
+ }
20102
+ case ":storage-zone": {
20103
+ return {
20104
+ version: "3.1",
20105
+ components: {
20106
+ schemas: {
20107
+ StorageZoneDomainRecord: {
20108
+ type: "object",
20109
+ properties: {
20110
+ priority: {
20111
+ type: "number"
20112
+ }
20113
+ },
20114
+ required: []
20115
+ }
20116
+ }
20117
+ },
20118
+ schema: {
20119
+ $ref: "#/components/schemas/StorageZoneDomainRecord"
19239
20120
  }
19240
20121
  };
19241
20122
  }
@@ -19930,6 +20811,126 @@ function _schemaDomainRecord(domain) {
19930
20811
  properties: {
19931
20812
  path: {
19932
20813
  type: "string"
20814
+ },
20815
+ type: {
20816
+ type: "string"
20817
+ },
20818
+ label: {
20819
+ type: "string"
20820
+ },
20821
+ defaultValue: {
20822
+ type: "string"
20823
+ },
20824
+ widget: {
20825
+ type: "object",
20826
+ properties: {
20827
+ type: {
20828
+ type: "string"
20829
+ }
20830
+ },
20831
+ required: [
20832
+ "type"
20833
+ ]
20834
+ },
20835
+ properties: {
20836
+ $ref: "#/components/schemas/object"
20837
+ },
20838
+ items: {
20839
+ type: "object",
20840
+ properties: {
20841
+ properties: {
20842
+ $ref: "#/components/schemas/RecordstringTemplatePropertySchema"
20843
+ }
20844
+ },
20845
+ required: []
20846
+ },
20847
+ render: {
20848
+ type: "object",
20849
+ properties: {
20850
+ type: {
20851
+ "const": "image"
20852
+ },
20853
+ profile: {
20854
+ type: "object",
20855
+ properties: {
20856
+ format: {
20857
+ type: "string"
20858
+ },
20859
+ video: {
20860
+ type: "object",
20861
+ properties: {
20862
+ width: {
20863
+ type: "number"
20864
+ },
20865
+ height: {
20866
+ type: "number"
20867
+ },
20868
+ fit: {
20869
+ "const": "cover"
20870
+ }
20871
+ },
20872
+ required: [
20873
+ "width",
20874
+ "height",
20875
+ "fit"
20876
+ ]
20877
+ }
20878
+ },
20879
+ required: []
20880
+ }
20881
+ },
20882
+ required: [
20883
+ "type"
20884
+ ]
20885
+ }
20886
+ },
20887
+ required: []
20888
+ },
20889
+ object: {
20890
+ type: "object",
20891
+ properties: {},
20892
+ required: []
20893
+ },
20894
+ RecordstringTemplatePropertySchema: {
20895
+ type: "object",
20896
+ properties: {},
20897
+ required: [],
20898
+ description: "Construct a type with a set of properties K of type T",
20899
+ additionalProperties: {
20900
+ $ref: "#/components/schemas/TemplatePropertySchema"
20901
+ }
20902
+ },
20903
+ TemplatePropertySchema: {
20904
+ type: "object",
20905
+ properties: {
20906
+ path: {
20907
+ type: "string"
20908
+ },
20909
+ type: {
20910
+ type: "string"
20911
+ },
20912
+ label: {
20913
+ type: "string"
20914
+ },
20915
+ defaultValue: {
20916
+ type: "string"
20917
+ },
20918
+ widget: {
20919
+ type: "object",
20920
+ properties: {
20921
+ type: {
20922
+ type: "string"
20923
+ }
20924
+ },
20925
+ required: [
20926
+ "type"
20927
+ ]
20928
+ },
20929
+ items: {
20930
+ $ref: "#/components/schemas/TemplatePropertySchema"
20931
+ },
20932
+ properties: {
20933
+ $ref: "#/components/schemas/RecordstringTemplatePropertySchema"
19933
20934
  }
19934
20935
  },
19935
20936
  required: []