@lewishowles/cli-style 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.
@@ -1,56 +1,962 @@
1
1
  // Static renderer metadata shared by CLI discovery and render validation.
2
- export const rendererCatalogue = [
3
- ["agent-transcript", "pattern", "agentTranscript", ["entries"], "agent-transcript"],
4
- ["audit-finding", "pattern", "auditFinding", ["finding", "result"], "audit-finding"],
5
- ["bar-chart", "primitive", "barChart", ["rows"], undefined],
6
- ["chip", "primitive", "chip", ["label", "tone"], undefined],
7
- ["command-result", "pattern", "commandResult", ["result", "summary"], "command-result"],
8
- ["compact-data-table", "pattern", "compactDataTable", ["columns", "rows"], "compact-data-table"],
9
- [
10
- "confirmation-result",
11
- "pattern",
12
- "confirmationResult",
13
- ["action", "state"],
14
- "confirmation-result",
15
- ],
16
- [
17
- "diagnostic-report",
18
- "pattern",
19
- "diagnosticReport",
20
- ["findings", "summary"],
21
- "diagnostic-report",
22
- ],
23
- ["diff-block", "pattern", "diffBlock", ["lines"], "diff-block"],
24
- ["divider", "primitive", "divider", ["label"], undefined],
25
- ["empty-state", "primitive", "emptyState", ["detail", "title"], undefined],
26
- ["error-block", "primitive", "errorBlock", ["lines", "title"], undefined],
27
- ["hint", "primitive", "hint", ["message"], undefined],
28
- [
29
- "labelled-line",
30
- "primitive",
31
- "labelledLine",
32
- ["icon", "label", "message", "wrap", "wrapWidth"],
33
- undefined,
34
- ],
35
- ["next-step-block", "pattern", "nextStepBlock", ["next", "reason"], "next-step-block"],
36
- ["panel", "primitive", "panel", ["lines", "title", "tone"], undefined],
37
- ["progress-bar", "primitive", "progressBar", ["max", "value"], undefined],
38
- ["row", "primitive", "row", ["label", "value", "wrap", "wrapWidth"], undefined],
39
- ["row-group", "primitive", "rowGroup", ["rows", "wrap", "wrapWidth"], undefined],
40
- ["sparkline", "primitive", "sparkline", ["values"], "sparkline"],
41
- ["span", "primitive", "span", ["tone", "value"], undefined],
42
- ["status", "primitive", "status", ["detail", "type"], undefined],
43
- ["step", "primitive", "step", ["label", "state"], undefined],
44
- ["step-progress", "primitive", "stepProgress", ["current", "steps"], undefined],
45
- ["table", "primitive", "table", ["columns", "rows"], undefined],
46
- ["task-summary", "pattern", "taskSummary", ["result", "task"], "task-summary"],
47
- ].map(([name, category, api, fields, fixture]) => ({
48
- api,
49
- category,
50
- fields,
51
- fixture,
52
- name,
53
- purpose: `${api} renderer.`,
2
+
3
+ /**
4
+ * Options shared by every renderer adapter.
5
+ *
6
+ * Each adapter maps these names to the equivalent CLI flags before rendering.
7
+ */
8
+ export const renderOptions = [
9
+ {
10
+ name: "profile",
11
+ type: "string",
12
+ required: false,
13
+ default: null,
14
+ },
15
+ {
16
+ name: "width",
17
+ type: "number",
18
+ required: false,
19
+ default: null,
20
+ },
21
+ {
22
+ name: "plain",
23
+ type: "boolean",
24
+ required: false,
25
+ default: false,
26
+ },
27
+ {
28
+ name: "noColour",
29
+ type: "boolean",
30
+ required: false,
31
+ default: false,
32
+ },
33
+ {
34
+ name: "noUnicode",
35
+ type: "boolean",
36
+ required: false,
37
+ default: false,
38
+ },
39
+ {
40
+ name: "extraArgs",
41
+ type: "string[]",
42
+ required: false,
43
+ default: [],
44
+ },
45
+ ];
46
+
47
+ // Every renderer with typed inputs in CLI name order. rendererCatalogue is built
48
+ // from this list. Types are string, number, boolean, string[], number[], object,
49
+ // or object[]. A parameter is required only when the renderer cannot produce
50
+ // output without it. A renderer that normalises a missing value to an empty
51
+ // list or string has a default, so that parameter is optional. Parameters are
52
+ // listed in the renderer's own argument order. When a parameter's name would clash
53
+ // with a reserved word or an existing wrapper name in another language, its
54
+ // languageNames entry gives the name to use there, for example nextStepBlock
55
+ // takes next, which the Python wrapper calls next_step. Adapter-specific hints
56
+ // record stricter required inputs, singular list inputs (the Python parameter
57
+ // name), or compatibility-only omissions without changing the JavaScript
58
+ // renderer contract.
59
+ const rendererDefinitions = [
60
+ {
61
+ name: "agent-transcript",
62
+ category: "pattern",
63
+ api: "agentTranscript",
64
+ params: [
65
+ {
66
+ name: "entries",
67
+ type: "object[]",
68
+ required: false,
69
+ default: [],
70
+ },
71
+ {
72
+ name: "title",
73
+ type: "string",
74
+ required: false,
75
+ default: null,
76
+ },
77
+ ],
78
+ fixture: "agent-transcript",
79
+ },
80
+ {
81
+ name: "audit-finding",
82
+ category: "pattern",
83
+ api: "auditFinding",
84
+ params: [
85
+ {
86
+ name: "result",
87
+ type: "string",
88
+ required: false,
89
+ default: "unknown",
90
+ adapterRequired: true,
91
+ },
92
+ {
93
+ name: "finding",
94
+ type: "string",
95
+ required: false,
96
+ default: "",
97
+ adapterRequired: true,
98
+ },
99
+ {
100
+ name: "location",
101
+ type: "string",
102
+ required: false,
103
+ default: "",
104
+ },
105
+ {
106
+ name: "recommendation",
107
+ type: "string",
108
+ required: false,
109
+ default: "",
110
+ },
111
+ {
112
+ name: "evidence",
113
+ type: "string[]",
114
+ required: false,
115
+ default: [],
116
+ singular: "evidence",
117
+ },
118
+ {
119
+ name: "references",
120
+ type: "string[]",
121
+ required: false,
122
+ default: [],
123
+ singular: "reference",
124
+ },
125
+ {
126
+ name: "title",
127
+ type: "string",
128
+ required: false,
129
+ default: null,
130
+ adapterOmit: true,
131
+ },
132
+ ],
133
+ fixture: "audit-finding",
134
+ },
135
+ {
136
+ name: "bar-chart",
137
+ category: "primitive",
138
+ api: "barChart",
139
+ params: [
140
+ {
141
+ name: "rows",
142
+ type: "object[]",
143
+ required: false,
144
+ default: [],
145
+ },
146
+ {
147
+ name: "barWidth",
148
+ type: "number",
149
+ required: false,
150
+ default: null,
151
+ },
152
+ ],
153
+ fixture: undefined,
154
+ },
155
+ {
156
+ name: "bullet-list",
157
+ category: "primitive",
158
+ api: "bulletList",
159
+ params: [
160
+ {
161
+ name: "items",
162
+ type: "object[]",
163
+ required: false,
164
+ default: [],
165
+ adapterRequired: true,
166
+ },
167
+ {
168
+ name: "wrapWidth",
169
+ type: "number",
170
+ required: false,
171
+ default: null,
172
+ adapterOmit: true,
173
+ },
174
+ ],
175
+ fixture: undefined,
176
+ },
177
+ {
178
+ name: "chip",
179
+ category: "primitive",
180
+ api: "chip",
181
+ params: [
182
+ {
183
+ name: "label",
184
+ type: "string",
185
+ required: true,
186
+ default: null,
187
+ },
188
+ {
189
+ name: "tone",
190
+ type: "string",
191
+ required: false,
192
+ default: "neutral",
193
+ },
194
+ ],
195
+ fixture: undefined,
196
+ },
197
+ {
198
+ name: "command-result",
199
+ category: "pattern",
200
+ api: "commandResult",
201
+ params: [
202
+ {
203
+ name: "result",
204
+ type: "string",
205
+ required: false,
206
+ default: "unknown",
207
+ adapterRequired: true,
208
+ },
209
+ {
210
+ name: "summary",
211
+ type: "string",
212
+ required: false,
213
+ default: "",
214
+ adapterRequired: true,
215
+ },
216
+ {
217
+ name: "command",
218
+ type: "string",
219
+ required: false,
220
+ default: "",
221
+ },
222
+ {
223
+ name: "exitCode",
224
+ type: "number",
225
+ required: false,
226
+ default: null,
227
+ },
228
+ {
229
+ name: "duration",
230
+ type: "string",
231
+ required: false,
232
+ default: "",
233
+ },
234
+ {
235
+ name: "details",
236
+ type: "string[]",
237
+ required: false,
238
+ default: [],
239
+ singular: "detail",
240
+ },
241
+ {
242
+ name: "title",
243
+ type: "string",
244
+ required: false,
245
+ default: null,
246
+ adapterOmit: true,
247
+ },
248
+ ],
249
+ fixture: "command-result",
250
+ },
251
+ {
252
+ name: "compact-data-table",
253
+ category: "pattern",
254
+ api: "compactDataTable",
255
+ params: [
256
+ {
257
+ name: "columns",
258
+ type: "object[]",
259
+ required: true,
260
+ default: null,
261
+ adapterRequired: true,
262
+ },
263
+ {
264
+ name: "rows",
265
+ type: "object[]",
266
+ required: true,
267
+ default: null,
268
+ adapterRequired: true,
269
+ },
270
+ {
271
+ name: "summary",
272
+ type: "string",
273
+ required: false,
274
+ default: "",
275
+ },
276
+ {
277
+ name: "title",
278
+ type: "string",
279
+ required: false,
280
+ default: null,
281
+ },
282
+ ],
283
+ fixture: "compact-data-table",
284
+ },
285
+ {
286
+ name: "confirmation-result",
287
+ category: "pattern",
288
+ api: "confirmationResult",
289
+ params: [
290
+ {
291
+ name: "state",
292
+ type: "string",
293
+ required: false,
294
+ default: "unknown",
295
+ adapterRequired: true,
296
+ },
297
+ {
298
+ name: "action",
299
+ type: "string",
300
+ required: false,
301
+ default: "",
302
+ adapterRequired: true,
303
+ },
304
+ {
305
+ name: "item",
306
+ type: "string",
307
+ required: false,
308
+ default: "",
309
+ },
310
+ {
311
+ name: "detail",
312
+ type: "string",
313
+ required: false,
314
+ default: "",
315
+ },
316
+ {
317
+ name: "title",
318
+ type: "string",
319
+ required: false,
320
+ default: null,
321
+ adapterOmit: true,
322
+ },
323
+ ],
324
+ fixture: "confirmation-result",
325
+ },
326
+ {
327
+ name: "diagnostic-report",
328
+ category: "pattern",
329
+ api: "diagnosticReport",
330
+ params: [
331
+ {
332
+ name: "title",
333
+ type: "string",
334
+ required: false,
335
+ default: null,
336
+ },
337
+ {
338
+ name: "checks",
339
+ type: "object[]",
340
+ required: false,
341
+ default: [],
342
+ },
343
+ {
344
+ name: "findings",
345
+ type: "object[]",
346
+ required: false,
347
+ default: [],
348
+ },
349
+ {
350
+ name: "skippedChecks",
351
+ type: "object[]",
352
+ required: false,
353
+ default: [],
354
+ },
355
+ {
356
+ name: "nextActions",
357
+ type: "string[]",
358
+ required: false,
359
+ default: [],
360
+ },
361
+ ],
362
+ fixture: "diagnostic-report",
363
+ },
364
+ {
365
+ name: "diff-block",
366
+ category: "pattern",
367
+ api: "diffBlock",
368
+ params: [
369
+ {
370
+ name: "lines",
371
+ type: "object[]",
372
+ required: false,
373
+ default: null,
374
+ },
375
+ {
376
+ name: "path",
377
+ type: "string",
378
+ required: false,
379
+ default: "",
380
+ },
381
+ {
382
+ name: "title",
383
+ type: "string",
384
+ required: false,
385
+ default: null,
386
+ },
387
+ ],
388
+ fixture: "diff-block",
389
+ },
390
+ {
391
+ name: "divider",
392
+ category: "primitive",
393
+ api: "divider",
394
+ params: [
395
+ {
396
+ name: "label",
397
+ type: "string",
398
+ required: false,
399
+ default: "",
400
+ },
401
+ {
402
+ name: "dividerWidth",
403
+ type: "number",
404
+ required: false,
405
+ default: null,
406
+ },
407
+ {
408
+ name: "character",
409
+ type: "string",
410
+ required: false,
411
+ default: "-",
412
+ adapterOmit: true,
413
+ },
414
+ {
415
+ name: "dividerColour",
416
+ type: "string",
417
+ required: false,
418
+ default: null,
419
+ },
420
+ {
421
+ name: "labelColour",
422
+ type: "string",
423
+ required: false,
424
+ default: null,
425
+ },
426
+ ],
427
+ fixture: undefined,
428
+ },
429
+ {
430
+ name: "empty-state",
431
+ category: "primitive",
432
+ api: "emptyState",
433
+ params: [
434
+ {
435
+ name: "title",
436
+ type: "string",
437
+ required: false,
438
+ default: "No results",
439
+ },
440
+ {
441
+ name: "detail",
442
+ type: "string",
443
+ required: false,
444
+ default: "",
445
+ },
446
+ ],
447
+ fixture: undefined,
448
+ },
449
+ {
450
+ name: "error-block",
451
+ category: "primitive",
452
+ api: "errorBlock",
453
+ params: [
454
+ {
455
+ name: "title",
456
+ type: "string",
457
+ required: false,
458
+ default: "Failed",
459
+ },
460
+ {
461
+ name: "lines",
462
+ type: "string[]",
463
+ required: false,
464
+ default: [],
465
+ },
466
+ ],
467
+ fixture: undefined,
468
+ },
469
+ {
470
+ name: "hint",
471
+ category: "primitive",
472
+ api: "hint",
473
+ params: [
474
+ {
475
+ name: "message",
476
+ type: "string",
477
+ required: false,
478
+ default: "",
479
+ adapterRequired: true,
480
+ },
481
+ ],
482
+ fixture: undefined,
483
+ },
484
+ {
485
+ name: "labelled-line",
486
+ category: "primitive",
487
+ api: "labelledLine",
488
+ params: [
489
+ {
490
+ name: "label",
491
+ type: "string",
492
+ required: false,
493
+ default: "",
494
+ },
495
+ {
496
+ name: "message",
497
+ type: "string",
498
+ required: false,
499
+ default: "",
500
+ },
501
+ {
502
+ name: "icon",
503
+ type: "string",
504
+ required: false,
505
+ default: "",
506
+ },
507
+ {
508
+ name: "tone",
509
+ type: "string",
510
+ required: false,
511
+ default: "info",
512
+ },
513
+ {
514
+ name: "wrap",
515
+ type: "boolean",
516
+ required: false,
517
+ default: true,
518
+ },
519
+ {
520
+ name: "wrapWidth",
521
+ type: "number",
522
+ required: false,
523
+ default: null,
524
+ },
525
+ ],
526
+ fixture: undefined,
527
+ },
528
+ {
529
+ name: "next-step-block",
530
+ category: "pattern",
531
+ api: "nextStepBlock",
532
+ params: [
533
+ {
534
+ name: "next",
535
+ type: "string",
536
+ required: false,
537
+ default: "",
538
+ adapterRequired: true,
539
+ languageNames: {
540
+ python: "next_step",
541
+ swift: "nextStep",
542
+ },
543
+ },
544
+ {
545
+ name: "reason",
546
+ type: "string",
547
+ required: false,
548
+ default: "",
549
+ },
550
+ {
551
+ name: "title",
552
+ type: "string",
553
+ required: false,
554
+ default: null,
555
+ adapterOmit: true,
556
+ },
557
+ {
558
+ name: "commands",
559
+ type: "string[]",
560
+ required: false,
561
+ default: [],
562
+ singular: "command",
563
+ },
564
+ {
565
+ name: "alternatives",
566
+ type: "string[]",
567
+ required: false,
568
+ default: [],
569
+ singular: "alternative",
570
+ },
571
+ ],
572
+ fixture: "next-step-block",
573
+ },
574
+ {
575
+ name: "panel",
576
+ category: "primitive",
577
+ api: "panel",
578
+ params: [
579
+ {
580
+ name: "lines",
581
+ type: "string[]",
582
+ required: false,
583
+ default: [],
584
+ },
585
+ {
586
+ name: "title",
587
+ type: "string",
588
+ required: false,
589
+ default: null,
590
+ },
591
+ {
592
+ name: "tone",
593
+ type: "string",
594
+ required: false,
595
+ default: "info",
596
+ },
597
+ {
598
+ name: "panelWidth",
599
+ type: "number",
600
+ required: false,
601
+ default: null,
602
+ },
603
+ ],
604
+ fixture: undefined,
605
+ },
606
+ {
607
+ name: "progress-bar",
608
+ category: "primitive",
609
+ api: "progressBar",
610
+ params: [
611
+ {
612
+ name: "max",
613
+ type: "number",
614
+ required: false,
615
+ default: 100,
616
+ },
617
+ {
618
+ name: "value",
619
+ type: "number",
620
+ required: false,
621
+ default: 0,
622
+ },
623
+ {
624
+ name: "barWidth",
625
+ type: "number",
626
+ required: false,
627
+ default: null,
628
+ },
629
+ {
630
+ name: "tone",
631
+ type: "string",
632
+ required: false,
633
+ default: "success",
634
+ },
635
+ ],
636
+ fixture: undefined,
637
+ },
638
+ {
639
+ name: "row",
640
+ category: "primitive",
641
+ api: "row",
642
+ params: [
643
+ {
644
+ name: "label",
645
+ type: "string",
646
+ required: true,
647
+ default: null,
648
+ adapterRequired: true,
649
+ },
650
+ {
651
+ name: "value",
652
+ type: "string",
653
+ required: false,
654
+ default: "",
655
+ adapterRequired: true,
656
+ },
657
+ {
658
+ name: "result",
659
+ type: "string",
660
+ required: false,
661
+ default: "",
662
+ },
663
+ {
664
+ name: "labelWidth",
665
+ type: "number",
666
+ required: false,
667
+ default: null,
668
+ },
669
+ {
670
+ name: "labelColour",
671
+ type: "string",
672
+ required: false,
673
+ default: null,
674
+ },
675
+ {
676
+ name: "valueColour",
677
+ type: "string",
678
+ required: false,
679
+ default: null,
680
+ },
681
+ {
682
+ name: "separator",
683
+ type: "string",
684
+ required: false,
685
+ default: null,
686
+ },
687
+ {
688
+ name: "wrap",
689
+ type: "boolean",
690
+ required: false,
691
+ default: true,
692
+ adapterOmit: true,
693
+ },
694
+ {
695
+ name: "wrapWidth",
696
+ type: "number",
697
+ required: false,
698
+ default: null,
699
+ adapterOmit: true,
700
+ },
701
+ ],
702
+ fixture: undefined,
703
+ },
704
+ {
705
+ name: "row-group",
706
+ category: "primitive",
707
+ api: "rowGroup",
708
+ params: [
709
+ {
710
+ name: "rows",
711
+ type: "object[]",
712
+ required: false,
713
+ default: [],
714
+ adapterRequired: true,
715
+ },
716
+ {
717
+ name: "labelWidth",
718
+ type: "number",
719
+ required: false,
720
+ default: null,
721
+ },
722
+ {
723
+ name: "wrap",
724
+ type: "boolean",
725
+ required: false,
726
+ default: true,
727
+ adapterOmit: true,
728
+ },
729
+ {
730
+ name: "wrapWidth",
731
+ type: "number",
732
+ required: false,
733
+ default: null,
734
+ adapterOmit: true,
735
+ },
736
+ ],
737
+ fixture: undefined,
738
+ },
739
+ {
740
+ name: "sparkline",
741
+ category: "primitive",
742
+ api: "sparkline",
743
+ params: [
744
+ {
745
+ name: "values",
746
+ type: "number[]",
747
+ required: false,
748
+ default: [],
749
+ },
750
+ {
751
+ name: "width",
752
+ type: "number",
753
+ required: false,
754
+ default: null,
755
+ },
756
+ {
757
+ name: "label",
758
+ type: "string",
759
+ required: false,
760
+ default: null,
761
+ },
762
+ {
763
+ name: "tone",
764
+ type: "string",
765
+ required: false,
766
+ default: "success",
767
+ },
768
+ ],
769
+ fixture: "sparkline",
770
+ },
771
+ {
772
+ name: "span",
773
+ category: "primitive",
774
+ api: "span",
775
+ params: [
776
+ {
777
+ name: "value",
778
+ type: "string",
779
+ required: false,
780
+ default: "",
781
+ adapterRequired: true,
782
+ },
783
+ {
784
+ name: "tone",
785
+ type: "string",
786
+ required: false,
787
+ default: "info",
788
+ },
789
+ {
790
+ name: "weight",
791
+ type: "string",
792
+ required: false,
793
+ default: null,
794
+ },
795
+ ],
796
+ fixture: undefined,
797
+ },
798
+ {
799
+ name: "status",
800
+ category: "primitive",
801
+ api: "status",
802
+ params: [
803
+ {
804
+ name: "type",
805
+ type: "string",
806
+ required: false,
807
+ default: "unknown",
808
+ adapterRequired: true,
809
+ },
810
+ {
811
+ name: "label",
812
+ type: "string",
813
+ required: false,
814
+ default: "",
815
+ },
816
+ {
817
+ name: "detail",
818
+ type: "string",
819
+ required: false,
820
+ default: "",
821
+ },
822
+ ],
823
+ fixture: undefined,
824
+ },
825
+ {
826
+ name: "step",
827
+ category: "primitive",
828
+ api: "step",
829
+ params: [
830
+ {
831
+ name: "label",
832
+ type: "string",
833
+ required: false,
834
+ default: "",
835
+ },
836
+ {
837
+ name: "state",
838
+ type: "string",
839
+ required: false,
840
+ default: "pending",
841
+ },
842
+ ],
843
+ fixture: undefined,
844
+ },
845
+ {
846
+ name: "step-progress",
847
+ category: "primitive",
848
+ api: "stepProgress",
849
+ params: [
850
+ {
851
+ name: "current",
852
+ type: "number",
853
+ required: false,
854
+ default: 0,
855
+ },
856
+ {
857
+ name: "steps",
858
+ type: "string[]",
859
+ required: false,
860
+ default: [],
861
+ },
862
+ ],
863
+ fixture: undefined,
864
+ },
865
+ {
866
+ name: "table",
867
+ category: "primitive",
868
+ api: "table",
869
+ params: [
870
+ {
871
+ name: "columns",
872
+ type: "object[]",
873
+ required: false,
874
+ default: [],
875
+ adapterRequired: true,
876
+ },
877
+ {
878
+ name: "rows",
879
+ type: "object[]",
880
+ required: false,
881
+ default: [],
882
+ adapterRequired: true,
883
+ },
884
+ {
885
+ name: "unicode",
886
+ type: "boolean",
887
+ required: false,
888
+ default: null,
889
+ },
890
+ {
891
+ name: "width",
892
+ type: "number",
893
+ required: false,
894
+ default: null,
895
+ },
896
+ ],
897
+ fixture: undefined,
898
+ },
899
+ {
900
+ name: "task-summary",
901
+ category: "pattern",
902
+ api: "taskSummary",
903
+ params: [
904
+ {
905
+ name: "result",
906
+ type: "string",
907
+ required: false,
908
+ default: "unknown",
909
+ adapterRequired: true,
910
+ },
911
+ {
912
+ name: "task",
913
+ type: "string",
914
+ required: false,
915
+ default: "",
916
+ adapterRequired: true,
917
+ },
918
+ {
919
+ name: "title",
920
+ type: "string",
921
+ required: false,
922
+ default: null,
923
+ adapterOmit: true,
924
+ },
925
+ {
926
+ name: "summary",
927
+ type: "string",
928
+ required: false,
929
+ default: "",
930
+ },
931
+ {
932
+ name: "completed",
933
+ type: "string[]",
934
+ required: false,
935
+ default: [],
936
+ singular: "completed",
937
+ },
938
+ {
939
+ name: "remaining",
940
+ type: "string[]",
941
+ required: false,
942
+ default: [],
943
+ singular: "remaining",
944
+ },
945
+ ],
946
+ fixture: "task-summary",
947
+ },
948
+ ];
949
+
950
+ // Catalogue entries keep the pre-existing fields list, derived from params, so
951
+ // CLI discovery and render validation are unchanged by the typed descriptors.
952
+ export const rendererCatalogue = rendererDefinitions.map((renderer) => ({
953
+ api: renderer.api,
954
+ category: renderer.category,
955
+ fields: renderer.params.map((param) => param.name),
956
+ fixture: renderer.fixture,
957
+ name: renderer.name,
958
+ params: renderer.params,
959
+ purpose: `${renderer.api} renderer.`,
54
960
  }));
55
961
 
56
962
  // Stable CLI names derived from the catalogue.