@actioneer/ads-mcp 0.2.4 → 0.3.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 (2) hide show
  1. package/manifest.json +871 -73
  2. package/package.json +1 -1
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actioneer/ads",
3
- "version": "0.2.4",
3
+ "version": "0.3.0",
4
4
  "importPath": "@actioneer/ads",
5
5
  "styleImport": "@import \"@actioneer/ads/styles.css\";",
6
6
  "families": [
@@ -16,11 +16,11 @@
16
16
  "Chat"
17
17
  ],
18
18
  "counts": {
19
- "total": 593,
20
- "component": 297,
21
- "type": 245,
22
- "hook": 7,
23
- "util": 44
19
+ "total": 668,
20
+ "component": 322,
21
+ "type": 283,
22
+ "hook": 10,
23
+ "util": 53
24
24
  },
25
25
  "tokens": [
26
26
  {
@@ -430,6 +430,32 @@
430
430
  "description": "Use inline within a Text/paragraph to mark a literal token — a command, filename, variable, or short snippet — never as a block-level code display.",
431
431
  "showcaseUrl": "https://ads.actioneer.dev/#/typography"
432
432
  },
433
+ {
434
+ "name": "CodeBlock",
435
+ "family": "Foundations",
436
+ "kind": "component",
437
+ "importPath": "@actioneer/ads",
438
+ "module": "code-block",
439
+ "description": "Show a snippet that owns its own line — a query, config, or tool payload — with an optional filename/language header and copy control; use the inline Code for a token inside a sentence.",
440
+ "showcaseUrl": "https://ads.actioneer.dev/#/code-block",
441
+ "variants": {
442
+ "variant": {
443
+ "values": [
444
+ "soft",
445
+ "plain"
446
+ ],
447
+ "default": "soft"
448
+ }
449
+ },
450
+ "props": [
451
+ "code",
452
+ "language",
453
+ "filename",
454
+ "isCopyable",
455
+ "showLineNumbers",
456
+ "copyLabel"
457
+ ]
458
+ },
433
459
  {
434
460
  "name": "Divider",
435
461
  "family": "Foundations",
@@ -477,6 +503,38 @@
477
503
  "module": "field",
478
504
  "showcaseUrl": "https://ads.actioneer.dev/#/field"
479
505
  },
506
+ {
507
+ "name": "FileDropzone",
508
+ "family": "Foundations",
509
+ "kind": "component",
510
+ "importPath": "@actioneer/ads",
511
+ "module": "file-dropzone",
512
+ "showcaseUrl": "https://ads.actioneer.dev/#/review/file-dropzone",
513
+ "variants": {
514
+ "isDragging": {
515
+ "values": [
516
+ "true",
517
+ "false"
518
+ ]
519
+ },
520
+ "isDisabled": {
521
+ "values": [
522
+ "true",
523
+ "false"
524
+ ]
525
+ }
526
+ },
527
+ "props": [
528
+ "accept",
529
+ "multiple",
530
+ "disabled",
531
+ "onFiles",
532
+ "files",
533
+ "onClear",
534
+ "label",
535
+ "hint"
536
+ ]
537
+ },
480
538
  {
481
539
  "name": "Heading",
482
540
  "family": "Foundations",
@@ -522,6 +580,100 @@
522
580
  "isExternal"
523
581
  ]
524
582
  },
583
+ {
584
+ "name": "ResizablePanel",
585
+ "family": "Foundations",
586
+ "kind": "component",
587
+ "importPath": "@actioneer/ads",
588
+ "module": "resizable-panel",
589
+ "showcaseUrl": "https://ads.actioneer.dev/#/review/resizable-panel",
590
+ "props": [
591
+ "side",
592
+ "defaultSize",
593
+ "size",
594
+ "minSize",
595
+ "maxSize",
596
+ "step",
597
+ "onResize",
598
+ "label"
599
+ ]
600
+ },
601
+ {
602
+ "name": "Reveal",
603
+ "family": "Foundations",
604
+ "kind": "component",
605
+ "importPath": "@actioneer/ads",
606
+ "module": "reveal",
607
+ "description": "Choreograph a data surface's entrance instead of a skeleton swap: wrap the shell, labels, values, and charts in ordered Reveals so the layout lands instantly and the content draws itself in.",
608
+ "showcaseUrl": "https://ads.actioneer.dev/#/reveal"
609
+ },
610
+ {
611
+ "name": "RevealGroup",
612
+ "family": "Foundations",
613
+ "kind": "component",
614
+ "importPath": "@actioneer/ads",
615
+ "module": "reveal",
616
+ "showcaseUrl": "https://ads.actioneer.dev/#/reveal"
617
+ },
618
+ {
619
+ "name": "ScrollArea",
620
+ "family": "Foundations",
621
+ "kind": "component",
622
+ "importPath": "@actioneer/ads",
623
+ "module": "scroll-area",
624
+ "showcaseUrl": "https://ads.actioneer.dev/#/review/scroll-area",
625
+ "props": [
626
+ "orientation",
627
+ "viewportClassName"
628
+ ]
629
+ },
630
+ {
631
+ "name": "ScrollBar",
632
+ "family": "Foundations",
633
+ "kind": "component",
634
+ "importPath": "@actioneer/ads",
635
+ "module": "scroll-area",
636
+ "showcaseUrl": "https://ads.actioneer.dev/#/review/scroll-area"
637
+ },
638
+ {
639
+ "name": "SettingList",
640
+ "family": "Foundations",
641
+ "kind": "component",
642
+ "importPath": "@actioneer/ads",
643
+ "module": "setting-row",
644
+ "showcaseUrl": "https://ads.actioneer.dev/#/review/setting-row",
645
+ "variants": {
646
+ "isPressable": {
647
+ "values": [
648
+ "true",
649
+ "false"
650
+ ]
651
+ }
652
+ }
653
+ },
654
+ {
655
+ "name": "SettingRow",
656
+ "family": "Foundations",
657
+ "kind": "component",
658
+ "importPath": "@actioneer/ads",
659
+ "module": "setting-row",
660
+ "showcaseUrl": "https://ads.actioneer.dev/#/review/setting-row",
661
+ "variants": {
662
+ "isPressable": {
663
+ "values": [
664
+ "true",
665
+ "false"
666
+ ]
667
+ }
668
+ },
669
+ "props": [
670
+ "icon",
671
+ "label",
672
+ "description",
673
+ "action",
674
+ "onSelect"
675
+ ]
676
+ },
525
677
  {
526
678
  "name": "Spinner",
527
679
  "family": "Foundations",
@@ -557,6 +709,30 @@
557
709
  "label"
558
710
  ]
