@wairon/cli 5.1.1-dev.11 → 5.1.1-dev.110

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