@hozu/cli 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/commands/accept.d.ts +11 -0
  2. package/dist/commands/accept.d.ts.map +1 -0
  3. package/dist/commands/accept.js +55 -0
  4. package/dist/commands/accept.js.map +1 -0
  5. package/dist/commands/add.d.ts.map +1 -1
  6. package/dist/commands/add.js +4 -1
  7. package/dist/commands/add.js.map +1 -1
  8. package/dist/commands/browse-tab.d.ts +2 -0
  9. package/dist/commands/browse-tab.d.ts.map +1 -1
  10. package/dist/commands/browse-tab.js +3 -1
  11. package/dist/commands/browse-tab.js.map +1 -1
  12. package/dist/commands/browse.d.ts +4 -0
  13. package/dist/commands/browse.d.ts.map +1 -1
  14. package/dist/commands/browse.js +80 -9
  15. package/dist/commands/browse.js.map +1 -1
  16. package/dist/commands/build.js +1 -1
  17. package/dist/commands/build.js.map +1 -1
  18. package/dist/commands/call.d.ts +2 -0
  19. package/dist/commands/call.d.ts.map +1 -1
  20. package/dist/commands/call.js +73 -10
  21. package/dist/commands/call.js.map +1 -1
  22. package/dist/commands/check.d.ts.map +1 -1
  23. package/dist/commands/check.js +3 -4
  24. package/dist/commands/check.js.map +1 -1
  25. package/dist/commands/docs.d.ts +3 -1
  26. package/dist/commands/docs.d.ts.map +1 -1
  27. package/dist/commands/docs.js +23 -3
  28. package/dist/commands/docs.js.map +1 -1
  29. package/dist/commands/explain.js +1 -1
  30. package/dist/commands/explain.js.map +1 -1
  31. package/dist/commands/impact.d.ts.map +1 -1
  32. package/dist/commands/impact.js +4 -2
  33. package/dist/commands/impact.js.map +1 -1
  34. package/dist/commands/locate.js +2 -2
  35. package/dist/commands/locate.js.map +1 -1
  36. package/dist/commands/map.d.ts.map +1 -1
  37. package/dist/commands/map.js +5 -3
  38. package/dist/commands/map.js.map +1 -1
  39. package/dist/commands/plan.d.ts.map +1 -1
  40. package/dist/commands/plan.js +8 -0
  41. package/dist/commands/plan.js.map +1 -1
  42. package/dist/commands/scaffold.d.ts.map +1 -1
  43. package/dist/commands/scaffold.js +19 -22
  44. package/dist/commands/scaffold.js.map +1 -1
  45. package/dist/commands/serve.d.ts.map +1 -1
  46. package/dist/commands/serve.js +2 -0
  47. package/dist/commands/serve.js.map +1 -1
  48. package/dist/commands/show.d.ts +11 -0
  49. package/dist/commands/show.d.ts.map +1 -0
  50. package/dist/commands/show.js +55 -0
  51. package/dist/commands/show.js.map +1 -0
  52. package/dist/commands/validate.d.ts.map +1 -1
  53. package/dist/commands/validate.js +9 -3
  54. package/dist/commands/validate.js.map +1 -1
  55. package/dist/commands/why.d.ts +6 -0
  56. package/dist/commands/why.d.ts.map +1 -0
  57. package/dist/commands/why.js +73 -0
  58. package/dist/commands/why.js.map +1 -0
  59. package/dist/contract.d.ts +47 -21
  60. package/dist/contract.d.ts.map +1 -1
  61. package/dist/index.d.ts +0 -1
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +0 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/main.d.ts +2 -0
  66. package/dist/main.d.ts.map +1 -1
  67. package/dist/main.js +127 -65
  68. package/dist/main.js.map +1 -1
  69. package/dist/migrate/step-0.11.d.ts +7 -1
  70. package/dist/migrate/step-0.11.d.ts.map +1 -1
  71. package/dist/migrate/step-0.11.js +6 -4
  72. package/dist/migrate/step-0.11.js.map +1 -1
  73. package/dist/migrate/step-0.14.d.ts +6 -0
  74. package/dist/migrate/step-0.14.d.ts.map +1 -0
  75. package/dist/migrate/step-0.14.js +40 -0
  76. package/dist/migrate/step-0.14.js.map +1 -0
  77. package/dist/migrate/step-0.15.d.ts +14 -0
  78. package/dist/migrate/step-0.15.d.ts.map +1 -0
  79. package/dist/migrate/step-0.15.js +94 -0
  80. package/dist/migrate/step-0.15.js.map +1 -0
  81. package/dist/migrate/steps.d.ts.map +1 -1
  82. package/dist/migrate/steps.js +22 -1
  83. package/dist/migrate/steps.js.map +1 -1
  84. package/dist/output.d.ts.map +1 -1
  85. package/dist/output.js +2 -76
  86. package/dist/output.js.map +1 -1
  87. package/package.json +8 -8
  88. package/schema/call.schema.json +6 -1
  89. package/schema/check.schema.json +48 -3
  90. package/schema/inspect.schema.json +103 -1
  91. package/schema/map.schema.json +14 -0
  92. package/schema/migrate.schema.json +48 -3
  93. package/schema/render.schema.json +6 -1
  94. package/schema/show.schema.json +79 -0
  95. package/schema/why.schema.json +983 -0
  96. package/dist/commands/graph.d.ts +0 -7
  97. package/dist/commands/graph.d.ts.map +0 -1
  98. package/dist/commands/graph.js +0 -137
  99. package/dist/commands/graph.js.map +0 -1
  100. package/schema/explain.schema.json +0 -171
  101. package/schema/graph.schema.json +0 -109
  102. package/schema/impact.schema.json +0 -242
  103. package/schema/locate.schema.json +0 -488
  104. package/schema/validate.schema.json +0 -383