559
711
  },
712
+ {
713
+ "name": "Stepper",
714
+ "family": "Foundations",
715
+ "kind": "component",
716
+ "importPath": "@actioneer/ads",
717
+ "module": "stepper",
718
+ "showcaseUrl": "https://ads.actioneer.dev/#/review/stepper",
719
+ "variants": {
720
+ "status": {
721
+ "values": [
722
+ "complete",
723
+ "current",
724
+ "upcoming"
725
+ ],
726
+ "default": "upcoming"
727
+ }
728
+ },
729
+ "props": [
730
+ "steps",
731
+ "activeIndex",
732
+ "orientation",
733
+ "onSelect"
734
+ ]
735
+ },
560
736
  {
561
737
  "name": "Text",
562
738
  "family": "Foundations",
@@ -580,6 +756,13 @@
580
756
  "importPath": "@actioneer/ads",
581
757
  "module": "button"
582
758
  },
759
+ {
760
+ "name": "CodeBlockProps",
761
+ "family": "Foundations",
762
+ "kind": "type",
763
+ "importPath": "@actioneer/ads",
764
+ "module": "code-block"
765
+ },
583
766
  {
584
767
  "name": "DividerProps",
585
768
  "family": "Foundations",
@@ -594,6 +777,13 @@
594
777
  "importPath": "@actioneer/ads",
595
778
  "module": "field"
596
779
  },
780
+ {
781
+ "name": "FileDropzoneProps",
782
+ "family": "Foundations",
783
+ "kind": "type",
784
+ "importPath": "@actioneer/ads",
785
+ "module": "file-dropzone"
786
+ },
597
787
  {
598
788
  "name": "HeadingProps",
599
789
  "family": "Foundations",
@@ -615,6 +805,62 @@
615
805
  "importPath": "@actioneer/ads",
616
806
  "module": "link"
617
807
  },
808
+ {
809
+ "name": "ResizablePanelProps",
810
+ "family": "Foundations",
811
+ "kind": "type",
812
+ "importPath": "@actioneer/ads",
813
+ "module": "resizable-panel"
814
+ },
815
+ {
816
+ "name": "RevealGroupProps",
817
+ "family": "Foundations",
818
+ "kind": "type",
819
+ "importPath": "@actioneer/ads",
820
+ "module": "reveal"
821
+ },
822
+ {
823
+ "name": "RevealProps",
824
+ "family": "Foundations",
825
+ "kind": "type",
826
+ "importPath": "@actioneer/ads",
827
+ "module": "reveal"
828
+ },
829
+ {
830
+ "name": "RevealVariant",
831
+ "family": "Foundations",
832
+ "kind": "type",
833
+ "importPath": "@actioneer/ads",
834
+ "module": "reveal"
835
+ },
836
+ {
837
+ "name": "ScrollAreaProps",
838
+ "family": "Foundations",
839
+ "kind": "type",
840
+ "importPath": "@actioneer/ads",
841
+ "module": "scroll-area"
842
+ },
843
+ {
844
+ "name": "ScrollBarProps",
845
+ "family": "Foundations",
846
+ "kind": "type",
847
+ "importPath": "@actioneer/ads",
848
+ "module": "scroll-area"
849
+ },
850
+ {
851
+ "name": "SettingListProps",
852
+ "family": "Foundations",
853
+ "kind": "type",
854
+ "importPath": "@actioneer/ads",
855
+ "module": "setting-row"
856
+ },
857
+ {
858
+ "name": "SettingRowProps",
859
+ "family": "Foundations",
860
+ "kind": "type",
861
+ "importPath": "@actioneer/ads",
862
+ "module": "setting-row"
863
+ },
618
864
  {
619
865
  "name": "SpinnerProps",
620
866
  "family": "Foundations",
@@ -622,6 +868,27 @@
622
868
  "importPath": "@actioneer/ads",
623
869
  "module": "spinner"
624
870
  },
871
+ {
872
+ "name": "StepperProps",
873
+ "family": "Foundations",
874
+ "kind": "type",
875
+ "importPath": "@actioneer/ads",
876
+ "module": "stepper"
877
+ },
878
+ {
879
+ "name": "StepperStatus",
880
+ "family": "Foundations",
881
+ "kind": "type",
882
+ "importPath": "@actioneer/ads",
883
+ "module": "stepper"
884
+ },
885
+ {
886
+ "name": "StepperStep",
887
+ "family": "Foundations",
888
+ "kind": "type",
889
+ "importPath": "@actioneer/ads",
890
+ "module": "stepper"
891
+ },
625
892
  {
626
893
  "name": "TextProps",
627
894
  "family": "Foundations",
@@ -636,6 +903,20 @@
636
903
  "importPath": "@actioneer/ads",
637
904
  "module": "button"
638
905
  },
906
+ {
907
+ "name": "codeBlockVariants",
908
+ "family": "Foundations",
909
+ "kind": "util",
910
+ "importPath": "@actioneer/ads",
911
+ "module": "code-block"
912
+ },
913
+ {
914
+ "name": "fileDropzoneVariants",
915
+ "family": "Foundations",
916
+ "kind": "util",
917
+ "importPath": "@actioneer/ads",
918
+ "module": "file-dropzone"
919
+ },
639
920
  {
640
921
  "name": "inputBaseClass",
641
922
  "family": "Foundations",
@@ -643,6 +924,20 @@
643
924
  "importPath": "@actioneer/ads",
644
925
  "module": "field"
645
926
  },
