umf-codegen 0.10.8__py3-none-any.whl

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.
@@ -0,0 +1,1907 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "urn:umf:extension-package:0.10.0",
4
+ "description": "UMF language extensionPackage",
5
+ "type": "object",
6
+ "required": [
7
+ "id",
8
+ "version",
9
+ "coreVersion",
10
+ "description",
11
+ "schema",
12
+ "semantics",
13
+ "scopes",
14
+ "capabilities"
15
+ ],
16
+ "properties": {
17
+ "id": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "version": {
22
+ "type": "string",
23
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
24
+ },
25
+ "coreVersion": {
26
+ "const": "0.10.0"
27
+ },
28
+ "description": {
29
+ "type": "string",
30
+ "minLength": 1
31
+ },
32
+ "schema": {
33
+ "anyOf": [
34
+ {
35
+ "type": "object"
36
+ },
37
+ {
38
+ "type": "boolean"
39
+ }
40
+ ]
41
+ },
42
+ "semantics": {
43
+ "type": "string",
44
+ "minLength": 1
45
+ },
46
+ "scopes": {
47
+ "type": "array",
48
+ "items": {
49
+ "enum": [
50
+ "document",
51
+ "module",
52
+ "element"
53
+ ]
54
+ },
55
+ "minItems": 1,
56
+ "uniqueItems": true
57
+ },
58
+ "capabilities": {
59
+ "type": "object",
60
+ "required": [
61
+ "validation",
62
+ "directions",
63
+ "evidence"
64
+ ],
65
+ "properties": {
66
+ "validation": {
67
+ "enum": [
68
+ "structural",
69
+ "semantic"
70
+ ]
71
+ },
72
+ "directions": {
73
+ "type": "array",
74
+ "items": {
75
+ "enum": [
76
+ "import",
77
+ "export"
78
+ ]
79
+ },
80
+ "uniqueItems": true
81
+ },
82
+ "evidence": {
83
+ "type": "array",
84
+ "items": {
85
+ "type": "string",
86
+ "minLength": 1
87
+ }
88
+ },
89
+ "native": {
90
+ "type": "object",
91
+ "required": [
92
+ "system",
93
+ "version",
94
+ "subset"
95
+ ],
96
+ "properties": {
97
+ "system": {
98
+ "type": "string",
99
+ "minLength": 1
100
+ },
101
+ "version": {
102
+ "type": "string",
103
+ "minLength": 1
104
+ },
105
+ "subset": {
106
+ "type": "string",
107
+ "minLength": 1
108
+ }
109
+ }
110
+ }
111
+ },
112
+ "allOf": [
113
+ {
114
+ "if": {
115
+ "type": "object",
116
+ "properties": {
117
+ "directions": {
118
+ "type": "array",
119
+ "minItems": 1
120
+ }
121
+ }
122
+ },
123
+ "then": {
124
+ "type": "object",
125
+ "required": [
126
+ "native"
127
+ ],
128
+ "properties": {
129
+ "native": true
130
+ }
131
+ }
132
+ }
133
+ ]
134
+ },
135
+ "kindCatalog": {}
136
+ },
137
+ "$defs": {
138
+ "document": {
139
+ "description": "A Document groups Modules and declares the vocabularies used by its extension content. Its identifier names the complete metadata envelope.",
140
+ "type": "object",
141
+ "required": [
142
+ "umf",
143
+ "id",
144
+ "vocabularies",
145
+ "modules"
146
+ ],
147
+ "properties": {
148
+ "umf": {
149
+ "const": "0.10.0"
150
+ },
151
+ "id": {
152
+ "$ref": "#/$defs/id"
153
+ },
154
+ "vocabularies": {
155
+ "type": "object",
156
+ "additionalProperties": {
157
+ "type": "object",
158
+ "required": [
159
+ "version"
160
+ ],
161
+ "properties": {
162
+ "version": {
163
+ "$ref": "#/$defs/version"
164
+ }
165
+ }
166
+ },
167
+ "propertyNames": {
168
+ "$ref": "#/$defs/id"
169
+ }
170
+ },
171
+ "modules": {
172
+ "type": "array",
173
+ "items": {
174
+ "$ref": "#/$defs/module"
175
+ }
176
+ },
177
+ "extensions": {
178
+ "$ref": "#/$defs/extensions"
179
+ },
180
+ "title": {
181
+ "type": "string"
182
+ },
183
+ "aliases": {
184
+ "type": "array",
185
+ "items": {
186
+ "type": "string",
187
+ "minLength": 1
188
+ },
189
+ "uniqueItems": true
190
+ }
191
+ }
192
+ },
193
+ "id": {
194
+ "description": "UMF language id",
195
+ "type": "string",
196
+ "minLength": 1
197
+ },
198
+ "version": {
199
+ "description": "UMF language version",
200
+ "type": "string",
201
+ "pattern": "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)$"
202
+ },
203
+ "knownScalarType": {
204
+ "description": "Value families; bits128 and uuid have intrinsic16-byte domains under umf-128/1. Native refinements remain attached.",
205
+ "enum": [
206
+ "boolean",
207
+ "integer",
208
+ "decimal",
209
+ "float",
210
+ "string",
211
+ "binary",
212
+ "date",
213
+ "time",
214
+ "timestamp",
215
+ "bits128",
216
+ "uuid"
217
+ ]
218
+ },
219
+ "scalarType": {
220
+ "description": "UMF language scalarType",
221
+ "anyOf": [
222
+ {
223
+ "$ref": "#/$defs/knownScalarType"
224
+ },
225
+ {
226
+ "description": "Unknown family retained with incomplete semantic validation.",
227
+ "allOf": [
228
+ {
229
+ "type": "string",
230
+ "minLength": 1
231
+ },
232
+ {
233
+ "not": {
234
+ "$ref": "#/$defs/knownScalarType"
235
+ }
236
+ }
237
+ ]
238
+ }
239
+ ]
240
+ },
241
+ "extensions": {
242
+ "description": "UMF language extensions",
243
+ "type": "object",
244
+ "properties": {},
245
+ "additionalProperties": true,
246
+ "propertyNames": {
247
+ "$ref": "#/$defs/id"
248
+ }
249
+ },
250
+ "reference": {
251
+ "description": "UMF language reference",
252
+ "type": "object",
253
+ "required": [
254
+ "role",
255
+ "module",
256
+ "element"
257
+ ],
258
+ "properties": {
259
+ "role": {
260
+ "$ref": "#/$defs/id"
261
+ },
262
+ "module": {
263
+ "$ref": "#/$defs/id"
264
+ },
265
+ "element": {
266
+ "$ref": "#/$defs/id"
267
+ }
268
+ }
269
+ },
270
+ "element": {
271
+ "description": "An Element describes a Field, Record or Group within a Module. References connect Elements without assuming a particular storage or compute implementation.",
272
+ "type": "object",
273
+ "required": [
274
+ "id",
275
+ "extensions"
276
+ ],
277
+ "properties": {
278
+ "id": {
279
+ "$ref": "#/$defs/id"
280
+ },
281
+ "name": {
282
+ "type": "string"
283
+ },
284
+ "description": {
285
+ "type": "string"
286
+ },
287
+ "scalarType": {
288
+ "description": "The Field's intrinsic value family. Native representations and external term meanings remain separate.",
289
+ "$ref": "#/$defs/scalarType"
290
+ },
291
+ "extensions": {
292
+ "$ref": "#/$defs/extensions"
293
+ },
294
+ "references": {
295
+ "type": "array",
296
+ "items": {
297
+ "$ref": "#/$defs/reference"
298
+ }
299
+ },
300
+ "kind": {
301
+ "description": "UMF role; unknown labels remain uninterpreted. Missing is unspecified, never inferred from scalarType.",
302
+ "type": "string",
303
+ "minLength": 1
304
+ },
305
+ "nullability": {
306
+ "description": "Ideal value availability. Unknown labels remain uninterpreted. Missing and unspecified assert no availability constraint. Native absence carriers require explicit bindings.",
307
+ "type": "string",
308
+ "minLength": 1
309
+ },
310
+ "cardinality": {
311
+ "description": "One ideal value, finite ordered sequence with duplicates allowed, finite exact string-key mapping with unique keys, or no assertion. Unknown labels remain uninterpreted.",
312
+ "type": "string",
313
+ "minLength": 1
314
+ },
315
+ "itemType": {
316
+ "description": "Identifies the Field that describes each array item or map value, using explicit Module and Element identifiers.",
317
+ "$ref": "#/$defs/itemType"
318
+ },
319
+ "facets": {
320
+ "description": "Constrains the values of a Field, including length, numeric width, precision, scale and range.",
321
+ "$ref": "#/$defs/facets"
322
+ },
323
+ "members": {
324
+ "description": "Lists the Elements explicitly contained by a Record or Group.",
325
+ "type": "array",
326
+ "items": {
327
+ "$ref": "#/$defs/keyFieldReference"
328
+ },
329
+ "uniqueItems": true
330
+ },
331
+ "keys": {
332
+ "description": "Declares named ordered Field tuples that identify values of a Record.",
333
+ "type": "array",
334
+ "items": {
335
+ "$ref": "#/$defs/key"
336
+ },
337
+ "minItems": 1
338
+ },
339
+ "title": {
340
+ "type": "string"
341
+ },
342
+ "aliases": {
343
+ "type": "array",
344
+ "items": {
345
+ "type": "string",
346
+ "minLength": 1
347
+ },
348
+ "uniqueItems": true
349
+ },
350
+ "examples": {
351
+ "type": "array",
352
+ "items": {
353
+ "$ref": "#/$defs/literal"
354
+ }
355
+ },
356
+ "allowedValues": {
357
+ "type": "array",
358
+ "items": {
359
+ "$ref": "#/$defs/literal"
360
+ },
361
+ "minItems": 1
362
+ },
363
+ "default": {
364
+ "type": "object",
365
+ "required": [
366
+ "value",
367
+ "on"
368
+ ],
369
+ "properties": {
370
+ "value": {
371
+ "$ref": "#/$defs/literal"
372
+ },
373
+ "on": {
374
+ "enum": [
375
+ "missing",
376
+ "null",
377
+ "missing-or-null"
378
+ ]
379
+ }
380
+ },
381
+ "additionalProperties": true
382
+ },
383
+ "semanticTypes": {
384
+ "type": "array",
385
+ "items": {
386
+ "$ref": "urn:umf:core:semantic-type-reference:1.0.0"
387
+ },
388
+ "minItems": 1
389
+ }
390
+ },
391
+ "allOf": [
392
+ {
393
+ "if": {
394
+ "type": "object",
395
+ "required": [
396
+ "kind"
397
+ ],
398
+ "properties": {
399
+ "kind": {
400
+ "enum": [
401
+ "record",
402
+ "group"
403
+ ]
404
+ }
405
+ }
406
+ },
407
+ "then": {
408
+ "type": "object",
409
+ "properties": {
410
+ "scalarType": false
411
+ }
412
+ }
413
+ },
414
+ {
415
+ "if": {
416
+ "type": "object",
417
+ "required": [
418
+ "nullability"
419
+ ],
420
+ "properties": {
421
+ "nullability": {}
422
+ }
423
+ },
424
+ "then": {
425
+ "type": "object",
426
+ "required": [
427
+ "kind"
428
+ ],
429
+ "properties": {
430
+ "kind": {
431
+ "const": "field"
432
+ }
433
+ }
434
+ }
435
+ },
436
+ {
437
+ "if": {
438
+ "type": "object",
439
+ "required": [
440
+ "cardinality"
441
+ ],
442
+ "properties": {
443
+ "cardinality": {}
444
+ }
445
+ },
446
+ "then": {
447
+ "type": "object",
448
+ "required": [
449
+ "kind"
450
+ ],
451
+ "properties": {
452
+ "kind": {
453
+ "const": "field"
454
+ }
455
+ }
456
+ }
457
+ },
458
+ {
459
+ "if": {
460
+ "type": "object",
461
+ "required": [
462
+ "cardinality"
463
+ ],
464
+ "properties": {
465
+ "cardinality": {
466
+ "enum": [
467
+ "array",
468
+ "map"
469
+ ]
470
+ }
471
+ }
472
+ },
473
+ "then": {
474
+ "not": {
475
+ "type": "object",
476
+ "required": [
477
+ "scalarType"
478
+ ]
479
+ }
480
+ }
481
+ },
482
+ {
483
+ "if": {
484
+ "type": "object",
485
+ "required": [
486
+ "itemType"
487
+ ],
488
+ "properties": {
489
+ "itemType": {}
490
+ }
491
+ },
492
+ "then": {
493
+ "type": "object",
494
+ "required": [
495
+ "kind",
496
+ "cardinality"
497
+ ],
498
+ "properties": {
499
+ "kind": {
500
+ "const": "field"
501
+ },
502
+ "cardinality": {
503
+ "enum": [
504
+ "array",
505
+ "map"
506
+ ]
507
+ }
508
+ }
509
+ }
510
+ },
511
+ {
512
+ "if": {
513
+ "type": "object",
514
+ "required": [
515
+ "facets"
516
+ ],
517
+ "properties": {
518
+ "facets": {}
519
+ }
520
+ },
521
+ "then": {
522
+ "type": "object",
523
+ "required": [
524
+ "kind"
525
+ ],
526
+ "properties": {
527
+ "kind": {
528
+ "const": "field"
529
+ },
530
+ "references": {
531
+ "allOf": [
532
+ {
533
+ "type": "array"
534
+ },
535
+ {
536
+ "not": {}
537
+ }
538
+ ]
539
+ }
540
+ }
541
+ }
542
+ },
543
+ {
544
+ "if": {
545
+ "type": "object",
546
+ "required": [
547
+ "facets"
548
+ ],
549
+ "properties": {
550
+ "facets": {
551
+ "type": "object",
552
+ "required": [
553
+ "length"
554
+ ],
555
+ "properties": {
556
+ "length": {}
557
+ }
558
+ }
559
+ }
560
+ },
561
+ "then": {
562
+ "type": "object",
563
+ "required": [
564
+ "scalarType"
565
+ ],
566
+ "properties": {
567
+ "scalarType": {
568
+ "enum": [
569
+ "string",
570
+ "binary"
571
+ ]
572
+ }
573
+ }
574
+ }
575
+ },
576
+ {
577
+ "if": {
578
+ "type": "object",
579
+ "required": [
580
+ "facets"
581
+ ],
582
+ "properties": {
583
+ "facets": {
584
+ "type": "object",
585
+ "required": [
586
+ "length"
587
+ ],
588
+ "properties": {
589
+ "length": {
590
+ "type": "object",
591
+ "required": [
592
+ "unit"
593
+ ],
594
+ "properties": {
595
+ "unit": {
596
+ "const": "unicode-scalar"
597
+ }
598
+ }
599
+ }
600
+ }
601
+ }
602
+ }
603
+ },
604
+ "then": {
605
+ "type": "object",
606
+ "required": [
607
+ "scalarType"
608
+ ],
609
+ "properties": {
610
+ "scalarType": {
611
+ "const": "string"
612
+ }
613
+ }
614
+ }
615
+ },
616
+ {
617
+ "if": {
618
+ "type": "object",
619
+ "required": [
620
+ "facets"
621
+ ],
622
+ "properties": {
623
+ "facets": {
624
+ "type": "object",
625
+ "required": [
626
+ "length"
627
+ ],
628
+ "properties": {
629
+ "length": {
630
+ "type": "object",
631
+ "required": [
632
+ "unit"
633
+ ],
634
+ "properties": {
635
+ "unit": {
636
+ "const": "byte"
637
+ }
638
+ }
639
+ }
640
+ }
641
+ }
642
+ }
643
+ },
644
+ "then": {
645
+ "type": "object",
646
+ "required": [
647
+ "scalarType"
648
+ ],
649
+ "properties": {
650
+ "scalarType": {
651
+ "const": "binary"
652
+ }
653
+ }
654
+ }
655
+ },
656
+ {
657
+ "if": {
658
+ "type": "object",
659
+ "required": [
660
+ "facets"
661
+ ],
662
+ "properties": {
663
+ "facets": {
664
+ "type": "object",
665
+ "required": [
666
+ "precision"
667
+ ],
668
+ "properties": {
669
+ "precision": {}
670
+ }
671
+ }
672
+ }
673
+ },
674
+ "then": {
675
+ "type": "object",
676
+ "required": [
677
+ "scalarType"
678
+ ],
679
+ "properties": {
680
+ "scalarType": {
681
+ "const": "decimal"
682
+ }
683
+ }
684
+ }
685
+ },
686
+ {
687
+ "if": {
688
+ "type": "object",
689
+ "required": [
690
+ "facets"
691
+ ],
692
+ "properties": {
693
+ "facets": {
694
+ "type": "object",
695
+ "required": [
696
+ "integerWidth"
697
+ ],
698
+ "properties": {
699
+ "integerWidth": {}
700
+ }
701
+ }
702
+ }
703
+ },
704
+ "then": {
705
+ "type": "object",
706
+ "required": [
707
+ "scalarType"
708
+ ],
709
+ "properties": {
710
+ "scalarType": {
711
+ "const": "integer"
712
+ }
713
+ }
714
+ }
715
+ },
716
+ {
717
+ "if": {
718
+ "type": "object",
719
+ "required": [
720
+ "members"
721
+ ],
722
+ "properties": {
723
+ "members": {}
724
+ }
725
+ },
726
+ "then": {
727
+ "type": "object",
728
+ "required": [
729
+ "kind"
730
+ ],
731
+ "properties": {
732
+ "kind": {
733
+ "const": "record"
734
+ }
735
+ }
736
+ }
737
+ },
738
+ {
739
+ "if": {
740
+ "type": "object",
741
+ "required": [
742
+ "keys"
743
+ ],
744
+ "properties": {
745
+ "keys": {}
746
+ }
747
+ },
748
+ "then": {
749
+ "type": "object",
750
+ "required": [
751
+ "kind",
752
+ "members"
753
+ ],
754
+ "properties": {
755
+ "kind": {
756
+ "const": "record"
757
+ },
758
+ "members": {}
759
+ }
760
+ }
761
+ },
762
+ {
763
+ "if": {
764
+ "type": "object",
765
+ "required": [
766
+ "examples"
767
+ ],
768
+ "properties": {
769
+ "examples": {}
770
+ }
771
+ },
772
+ "then": {
773
+ "type": "object",
774
+ "required": [
775
+ "kind"
776
+ ],
777
+ "properties": {
778
+ "kind": {
779
+ "const": "field"
780
+ }
781
+ }
782
+ }
783
+ },
784
+ {
785
+ "if": {
786
+ "type": "object",
787
+ "required": [
788
+ "allowedValues"
789
+ ],
790
+ "properties": {
791
+ "allowedValues": {}
792
+ }
793
+ },
794
+ "then": {
795
+ "type": "object",
796
+ "required": [
797
+ "kind"
798
+ ],
799
+ "properties": {
800
+ "kind": {
801
+ "const": "field"
802
+ }
803
+ }
804
+ }
805
+ },
806
+ {
807
+ "if": {
808
+ "type": "object",
809
+ "required": [
810
+ "default"
811
+ ],
812
+ "properties": {
813
+ "default": {}
814
+ }
815
+ },
816
+ "then": {
817
+ "type": "object",
818
+ "required": [
819
+ "kind"
820
+ ],
821
+ "properties": {
822
+ "kind": {
823
+ "const": "field"
824
+ }
825
+ }
826
+ }
827
+ }
828
+ ]
829
+ },
830
+ "module": {
831
+ "description": "A Module gives Elements and Relationships a namespace within a Document.",
832
+ "type": "object",
833
+ "required": [
834
+ "id",
835
+ "namespace",
836
+ "elements"
837
+ ],
838
+ "properties": {
839
+ "id": {
840
+ "$ref": "#/$defs/id"
841
+ },
842
+ "namespace": {
843
+ "type": "string"
844
+ },
845
+ "elements": {
846
+ "type": "array",
847
+ "items": {
848
+ "$ref": "#/$defs/element"
849
+ }
850
+ },
851
+ "extensions": {
852
+ "$ref": "#/$defs/extensions"
853
+ },
854
+ "relationships": {
855
+ "type": "array",
856
+ "items": {
857
+ "$ref": "#/$defs/relationship"
858
+ }
859
+ },
860
+ "title": {
861
+ "type": "string"
862
+ },
863
+ "aliases": {
864
+ "type": "array",
865
+ "items": {
866
+ "type": "string",
867
+ "minLength": 1
868
+ },
869
+ "uniqueItems": true
870
+ }
871
+ }
872
+ },
873
+ "knownElementKind": {
874
+ "description": "UMF language knownElementKind",
875
+ "enum": [
876
+ "field",
877
+ "record",
878
+ "group"
879
+ ]
880
+ },
881
+ "knownNullability": {
882
+ "description": "UMF language knownNullability",
883
+ "enum": [
884
+ "required",
885
+ "absent-allowed",
886
+ "unspecified"
887
+ ]
888
+ },
889
+ "knownCardinality": {
890
+ "description": "UMF language knownCardinality",
891
+ "enum": [
892
+ "one",
893
+ "array",
894
+ "map",
895
+ "unspecified"
896
+ ]
897
+ },
898
+ "itemType": {
899
+ "description": "UMF language itemType",
900
+ "type": "object",
901
+ "required": [
902
+ "module",
903
+ "element"
904
+ ],
905
+ "properties": {
906
+ "module": {
907
+ "$ref": "#/$defs/id"
908
+ },
909
+ "element": {
910
+ "$ref": "#/$defs/id"
911
+ }
912
+ }
913
+ },
914
+ "facets": {
915
+ "description": "Missing members impose no bound. Unknown members and qualifiers are retained without interpretation.",
916
+ "type": "object",
917
+ "properties": {
918
+ "length": {
919
+ "type": "object",
920
+ "required": [
921
+ "unit"
922
+ ],
923
+ "properties": {
924
+ "min": {
925
+ "type": "integer",
926
+ "minimum": 0,
927
+ "maximum": 9007199254740991
928
+ },
929
+ "max": {
930
+ "type": "integer",
931
+ "minimum": 0,
932
+ "maximum": 9007199254740991
933
+ },
934
+ "unit": {
935
+ "type": "string",
936
+ "minLength": 1
937
+ }
938
+ },
939
+ "additionalProperties": true,
940
+ "allOf": [
941
+ {
942
+ "anyOf": [
943
+ {
944
+ "type": "object",
945
+ "required": [
946
+ "min"
947
+ ],
948
+ "properties": {
949
+ "min": {}
950
+ }
951
+ },
952
+ {
953
+ "type": "object",
954
+ "required": [
955
+ "max"
956
+ ],
957
+ "properties": {
958
+ "max": {}
959
+ }
960
+ }
961
+ ]
962
+ }
963
+ ]
964
+ },
965
+ "precision": {
966
+ "description": "Decimal coefficient digit bound; requires scale. Absolute coefficient is less than 10^precision. No implicit rounding.",
967
+ "type": "integer",
968
+ "minimum": 1,
969
+ "maximum": 9007199254740991
970
+ },
971
+ "scale": {
972
+ "description": "Fixed fractional digit count; requires precision. Semantic validation requires scale <= precision. Value equals integer coefficient times 10^-scale.",
973
+ "type": "integer",
974
+ "minimum": 0,
975
+ "maximum": 9007199254740991
976
+ },
977
+ "integerWidth": {
978
+ "description": "Signed [-2^(bits-1),2^(bits-1)-1] or unsigned [0,2^bits-1]; mathematical domain, not a physical storage-width assertion.",
979
+ "type": "object",
980
+ "required": [
981
+ "bits",
982
+ "signed"
983
+ ],
984
+ "properties": {
985
+ "bits": {
986
+ "type": "integer",
987
+ "minimum": 1,
988
+ "maximum": 9007199254740991
989
+ },
990
+ "signed": {
991
+ "type": "boolean"
992
+ }
993
+ }
994
+ },
995
+ "collectionSize": {
996
+ "type": "object",
997
+ "properties": {
998
+ "min": {
999
+ "type": "integer",
1000
+ "minimum": 0,
1001
+ "maximum": 9007199254740991
1002
+ },
1003
+ "max": {
1004
+ "type": "integer",
1005
+ "minimum": 0,
1006
+ "maximum": 9007199254740991
1007
+ }
1008
+ },
1009
+ "additionalProperties": true,
1010
+ "allOf": [
1011
+ {
1012
+ "anyOf": [
1013
+ {
1014
+ "type": "object",
1015
+ "required": [
1016
+ "min"
1017
+ ],
1018
+ "properties": {
1019
+ "min": {}
1020
+ }
1021
+ },
1022
+ {
1023
+ "type": "object",
1024
+ "required": [
1025
+ "max"
1026
+ ],
1027
+ "properties": {
1028
+ "max": {}
1029
+ }
1030
+ }
1031
+ ]
1032
+ }
1033
+ ]
1034
+ },
1035
+ "range": {
1036
+ "type": "object",
1037
+ "properties": {
1038
+ "min": {
1039
+ "$ref": "#/$defs/literal"
1040
+ },
1041
+ "max": {
1042
+ "$ref": "#/$defs/literal"
1043
+ },
1044
+ "minInclusive": {
1045
+ "type": "boolean"
1046
+ },
1047
+ "maxInclusive": {
1048
+ "type": "boolean"
1049
+ }
1050
+ },
1051
+ "additionalProperties": true,
1052
+ "allOf": [
1053
+ {
1054
+ "anyOf": [
1055
+ {
1056
+ "type": "object",
1057
+ "required": [
1058
+ "min"
1059
+ ],
1060
+ "properties": {
1061
+ "min": {}
1062
+ }
1063
+ },
1064
+ {
1065
+ "type": "object",
1066
+ "required": [
1067
+ "max"
1068
+ ],
1069
+ "properties": {
1070
+ "max": {}
1071
+ }
1072
+ }
1073
+ ]
1074
+ }
1075
+ ]
1076
+ }
1077
+ },
1078
+ "dependentRequired": {
1079
+ "precision": [
1080
+ "scale"
1081
+ ],
1082
+ "scale": [
1083
+ "precision"
1084
+ ]
1085
+ }
1086
+ },
1087
+ "keyFieldReference": {
1088
+ "description": "UMF language keyFieldReference",
1089
+ "type": "object",
1090
+ "required": [
1091
+ "module",
1092
+ "element"
1093
+ ],
1094
+ "properties": {
1095
+ "module": {
1096
+ "$ref": "#/$defs/id"
1097
+ },
1098
+ "element": {
1099
+ "$ref": "#/$defs/id"
1100
+ }
1101
+ },
1102
+ "additionalProperties": true
1103
+ },
1104
+ "key": {
1105
+ "description": "UMF language key",
1106
+ "type": "object",
1107
+ "required": [
1108
+ "id",
1109
+ "name",
1110
+ "fields"
1111
+ ],
1112
+ "properties": {
1113
+ "id": {
1114
+ "$ref": "#/$defs/id"
1115
+ },
1116
+ "name": {
1117
+ "$ref": "#/$defs/id"
1118
+ },
1119
+ "fields": {
1120
+ "type": "array",
1121
+ "items": {
1122
+ "$ref": "#/$defs/keyFieldReference"
1123
+ },
1124
+ "minItems": 1,
1125
+ "uniqueItems": true
1126
+ },
1127
+ "primary": {
1128
+ "type": "boolean"
1129
+ }
1130
+ },
1131
+ "additionalProperties": true
1132
+ },
1133
+ "relationshipEndpoint": {
1134
+ "description": "UMF language relationshipEndpoint",
1135
+ "type": "object",
1136
+ "required": [
1137
+ "module",
1138
+ "element"
1139
+ ],
1140
+ "properties": {
1141
+ "module": {
1142
+ "$ref": "#/$defs/id"
1143
+ },
1144
+ "element": {
1145
+ "$ref": "#/$defs/id"
1146
+ }
1147
+ },
1148
+ "additionalProperties": true
1149
+ },
1150
+ "relationshipTarget": {
1151
+ "description": "UMF language relationshipTarget",
1152
+ "type": "object",
1153
+ "required": [
1154
+ "module",
1155
+ "element",
1156
+ "key"
1157
+ ],
1158
+ "properties": {
1159
+ "module": {
1160
+ "$ref": "#/$defs/id"
1161
+ },
1162
+ "element": {
1163
+ "$ref": "#/$defs/id"
1164
+ },
1165
+ "key": {
1166
+ "$ref": "#/$defs/id"
1167
+ }
1168
+ },
1169
+ "additionalProperties": true
1170
+ },
1171
+ "relationshipMultiplicity": {
1172
+ "description": "UMF language relationshipMultiplicity",
1173
+ "type": "object",
1174
+ "required": [
1175
+ "min",
1176
+ "max"
1177
+ ],
1178
+ "properties": {
1179
+ "min": {
1180
+ "type": "integer",
1181
+ "minimum": 0,
1182
+ "maximum": 9007199254740991
1183
+ },
1184
+ "max": {
1185
+ "anyOf": [
1186
+ {
1187
+ "type": "integer",
1188
+ "minimum": 1,
1189
+ "maximum": 9007199254740991
1190
+ },
1191
+ {
1192
+ "const": "*"
1193
+ }
1194
+ ]
1195
+ }
1196
+ },
1197
+ "additionalProperties": true
1198
+ },
1199
+ "relationship": {
1200
+ "description": "UMF language relationship",
1201
+ "type": "object",
1202
+ "required": [
1203
+ "id",
1204
+ "name",
1205
+ "source",
1206
+ "target",
1207
+ "sourceMultiplicity",
1208
+ "targetMultiplicity",
1209
+ "targetLifecycle",
1210
+ "directed"
1211
+ ],
1212
+ "properties": {
1213
+ "id": {
1214
+ "$ref": "#/$defs/id"
1215
+ },
1216
+ "name": {
1217
+ "$ref": "#/$defs/id"
1218
+ },
1219
+ "source": {
1220
+ "type": "array",
1221
+ "items": {
1222
+ "$ref": "#/$defs/relationshipEndpoint"
1223
+ },
1224
+ "minItems": 1
1225
+ },
1226
+ "target": {
1227
+ "type": "array",
1228
+ "items": {
1229
+ "$ref": "#/$defs/relationshipTarget"
1230
+ },
1231
+ "minItems": 1
1232
+ },
1233
+ "sourceMultiplicity": {
1234
+ "$ref": "#/$defs/relationshipMultiplicity"
1235
+ },
1236
+ "targetMultiplicity": {
1237
+ "$ref": "#/$defs/relationshipMultiplicity"
1238
+ },
1239
+ "targetLifecycle": {
1240
+ "type": "string",
1241
+ "minLength": 1
1242
+ },
1243
+ "directed": {
1244
+ "type": "boolean"
1245
+ },
1246
+ "inverse": {
1247
+ "$ref": "#/$defs/id"
1248
+ },
1249
+ "associationRecord": {
1250
+ "$ref": "#/$defs/relationshipEndpoint"
1251
+ }
1252
+ },
1253
+ "additionalProperties": true
1254
+ },
1255
+ "literal": {
1256
+ "description": "UMF language literal",
1257
+ "oneOf": [
1258
+ {
1259
+ "type": "null"
1260
+ },
1261
+ {
1262
+ "type": "object",
1263
+ "required": [
1264
+ "boolean"
1265
+ ],
1266
+ "properties": {
1267
+ "boolean": {
1268
+ "type": "boolean"
1269
+ }
1270
+ },
1271
+ "additionalProperties": false
1272
+ },
1273
+ {
1274
+ "type": "object",
1275
+ "required": [
1276
+ "integerToken"
1277
+ ],
1278
+ "properties": {
1279
+ "integerToken": {
1280
+ "type": "string",
1281
+ "pattern": "^-?(0|[1-9][0-9]*)(\\.[0-9]+)?([eE][+-]?[0-9]+)?$(?![\\s\\S])"
1282
+ }
1283
+ },
1284
+ "additionalProperties": false
1285
+ },
1286
+ {
1287
+ "type": "object",
1288
+ "required": [
1289
+ "decimalToken"
1290
+ ],
1291
+ "properties": {
1292
+ "decimalToken": {
1293
+ "type": "string",
1294
+ "pattern": "^-?(0|[1-9][0-9]*)(\\.[0-9]+)?([eE][+-]?[0-9]+)?$(?![\\s\\S])"
1295
+ }
1296
+ },
1297
+ "additionalProperties": false
1298
+ },
1299
+ {
1300
+ "type": "object",
1301
+ "required": [
1302
+ "string"
1303
+ ],
1304
+ "properties": {
1305
+ "string": {
1306
+ "type": "string"
1307
+ }
1308
+ },
1309
+ "additionalProperties": false
1310
+ },
1311
+ {
1312
+ "type": "object",
1313
+ "required": [
1314
+ "binaryHex"
1315
+ ],
1316
+ "properties": {
1317
+ "binaryHex": {
1318
+ "type": "string",
1319
+ "pattern": "^([0-9a-fA-F]{2})*$(?![\\s\\S])"
1320
+ }
1321
+ },
1322
+ "additionalProperties": false
1323
+ },
1324
+ {
1325
+ "type": "object",
1326
+ "required": [
1327
+ "floatToken"
1328
+ ],
1329
+ "properties": {
1330
+ "floatToken": {
1331
+ "type": "string",
1332
+ "pattern": "^-?(0|[1-9][0-9]*)(\\.[0-9]+)?([eE][+-]?[0-9]+)?$(?![\\s\\S])"
1333
+ }
1334
+ },
1335
+ "additionalProperties": false
1336
+ },
1337
+ {
1338
+ "type": "object",
1339
+ "required": [
1340
+ "date"
1341
+ ],
1342
+ "properties": {
1343
+ "date": {
1344
+ "type": "string"
1345
+ }
1346
+ },
1347
+ "additionalProperties": false
1348
+ },
1349
+ {
1350
+ "type": "object",
1351
+ "required": [
1352
+ "time"
1353
+ ],
1354
+ "properties": {
1355
+ "time": {
1356
+ "type": "string"
1357
+ }
1358
+ },
1359
+ "additionalProperties": false
1360
+ },
1361
+ {
1362
+ "type": "object",
1363
+ "required": [
1364
+ "timestamp"
1365
+ ],
1366
+ "properties": {
1367
+ "timestamp": {
1368
+ "type": "string"
1369
+ }
1370
+ },
1371
+ "additionalProperties": false
1372
+ },
1373
+ {
1374
+ "type": "object",
1375
+ "required": [
1376
+ "array"
1377
+ ],
1378
+ "properties": {
1379
+ "array": {
1380
+ "type": "array",
1381
+ "items": {
1382
+ "$ref": "#/$defs/literal"
1383
+ }
1384
+ }
1385
+ },
1386
+ "additionalProperties": false
1387
+ },
1388
+ {
1389
+ "type": "object",
1390
+ "required": [
1391
+ "map"
1392
+ ],
1393
+ "properties": {
1394
+ "map": {
1395
+ "type": "object",
1396
+ "additionalProperties": {
1397
+ "$ref": "#/$defs/literal"
1398
+ }
1399
+ }
1400
+ },
1401
+ "additionalProperties": false
1402
+ },
1403
+ {
1404
+ "type": "object",
1405
+ "required": [
1406
+ "bits128Hex"
1407
+ ],
1408
+ "properties": {
1409
+ "bits128Hex": {
1410
+ "type": "string",
1411
+ "minLength": 32,
1412
+ "maxLength": 32,
1413
+ "pattern": "^[0-9a-fA-F]{32}$(?![\\s\\S])"
1414
+ }
1415
+ },
1416
+ "additionalProperties": false
1417
+ },
1418
+ {
1419
+ "type": "object",
1420
+ "required": [
1421
+ "uuid"
1422
+ ],
1423
+ "properties": {
1424
+ "uuid": {
1425
+ "type": "string",
1426
+ "minLength": 36,
1427
+ "maxLength": 36,
1428
+ "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$(?![\\s\\S])"
1429
+ }
1430
+ },
1431
+ "additionalProperties": false
1432
+ }
1433
+ ]
1434
+ },
1435
+ "semanticType": {
1436
+ "description": "UMF language semanticType",
1437
+ "type": "object",
1438
+ "required": [
1439
+ "vocabulary",
1440
+ "version",
1441
+ "term"
1442
+ ],
1443
+ "properties": {
1444
+ "vocabulary": {
1445
+ "type": "string",
1446
+ "minLength": 1
1447
+ },
1448
+ "version": {
1449
+ "type": "string",
1450
+ "minLength": 1
1451
+ },
1452
+ "term": {
1453
+ "type": "string",
1454
+ "minLength": 1
1455
+ }
1456
+ }
1457
+ },
1458
+ "extensionKindDefinition": {
1459
+ "description": "UMF extension kind extensionKindDefinition",
1460
+ "type": "object",
1461
+ "required": [
1462
+ "title",
1463
+ "description",
1464
+ "scopes"
1465
+ ],
1466
+ "properties": {
1467
+ "title": {
1468
+ "type": "string",
1469
+ "minLength": 1
1470
+ },
1471
+ "description": {
1472
+ "type": "string",
1473
+ "minLength": 1
1474
+ },
1475
+ "scopes": {
1476
+ "type": "array",
1477
+ "items": {
1478
+ "enum": [
1479
+ "document",
1480
+ "module",
1481
+ "element"
1482
+ ]
1483
+ },
1484
+ "minItems": 1,
1485
+ "uniqueItems": true
1486
+ }
1487
+ }
1488
+ },
1489
+ "extensionKindCatalog": {
1490
+ "description": "UMF extension kind extensionKindCatalog",
1491
+ "type": "object",
1492
+ "required": [
1493
+ "profile"
1494
+ ],
1495
+ "properties": {
1496
+ "profile": {
1497
+ "type": "string",
1498
+ "minLength": 1
1499
+ },
1500
+ "definitions": {}
1501
+ },
1502
+ "allOf": [
1503
+ {
1504
+ "if": {
1505
+ "type": "object",
1506
+ "required": [
1507
+ "profile"
1508
+ ],
1509
+ "properties": {
1510
+ "profile": {
1511
+ "const": "1.0.0"
1512
+ }
1513
+ }
1514
+ },
1515
+ "then": {
1516
+ "type": "object",
1517
+ "required": [
1518
+ "definitions"
1519
+ ],
1520
+ "properties": {
1521
+ "definitions": {
1522
+ "type": "object",
1523
+ "additionalProperties": {
1524
+ "$ref": "#/$defs/extensionKindDefinition"
1525
+ },
1526
+ "propertyNames": {
1527
+ "type": "string",
1528
+ "minLength": 1
1529
+ },
1530
+ "allOf": [
1531
+ {
1532
+ "not": {
1533
+ "const": {}
1534
+ }
1535
+ }
1536
+ ]
1537
+ }
1538
+ }
1539
+ }
1540
+ }
1541
+ ]
1542
+ },
1543
+ "extensionKindReference": {
1544
+ "description": "UMF extension kind extensionKindReference",
1545
+ "type": "object",
1546
+ "required": [
1547
+ "extension",
1548
+ "version",
1549
+ "kind"
1550
+ ],
1551
+ "properties": {
1552
+ "extension": {
1553
+ "type": "string",
1554
+ "minLength": 1
1555
+ },
1556
+ "version": {
1557
+ "type": "string",
1558
+ "minLength": 1
1559
+ },
1560
+ "kind": {
1561
+ "type": "string",
1562
+ "minLength": 1
1563
+ }
1564
+ },
1565
+ "additionalProperties": false
1566
+ },
1567
+ "extensionKindDiagnostic": {
1568
+ "description": "UMF extension kind extensionKindDiagnostic",
1569
+ "type": "object",
1570
+ "required": [
1571
+ "code",
1572
+ "path",
1573
+ "message",
1574
+ "severity"
1575
+ ],
1576
+ "properties": {
1577
+ "code": {
1578
+ "type": "string",
1579
+ "minLength": 1
1580
+ },
1581
+ "path": {
1582
+ "type": "string"
1583
+ },
1584
+ "message": {
1585
+ "type": "string"
1586
+ },
1587
+ "severity": {
1588
+ "enum": [
1589
+ "error",
1590
+ "warning"
1591
+ ]
1592
+ }
1593
+ },
1594
+ "additionalProperties": false
1595
+ },
1596
+ "extensionKindValidation": {
1597
+ "description": "UMF extension kind extensionKindValidation",
1598
+ "type": "object",
1599
+ "required": [
1600
+ "valid",
1601
+ "complete",
1602
+ "diagnostics"
1603
+ ],
1604
+ "properties": {
1605
+ "valid": {
1606
+ "type": "boolean"
1607
+ },
1608
+ "complete": {
1609
+ "type": "boolean"
1610
+ },
1611
+ "diagnostics": {
1612
+ "type": "array",
1613
+ "items": {
1614
+ "$ref": "#/$defs/extensionKindDiagnostic"
1615
+ }
1616
+ }
1617
+ },
1618
+ "additionalProperties": false
1619
+ },
1620
+ "extensionKindEntry": {
1621
+ "description": "UMF extension kind extensionKindEntry",
1622
+ "type": "object",
1623
+ "required": [
1624
+ "reference",
1625
+ "owner",
1626
+ "payloadPath",
1627
+ "definition"
1628
+ ],
1629
+ "properties": {
1630
+ "reference": {
1631
+ "$ref": "#/$defs/extensionKindReference"
1632
+ },
1633
+ "owner": {
1634
+ "oneOf": [
1635
+ {
1636
+ "type": "object",
1637
+ "required": [
1638
+ "scope"
1639
+ ],
1640
+ "properties": {
1641
+ "scope": {
1642
+ "const": "document"
1643
+ }
1644
+ },
1645
+ "additionalProperties": false
1646
+ },
1647
+ {
1648
+ "type": "object",
1649
+ "required": [
1650
+ "scope",
1651
+ "module"
1652
+ ],
1653
+ "properties": {
1654
+ "scope": {
1655
+ "const": "module"
1656
+ },
1657
+ "module": {
1658
+ "type": "string",
1659
+ "minLength": 1
1660
+ }
1661
+ },
1662
+ "additionalProperties": false
1663
+ },
1664
+ {
1665
+ "type": "object",
1666
+ "required": [
1667
+ "scope",
1668
+ "module",
1669
+ "element"
1670
+ ],
1671
+ "properties": {
1672
+ "scope": {
1673
+ "const": "element"
1674
+ },
1675
+ "module": {
1676
+ "type": "string",
1677
+ "minLength": 1
1678
+ },
1679
+ "element": {
1680
+ "type": "string",
1681
+ "minLength": 1
1682
+ }
1683
+ },
1684
+ "additionalProperties": false
1685
+ }
1686
+ ]
1687
+ },
1688
+ "payloadPath": {
1689
+ "type": "string",
1690
+ "minLength": 1
1691
+ },
1692
+ "definition": {
1693
+ "$ref": "#/$defs/extensionKindDefinition"
1694
+ }
1695
+ },
1696
+ "additionalProperties": false
1697
+ },
1698
+ "extensionKindCoverage": {
1699
+ "description": "UMF extension kind extensionKindCoverage",
1700
+ "type": "object",
1701
+ "required": [
1702
+ "owner",
1703
+ "extension",
1704
+ "version",
1705
+ "payloadPath",
1706
+ "status",
1707
+ "diagnostics"
1708
+ ],
1709
+ "properties": {
1710
+ "owner": {
1711
+ "oneOf": [
1712
+ {
1713
+ "type": "object",
1714
+ "required": [
1715
+ "scope"
1716
+ ],
1717
+ "properties": {
1718
+ "scope": {
1719
+ "const": "document"
1720
+ }
1721
+ },
1722
+ "additionalProperties": false
1723
+ },
1724
+ {
1725
+ "type": "object",
1726
+ "required": [
1727
+ "scope",
1728
+ "module"
1729
+ ],
1730
+ "properties": {
1731
+ "scope": {
1732
+ "const": "module"
1733
+ },
1734
+ "module": {
1735
+ "type": "string",
1736
+ "minLength": 1
1737
+ }
1738
+ },
1739
+ "additionalProperties": false
1740
+ },
1741
+ {
1742
+ "type": "object",
1743
+ "required": [
1744
+ "scope",
1745
+ "module",
1746
+ "element"
1747
+ ],
1748
+ "properties": {
1749
+ "scope": {
1750
+ "const": "element"
1751
+ },
1752
+ "module": {
1753
+ "type": "string",
1754
+ "minLength": 1
1755
+ },
1756
+ "element": {
1757
+ "type": "string",
1758
+ "minLength": 1
1759
+ }
1760
+ },
1761
+ "additionalProperties": false
1762
+ }
1763
+ ]
1764
+ },
1765
+ "extension": {
1766
+ "type": "string",
1767
+ "minLength": 1
1768
+ },
1769
+ "version": {
1770
+ "anyOf": [
1771
+ {
1772
+ "type": "string",
1773
+ "minLength": 1
1774
+ },
1775
+ {
1776
+ "type": "null"
1777
+ }
1778
+ ]
1779
+ },
1780
+ "payloadPath": {
1781
+ "type": "string",
1782
+ "minLength": 1
1783
+ },
1784
+ "status": {
1785
+ "enum": [
1786
+ "resolved",
1787
+ "absent-catalog",
1788
+ "unavailable",
1789
+ "unsupported-catalog",
1790
+ "invalid"
1791
+ ]
1792
+ },
1793
+ "diagnostics": {
1794
+ "type": "array",
1795
+ "items": {
1796
+ "$ref": "#/$defs/extensionKindDiagnostic"
1797
+ }
1798
+ }
1799
+ },
1800
+ "additionalProperties": false
1801
+ },
1802
+ "extensionKindListResult": {
1803
+ "description": "UMF extension kind extensionKindListResult",
1804
+ "type": "object",
1805
+ "required": [
1806
+ "definitions",
1807
+ "packages",
1808
+ "complete"
1809
+ ],
1810
+ "properties": {
1811
+ "definitions": {
1812
+ "type": "array",
1813
+ "items": {
1814
+ "type": "object",
1815
+ "required": [
1816
+ "reference",
1817
+ "definition"
1818
+ ],
1819
+ "properties": {
1820
+ "reference": {
1821
+ "$ref": "#/$defs/extensionKindReference"
1822
+ },
1823
+ "definition": {
1824
+ "$ref": "#/$defs/extensionKindDefinition"
1825
+ }
1826
+ },
1827
+ "additionalProperties": false
1828
+ }
1829
+ },
1830
+ "packages": {
1831
+ "type": "array",
1832
+ "items": {
1833
+ "type": "object",
1834
+ "required": [
1835
+ "extension",
1836
+ "version",
1837
+ "catalog",
1838
+ "diagnostics"
1839
+ ],
1840
+ "properties": {
1841
+ "extension": {
1842
+ "type": "string",
1843
+ "minLength": 1
1844
+ },
1845
+ "version": {
1846
+ "type": "string",
1847
+ "minLength": 1
1848
+ },
1849
+ "catalog": {
1850
+ "enum": [
1851
+ "available",
1852
+ "absent",
1853
+ "unsupported"
1854
+ ]
1855
+ },
1856
+ "diagnostics": {
1857
+ "type": "array",
1858
+ "items": {
1859
+ "$ref": "#/$defs/extensionKindDiagnostic"
1860
+ }
1861
+ }
1862
+ },
1863
+ "additionalProperties": false
1864
+ }
1865
+ },
1866
+ "complete": {
1867
+ "type": "boolean"
1868
+ }
1869
+ },
1870
+ "additionalProperties": false
1871
+ },
1872
+ "extensionKindInspection": {
1873
+ "description": "UMF extension kind extensionKindInspection",
1874
+ "type": "object",
1875
+ "required": [
1876
+ "source",
1877
+ "sourceValidation",
1878
+ "entries",
1879
+ "coverage",
1880
+ "complete"
1881
+ ],
1882
+ "properties": {
1883
+ "source": {},
1884
+ "sourceValidation": {
1885
+ "$ref": "#/$defs/extensionKindValidation"
1886
+ },
1887
+ "entries": {
1888
+ "type": "array",
1889
+ "items": {
1890
+ "$ref": "#/$defs/extensionKindEntry"
1891
+ }
1892
+ },
1893
+ "coverage": {
1894
+ "type": "array",
1895
+ "items": {
1896
+ "$ref": "#/$defs/extensionKindCoverage"
1897
+ }
1898
+ },
1899
+ "complete": {
1900
+ "type": "boolean"
1901
+ }
1902
+ },
1903
+ "additionalProperties": false
1904
+ }
1905
+ },
1906
+ "$comment": "Generated from spec/metamodel/umf.yaml; model fe838a63f66d5f959468ad0ed0e1ea202be1a89536bfc91bcb4a6c2d54ab383f; compiler f4bf9751145f3be097eef0f8373e65da356f519b54d153c0227af5882e1c545c"
1907
+ }