@@ -0,0 +1,983 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/WhyOutput",
4
+ "definitions": {
5
+ "WhyOutput": {
6
+ "anyOf": [
7
+ {
8
+ "type": "object",
9
+ "properties": {
10
+ "target": {
11
+ "type": "string"
12
+ },
13
+ "kind": {
14
+ "type": "string",
15
+ "const": "state"
16
+ },
17
+ "at": {
18
+ "type": [
19
+ "string",
20
+ "null"
21
+ ]
22
+ },
23
+ "state": {
24
+ "$ref": "#/definitions/ExplainOutput"
25
+ }
26
+ },
27
+ "required": [
28
+ "target",
29
+ "kind",
30
+ "at",
31
+ "state"
32
+ ],
33
+ "additionalProperties": false
34
+ },
35
+ {
36
+ "type": "object",
37
+ "properties": {
38
+ "target": {
39
+ "type": "string"
40
+ },
41
+ "kind": {
42
+ "type": "string",
43
+ "enum": [
44
+ "declaration",
45
+ "component"
46
+ ]
47
+ },
48
+ "at": {
49
+ "type": [
50
+ "string",
51
+ "null"
52
+ ]
53
+ },
54
+ "impact": {
55
+ "$ref": "#/definitions/ImpactOutput"
56
+ }
57
+ },
58
+ "required": [
59
+ "target",
60
+ "kind",
61
+ "at",
62
+ "impact"
63
+ ],
64
+ "additionalProperties": false
65
+ },
66
+ {
67
+ "type": "object",
68
+ "properties": {
69
+ "target": {
70
+ "type": "string"
71
+ },
72
+ "kind": {
73
+ "type": "string",
74
+ "enum": [
75
+ "node",
76
+ "page"
77
+ ]
78
+ },
79
+ "at": {
80
+ "type": [
81
+ "string",
82
+ "null"
83
+ ]
84
+ },
85
+ "node": {
86
+ "$ref": "#/definitions/LocateOutput"
87
+ }
88
+ },
89
+ "required": [
90
+ "target",
91
+ "kind",
92
+ "at",
93
+ "node"
94
+ ],
95
+ "additionalProperties": false
96
+ }
97
+ ],
98
+ "description": "`hozu why` (ADR 0053 F): what the target is, where (file:line), and what `explain`, `impact` or `locate` says."
99
+ },
100
+ "ExplainOutput": {
101
+ "type": "object",
102
+ "properties": {
103
+ "feature": {
104
+ "type": "string"
105
+ },
106
+ "state": {
107
+ "type": "string"
108
+ },
109
+ "initial": {
110
+ "type": "boolean"
111
+ },
112
+ "final": {
113
+ "type": "boolean"
114
+ },
115
+ "invoke": {
116
+ "anyOf": [
117
+ {
118
+ "type": "object",
119
+ "properties": {
120
+ "effect": {
121
+ "type": "string"
122
+ },
123
+ "input": {
124
+ "type": "string"
125
+ },
126
+ "errors": {
127
+ "type": "array",
128
+ "items": {
129
+ "type": "string"
130
+ }
131
+ },
132
+ "runs": {
133
+ "$ref": "#/definitions/Runs"
134
+ }
135
+ },
136
+ "required": [
137
+ "effect",
138
+ "input",
139
+ "errors",
140
+ "runs"
141
+ ],
142
+ "additionalProperties": false
143
+ },
144
+ {
145
+ "type": "null"
146
+ }
147
+ ]
148
+ },
149
+ "outgoing": {
150
+ "type": "array",
151
+ "items": {
152
+ "$ref": "#/definitions/ExplainTransition"
153
+ }
154
+ },
155
+ "incoming": {
156
+ "type": "array",
157
+ "items": {
158
+ "$ref": "#/definitions/ExplainTransition"
159
+ }
160
+ },
161
+ "sends": {
162
+ "type": "array",
163
+ "items": {
164
+ "$ref": "#/definitions/ExplainSend"
165
+ }
166
+ }
167
+ },
168
+ "required": [
169
+ "feature",
170
+ "state",
171
+ "initial",
172
+ "final",
173
+ "invoke",
174
+ "outgoing",
175
+ "incoming",
176
+ "sends"
177
+ ],
178
+ "additionalProperties": false
179
+ },
180
+ "Runs": {
181
+ "type": "string",
182
+ "enum": [
183
+ "server",
184
+ "browser",
185
+ "either"
186
+ ],
187
+ "description": "What an effect's implementation needs (ADR 0049): server secrets, browser credentials, or neither."
188
+ },
189
+ "ExplainTransition": {
190
+ "type": "object",
191
+ "properties": {
192
+ "id": {
193
+ "type": "string"
194
+ },
195
+ "from": {
196
+ "type": "string"
197
+ },
198
+ "to": {
199
+ "type": "string"
200
+ },
201
+ "trigger": {
202
+ "type": "string"
203
+ },
204
+ "guard": {
205
+ "type": [
206
+ "string",
207
+ "null"
208
+ ]
209
+ },
210
+ "assign": {
211
+ "type": "array",
212
+ "items": {
213
+ "type": "string"
214
+ }
215
+ },
216
+ "navigate": {
217
+ "type": [
218
+ "string",
219
+ "null"
220
+ ]
221
+ },
222
+ "coveredBy": {
223
+ "type": "array",
224
+ "items": {
225
+ "type": "string"
226
+ }
227
+ }
228
+ },
229
+ "required": [
230
+ "id",
231
+ "from",
232
+ "to",
233
+ "trigger",
234
+ "guard",
235
+ "assign",
236
+ "navigate",
237
+ "coveredBy"
238
+ ],
239
+ "additionalProperties": false
240
+ },
241
+ "ExplainSend": {
242
+ "type": "object",
243
+ "properties": {
244
+ "view": {
245
+ "type": "string"
246
+ },
247
+ "node": {
248
+ "type": "string"
249
+ },
250
+ "event": {
251
+ "type": "string"
252
+ },
253
+ "handled": {
254
+ "type": "boolean"
255
+ }
256
+ },
257
+ "required": [
258
+ "view",
259
+ "node",
260
+ "event",
261
+ "handled"
262
+ ],
263
+ "additionalProperties": false
264
+ },
265
+ "ImpactOutput": {
266
+ "anyOf": [
267
+ {
268
+ "$ref": "#/definitions/Impact"
269
+ },
270
+ {
271
+ "$ref": "#/definitions/ComponentImpact"
272
+ }
273
+ ]
274
+ },
275
+ "Impact": {
276
+ "type": "object",
277
+ "properties": {
278
+ "target": {
279
+ "type": "string"
280
+ },
281
+ "kind": {
282
+ "$ref": "#/definitions/ImpactKind"
283
+ },
284
+ "tags": {
285
+ "type": "array",
286
+ "items": {
287
+ "type": "string"
288
+ }
289
+ },
290
+ "queries": {
291
+ "type": "array",
292
+ "items": {
293
+ "$ref": "#/definitions/ImpactQuery"
294
+ }
295
+ },
296
+ "invalidatedBy": {
297
+ "type": "array",
298
+ "items": {
299
+ "type": "string"
300
+ }
301
+ },
302
+ "uses": {
303
+ "type": "array",
304
+ "items": {
305
+ "$ref": "#/definitions/ImpactUse"
306
+ }
307
+ },
308
+ "features": {
309
+ "type": "array",
310
+ "items": {
311
+ "type": "string"
312
+ }
313
+ },
314
+ "runs": {
315
+ "anyOf": [
316
+ {
317
+ "$ref": "#/definitions/Runs"
318
+ },
319
+ {
320
+ "type": "null"
321
+ }
322
+ ],
323
+ "description": "Where a query or mutation runs (ADR 0049); null for other symbols."
324
+ },
325
+ "access": {
326
+ "type": [
327
+ "string",
328
+ "null"
329
+ ],
330
+ "description": "Who may run it (ADR 0056 B), as the lock records it; null when it declares none."
331
+ }
332
+ },
333
+ "required": [
334
+ "target",
335
+ "kind",
336
+ "tags",
337
+ "queries",
338
+ "invalidatedBy",
339
+ "uses",
340
+ "features",
341
+ "runs",
342
+ "access"
343
+ ],
344
+ "additionalProperties": false
345
+ },
346
+ "ImpactKind": {
347
+ "type": "string",
348
+ "enum": [
349
+ "event",
350
+ "query",
351
+ "mutation",
352
+ "tag",
353
+ "fn",
354
+ "view"
355
+ ]
356
+ },
357
+ "ImpactQuery": {
358
+ "type": "object",
359
+ "properties": {
360
+ "ref": {
361
+ "type": "string"
362
+ },
363
+ "tag": {
364
+ "type": "string"
365
+ },
366
+ "precision": {
367
+ "type": "string",
368
+ "enum": [
369
+ "exact",
370
+ "param-dependent"
371
+ ]
372
+ }
373
+ },
374
+ "required": [
375
+ "ref",
376
+ "tag",
377
+ "precision"
378
+ ],
379
+ "additionalProperties": false
380
+ },
381
+ "ImpactUse": {
382
+ "type": "object",
383
+ "properties": {
384
+ "feature": {
385
+ "type": "string"
386
+ },
387
+ "at": {
388
+ "type": "string"
389
+ },
390
+ "via": {
391
+ "type": "string"
392
+ }
393
+ },
394
+ "required": [
395
+ "feature",
396
+ "at",
397
+ "via"
398
+ ],
399
+ "additionalProperties": false
400
+ },
401
+ "ComponentImpact": {
402
+ "type": "object",
403
+ "properties": {
404
+ "target": {
405
+ "type": "string"
406
+ },
407
+ "kind": {
408
+ "type": "string",
409
+ "const": "component"
410
+ },
411
+ "owner": {
412
+ "$ref": "#/definitions/ComponentOwner"
413
+ },
414
+ "uses": {
415
+ "type": "array",
416
+ "items": {
417
+ "$ref": "#/definitions/ComponentUseSite"
418
+ }
419
+ },
420
+ "features": {
421
+ "type": "array",
422
+ "items": {
423
+ "type": "string"
424
+ }
425
+ }
426
+ },
427
+ "required": [
428
+ "target",
429
+ "kind",
430
+ "owner",
431
+ "uses",
432
+ "features"
433
+ ],
434
+ "additionalProperties": false
435
+ },
436
+ "ComponentOwner": {
437
+ "type": "object",
438
+ "properties": {
439
+ "kind": {
440
+ "type": "string",
441
+ "enum": [
442
+ "kit",
443
+ "feature"
444
+ ]
445
+ },
446
+ "id": {
447
+ "type": "string"
448
+ }
449
+ },
450
+ "required": [
451
+ "kind",
452
+ "id"
453
+ ],
454
+ "additionalProperties": false
455
+ },
456
+ "ComponentUseSite": {
457
+ "type": "object",
458
+ "properties": {
459
+ "feature": {
460
+ "type": "string"
461
+ },
462
+ "node": {
463
+ "type": "string"
464
+ },
465
+ "at": {
466
+ "type": [
467
+ "string",
468
+ "null"
469
+ ]
470
+ },
471
+ "variant": {
472
+ "type": "object",
473
+ "additionalProperties": {
474
+ "type": "string"
475
+ }
476
+ },
477
+ "added": {
478
+ "type": "array",
479
+ "items": {
480
+ "type": "string"
481
+ }
482
+ },
483
+ "overrides": {
484
+ "type": "array",
485
+ "items": {
486
+ "type": "string"
487
+ }
488
+ }
489
+ },
490
+ "required": [
491
+ "feature",
492
+ "node",
493
+ "at",
494
+ "variant",
495
+ "added",
496
+ "overrides"
497
+ ],
498
+ "additionalProperties": false
499
+ },
500
+ "LocateOutput": {
501
+ "$ref": "#/definitions/DevNode"
502
+ },
503
+ "DevNode": {
504
+ "type": "object",
505
+ "properties": {
506
+ "id": {
507
+ "type": "string"
508
+ },
509
+ "pointer": {
510
+ "type": [
511
+ "string",
512
+ "null"
513
+ ]
514
+ },
515
+ "kind": {
516
+ "type": "string",
517
+ "enum": [
518
+ "element",
519
+ "component",
520
+ "text",
521
+ "query",
522
+ "when",
523
+ "if",
524
+ "list",
525
+ "html",
526
+ "embed",
527
+ "page",
528
+ "other"
529
+ ]
530
+ },
531
+ "tag": {
532
+ "type": [
533
+ "string",
534
+ "null"
535
+ ]
536
+ },
537
+ "owner": {
538
+ "anyOf": [
539
+ {
540
+ "type": "object",
541
+ "properties": {
542
+ "feature": {
543
+ "type": "string"
544
+ },
545
+ "view": {
546
+ "type": "string"
547
+ }
548
+ },
549
+ "required": [
550
+ "feature",
551
+ "view"
552
+ ],
553
+ "additionalProperties": false
554
+ },
555
+ {
556
+ "type": "null"
557
+ }
558
+ ]
559
+ },
560
+ "component": {
561
+ "anyOf": [
562
+ {
563
+ "type": "object",
564
+ "properties": {
565
+ "ref": {
566
+ "type": "string"
567
+ },
568
+ "variant": {
569
+ "type": "object",
570
+ "additionalProperties": {
571
+ "type": "string"
572
+ }
573
+ },
574
+ "declaration": {
575
+ "anyOf": [
576
+ {
577
+ "$ref": "#/definitions/DevLocation"
578
+ },
579
+ {
580
+ "type": "null"
581
+ }
582
+ ]
583
+ },
584
+ "uses": {
585
+ "type": "number"
586
+ }
587
+ },
588
+ "required": [
589
+ "ref",
590
+ "variant",
591
+ "declaration",
592
+ "uses"
593
+ ],
594
+ "additionalProperties": false
595
+ },
596
+ {
597
+ "type": "null"
598
+ }
599
+ ]
600
+ },
601
+ "location": {
602
+ "anyOf": [
603
+ {
604
+ "$ref": "#/definitions/DevLocation"
605
+ },
606
+ {
607
+ "type": "null"
608
+ }
609
+ ]
610
+ },
611
+ "classes": {
612
+ "type": [
613
+ "string",
614
+ "null"
615
+ ]
616
+ },
617
+ "text": {
618
+ "type": [
619
+ "string",
620
+ "null"
621
+ ]
622
+ },
623
+ "source": {
624
+ "anyOf": [
625
+ {
626
+ "$ref": "#/definitions/DevTextSource"
627
+ },
628
+ {
629
+ "type": "null"
630
+ }
631
+ ]
632
+ },
633
+ "events": {
634
+ "type": "array",
635
+ "items": {
636
+ "type": "object",
637
+ "properties": {
638
+ "dom": {
639
+ "type": "string"
640
+ },
641
+ "event": {
642
+ "type": "string"
643
+ },
644
+ "transitions": {
645
+ "type": "array",
646
+ "items": {
647
+ "$ref": "#/definitions/DevTransition"
648
+ }
649
+ }
650
+ },
651
+ "required": [
652
+ "dom",
653
+ "event",
654
+ "transitions"
655
+ ],
656
+ "additionalProperties": false
657
+ }
658
+ },
659
+ "conditions": {
660
+ "type": "array",
661
+ "items": {
662
+ "$ref": "#/definitions/DevCondition"
663
+ }
664
+ },
665
+ "machine": {
666
+ "anyOf": [
667
+ {
668
+ "$ref": "#/definitions/DevLocation"
669
+ },
670
+ {
671
+ "type": "null"
672
+ }
673
+ ]
674
+ },
675
+ "children": {
676
+ "type": "array",
677
+ "items": {
678
+ "type": "object",
679
+ "properties": {
680
+ "id": {
681
+ "type": "string"
682
+ },
683
+ "kind": {
684
+ "type": "string"
685
+ },
686
+ "text": {
687
+ "type": [
688
+ "string",
689
+ "null"
690
+ ]
691
+ },
692
+ "source": {
693
+ "anyOf": [
694
+ {
695
+ "$ref": "#/definitions/DevTextSource"
696
+ },
697
+ {
698
+ "type": "null"
699
+ }
700
+ ]
701
+ }
702
+ },
703
+ "required": [
704
+ "id",
705
+ "kind",
706
+ "text",
707
+ "source"
708
+ ],
709
+ "additionalProperties": false
710
+ }
711
+ },
712
+ "excerpt": {
713
+ "anyOf": [
714
+ {
715
+ "type": "object",
716
+ "properties": {
717
+ "start": {
718
+ "type": "number"
719
+ },
720
+ "lines": {
721
+ "type": "array",
722
+ "items": {
723
+ "type": "string"
724
+ }
725
+ }
726
+ },
727
+ "required": [
728
+ "start",
729
+ "lines"
730
+ ],
731
+ "additionalProperties": false
732
+ },
733
+ {
734
+ "type": "null"
735
+ }
736
+ ]
737
+ },
738
+ "page": {
739
+ "anyOf": [
740
+ {
741
+ "$ref": "#/definitions/DevPage"
742
+ },
743
+ {
744
+ "type": "null"
745
+ }
746
+ ]
747
+ }
748
+ },
749
+ "required": [
750
+ "id",
751
+ "pointer",
752
+ "kind",
753
+ "tag",
754
+ "owner",
755
+ "component",
756
+ "location",
757
+ "classes",
758
+ "text",
759
+ "source",
760
+ "events",
761
+ "conditions",
762
+ "machine",
763
+ "children",
764
+ "excerpt",
765
+ "page"
766
+ ],
767
+ "additionalProperties": false
768
+ },
769
+ "DevLocation": {
770
+ "type": "object",
771
+ "properties": {
772
+ "file": {
773
+ "type": "string"
774
+ },
775
+ "line": {
776
+ "type": "number"
777
+ },
778
+ "column": {
779
+ "type": "number"
780
+ }
781
+ },
782
+ "required": [
783
+ "file",
784
+ "line",
785
+ "column"
786
+ ],
787
+ "additionalProperties": false
788
+ },
789
+ "DevTextSource": {
790
+ "type": "object",
791
+ "properties": {
792
+ "kind": {
793
+ "type": "string",
794
+ "enum": [
795
+ "literal",
796
+ "message",
797
+ "data",
798
+ "context",
799
+ "route",
800
+ "computed"
801
+ ]
802
+ },
803
+ "detail": {
804
+ "type": "string"
805
+ },
806
+ "location": {
807
+ "anyOf": [
808
+ {
809
+ "$ref": "#/definitions/DevLocation"
810
+ },
811
+ {
812
+ "type": "null"
813
+ }
814
+ ]
815
+ },
816
+ "uses": {
817
+ "type": [
818
+ "number",
819
+ "null"
820
+ ]
821
+ }
822
+ },
823
+ "required": [
824
+ "kind",
825
+ "detail",
826
+ "location",
827
+ "uses"
828
+ ],
829
+ "additionalProperties": false
830
+ },
831
+ "DevTransition": {
832
+ "type": "object",
833
+ "properties": {
834
+ "from": {
835
+ "type": "string"
836
+ },
837
+ "to": {
838
+ "type": "string"
839
+ },
840
+ "guarded": {
841
+ "type": "boolean"
842
+ },
843
+ "navigates": {
844
+ "type": "boolean"
845
+ },
846
+ "location": {
847
+ "anyOf": [
848
+ {
849
+ "$ref": "#/definitions/DevLocation"
850
+ },
851
+ {
852
+ "type": "null"
853
+ }
854
+ ]
855
+ }
856
+ },
857
+ "required": [
858
+ "from",
859
+ "to",
860
+ "guarded",
861
+ "navigates",
862
+ "location"
863
+ ],
864
+ "additionalProperties": false
865
+ },
866
+ "DevCondition": {
867
+ "type": "object",
868
+ "properties": {
869
+ "kind": {
870
+ "type": "string",
871
+ "enum": [
872
+ "when",
873
+ "if",
874
+ "query",
875
+ "each"
876
+ ]
877
+ },
878
+ "detail": {
879
+ "type": "string"
880
+ },
881
+ "location": {
882
+ "anyOf": [
883
+ {
884
+ "$ref": "#/definitions/DevLocation"
885
+ },
886
+ {
887
+ "type": "null"
888
+ }
889
+ ]
890
+ }
891
+ },
892
+ "required": [
893
+ "kind",
894
+ "detail",
895
+ "location"
896
+ ],
897
+ "additionalProperties": false
898
+ },
899
+ "DevPage": {
900
+ "type": "object",
901
+ "properties": {
902
+ "route": {
903
+ "type": "string"
904
+ },
905
+ "path": {
906
+ "type": "string"
907
+ },
908
+ "routeLocation": {
909
+ "anyOf": [
910
+ {
911
+ "$ref": "#/definitions/DevLocation"
912
+ },
913
+ {
914
+ "type": "null"
915
+ }
916
+ ]
917
+ },
918
+ "views": {
919
+ "type": "array",
920
+ "items": {
921
+ "type": "string"
922
+ }
923
+ },
924
+ "head": {
925
+ "type": "object",
926
+ "properties": {
927
+ "title": {
928
+ "type": [
929
+ "string",
930
+ "null"
931
+ ]
932
+ },
933
+ "description": {
934
+ "type": [
935
+ "string",
936
+ "null"
937
+ ]
938
+ },
939
+ "image": {
940
+ "type": [
941
+ "string",
942
+ "null"
943
+ ]
944
+ },
945
+ "type": {
946
+ "type": "string",
947
+ "enum": [
948
+ "website",
949
+ "article"
950
+ ]
951
+ },
952
+ "noindex": {
953
+ "type": "boolean"
954
+ },
955
+ "query": {
956
+ "type": [
957
+ "string",
958
+ "null"
959
+ ]
960
+ }
961
+ },
962
+ "required": [
963
+ "title",
964
+ "description",
965
+ "image",
966
+ "type",
967
+ "noindex",
968
+ "query"
969
+ ],
970
+ "additionalProperties": false
971
+ }
972
+ },
973
+ "required": [
974
+ "route",
975
+ "path",
976
+ "routeLocation",
977
+ "views",
978
+ "head"
979
+ ],
980
+ "additionalProperties": false
981
+ }
982
+ }
983
+ }