927
+ {
928
+ "name": "settingRowVariants",
929
+ "family": "Foundations",
930
+ "kind": "util",
931
+ "importPath": "@actioneer/ads",
932
+ "module": "setting-row"
933
+ },
934
+ {
935
+ "name": "stepperMarkerVariants",
936
+ "family": "Foundations",
937
+ "kind": "util",
938
+ "importPath": "@actioneer/ads",
939
+ "module": "stepper"
940
+ },
646
941
  {
647
942
  "name": "Autocomplete",
648
943
  "family": "Form controls",
@@ -1680,7 +1975,7 @@
1680
1975
  "kind": "component",
1681
1976
  "importPath": "@actioneer/ads",
1682
1977
  "module": "chart",
1683
- "showcaseUrl": "https://ads.actioneer.dev/#/chart",
1978
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
1684
1979
  "props": [
1685
1980
  "curve",
1686
1981
  "stacked",
@@ -1758,12 +2053,20 @@
1758
2053
  "kind": "component",
1759
2054
  "importPath": "@actioneer/ads",
1760
2055
  "module": "chart",
1761
- "showcaseUrl": "https://ads.actioneer.dev/#/chart",
2056
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
1762
2057
  "props": [
1763
2058
  "stacked",
1764
2059
  "layout"
1765
2060
  ]
1766
2061
  },
2062
+ {
2063
+ "name": "BaseEdge",
2064
+ "family": "Data display",
2065
+ "kind": "component",
2066
+ "importPath": "@actioneer/ads",
2067
+ "module": "infinite-canvas",
2068
+ "showcaseUrl": "https://ads.actioneer.dev/#/infinite-canvas"
2069
+ },
1767
2070
  {
1768
2071
  "name": "BreakdownAnswer",
1769
2072
  "family": "Data display",
@@ -1950,7 +2253,7 @@
1950
2253
  "kind": "component",
1951
2254
  "importPath": "@actioneer/ads",
1952
2255
  "module": "chart",
1953
- "showcaseUrl": "https://ads.actioneer.dev/#/chart",
2256
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
1954
2257
  "props": [
1955
2258
  "lineKeys",
1956
2259
  "dualAxis",
@@ -1988,7 +2291,7 @@
1988
2291
  "kind": "component",
1989
2292
  "importPath": "@actioneer/ads",
1990
2293
  "module": "chart",
1991
- "showcaseUrl": "https://ads.actioneer.dev/#/chart"
2294
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart"
1992
2295
  },
1993
2296
  {
1994
2297
  "name": "ConnectionStatus",
@@ -2016,6 +2319,14 @@
2016
2319
  "onOpen"
2017
2320
  ]
2018
2321
  },
2322
+ {
2323
+ "name": "EdgeLabelRenderer",
2324
+ "family": "Data display",
2325
+ "kind": "component",
2326
+ "importPath": "@actioneer/ads",
2327
+ "module": "infinite-canvas",
2328
+ "showcaseUrl": "https://ads.actioneer.dev/#/infinite-canvas"
2329
+ },
2019
2330
  {
2020
2331
  "name": "ExplanationAnswer",
2021
2332
  "family": "Data display",
@@ -2046,7 +2357,7 @@
2046
2357
  "kind": "component",
2047
2358
  "importPath": "@actioneer/ads",
2048
2359
  "module": "chart",
2049
- "showcaseUrl": "https://ads.actioneer.dev/#/chart",
2360
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
2050
2361
  "props": [
2051
2362
  "data",
2052
2363
  "nameKey",
@@ -2059,25 +2370,72 @@
2059
2370
  "className"
2060
2371
  ]
2061
2372
  },
2373
+ {
2374
+ "name": "Handle",
2375
+ "family": "Data display",
2376
+ "kind": "component",
2377
+ "importPath": "@actioneer/ads",
2378
+ "module": "infinite-canvas",
2379
+ "showcaseUrl": "https://ads.actioneer.dev/#/infinite-canvas"
2380
+ },
2381
+ {
2382
+ "name": "InfiniteCanvas",
2383
+ "family": "Data display",
2384
+ "kind": "component",
2385
+ "importPath": "@actioneer/ads",
2386
+ "module": "infinite-canvas",
2387
+ "description": "Lay out a node graph or workflow on a pan/zoom surface — pass nodes, edges, and your own nodeTypes; the canvas owns the grid, edges, zoom cluster, snap toggle, and toolbar slots. Use readOnly for a canvas that explains rather than edits.",
2388
+ "showcaseUrl": "https://ads.actioneer.dev/#/infinite-canvas",
2389
+ "props": [
2390
+ "nodes",
2391
+ "edges",
2392
+ "nodeTypes",
2393
+ "edgeTypes",
2394
+ "onNodesChange",
2395
+ "onEdgesChange",
2396
+ "onNodeClick",
2397
+ "onPaneClick",
2398
+ "onInit",
2399
+ "readOnly",
2400
+ "minZoom",
2401
+ "maxZoom",
2402
+ "fitViewPadding",
2403
+ "snapToGrid",
2404
+ "onSnapToGridChange",
2405
+ "snapGrid",
2406
+ "showControls",
2407
+ "showSnapToGrid",
2408
+ "toolbarStart",
2409
+ "toolbarEnd"
2410
+ ]
2411
+ },
2062
2412
  {
2063
2413
  "name": "LineChart",
2064
2414
  "family": "Data display",
2065
2415
  "kind": "component",
2066
2416
  "importPath": "@actioneer/ads",
2067
2417
  "module": "chart",
2068
- "showcaseUrl": "https://ads.actioneer.dev/#/chart",
2418
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
2069
2419
  "props": [
2070
2420
  "curve",
2071
2421
  "forecastKeys"
2072
2422
  ]
2073
2423
  },
2424
+ {
2425
+ "name": "MarkerType",
2426
+ "family": "Data display",
2427
+ "kind": "component",
2428
+ "importPath": "@actioneer/ads",
2429
+ "module": "infinite-canvas",
2430
+ "showcaseUrl": "https://ads.actioneer.dev/#/infinite-canvas"
2431
+ },
2074
2432
  {
2075
2433
  "name": "PieChart",
2076
2434
  "family": "Data display",
2077
2435
  "kind": "component",
2078
2436
  "importPath": "@actioneer/ads",
2079
2437
  "module": "chart",
2080
- "showcaseUrl": "https://ads.actioneer.dev/#/chart",
2438
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
2081
2439
  "props": [
2082
2440
  "data",
2083
2441
  "nameKey",
@@ -2092,13 +2450,21 @@
2092
2450
  "className"
2093
2451
  ]
2094
2452
  },
2453
+ {
2454
+ "name": "Position",
2455
+ "family": "Data display",
2456
+ "kind": "component",
2457
+ "importPath": "@actioneer/ads",
2458
+ "module": "infinite-canvas",
2459
+ "showcaseUrl": "https://ads.actioneer.dev/#/infinite-canvas"
2460
+ },
2095
2461
  {
2096
2462
  "name": "RadarChart",
2097
2463
  "family": "Data display",
2098
2464
  "kind": "component",
2099
2465
  "importPath": "@actioneer/ads",
2100
2466
  "module": "chart",
2101
- "showcaseUrl": "https://ads.actioneer.dev/#/chart"
2467
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart"
2102
2468
  },
2103
2469
  {
2104
2470
  "name": "RadialBarChart",
@@ -2106,7 +2472,7 @@
2106
2472
  "kind": "component",
2107
2473
  "importPath": "@actioneer/ads",
2108
2474
  "module": "chart",
2109
- "showcaseUrl": "https://ads.actioneer.dev/#/chart",
2475
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
2110
2476
  "props": [
2111
2477
  "data",
2112
2478
  "nameKey",
@@ -2120,13 +2486,21 @@
2120
2486
  "className"
2121
2487
  ]
2122
2488
  },
2489
+ {
2490
+ "name": "ReactFlowProvider",
2491
+ "family": "Data display",
2492
+ "kind": "component",
2493
+ "importPath": "@actioneer/ads",
2494
+ "module": "infinite-canvas",
2495
+ "showcaseUrl": "https://ads.actioneer.dev/#/infinite-canvas"
2496
+ },
2123
2497
  {
2124
2498
  "name": "ScatterChart",
2125
2499
  "family": "Data display",
2126
2500
  "kind": "component",
2127
2501
  "importPath": "@actioneer/ads",
2128
2502
  "module": "chart",
2129
- "showcaseUrl": "https://ads.actioneer.dev/#/chart",
2503
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
2130
2504
  "props": [
2131
2505
  "data",
2132
2506
  "xKey",
@@ -2363,7 +2737,7 @@
2363
2737
  "kind": "component",
2364
2738
  "importPath": "@actioneer/ads",
2365
2739
  "module": "tabs",
2366
- "description": "Use Tabs to switch between mutually exclusive views/sections that share the same page context, not for page-level navigation.",
2740
+ "description": "Use Tabs to switch between mutually exclusive views/sections that share the same page context, not for page-level navigation. Always reach for the primary (pill) variant — it is the default; use secondary only when explicitly asked for it. When Tabs and a scoped search field coexist, compose one responsive control row with tabs leading and search trailing; do not stack search above tabs at widths where both fit.",
2367
2741
  "showcaseUrl": "https://ads.actioneer.dev/#/tabs",
2368
2742
  "variants": {
2369
2743
  "variant": {
@@ -2373,7 +2747,7 @@
2373
2747
  ],
2374
2748
  "default": "primary",
2375
2749
  "options": {
2376
- "primary": "Filled muted pill track with tabs sliding behind a shared elevated thumb; default choice for compact filter/mode switchers on tight surfaces.",
2750
+ "primary": "Filled muted pill track with tabs sliding behind a shared elevated thumb. The house default use it for every tab surface unless the underline is explicitly requested.",
2377
2751
  "secondary": "No pill background — a thin brand-colored underline (or side rail when vertical) slides beneath the active tab against a hairline rail; use for flush, lower-emphasis section tabs."
2378
2752
  }
2379
2753
  },
@@ -2506,7 +2880,7 @@
2506
2880
  "kind": "component",
2507
2881
  "importPath": "@actioneer/ads",
2508
2882
  "module": "chart",
2509
- "showcaseUrl": "https://ads.actioneer.dev/#/chart",
2883
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
2510
2884
  "props": [
2511
2885
  "data",
2512
2886
  "nameKey",
@@ -2793,6 +3167,13 @@
2793
3167
  "importPath": "@actioneer/ads",
2794
3168
  "module": "chart"
2795
3169
  },
3170
+ {
3171
+ "name": "Connection",
3172
+ "family": "Data display",
3173
+ "kind": "type",
3174
+ "importPath": "@actioneer/ads",
3175
+ "module": "infinite-canvas"
3176
+ },
2796
3177
  {
2797
3178
  "name": "ConnectionStatusProps",
2798
3179
  "family": "Data display",
@@ -2842,6 +3223,27 @@
2842
3223
  "importPath": "@actioneer/ads",
2843
3224
  "module": "connector-card"
2844
3225
  },
3226
+ {
3227
+ "name": "Edge",
3228
+ "family": "Data display",
3229
+ "kind": "type",
3230
+ "importPath": "@actioneer/ads",
3231
+ "module": "infinite-canvas"
3232
+ },
3233
+ {
3234
+ "name": "EdgeProps",
3235
+ "family": "Data display",
3236
+ "kind": "type",
3237
+ "importPath": "@actioneer/ads",
3238
+ "module": "infinite-canvas"
3239
+ },
3240
+ {
3241
+ "name": "EdgeTypes",
3242
+ "family": "Data display",
3243
+ "kind": "type",
3244
+ "importPath": "@actioneer/ads",
3245
+ "module": "infinite-canvas"
3246
+ },
2845
3247
  {
2846
3248
  "name": "ExplanationAnswerProps",
2847
3249
  "family": "Data display",
@@ -2877,6 +3279,13 @@
2877
3279
  "importPath": "@actioneer/ads",
2878
3280
  "module": "chart"
2879
3281
  },
3282
+ {
3283
+ "name": "InfiniteCanvasProps",
3284
+ "family": "Data display",
3285
+ "kind": "type",
3286
+ "importPath": "@actioneer/ads",
3287
+ "module": "infinite-canvas"
3288
+ },
2880
3289
  {
2881
3290
  "name": "LineChartProps",
2882
3291
  "family": "Data display",
@@ -2884,6 +3293,41 @@
2884
3293
  "importPath": "@actioneer/ads",
2885
3294
  "module": "chart"
2886
3295
  },
3296
+ {
3297
+ "name": "Node",
3298
+ "family": "Data display",
3299
+ "kind": "type",
3300
+ "importPath": "@actioneer/ads",
3301
+ "module": "infinite-canvas"
3302
+ },
3303
+ {
3304
+ "name": "NodeProps",
3305
+ "family": "Data display",
3306
+ "kind": "type",
3307
+ "importPath": "@actioneer/ads",
3308
+ "module": "infinite-canvas"
3309
+ },
3310
+ {
3311
+ "name": "NodeTypes",
3312
+ "family": "Data display",
3313
+ "kind": "type",
3314
+ "importPath": "@actioneer/ads",
3315
+ "module": "infinite-canvas"
3316
+ },
3317
+ {
3318
+ "name": "OnEdgesChange",
3319
+ "family": "Data display",
3320
+ "kind": "type",
3321
+ "importPath": "@actioneer/ads",
3322
+ "module": "infinite-canvas"
3323
+ },
3324
+ {
3325
+ "name": "OnNodesChange",
3326
+ "family": "Data display",
3327
+ "kind": "type",
3328
+ "importPath": "@actioneer/ads",
3329
+ "module": "infinite-canvas"
3330
+ },
2887
3331
  {
2888
3332
  "name": "PieChartProps",
2889
3333
  "family": "Data display",
@@ -2905,6 +3349,13 @@
2905
3349
  "importPath": "@actioneer/ads",
2906
3350
  "module": "chart"
2907
3351
  },
3352
+ {
3353
+ "name": "ReactFlowInstance",
3354
+ "family": "Data display",
3355
+ "kind": "type",
3356
+ "importPath": "@actioneer/ads",
3357
+ "module": "infinite-canvas"
3358
+ },
2908
3359
  {
2909
3360
  "name": "ScatterChartProps",
2910
3361
  "family": "Data display",
@@ -3046,18 +3497,53 @@
3046
3497
  "module": "chart"
3047
3498
  },
3048
3499
  {
3049
- "name": "TrendAnswerProps",
3500
+ "name": "TrendAnswerProps",
3501
+ "family": "Data display",
3502
+ "kind": "type",
3503
+ "importPath": "@actioneer/ads",
3504
+ "module": "answer"
3505
+ },
3506
+ {
3507
+ "name": "TrendAnswerSpec",
3508
+ "family": "Data display",
3509
+ "kind": "type",
3510
+ "importPath": "@actioneer/ads",
3511
+ "module": "answer"
3512
+ },
3513
+ {
3514
+ "name": "Viewport",
3515
+ "family": "Data display",
3516
+ "kind": "type",
3517
+ "importPath": "@actioneer/ads",
3518
+ "module": "infinite-canvas"
3519
+ },
3520
+ {
3521
+ "name": "useEdgesState",
3522
+ "family": "Data display",
3523
+ "kind": "hook",
3524
+ "importPath": "@actioneer/ads",
3525
+ "module": "infinite-canvas"
3526
+ },
3527
+ {
3528
+ "name": "useNodesState",
3529
+ "family": "Data display",
3530
+ "kind": "hook",
3531
+ "importPath": "@actioneer/ads",
3532
+ "module": "infinite-canvas"
3533
+ },
3534
+ {
3535
+ "name": "useReactFlow",
3050
3536
  "family": "Data display",
3051
- "kind": "type",
3537
+ "kind": "hook",
3052
3538
  "importPath": "@actioneer/ads",
3053
- "module": "answer"
3539
+ "module": "infinite-canvas"
3054
3540
  },
3055
3541
  {
3056
- "name": "TrendAnswerSpec",
3542
+ "name": "addEdge",
3057
3543
  "family": "Data display",
3058
- "kind": "type",
3544
+ "kind": "util",
3059
3545
  "importPath": "@actioneer/ads",
3060
- "module": "answer"
3546
+ "module": "infinite-canvas"
3061
3547
  },
3062
3548
  {
3063
3549
  "name": "ANSWER_TOOL_DESCRIPTION",
@@ -3143,6 +3629,27 @@
3143
3629
  "importPath": "@actioneer/ads",
3144
3630
  "module": "answer"
3145
3631
  },
3632
+ {
3633
+ "name": "getBezierPath",
3634
+ "family": "Data display",
3635
+ "kind": "util",
3636
+ "importPath": "@actioneer/ads",
3637
+ "module": "infinite-canvas"
3638
+ },
3639
+ {
3640
+ "name": "getSmoothStepPath",
3641
+ "family": "Data display",
3642
+ "kind": "util",
3643
+ "importPath": "@actioneer/ads",
3644
+ "module": "infinite-canvas"
3645
+ },
3646
+ {
3647
+ "name": "getStraightPath",
3648
+ "family": "Data display",
3649
+ "kind": "util",
3650
+ "importPath": "@actioneer/ads",
3651
+ "module": "infinite-canvas"
3652
+ },
3146
3653
  {
3147
3654
  "name": "StatusAnswerSchema",
3148
3655
  "family": "Data display",
@@ -3249,6 +3756,28 @@
3249
3756
  "hoverAnimate"
3250
3757
  ]
3251
3758
  },
3759
+ {
3760
+ "name": "BrandTexture",
3761
+ "family": "Feedback",
3762
+ "kind": "component",
3763
+ "importPath": "@actioneer/ads",
3764
+ "module": "brand-texture",
3765
+ "description": "Place the ambient halftone wash behind a welcome or hero surface inside a relative container; set lifted when real content takes over so the field dissolves upward, and paused a beat later to stop the shader clock.",
3766
+ "showcaseUrl": "https://ads.actioneer.dev/#/brand-texture",
3767
+ "props": [
3768
+ "paused",
3769
+ "lifted",
3770
+ "speed"
3771
+ ]
3772
+ },
3773
+ {
3774
+ "name": "BrandTextureField",
3775
+ "family": "Feedback",
3776
+ "kind": "component",
3777
+ "importPath": "@actioneer/ads",
3778
+ "module": "brand-texture",
3779
+ "showcaseUrl": "https://ads.actioneer.dev/#/brand-texture"
3780
+ },
3252
3781
  {
3253
3782
  "name": "EmptyState",
3254
3783
  "family": "Feedback",
@@ -3357,6 +3886,13 @@
3357
3886
  "importPath": "@actioneer/ads",
3358
3887
  "module": "brand-loader"
3359
3888
  },
3889
+ {
3890
+ "name": "BrandTextureProps",
3891
+ "family": "Feedback",
3892
+ "kind": "type",
3893
+ "importPath": "@actioneer/ads",
3894
+ "module": "brand-texture"
3895
+ },
3360
3896
  {
3361
3897
  "name": "EmptyStateProps",
3362
3898
  "family": "Feedback",
@@ -3485,6 +4021,22 @@
3485
4021
  "isActive"
3486
4022
  ]
3487
4023
  },
4024
+ {
4025
+ "name": "PageHeader",
4026
+ "family": "Navigation",
4027
+ "kind": "component",
4028
+ "importPath": "@actioneer/ads",
4029
+ "module": "page-header",
4030
+ "description": "Use for every page title row; supply onBack to anchor an icon-only back arrow immediately before the title, never in the trailing actions area.",
4031
+ "showcaseUrl": "https://ads.actioneer.dev/#/page-header",
4032
+ "props": [
4033
+ "title",
4034
+ "description",
4035
+ "onBack",
4036
+ "backLabel",
4037
+ "actions"
4038
+ ]
4039
+ },
3488
4040
  {
3489
4041
  "name": "Pagination",
3490
4042
  "family": "Navigation",
@@ -3668,6 +4220,13 @@
3668
4220
  "importPath": "@actioneer/ads",
3669
4221
  "module": "navbar"
3670
4222
  },
4223
+ {
4224
+ "name": "PageHeaderProps",
4225
+ "family": "Navigation",
4226
+ "kind": "type",
4227
+ "importPath": "@actioneer/ads",
4228
+ "module": "page-header"
4229
+ },
3671
4230
  {
3672
4231
  "name": "PaginationProps",
3673
4232
  "family": "Navigation",
@@ -3843,6 +4402,45 @@
3843
4402
  "importPath": "@actioneer/ads",
3844
4403
  "module": "selection-action-bar"
3845
4404
  },
4405
+ {
4406
+ "name": "AIChart",
4407
+ "family": "AI Elements",
4408
+ "kind": "component",
4409
+ "importPath": "@actioneer/ads",
4410
+ "module": "chart",
4411
+ "description": "Wrap a source-backed chart produced during agent work so its query, partial-data, rendering, ready, error, and cancelled states stay distinct from the chart specification itself.",
4412
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chart",
4413
+ "variants": {
4414
+ "status": {
4415
+ "values": [
4416
+ "pending",
4417
+ "querying",
4418
+ "partial",
4419
+ "rendering",
4420
+ "ready",
4421
+ "error",
4422
+ "cancelled"
4423
+ ],
4424
+ "default": "ready"
4425
+ }
4426
+ },
4427
+ "props": [
4428
+ "title",
4429
+ "tag",
4430
+ "source",
4431
+ "progress",
4432
+ "elapsed",
4433
+ "meta",
4434
+ "accessibleSummary",
4435
+ "open",
4436
+ "defaultOpen",
4437
+ "onOpenChange",
4438
+ "onSourceSelect",
4439
+ "errorContent",
4440
+ "onRetry",
4441
+ "children"
4442
+ ]
4443
+ },
3846
4444
  {
3847
4445
  "name": "ChainOfThought",
3848
4446
  "family": "AI Elements",
@@ -3859,6 +4457,22 @@
3859
4457
  "module": "chain-of-thought",
3860
4458
  "showcaseUrl": "https://ads.actioneer.dev/#/ai/chain-of-thought"
3861
4459
  },
4460
+ {
4461
+ "name": "ChainOfThoughtEvidence",
4462
+ "family": "AI Elements",
4463
+ "kind": "component",
4464
+ "importPath": "@actioneer/ads",
4465
+ "module": "chain-of-thought",
4466
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chain-of-thought"
4467
+ },
4468
+ {
4469
+ "name": "ChainOfThoughtEvidenceTable",
4470
+ "family": "AI Elements",
4471
+ "kind": "component",
4472
+ "importPath": "@actioneer/ads",
4473
+ "module": "chain-of-thought",
4474
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chain-of-thought"
4475
+ },
3862
4476
  {
3863
4477
  "name": "ChainOfThoughtImage",
3864
4478
  "family": "AI Elements",
@@ -3875,6 +4489,22 @@
3875
4489
  "module": "chain-of-thought",
3876
4490
  "showcaseUrl": "https://ads.actioneer.dev/#/ai/chain-of-thought"
3877
4491
  },
4492
+ {
4493
+ "name": "ChainOfThoughtMetric",
4494
+ "family": "AI Elements",
4495
+ "kind": "component",
4496
+ "importPath": "@actioneer/ads",
4497
+ "module": "chain-of-thought",
4498
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chain-of-thought"
4499
+ },
4500
+ {
4501
+ "name": "ChainOfThoughtMetrics",
4502
+ "family": "AI Elements",
4503
+ "kind": "component",
4504
+ "importPath": "@actioneer/ads",
4505
+ "module": "chain-of-thought",
4506
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/chain-of-thought"
4507
+ },
3878
4508
  {
3879
4509
  "name": "ChainOfThoughtSearchResult",
3880
4510
  "family": "AI Elements",
@@ -4063,9 +4693,10 @@
4063
4693
  "values": [
4064
4694
  "contained",
4065
4695
  "flat",
4066
- "plain"
4696
+ "plain",
4697
+ "request"
4067
4698
  ],
4068
- "default": "contained"
4699
+ "default": "request"
4069
4700
  }
4070
4701
  }
