@wairon/cli 5.1.1-dev.97 → 5.1.1-dev.99

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,1168 @@
1
+ {
2
+ "$id": "https://github.com/SYW-Apps/Waffle-AIron/schemas/design-export-1.json",
3
+ "title": "wairon design export, format 1.x",
4
+ "description": "One project's whole design, resolved (format `wairon-design`). A MINOR formatVersion only adds a field or a member of a closed set, and consumers ignore what they do not know; a MAJOR removes, renames or changes a meaning and is named in the CHANGELOG. Generated from the zod schema in src/models/design-export.ts — never edit by hand.",
5
+ "$ref": "#/definitions/DesignExport",
6
+ "definitions": {
7
+ "DesignExport": {
8
+ "type": "object",
9
+ "properties": {
10
+ "format": {
11
+ "type": "string",
12
+ "const": "wairon-design"
13
+ },
14
+ "formatVersion": {
15
+ "type": "string",
16
+ "pattern": "^\\d+\\.\\d+$"
17
+ },
18
+ "generator": {
19
+ "type": "string"
20
+ },
21
+ "source": {
22
+ "type": "object",
23
+ "properties": {
24
+ "projectId": {
25
+ "type": "string"
26
+ },
27
+ "stateId": {
28
+ "type": "string"
29
+ },
30
+ "approved": {
31
+ "type": "boolean"
32
+ },
33
+ "approval": {
34
+ "type": "string",
35
+ "enum": [
36
+ "locked",
37
+ "stale",
38
+ "unlocked",
39
+ "unjudged"
40
+ ]
41
+ }
42
+ },
43
+ "required": [
44
+ "projectId",
45
+ "stateId",
46
+ "approved",
47
+ "approval"
48
+ ],
49
+ "additionalProperties": true
50
+ },
51
+ "project": {
52
+ "type": "object",
53
+ "properties": {
54
+ "name": {
55
+ "type": "string"
56
+ },
57
+ "vision": {
58
+ "type": "string"
59
+ },
60
+ "boundaries": {
61
+ "type": "array",
62
+ "items": {
63
+ "type": "string"
64
+ }
65
+ },
66
+ "requirements": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "string"
70
+ }
71
+ },
72
+ "targetLanguage": {
73
+ "type": "string"
74
+ },
75
+ "exports": {
76
+ "type": "array",
77
+ "items": {
78
+ "type": "object",
79
+ "properties": {
80
+ "publicName": {
81
+ "type": "string"
82
+ },
83
+ "targetKind": {
84
+ "type": "string"
85
+ },
86
+ "target": {
87
+ "type": "string"
88
+ },
89
+ "audience": {
90
+ "type": "string"
91
+ },
92
+ "version": {
93
+ "type": "string"
94
+ },
95
+ "stability": {
96
+ "type": "string"
97
+ }
98
+ },
99
+ "required": [
100
+ "publicName",
101
+ "targetKind",
102
+ "target"
103
+ ],
104
+ "additionalProperties": true
105
+ }
106
+ }
107
+ },
108
+ "required": [
109
+ "name",
110
+ "vision",
111
+ "boundaries",
112
+ "requirements",
113
+ "exports"
114
+ ],
115
+ "additionalProperties": true
116
+ },
117
+ "dependencies": {
118
+ "type": "array",
119
+ "items": {
120
+ "type": "object",
121
+ "properties": {
122
+ "alias": {
123
+ "type": "string"
124
+ },
125
+ "projectId": {
126
+ "type": "string"
127
+ },
128
+ "role": {
129
+ "type": "string",
130
+ "enum": [
131
+ "member",
132
+ "external"
133
+ ]
134
+ },
135
+ "digest": {
136
+ "type": "string"
137
+ },
138
+ "uses": {
139
+ "type": "array",
140
+ "items": {
141
+ "type": "string"
142
+ }
143
+ }
144
+ },
145
+ "required": [
146
+ "alias",
147
+ "projectId",
148
+ "role",
149
+ "uses"
150
+ ],
151
+ "additionalProperties": true
152
+ }
153
+ },
154
+ "subsystems": {
155
+ "type": "array",
156
+ "items": {
157
+ "type": "object",
158
+ "properties": {
159
+ "key": {
160
+ "type": "string"
161
+ },
162
+ "name": {
163
+ "type": "string"
164
+ },
165
+ "description": {
166
+ "type": "string"
167
+ },
168
+ "status": {
169
+ "type": "string"
170
+ },
171
+ "profile": {
172
+ "type": "string"
173
+ },
174
+ "targetLanguage": {
175
+ "type": "string"
176
+ },
177
+ "lifecycle": {
178
+ "type": "array",
179
+ "items": {
180
+ "type": "object",
181
+ "properties": {
182
+ "phase": {
183
+ "type": "string",
184
+ "enum": [
185
+ "init",
186
+ "shutdown",
187
+ "cyclic",
188
+ "interrupt",
189
+ "scheduled"
190
+ ]
191
+ },
192
+ "component": {
193
+ "type": "string"
194
+ },
195
+ "method": {
196
+ "type": "string"
197
+ },
198
+ "description": {
199
+ "type": "string"
200
+ }
201
+ },
202
+ "required": [
203
+ "phase",
204
+ "component",
205
+ "method"
206
+ ],
207
+ "additionalProperties": true
208
+ }
209
+ },
210
+ "exports": {
211
+ "type": "array",
212
+ "items": {
213
+ "$ref": "#/definitions/DesignExport/properties/project/properties/exports/items"
214
+ }
215
+ },
216
+ "trustedLinks": {
217
+ "type": "array",
218
+ "items": {
219
+ "type": "string"
220
+ }
221
+ },
222
+ "ext": {
223
+ "type": "object",
224
+ "additionalProperties": {}
225
+ }
226
+ },
227
+ "required": [
228
+ "key",
229
+ "name",
230
+ "description",
231
+ "status",
232
+ "lifecycle",
233
+ "exports",
234
+ "trustedLinks"
235
+ ],
236
+ "additionalProperties": true
237
+ }
238
+ },
239
+ "components": {
240
+ "type": "array",
241
+ "items": {
242
+ "type": "object",
243
+ "properties": {
244
+ "key": {
245
+ "type": "string"
246
+ },
247
+ "name": {
248
+ "type": "string"
249
+ },
250
+ "description": {
251
+ "type": "string"
252
+ },
253
+ "status": {
254
+ "type": "string"
255
+ },
256
+ "subsystem": {
257
+ "type": "string"
258
+ },
259
+ "stereotype": {
260
+ "type": "string"
261
+ },
262
+ "variant": {
263
+ "type": "string"
264
+ },
265
+ "dependencyClass": {
266
+ "type": "string"
267
+ },
268
+ "durability": {
269
+ "type": "string"
270
+ },
271
+ "portalType": {
272
+ "type": "string"
273
+ },
274
+ "owns": {
275
+ "type": "array",
276
+ "items": {
277
+ "type": "string"
278
+ }
279
+ },
280
+ "dependsOn": {
281
+ "type": "array",
282
+ "items": {
283
+ "type": "string"
284
+ }
285
+ },
286
+ "emits": {
287
+ "type": "array",
288
+ "items": {
289
+ "type": "object",
290
+ "properties": {
291
+ "topic": {
292
+ "type": "string",
293
+ "minLength": 1
294
+ },
295
+ "event": {
296
+ "type": "string"
297
+ },
298
+ "description": {
299
+ "type": "string"
300
+ }
301
+ },
302
+ "required": [
303
+ "topic"
304
+ ],
305
+ "additionalProperties": true
306
+ }
307
+ },
308
+ "subscribesTo": {
309
+ "type": "array",
310
+ "items": {
311
+ "type": "object",
312
+ "properties": {
313
+ "topic": {
314
+ "$ref": "#/definitions/DesignExport/properties/components/items/properties/emits/items/properties/topic"
315
+ },
316
+ "event": {
317
+ "$ref": "#/definitions/DesignExport/properties/components/items/properties/emits/items/properties/event"
318
+ },
319
+ "description": {
320
+ "$ref": "#/definitions/DesignExport/properties/components/items/properties/emits/items/properties/description"
321
+ }
322
+ },
323
+ "required": [
324
+ "topic"
325
+ ],
326
+ "additionalProperties": true
327
+ }
328
+ },
329
+ "auth": {
330
+ "type": "object",
331
+ "properties": {
332
+ "scheme": {
333
+ "type": "string",
334
+ "enum": [
335
+ "none",
336
+ "apiKey",
337
+ "bearer",
338
+ "basic",
339
+ "oauth2",
340
+ "openIdConnect",
341
+ "custom"
342
+ ]
343
+ },
344
+ "in": {
345
+ "type": "string",
346
+ "enum": [
347
+ "header",
348
+ "query",
349
+ "cookie"
350
+ ]
351
+ },
352
+ "name": {
353
+ "type": "string"
354
+ },
355
+ "bearerFormat": {
356
+ "type": "string"
357
+ },
358
+ "authorizationUrl": {
359
+ "type": "string"
360
+ },
361
+ "tokenUrl": {
362
+ "type": "string"
363
+ },
364
+ "refreshUrl": {
365
+ "type": "string"
366
+ },
367
+ "scopes": {
368
+ "type": "array",
369
+ "items": {
370
+ "type": "object",
371
+ "properties": {
372
+ "name": {
373
+ "type": "string"
374
+ },
375
+ "description": {
376
+ "type": "string"
377
+ }
378
+ },
379
+ "required": [
380
+ "name",
381
+ "description"
382
+ ],
383
+ "additionalProperties": true
384
+ }
385
+ },
386
+ "flow": {
387
+ "type": "string",
388
+ "enum": [
389
+ "authorizationCode",
390
+ "clientCredentials",
391
+ "implicit",
392
+ "password"
393
+ ]
394
+ },
395
+ "openIdConnectUrl": {
396
+ "type": "string"
397
+ },
398
+ "description": {
399
+ "type": "string"
400
+ },
401
+ "example": {
402
+ "type": "string"
403
+ }
404
+ },
405
+ "required": [
406
+ "scheme"
407
+ ],
408
+ "additionalProperties": true
409
+ },
410
+ "basePath": {
411
+ "type": "string"
412
+ },
413
+ "dispatch": {
414
+ "type": "array",
415
+ "items": {
416
+ "type": "object",
417
+ "properties": {
418
+ "capability": {
419
+ "type": "string",
420
+ "minLength": 1
421
+ },
422
+ "component": {
423
+ "type": "string"
424
+ },
425
+ "method": {
426
+ "type": "string"
427
+ },
428
+ "description": {
429
+ "type": "string"
430
+ }
431
+ },
432
+ "required": [
433
+ "capability",
434
+ "component",
435
+ "method"
436
+ ],
437
+ "additionalProperties": true
438
+ }
439
+ },
440
+ "mounts": {
441
+ "type": "array",
442
+ "items": {
443
+ "type": "object",
444
+ "properties": {
445
+ "portal": {
446
+ "type": "string"
447
+ },
448
+ "prefixes": {
449
+ "type": "array",
450
+ "items": {
451
+ "type": "string"
452
+ }
453
+ },
454
+ "via": {
455
+ "type": "string"
456
+ }
457
+ },
458
+ "required": [
459
+ "portal",
460
+ "prefixes"
461
+ ],
462
+ "additionalProperties": true
463
+ }
464
+ },
465
+ "patterns": {
466
+ "type": "array",
467
+ "items": {
468
+ "type": "object",
469
+ "properties": {
470
+ "id": {
471
+ "type": "string"
472
+ },
473
+ "version": {
474
+ "type": "string"
475
+ }
476
+ },
477
+ "required": [
478
+ "id"
479
+ ],
480
+ "additionalProperties": true
481
+ }
482
+ },
483
+ "externalLinks": {
484
+ "type": "array",
485
+ "items": {
486
+ "type": "object",
487
+ "properties": {
488
+ "url": {
489
+ "type": "string"
490
+ },
491
+ "type": {
492
+ "type": "string",
493
+ "enum": [
494
+ "implementation",
495
+ "informative"
496
+ ],
497
+ "default": "informative"
498
+ },
499
+ "label": {
500
+ "type": "string"
501
+ }
502
+ },
503
+ "required": [
504
+ "url"
505
+ ],
506
+ "additionalProperties": true
507
+ }
508
+ },
509
+ "formerly": {
510
+ "type": "array",
511
+ "items": {
512
+ "type": "string"
513
+ }
514
+ },
515
+ "ext": {
516
+ "$ref": "#/definitions/DesignExport/properties/subsystems/items/properties/ext"
517
+ }
518
+ },
519
+ "required": [
520
+ "key",
521
+ "name",
522
+ "description",
523
+ "status",
524
+ "subsystem",
525
+ "stereotype",
526
+ "owns",
527
+ "dependsOn",
528
+ "emits",
529
+ "subscribesTo",
530
+ "dispatch",
531
+ "mounts",
532
+ "patterns",
533
+ "externalLinks",
534
+ "formerly"
535
+ ],
536
+ "additionalProperties": true
537
+ }
538
+ },
539
+ "interfaces": {
540
+ "type": "array",
541
+ "items": {
542
+ "type": "object",
543
+ "properties": {
544
+ "key": {
545
+ "type": "string"
546
+ },
547
+ "component": {
548
+ "type": "string"
549
+ },
550
+ "name": {
551
+ "type": "string"
552
+ },
553
+ "description": {
554
+ "type": "string"
555
+ },
556
+ "status": {
557
+ "type": "string"
558
+ },
559
+ "methods": {
560
+ "type": "array",
561
+ "items": {
562
+ "type": "object",
563
+ "properties": {
564
+ "key": {
565
+ "type": "string"
566
+ },
567
+ "name": {
568
+ "type": "string"
569
+ },
570
+ "description": {
571
+ "type": "string"
572
+ },
573
+ "params": {
574
+ "type": "array",
575
+ "items": {
576
+ "type": "object",
577
+ "properties": {
578
+ "name": {
579
+ "type": "string"
580
+ },
581
+ "type": {
582
+ "type": "object",
583
+ "properties": {
584
+ "text": {
585
+ "type": "string"
586
+ },
587
+ "expression": {
588
+ "type": "object",
589
+ "properties": {
590
+ "form": {
591
+ "type": "string",
592
+ "enum": [
593
+ "primitive",
594
+ "named",
595
+ "list",
596
+ "set",
597
+ "map",
598
+ "optional",
599
+ "union",
600
+ "async",
601
+ "applied"
602
+ ]
603
+ },
604
+ "name": {
605
+ "type": "string"
606
+ },
607
+ "args": {
608
+ "type": "array",
609
+ "items": {
610
+ "$ref": "#/definitions/DesignExport/properties/interfaces/items/properties/methods/items/properties/params/items/properties/type/properties/expression"
611
+ }
612
+ }
613
+ },
614
+ "required": [
615
+ "form",
616
+ "args"
617
+ ],
618
+ "additionalProperties": true
619
+ }
620
+ },
621
+ "required": [
622
+ "text"
623
+ ],
624
+ "additionalProperties": true
625
+ },
626
+ "optional": {
627
+ "type": "boolean"
628
+ },
629
+ "description": {
630
+ "type": "string"
631
+ }
632
+ },
633
+ "required": [
634
+ "name",
635
+ "type",
636
+ "optional"
637
+ ],
638
+ "additionalProperties": true
639
+ }
640
+ },
641
+ "returns": {
642
+ "$ref": "#/definitions/DesignExport/properties/interfaces/items/properties/methods/items/properties/params/items/properties/type"
643
+ },
644
+ "signature": {
645
+ "type": "string"
646
+ },
647
+ "signatureType": {
648
+ "type": "string"
649
+ },
650
+ "effect": {
651
+ "type": "string"
652
+ },
653
+ "guarantees": {
654
+ "type": "array",
655
+ "items": {
656
+ "type": "string"
657
+ }
658
+ },
659
+ "invokedBy": {
660
+ "type": "object",
661
+ "properties": {
662
+ "kind": {
663
+ "type": "string",
664
+ "enum": [
665
+ "runtime",
666
+ "external",
667
+ "sibling-subsystem"
668
+ ]
669
+ },
670
+ "caller": {
671
+ "type": "string"
672
+ }
673
+ },
674
+ "required": [
675
+ "kind"
676
+ ],
677
+ "additionalProperties": true
678
+ },
679
+ "endpoint": {
680
+ "type": "object",
681
+ "additionalProperties": {
682
+ "type": "string"
683
+ }
684
+ },
685
+ "formerly": {
686
+ "type": "array",
687
+ "items": {
688
+ "type": "string"
689
+ }
690
+ },
691
+ "ext": {
692
+ "$ref": "#/definitions/DesignExport/properties/subsystems/items/properties/ext"
693
+ }
694
+ },
695
+ "required": [
696
+ "key",
697
+ "name",
698
+ "params",
699
+ "returns",
700
+ "signature",
701
+ "guarantees",
702
+ "formerly"
703
+ ],
704
+ "additionalProperties": true
705
+ }
706
+ },
707
+ "formerly": {
708
+ "type": "array",
709
+ "items": {
710
+ "type": "string"
711
+ }
712
+ },
713
+ "ext": {
714
+ "$ref": "#/definitions/DesignExport/properties/subsystems/items/properties/ext"
715
+ }
716
+ },
717
+ "required": [
718
+ "key",
719
+ "component",
720
+ "name",
721
+ "description",
722
+ "status",
723
+ "methods",
724
+ "formerly"
725
+ ],
726
+ "additionalProperties": true
727
+ }
728
+ },
729
+ "implementations": {
730
+ "type": "array",
731
+ "items": {
732
+ "type": "object",
733
+ "properties": {
734
+ "key": {
735
+ "type": "string"
736
+ },
737
+ "contract": {
738
+ "type": "string"
739
+ },
740
+ "component": {
741
+ "type": "string"
742
+ },
743
+ "name": {
744
+ "type": "string"
745
+ },
746
+ "description": {
747
+ "type": "string"
748
+ },
749
+ "status": {
750
+ "type": "string"
751
+ },
752
+ "technologies": {
753
+ "type": "array",
754
+ "items": {
755
+ "type": "string"
756
+ }
757
+ },
758
+ "sourcePath": {
759
+ "type": "string"
760
+ },
761
+ "methods": {
762
+ "type": "array",
763
+ "items": {
764
+ "type": "object",
765
+ "properties": {
766
+ "method": {
767
+ "type": "string"
768
+ },
769
+ "detail": {
770
+ "type": "string"
771
+ },
772
+ "intent": {
773
+ "type": "string"
774
+ },
775
+ "calls": {
776
+ "type": "array",
777
+ "items": {
778
+ "type": "string"
779
+ }
780
+ },
781
+ "narrative": {
782
+ "type": "array",
783
+ "items": {
784
+ "type": "object",
785
+ "properties": {
786
+ "stepNumber": {
787
+ "type": "integer",
788
+ "exclusiveMinimum": 0
789
+ },
790
+ "label": {
791
+ "type": "string",
792
+ "minLength": 1
793
+ },
794
+ "description": {
795
+ "type": "string"
796
+ },
797
+ "type": {
798
+ "type": "string",
799
+ "enum": [
800
+ "local",
801
+ "call",
802
+ "dispatch",
803
+ "register",
804
+ "branch",
805
+ "switch",
806
+ "loop",
807
+ "try",
808
+ "parallel",
809
+ "jump",
810
+ "return",
811
+ "throw"
812
+ ]
813
+ },
814
+ "targetComponent": {
815
+ "type": "string"
816
+ },
817
+ "targetMethod": {
818
+ "type": "string"
819
+ },
820
+ "capability": {
821
+ "type": "string"
822
+ },
823
+ "auth": {
824
+ "type": "object",
825
+ "properties": {
826
+ "from": {
827
+ "type": "string"
828
+ },
829
+ "note": {
830
+ "type": "string"
831
+ }
832
+ },
833
+ "required": [
834
+ "from"
835
+ ],
836
+ "additionalProperties": true
837
+ },
838
+ "assertsGuarantees": {
839
+ "type": "array",
840
+ "items": {
841
+ "type": "string",
842
+ "minLength": 1
843
+ }
844
+ },
845
+ "assertsInvariants": {
846
+ "type": "array",
847
+ "items": {
848
+ "type": "string"
849
+ }
850
+ },
851
+ "condition": {
852
+ "type": "string"
853
+ },
854
+ "onTrueStep": {
855
+ "type": "integer",
856
+ "exclusiveMinimum": 0
857
+ },
858
+ "onFalseStep": {
859
+ "type": "integer",
860
+ "exclusiveMinimum": 0
861
+ },
862
+ "on": {
863
+ "type": "string"
864
+ },
865
+ "cases": {
866
+ "type": "array",
867
+ "items": {
868
+ "type": "object",
869
+ "properties": {
870
+ "value": {
871
+ "type": "string"
872
+ },
873
+ "step": {
874
+ "type": "integer",
875
+ "exclusiveMinimum": 0
876
+ }
877
+ },
878
+ "required": [
879
+ "value",
880
+ "step"
881
+ ],
882
+ "additionalProperties": true
883
+ }
884
+ },
885
+ "defaultStep": {
886
+ "type": "integer",
887
+ "exclusiveMinimum": 0
888
+ },
889
+ "loopKind": {
890
+ "type": "string",
891
+ "enum": [
892
+ "forEach",
893
+ "for",
894
+ "while",
895
+ "doWhile"
896
+ ]
897
+ },
898
+ "over": {
899
+ "type": "string"
900
+ },
901
+ "endStep": {
902
+ "type": "integer",
903
+ "exclusiveMinimum": 0
904
+ },
905
+ "catches": {
906
+ "type": "array",
907
+ "items": {
908
+ "type": "object",
909
+ "properties": {
910
+ "error": {
911
+ "type": "string"
912
+ },
913
+ "step": {
914
+ "type": "integer",
915
+ "exclusiveMinimum": 0
916
+ }
917
+ },
918
+ "required": [
919
+ "error",
920
+ "step"
921
+ ],
922
+ "additionalProperties": true
923
+ }
924
+ },
925
+ "finallyStep": {
926
+ "type": "integer",
927
+ "exclusiveMinimum": 0
928
+ },
929
+ "branches": {
930
+ "type": "array",
931
+ "items": {
932
+ "type": "object",
933
+ "properties": {
934
+ "step": {
935
+ "type": "integer",
936
+ "exclusiveMinimum": 0
937
+ },
938
+ "name": {
939
+ "type": "string"
940
+ }
941
+ },
942
+ "required": [
943
+ "step"
944
+ ],
945
+ "additionalProperties": true
946
+ }
947
+ },
948
+ "toStep": {
949
+ "type": "integer",
950
+ "exclusiveMinimum": 0
951
+ },
952
+ "detach": {
953
+ "type": "boolean"
954
+ },
955
+ "outcome": {
956
+ "type": "string"
957
+ },
958
+ "error": {
959
+ "type": "string"
960
+ }
961
+ },
962
+ "required": [
963
+ "stepNumber",
964
+ "description",
965
+ "type"
966
+ ],
967
+ "additionalProperties": true
968
+ }
969
+ }
970
+ },
971
+ "required": [
972
+ "method",
973
+ "detail",
974
+ "calls",
975
+ "narrative"
976
+ ],
977
+ "additionalProperties": true
978
+ }
979
+ },
980
+ "formerly": {
981
+ "type": "array",
982
+ "items": {
983
+ "type": "string"
984
+ }
985
+ },
986
+ "ext": {
987
+ "$ref": "#/definitions/DesignExport/properties/subsystems/items/properties/ext"
988
+ }
989
+ },
990
+ "required": [
991
+ "key",
992
+ "contract",
993
+ "component",
994
+ "name",
995
+ "description",
996
+ "status",
997
+ "technologies",
998
+ "methods",
999
+ "formerly"
1000
+ ],
1001
+ "additionalProperties": true
1002
+ }
1003
+ },
1004
+ "types": {
1005
+ "type": "array",
1006
+ "items": {
1007
+ "type": "object",
1008
+ "properties": {
1009
+ "key": {
1010
+ "type": "string"
1011
+ },
1012
+ "kind": {
1013
+ "type": "string"
1014
+ },
1015
+ "name": {
1016
+ "type": "string"
1017
+ },
1018
+ "description": {
1019
+ "type": "string"
1020
+ },
1021
+ "status": {
1022
+ "type": "string"
1023
+ },
1024
+ "fields": {
1025
+ "type": "array",
1026
+ "items": {
1027
+ "type": "object",
1028
+ "properties": {
1029
+ "name": {
1030
+ "type": "string"
1031
+ },
1032
+ "type": {
1033
+ "$ref": "#/definitions/DesignExport/properties/interfaces/items/properties/methods/items/properties/params/items/properties/type"
1034
+ },
1035
+ "optional": {
1036
+ "type": "boolean"
1037
+ },
1038
+ "description": {
1039
+ "type": "string"
1040
+ },
1041
+ "key": {
1042
+ "type": "string"
1043
+ },
1044
+ "references": {
1045
+ "type": "string"
1046
+ }
1047
+ },
1048
+ "required": [
1049
+ "name",
1050
+ "type",
1051
+ "optional"
1052
+ ],
1053
+ "additionalProperties": true
1054
+ }
1055
+ },
1056
+ "methods": {
1057
+ "type": "array",
1058
+ "items": {
1059
+ "$ref": "#/definitions/DesignExport/properties/interfaces/items/properties/methods/items"
1060
+ }
1061
+ },
1062
+ "params": {
1063
+ "type": "array",
1064
+ "items": {
1065
+ "$ref": "#/definitions/DesignExport/properties/interfaces/items/properties/methods/items/properties/params/items"
1066
+ }
1067
+ },
1068
+ "returns": {
1069
+ "$ref": "#/definitions/DesignExport/properties/interfaces/items/properties/methods/items/properties/params/items/properties/type"
1070
+ },
1071
+ "values": {
1072
+ "type": "array",
1073
+ "items": {
1074
+ "type": "object",
1075
+ "properties": {
1076
+ "name": {
1077
+ "type": "string",
1078
+ "minLength": 1
1079
+ },
1080
+ "description": {
1081
+ "type": "string"
1082
+ }
1083
+ },
1084
+ "required": [
1085
+ "name"
1086
+ ],
1087
+ "additionalProperties": true
1088
+ }
1089
+ },
1090
+ "holds": {
1091
+ "type": "string"
1092
+ },
1093
+ "invariants": {
1094
+ "type": "array",
1095
+ "items": {
1096
+ "type": "object",
1097
+ "properties": {
1098
+ "id": {
1099
+ "type": "string",
1100
+ "pattern": "^[a-z0-9-_]+$"
1101
+ },
1102
+ "description": {
1103
+ "type": "string",
1104
+ "minLength": 1
1105
+ }
1106
+ },
1107
+ "required": [
1108
+ "id",
1109
+ "description"
1110
+ ],
1111
+ "additionalProperties": true
1112
+ }
1113
+ },
1114
+ "componentClass": {
1115
+ "type": "string"
1116
+ },
1117
+ "database": {
1118
+ "type": "string"
1119
+ },
1120
+ "table": {
1121
+ "type": "string"
1122
+ },
1123
+ "linkedEntity": {
1124
+ "type": "string"
1125
+ },
1126
+ "formerly": {
1127
+ "type": "array",
1128
+ "items": {
1129
+ "type": "string"
1130
+ }
1131
+ },
1132
+ "ext": {
1133
+ "$ref": "#/definitions/DesignExport/properties/subsystems/items/properties/ext"
1134
+ }
1135
+ },
1136
+ "required": [
1137
+ "key",
1138
+ "kind",
1139
+ "name",
1140
+ "fields",
1141
+ "methods",
1142
+ "params",
1143
+ "values",
1144
+ "invariants",
1145
+ "formerly"
1146
+ ],
1147
+ "additionalProperties": true
1148
+ }
1149
+ }
1150
+ },
1151
+ "required": [
1152
+ "format",
1153
+ "formatVersion",
1154
+ "generator",
1155
+ "source",
1156
+ "project",
1157
+ "dependencies",
1158
+ "subsystems",
1159
+ "components",
1160
+ "interfaces",
1161
+ "implementations",
1162
+ "types"
1163
+ ],
1164
+ "additionalProperties": true
1165
+ }
1166
+ },
1167
+ "$schema": "http://json-schema.org/draft-07/schema#"
1168
+ }