4071
4702
  },
@@ -4088,9 +4719,10 @@
4088
4719
  "values": [
4089
4720
  "contained",
4090
4721
  "flat",
4091
- "plain"
4722
+ "plain",
4723
+ "request"
4092
4724
  ],
4093
- "default": "contained"
4725
+ "default": "request"
4094
4726
  }
4095
4727
  }
4096
4728
  },
@@ -4113,9 +4745,10 @@
4113
4745
  "values": [
4114
4746
  "contained",
4115
4747
  "flat",
4116
- "plain"
4748
+ "plain",
4749
+ "request"
4117
4750
  ],
4118
- "default": "contained"
4751
+ "default": "request"
4119
4752
  }
4120
4753
  }
4121
4754
  },
@@ -4138,9 +4771,10 @@
4138
4771
  "values": [
4139
4772
  "contained",
4140
4773
  "flat",
4141
- "plain"
4774
+ "plain",
4775
+ "request"
4142
4776
  ],
4143
- "default": "contained"
4777
+ "default": "request"
4144
4778
  }
4145
4779
  }
4146
4780
  },
@@ -4163,9 +4797,10 @@
4163
4797
  "values": [
4164
4798
  "contained",
4165
4799
  "flat",
4166
- "plain"
4800
+ "plain",
4801
+ "request"
4167
4802
  ],
4168
- "default": "contained"
4803
+ "default": "request"
4169
4804
  }
4170
4805
  }
4171
4806
  },
@@ -4188,9 +4823,10 @@
4188
4823
  "values": [
4189
4824
  "contained",
4190
4825
  "flat",
4191
- "plain"
4826
+ "plain",
4827
+ "request"
4192
4828
  ],
4193
- "default": "contained"
4829
+ "default": "request"
4194
4830
  }
4195
4831
  }
4196
4832
  },
@@ -4213,9 +4849,10 @@
4213
4849
  "values": [
4214
4850
  "contained",
4215
4851
  "flat",
4216
- "plain"
4852
+ "plain",
4853
+ "request"
4217
4854
  ],
4218
- "default": "contained"
4855
+ "default": "request"
4219
4856
  }
4220
4857
  }
4221
4858
  },
@@ -4238,9 +4875,10 @@
4238
4875
  "values": [
4239
4876
  "contained",
4240
4877
  "flat",
4241
- "plain"
4878
+ "plain",
4879
+ "request"
4242
4880
  ],
4243
- "default": "contained"
4881
+ "default": "request"
4244
4882
  }
4245
4883
  }
4246
4884
  },
@@ -4263,9 +4901,10 @@
4263
4901
  "values": [
4264
4902
  "contained",
4265
4903
  "flat",
4266
- "plain"
4904
+ "plain",
4905
+ "request"
4267
4906
  ],
4268
- "default": "contained"
4907
+ "default": "request"
4269
4908
  }
4270
4909
  }
4271
4910
  },
@@ -4288,9 +4927,10 @@
4288
4927
  "values": [
4289
4928
  "contained",
4290
4929
  "flat",
4291
- "plain"
4930
+ "plain",
4931
+ "request"
4292
4932
  ],
4293
- "default": "contained"
4933
+ "default": "request"
4294
4934
  }
4295
4935
  }
4296
4936
  },
@@ -4313,9 +4953,10 @@
4313
4953
  "values": [
4314
4954
  "contained",
4315
4955
  "flat",
4316
- "plain"
4956
+ "plain",
4957
+ "request"
4317
4958
  ],
4318
- "default": "contained"
4959
+ "default": "request"
4319
4960
  }
4320
4961
  }
4321
4962
  },
@@ -4331,9 +4972,36 @@
4331
4972
  "values": [
4332
4973
  "contained",
4333
4974
  "flat",
4334
- "plain"
4975
+ "plain",
4976
+ "request"
4977
+ ],
4978
+ "default": "request"
4979
+ }
4980
+ }
4981
+ },
4982
+ {
4983
+ "name": "MessageMeta",
4984
+ "family": "AI Elements",
4985
+ "kind": "component",
4986
+ "importPath": "@actioneer/ads",
4987
+ "module": "message",
4988
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/message",
4989
+ "variants": {
4990
+ "align": {
4991
+ "values": [
4992
+ "start",
4993
+ "end"
4335
4994
  ],
4336
- "default": "contained"
4995
+ "default": "start"
4996
+ },
4997
+ "variant": {
4998
+ "values": [
4999
+ "contained",
5000
+ "flat",
5001
+ "plain",
5002
+ "request"
5003
+ ],
5004
+ "default": "request"
4337
5005
  }
4338
5006
  }
4339
5007
  },
@@ -4356,9 +5024,10 @@
4356
5024
  "values": [
4357
5025
  "contained",
4358
5026
  "flat",
4359
- "plain"
5027
+ "plain",
5028
+ "request"
4360
5029
  ],
4361
- "default": "contained"
5030
+ "default": "request"
4362
5031
  }
4363
5032
  }
4364
5033
  },
@@ -4381,9 +5050,10 @@
4381
5050
  "values": [
4382
5051
  "contained",
4383
5052
  "flat",
4384
- "plain"
5053
+ "plain",
5054
+ "request"
4385
5055
  ],
4386
- "default": "contained"
5056
+ "default": "request"
4387
5057
  }
4388
5058
  }
4389
5059
  },
@@ -4507,6 +5177,39 @@
4507
5177
  "module": "queue",
4508
5178
  "showcaseUrl": "https://ads.actioneer.dev/#/ai/queue"
4509
5179
  },
5180
+ {
5181
+ "name": "ResearchActivity",
5182
+ "family": "AI Elements",
5183
+ "kind": "component",
5184
+ "importPath": "@actioneer/ads",
5185
+ "module": "research-activity",
5186
+ "description": "Wrap a multi-step research trace that may run for minutes; pass activity so the run reads as one morphing live line with the full trace a click away, then settle into its source count, duration, and first-insight time.",
5187
+ "showcaseUrl": "https://ads.actioneer.dev/#/ai/research-activity",
5188
+ "variants": {
5189
+ "status": {
5190
+ "values": [
5191
+ "active",
5192
+ "complete"
5193
+ ]
5194
+ }
5195
+ },
5196
+ "props": [
5197
+ "status",
5198
+ "elapsed",
5199
+ "sourceCount",
5200
+ "firstInsight",
5201
+ "activity",
5202
+ "activityKey",
5203
+ "stepIndex",
5204
+ "stepCount",
5205
+ "summary",
5206
+ "sticky",
5207
+ "open",
5208
+ "defaultOpen",
5209
+ "onOpenChange",
5210
+ "children"
5211
+ ]
5212
+ },
4510
5213
  {
4511
5214
  "name": "Shimmer",
4512
5215
  "family": "AI Elements",
@@ -4723,6 +5426,27 @@
4723
5426
  "className"
4724
5427
  ]
4725
5428
  },
5429
+ {
5430
+ "name": "AIChartProgress",
5431
+ "family": "AI Elements",
5432
+ "kind": "type",
5433
+ "importPath": "@actioneer/ads",
5434
+ "module": "chart"
5435
+ },
5436
+ {
5437
+ "name": "AIChartProps",
5438
+ "family": "AI Elements",
5439
+ "kind": "type",
5440
+ "importPath": "@actioneer/ads",
5441
+ "module": "chart"
5442
+ },
5443
+ {
5444
+ "name": "AIChartStatus",
5445
+ "family": "AI Elements",
5446
+ "kind": "type",
5447
+ "importPath": "@actioneer/ads",
5448
+ "module": "chart"
5449
+ },
4726
5450
  {
4727
5451
  "name": "ChainOfThoughtContentProps",
4728
5452
  "family": "AI Elements",
@@ -4730,6 +5454,27 @@
4730
5454
  "importPath": "@actioneer/ads",
4731
5455
  "module": "chain-of-thought"
4732
5456
  },
5457
+ {
5458
+ "name": "ChainOfThoughtEvidenceColumn",
5459
+ "family": "AI Elements",
5460
+ "kind": "type",
5461
+ "importPath": "@actioneer/ads",
5462
+ "module": "chain-of-thought"
5463
+ },
5464
+ {
5465
+ "name": "ChainOfThoughtEvidenceProps",
5466
+ "family": "AI Elements",
5467
+ "kind": "type",
5468
+ "importPath": "@actioneer/ads",
5469
+ "module": "chain-of-thought"
5470
+ },
5471
+ {
5472
+ "name": "ChainOfThoughtEvidenceTableProps",
5473
+ "family": "AI Elements",
5474
+ "kind": "type",
5475
+ "importPath": "@actioneer/ads",
5476
+ "module": "chain-of-thought"
5477
+ },
4733
5478
  {
4734
5479
  "name": "ChainOfThoughtImageProps",
4735
5480
  "family": "AI Elements",
@@ -4744,6 +5489,20 @@
4744
5489
  "importPath": "@actioneer/ads",
4745
5490
  "module": "chain-of-thought"
4746
5491
  },
5492
+ {
5493
+ "name": "ChainOfThoughtMetricProps",
5494
+ "family": "AI Elements",
5495
+ "kind": "type",
5496
+ "importPath": "@actioneer/ads",
5497
+ "module": "chain-of-thought"
5498
+ },
5499
+ {
5500
+ "name": "ChainOfThoughtMetricsProps",
5501
+ "family": "AI Elements",
5502
+ "kind": "type",
5503
+ "importPath": "@actioneer/ads",
5504
+ "module": "chain-of-thought"
5505
+ },
4747
5506
  {
4748
5507
  "name": "ChainOfThoughtProps",
4749
5508
  "family": "AI Elements",
@@ -4975,6 +5734,13 @@
4975
5734
  "importPath": "@actioneer/ads",
4976
5735
  "module": "message"
4977
5736
  },
5737
+ {
5738
+ "name": "MessageMetaProps",
5739
+ "family": "AI Elements",
5740
+ "kind": "type",
5741
+ "importPath": "@actioneer/ads",
5742
+ "module": "message"
5743
+ },
4978
5744
  {
4979
5745
  "name": "MessageProps",
4980
5746
  "family": "AI Elements",
@@ -5129,6 +5895,20 @@
5129
5895
  "importPath": "@actioneer/ads",
5130
5896
  "module": "queue"
5131
5897
  },
5898
+ {
5899
+ "name": "ResearchActivityProps",
5900
+ "family": "AI Elements",
5901
+ "kind": "type",
5902
+ "importPath": "@actioneer/ads",
5903
+ "module": "research-activity"
5904
+ },
5905
+ {
5906
+ "name": "ResearchActivityStatus",
5907
+ "family": "AI Elements",
5908
+ "kind": "type",
5909
+ "importPath": "@actioneer/ads",
5910
+ "module": "research-activity"
5911
+ },
5132
5912
  {
5133
5913
  "name": "SpeechInputProps",
5134
5914
  "family": "AI Elements",
@@ -5318,6 +6098,13 @@
5318
6098
  "importPath": "@actioneer/ads",
5319
6099
  "module": "voice"
5320
6100
  },
6101
+ {
6102
+ "name": "aiChartVariants",
6103
+ "family": "AI Elements",
6104
+ "kind": "util",
6105
+ "importPath": "@actioneer/ads",
6106
+ "module": "chart"
6107
+ },
5321
6108
  {
5322
6109
  "name": "Tool",
5323
6110
  "family": "AI Elements",
@@ -5796,16 +6583,6 @@
5796
6583
  "note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
5797
6584
  "showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
5798
6585
  },
5799
- {
5800
- "name": "OpenUiLibraryProvider",
5801
- "family": "Chat",
5802
- "kind": "component",
5803
- "importPath": "@actioneer/ads",
5804
- "module": "smart-message-text",
5805
- "vendored": true,
5806
- "note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
5807
- "showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
5808
- },
5809
6586
  {
5810
6587
  "name": "QuoteBlock",
5811
6588
  "family": "Chat",
@@ -5906,16 +6683,6 @@
5906
6683
  "note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
5907
6684
  "showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
5908
6685
  },
5909
- {
5910
- "name": "SmartMessageText",
5911
- "family": "Chat",
5912
- "kind": "component",
5913
- "importPath": "@actioneer/ads",
5914
- "module": "smart-message-text",
5915
- "vendored": true,
5916
- "note": "Vendored assistant-ui component. Props follow upstream assistant-ui, not ADS conventions; the chat family needs an <AssistantRuntimeProvider> (chat runtime) and a <TooltipProvider> ancestor. Import from \"@actioneer/ads\" like any ADS export.",
5917
- "showcaseUrl": "https://ads.actioneer.dev/#/demo/ask"
5918
- },
5919
6686
  {
5920
6687
  "name": "Source",
5921
6688
  "family": "Chat",
@@ -6746,6 +7513,37 @@
6746
7513
  "Cap a grid at a hard column count so it stops growing on wide displays."
6747
7514
  ],
6748
7515
  "enforcedByLint": false
7516
+ },
7517
+ {
7518
+ "id": "leading-back-navigation",
7519
+ "number": 10,
7520
+ "title": "Back navigation is leading",
7521
+ "rule": "A page-level Back control sits immediately before the page title in the leading header cluster. It is icon-only with an accessible label and never appears on the right with forward/page actions.",
7522
+ "do": [
7523
+ "Use PageHeader with onBack so the left arrow is anchored directly before the title.",
7524
+ "Reserve the trailing header area for forward or page-level actions such as Add, Save, or Share."
7525
+ ],
7526
+ "dont": [
7527
+ "Place Back on the right side of a page header.",
7528
+ "Render a redundant visible Back label when the standard left arrow and accessible label are sufficient."
7529
+ ],
7530
+ "enforcedByLint": false
7531
+ },
7532
+ {
7533
+ "id": "tabs-search-opposed",
7534
+ "number": 11,
7535
+ "title": "Tabs lead; scoped search trails",
7536
+ "rule": "When tabs and a search field control the same content, they share one responsive control row: the tab track hugs its labels at the leading edge and search sits at the trailing edge. Stack only when the container cannot fit both.",
7537
+ "do": [
7538
+ "Keep the horizontal TabList content-width, then place the scoped search field opposite it in the same toolbar.",
7539
+ "On constrained containers, stack tabs first and search second while preserving their relationship."
7540
+ ],
7541
+ "dont": [
7542
+ "Stretch the tab track to fill the space between its labels and the search field.",
7543
+ "Put a scoped search field on a separate row above its tabs when both controls fit side by side.",
7544
+ "Place search before tabs in the reading or keyboard order."
7545
+ ],
7546
+ "enforcedByLint": false
6749
7547
  }
6750
7548
  ]
6751
7549
  }