@invana/ui 0.0.29 → 0.0.30

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.
package/dist/index.d.ts CHANGED
@@ -25,6 +25,24 @@ import * as TogglePrimitive from '@radix-ui/react-toggle';
25
25
  import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';
26
26
  import { LucideIcon } from 'lucide-react';
27
27
 
28
+ /**
29
+ * `clsx` + `tailwind-merge`, and nothing else.
30
+ *
31
+ * This used to be an `extendTailwindMerge` that registered one class group.
32
+ * `text-*` is ambiguous — it is both the font-size scale and the text-colour
33
+ * scale — so tailwind-merge decides which group a class belongs to by matching
34
+ * its value against Tailwind's built-in size names. `meta` was not one of them,
35
+ * so `text-meta` was read as a *colour* and silently dropped whatever colour
36
+ * class came before it:
37
+ *
38
+ * cn("text-[var(--badge-ink)]", "text-meta") → "text-meta" // colour lost
39
+ *
40
+ * The type ladder is now `base · sm · xs` (`@invana/styling`), every one of
41
+ * them a Tailwind built-in, so there is nothing left to register and the
42
+ * footgun is gone with the token that caused it. If a future `--text-*` token
43
+ * invents a name Tailwind does not know, bring the `extend` back in the same
44
+ * breath — it will eat colours at a distance and the cause will not be obvious.
45
+ */
28
46
  declare function cn(...inputs: ClassValue[]): string;
29
47
 
30
48
  declare const Accordion: React$1.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React$1.RefAttributes<HTMLDivElement>>;
@@ -302,6 +320,63 @@ declare function ItemFooter({ className, ...props }: React$1.ComponentProps<"div
302
320
  declare function Kbd({ className, ...props }: React.ComponentProps<"kbd">): React$1.JSX.Element;
303
321
  declare function KbdGroup({ className, ...props }: React.ComponentProps<"div">): React$1.JSX.Element;
304
322
 
323
+ /**
324
+ * `variant` is how loudly the link asks to be clicked.
325
+ *
326
+ * Three, because three is what the product actually uses and a fourth would be
327
+ * a decision nobody could state:
328
+ *
329
+ * - `default` — a link inside a sentence. Accent-coloured, underlined on hover.
330
+ * The colour is what marks it as a link while reading; the underline confirms
331
+ * it under the cursor.
332
+ * - `underlined` — always underlined, accent-coloured. For a link that has to
333
+ * read as a link **before** the cursor arrives: terms and conditions under a
334
+ * sign-in button, a citation, anything legal or referential.
335
+ * - `quiet` — muted, brightening to the foreground on hover. A footer link, a
336
+ * row that happens to be navigable. It is not shouting, and it is not
337
+ * pretending to be body copy either: the hover is the affordance.
338
+ *
339
+ * Deliberately **not** a `Button` variant. A button performs an act on this
340
+ * page; a link goes somewhere, which is a different promise, a different
341
+ * element and a different set of things a browser will do for you (middle
342
+ * click, copy address, open in a tab). A `<button>` styled as a link takes all
343
+ * of that away, and `Button asChild` around an `<a>` is the escape hatch for
344
+ * the genuinely button-shaped case.
345
+ *
346
+ * No size axis. A link takes the size of the text it sits in — that is what
347
+ * makes it a link *in a sentence* rather than a control dropped into one.
348
+ */
349
+ declare const linkVariants: (props?: ({
350
+ variant?: "default" | "underlined" | "quiet" | null | undefined;
351
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
352
+ interface LinkProps extends React$1.AnchorHTMLAttributes<HTMLAnchorElement>, VariantProps<typeof linkVariants> {
353
+ /**
354
+ * The destination is outside this app: opens in a new tab, and carries
355
+ * `rel="noreferrer noopener"` so the opened page cannot reach back through
356
+ * `window.opener`.
357
+ *
358
+ * A flag rather than asking every call site to remember `target` and `rel`
359
+ * together — the pair is the thing that is correct, and half of it is a
360
+ * security bug nobody notices.
361
+ */
362
+ external?: boolean;
363
+ }
364
+ /**
365
+ * A link. An `<a>` with the kit's colours, and the two behaviours an external
366
+ * one needs.
367
+ *
368
+ * It exists because every surface was writing its own — `text-primary
369
+ * hover:underline` here, `text-muted-foreground hover:underline` there — which
370
+ * is four spellings of one object and a colour that drifts the day the accent
371
+ * moves.
372
+ *
373
+ * Routing is the consumer's: this renders an `<a>`, and a router's own `Link`
374
+ * wraps it (`<RouterLink asChild>`) or takes these classes. The kit does not
375
+ * depend on a router, because a component that did could only ever be used with
376
+ * that one.
377
+ */
378
+ declare const Link: React$1.ForwardRefExoticComponent<LinkProps & React$1.RefAttributes<HTMLAnchorElement>>;
379
+
305
380
  declare function MenubarMenu({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Menu>): React$1.JSX.Element;
306
381
  declare function MenubarGroup({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Group>): React$1.JSX.Element;
307
382
  declare function MenubarPortal({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Portal>): React$1.JSX.Element;
@@ -393,7 +468,7 @@ declare const SheetClose: React$1.ForwardRefExoticComponent<DialogPrimitive.Dial
393
468
  declare const SheetPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
394
469
  declare const SheetOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
395
470
  declare const sheetVariants: (props?: ({
396
- side?: "bottom" | "left" | "right" | "top" | null | undefined;
471
+ side?: "top" | "right" | "bottom" | "left" | null | undefined;
397
472
  } & class_variance_authority_types.ClassProp) | undefined) => string;
398
473
  interface SheetContentProps extends React$1.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>, VariantProps<typeof sheetVariants> {
399
474
  }
@@ -573,7 +648,12 @@ declare const ToggleGroupItem: React$1.ForwardRefExoticComponent<Omit<ToggleGrou
573
648
  * is an event, and collapsing them loses *the bound was there and nothing ever
574
649
  * tested it*.
575
650
  */
576
- type AddressTone = "allowed" | "denied" | "refused" | "untouched";
651
+ type KnownAddressTone = "allowed" | "denied" | "refused" | "untouched";
652
+ /**
653
+ * The values the kit draws specially — **suggestions, not a limit.** Anything
654
+ * else renders with the neutral token and its own name.
655
+ */
656
+ type AddressTone = KnownAddressTone | (string & {});
577
657
  /**
578
658
  * Split an address so the **participant survives truncation**.
579
659
  *
@@ -770,19 +850,38 @@ interface BarChartVProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "c
770
850
  declare const BarChartV: React$1.ForwardRefExoticComponent<BarChartVProps & React$1.RefAttributes<HTMLDivElement>>;
771
851
 
772
852
  /**
773
- * The closed set of capabilities a callable may spend.
853
+ * The capabilities Invana ships today — **suggestions, not a limit.**
854
+ *
855
+ * These are what {@link Bound} autocompletes to. They bind nothing: a product
856
+ * that adds a `vector_write` bound as it grows passes `"vector_write"` and the
857
+ * chip draws it. The catalogue groups by these and an envelope ceilings them,
858
+ * but that is the *runtime's* vocabulary to police — a chip that refused to
859
+ * render an unknown bound would make the design kit a release blocker for
860
+ * every new capability.
861
+ */
862
+ type KnownBound = "none" | "network" | "graph_read" | "graph_write" | "schema_write" | "ingest" | "llm" | "plan_write" | "work_write";
863
+ /**
864
+ * What a callable may spend — any identifier at all.
774
865
  *
775
- * Nine values, fixed. The catalogue is grouped by these and an envelope
776
- * ceilings them, so this is a vocabulary rather than a list that grows.
866
+ * `(string & {})` keeps the known set autocompleting while accepting anything
867
+ * else without a cast. See {@link KnownBound}.
777
868
  */
778
- type Bound = "none" | "network" | "graph_read" | "graph_write" | "schema_write" | "ingest" | "llm" | "plan_write" | "work_write";
869
+ type Bound = KnownBound | (string & {});
779
870
  /**
780
- * One hue per bound, fixed — colour follows the bound, never its position in a
781
- * list. Five come from the status tokens because they already mean the right
782
- * thing; the other four take data-palette slots, which are chosen for being
783
- * distinguishable from each other rather than for meaning anything.
871
+ * What each bound is painted with — **the kit ships no hues.**
872
+ *
873
+ * Which colour means `schema_write` is a product's decision. Four of the nine
874
+ * were only ever data-palette slots picked for being distinguishable from one
875
+ * another, which is exactly the kind of choice a component should not be
876
+ * making on a consumer's behalf; and holding the map forced every consumer
877
+ * onto a stylesheet that defines those slots, which is how `bg-data-*` came to
878
+ * be dead in the precompiled `@invana/ui/styles.css` without anyone noticing.
879
+ *
880
+ * Values are class strings, so a surface spends whatever its own Tailwind
881
+ * build has — a data-palette token, a status token, a brand colour. A bound
882
+ * left out draws in the neutral.
784
883
  */
785
- declare const SWATCH$1: Record<Bound, string>;
884
+ type BoundPalette = Partial<Record<Bound, string>>;
786
885
  interface BoundChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "children"> {
787
886
  bound: Bound;
788
887
  /**
@@ -790,6 +889,19 @@ interface BoundChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "
790
889
  * it. Use sparingly — see the note on colour below.
791
890
  */
792
891
  swatchOnly?: boolean;
892
+ /** What to call it, when the identifier is not what this surface says. */
893
+ label?: React$1.ReactNode;
894
+ /**
895
+ * This chip's swatch class, given directly — `bg-data-7`, `bg-violet-500`.
896
+ * The shortest path when a call site draws one chip and knows its bound.
897
+ * Wins over {@link BoundChipProps.palette}.
898
+ */
899
+ swatch?: string;
900
+ /**
901
+ * What the bounds are painted with, when a caller draws several and would
902
+ * rather state the map once. Only this chip's own bound is read.
903
+ */
904
+ palette?: BoundPalette;
793
905
  }
794
906
  /**
795
907
  * What a task is allowed to spend, as a swatch and a name.
@@ -841,30 +953,87 @@ interface CannotAnswerCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
841
953
  declare const CannotAnswerCard: React$1.ForwardRefExoticComponent<CannotAnswerCardProps & React$1.RefAttributes<HTMLDivElement>>;
842
954
 
843
955
  /**
844
- * The five governed classes of participant, plus the spine.
956
+ * The classes of participant Invana ships today — **suggestions, not a limit.**
957
+ *
958
+ * These are what {@link Layer} autocompletes to. They bind nothing: a product
959
+ * that grows a `vector_store` layer next week passes `"vector_store"` and every
960
+ * component here draws it, because a component that had to be edited before a
961
+ * developer could name a new layer is a component that owns the product's
962
+ * vocabulary.
963
+ *
964
+ * `agent` is the **spine**: the runtime itself, which does the participating
965
+ * rather than being a participant, and is never governed. Nothing in this file
966
+ * knows that — a band says so with `spine`, see `LayerStrip`.
967
+ */
968
+ type KnownLayer = "graph_data" | "llm" | "third_party" | "cache" | "human" | "agent";
969
+ /**
970
+ * What a participant **is** — any identifier at all.
845
971
  *
846
- * Fixed — a Graph does not add a layer. `agent` is the **spine**: the runtime
847
- * itself, which does the participating rather than being a participant, and is
848
- * never governed. It is addressed and drawn like the rest so the ledger has one
849
- * shape.
972
+ * `(string & {})` is what keeps both halves: the known set still autocompletes
973
+ * and still documents itself, while an unknown string is accepted without a
974
+ * cast. Widening this to plain `string` would silently drop the suggestions;
975
+ * narrowing it back to the union would make the kit the gatekeeper of a
976
+ * vocabulary it does not own.
850
977
  */
851
- type Layer = "graph_data" | "llm" | "third_party" | "cache" | "human" | "agent";
852
- /** What a reader calls the layer. The address segment is not the label. */
853
- declare const LABEL: Record<Layer, string>;
978
+ type Layer = KnownLayer | (string & {});
854
979
  /**
855
- * One hue per layer, fixed — colour follows the layer, never its position.
980
+ * What a reader calls the layer: the identifier with its underscores opened up.
856
981
  *
857
- * Four are the data-palette slots `BoundChip` left free, so the two can sit in
858
- * one row on A2 without sharing a hue between different vocabularies. Two are
859
- * deliberate:
982
+ * Derived rather than looked up — a table would have to be edited for every
983
+ * layer a product adds, and for all six Invana ships today the table said
984
+ * exactly this anyway (`graph_data` → `graph data`). A layer that wants
985
+ * something else passes `label`.
986
+ */
987
+ declare const layerLabel: (layer: Layer) => string;
988
+ /**
989
+ * How one layer is painted. **The kit ships no hues** — a consumer supplies
990
+ * these, because which colour means `llm` is a product's decision and not a
991
+ * component's.
992
+ *
993
+ * Both are class strings rather than colours, so a surface spends whatever
994
+ * palette its own Tailwind build already has: `bg-data-7` from
995
+ * `@invana/styling`, a brand token, a plain `bg-violet-500`. A component that
996
+ * held the map would force every consumer onto the kit's palette *and* onto a
997
+ * stylesheet that defines it — which is how `bg-data-*` came to be dead in the
998
+ * precompiled `@invana/ui/styles.css` without anyone noticing.
999
+ *
1000
+ * It is passed to the component that draws, as a prop, every time — never
1001
+ * installed once for a tree. A caller restating its palette at four call sites
1002
+ * is the honest cost: the alternative hides *which* colours a drawing is using
1003
+ * behind a provider somebody else mounted.
1004
+ *
1005
+ * - `swatch` is the **solid mark**: the dot beside a name, the rail down a bar.
1006
+ * - `tint` is the **wash**: a bar's ground and edge together. Keep it faint —
1007
+ * it sits *behind* text, so a hue dark enough to label in is a hue too dark
1008
+ * to wash with.
1009
+ * - `text` is the hue **as type**: a participant address written in its layer's
1010
+ * colour, so `model/Orders@v2` and the `graph data` dot above it are visibly
1011
+ * the same thing. This is the one that has to clear a contrast floor, which
1012
+ * is why it is yours to choose and separate from `swatch` — the token that
1013
+ * makes a legible 6px dot is often not the one that makes legible 13px mono.
1014
+ */
1015
+ interface LayerPaint {
1016
+ /** The solid mark — `bg-data-7`. */
1017
+ swatch?: string;
1018
+ /** The wash, ground and edge — `border-data-7/35 bg-data-7/10`. */
1019
+ tint?: string;
1020
+ /** The hue as type, for an address that should read as its layer — `text-data-7`. */
1021
+ text?: string;
1022
+ }
1023
+ /**
1024
+ * What each layer is painted with. Partial on purpose: a layer left out falls
1025
+ * back to the neutral, which is a legible answer rather than a blank one.
1026
+ */
1027
+ type LayerPalette = Partial<Record<Layer, LayerPaint>>;
1028
+ /**
1029
+ * One layer's paint, with the neutral filled in for anything unsaid — so a
1030
+ * caller never branches on `undefined` to draw a dot.
860
1031
  *
861
- * - `llm` takes `data-7`, the slot `BoundChip` gives the `llm` **bound**. Same
862
- * concept, same hue; two hues for one idea is the confusion worth avoiding.
863
- * - `agent` is `muted-foreground`, because the spine is never governed and must
864
- * not read as a bound somebody could set. `BoundChip` spends the same token on
865
- * `none` for the same reason — *nothing to set here*.
1032
+ * There is no provider and no context. Colour arrives as the `palette` prop on
1033
+ * the component that draws, every time: a chip painted from somewhere up the
1034
+ * tree is a chip whose colour you cannot find by reading its call site.
866
1035
  */
867
- declare const SWATCH: Record<Layer, string>;
1036
+ declare const layerPaint: (palette: LayerPalette | undefined, layer: Layer) => Required<LayerPaint>;
868
1037
  interface LayerChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "children"> {
869
1038
  layer: Layer;
870
1039
  /**
@@ -873,12 +1042,25 @@ interface LayerChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "
873
1042
  * *nothing is configured* reads differently from *nothing matched*.
874
1043
  */
875
1044
  count?: number;
1045
+ /** What to call it, when {@link layerLabel} is not what this surface says. */
1046
+ label?: React$1.ReactNode;
876
1047
  /**
877
1048
  * The layer is closed, empty or out of view: the swatch drops to the muted
878
1049
  * token and the label goes with it. The chip stays legible — this is *not
879
1050
  * in play*, never *not there*.
880
1051
  */
881
1052
  dim?: boolean;
1053
+ /**
1054
+ * This chip's swatch class, given directly — `bg-data-7`, `bg-violet-500`.
1055
+ * The shortest path when a call site draws one chip and knows its layer.
1056
+ * Wins over {@link LayerChipProps.palette}.
1057
+ */
1058
+ swatch?: string;
1059
+ /**
1060
+ * What the layers are painted with, when a caller draws several and would
1061
+ * rather state the map once. Only this chip's own layer is read.
1062
+ */
1063
+ palette?: LayerPalette;
882
1064
  }
883
1065
  /**
884
1066
  * One class of participant, as a swatch and a name.
@@ -938,6 +1120,11 @@ interface LensRowProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "chi
938
1120
  usage?: LensUsage;
939
1121
  selected?: boolean;
940
1122
  onSelect?: (name: string) => void;
1123
+ /**
1124
+ * What the layers of a `closes` narrowing are painted with. Omitted, those
1125
+ * chips draw in the neutral.
1126
+ */
1127
+ palette?: LayerPalette;
941
1128
  }
942
1129
  /**
943
1130
  * One world in the Worlds drawer: its name, what it narrows, and how used it is.
@@ -1488,7 +1675,12 @@ interface DiagnosisCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
1488
1675
  */
1489
1676
  declare const DiagnosisCard: React$1.ForwardRefExoticComponent<DiagnosisCardProps & React$1.RefAttributes<HTMLDivElement>>;
1490
1677
 
1491
- type DiffOp = "add" | "remove" | "change";
1678
+ type KnownDiffOp = "add" | "remove" | "change";
1679
+ /**
1680
+ * The values the kit draws specially — **suggestions, not a limit.** Anything
1681
+ * else renders with the neutral token and its own name.
1682
+ */
1683
+ type DiffOp = KnownDiffOp | (string & {});
1492
1684
  interface DiffRowProps extends Omit<React$1.HTMLAttributes<HTMLLIElement>, "children"> {
1493
1685
  op?: DiffOp;
1494
1686
  /** What kind of thing changed — `node`, `edge`, `property`. */
@@ -1721,7 +1913,7 @@ interface EyebrowProps extends React$1.HTMLAttributes<HTMLDivElement> {
1721
1913
  * a {@link SectionHeader}, so several can sit in one scrolling column and still
1722
1914
  * read as subordinate to the panel's own title.
1723
1915
  *
1724
- * Uppercase at `text-meta` with tracking, because at this size caps are what
1916
+ * Uppercase at `text-sm` with tracking, because at this size caps are what
1725
1917
  * separate a label from the sentence under it; lowercase at 11px reads as body
1726
1918
  * copy set small. That is also why it is a component rather than four utility
1727
1919
  * classes: the treatment was being retyped, and a label that drifts a weight or
@@ -1838,6 +2030,11 @@ interface LayerSectionProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
1838
2030
  children?: React$1.ReactNode;
1839
2031
  /** How many participants the layer holds, shown on the chip. */
1840
2032
  count?: number;
2033
+ /**
2034
+ * What the layer is painted with — only this band's own layer is read.
2035
+ * Omitted, the chip draws in the neutral.
2036
+ */
2037
+ palette?: LayerPalette;
1841
2038
  /** The layer is out of view for this lens: the whole band dims. */
1842
2039
  dim?: boolean;
1843
2040
  }
@@ -1863,66 +2060,265 @@ interface LayerSectionProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
1863
2060
  declare const LayerSection: React$1.ForwardRefExoticComponent<LayerSectionProps & React$1.RefAttributes<HTMLDivElement>>;
1864
2061
 
1865
2062
  /**
1866
- * What a run did at one participant, in one step.
2063
+ * What an item is doing where it sits — the two tenses in one vocabulary.
2064
+ *
2065
+ * `declared` is the plan tense: this is what the playbook **will** engage.
2066
+ * `out` · `in` · `refused` · `skipped` are the run tense: what it did engage,
2067
+ * what a bound stopped, and what it never reached for. Refused and skipped stay
2068
+ * two different facts, and both are drawn — a drawing that showed only what
2069
+ * happened would answer *what did this run do* and not *what was it stopped
2070
+ * from doing*, and the second is the question the strip exists for.
2071
+ */
2072
+ type KnownLayerItemState = "declared" | "out" | "in" | "refused" | "skipped";
2073
+ /**
2074
+ * What an item is doing — **suggestions, not a limit.** A run that grows a
2075
+ * `deferred` or a `retried` passes it and the bar draws: the neutral edge, and
2076
+ * the state's own name under the label. Only the states above carry special
2077
+ * drawing, because only they have a meaning defined here to draw.
2078
+ */
2079
+ type LayerItemState = KnownLayerItemState | (string & {});
2080
+ /** The run half of {@link LayerItemState}, as the ledger's `direction` column. */
2081
+ type TouchDirection = Exclude<KnownLayerItemState, "declared"> | (string & {});
2082
+ /**
2083
+ * One participant under a band — the row a task actually lands on.
1867
2084
  *
1868
- * `refused` and `skipped` are two different facts and both are drawn: refused
1869
- * means a bound stopped it, skipped means the plan never reached for it. A
1870
- * drawing that showed only what happened would answer *what did this run do*
1871
- * and not *what was it stopped from doing*, and the second is the question the
1872
- * strip exists for.
2085
+ * A band says *llm*; a part says **which** llm, or which role a caller may
2086
+ * re-cast: `role: decide`, `model/Orders@v2`, `third_party/app/email`. Reading
2087
+ * a plan is reading its parts, because that is the list a world is checked
2088
+ * against.
1873
2089
  */
1874
- type TouchDirection = "out" | "in" | "refused" | "skipped";
1875
- interface Band {
2090
+ interface LayerPart {
2091
+ id: string;
2092
+ /** The participant address, or the role — `model/Orders@v2`, `role: decide`. */
2093
+ label: string;
2094
+ /** What the caller still owes, or what the crossing is — `egress: the note`. */
2095
+ note?: string;
2096
+ }
2097
+ interface LayerBand {
1876
2098
  layer: Layer;
1877
- /** Overrides the layer's own name — `graph data · 4 models`. */
2099
+ /** Overrides the layer's own name. */
1878
2100
  label?: React$1.ReactNode;
2101
+ /** Right of the name — `declared · 1`, `nothing declared`, `2 roles`. */
2102
+ note?: string;
2103
+ /** The participants under it, each its own row. */
2104
+ parts?: LayerPart[];
2105
+ /**
2106
+ * This band is the **spine** — the runtime's own dispatches, which the other
2107
+ * bands are timed against and which is never governed. Its wire runs the
2108
+ * whole axis and it is never drawn as unspent.
2109
+ *
2110
+ * The band says so rather than the component recognising a layer by name:
2111
+ * `agent` is Invana's spine, but the layer vocabulary is a product's to grow
2112
+ * and a strip that hard-coded one of its values would be a strip that had to
2113
+ * be edited before anyone could rename it.
2114
+ */
2115
+ spine?: boolean;
1879
2116
  }
1880
- interface StepTouch {
2117
+ /**
2118
+ * One task, where it sits and how long it takes.
2119
+ *
2120
+ * `start` and `end` are in the axis's own unit — a step ordinal under `seq`, a
2121
+ * millisecond under `elapsed`. A task with no `end` is an instant and is drawn
2122
+ * at the minimum width.
2123
+ */
2124
+ interface LayerItem {
2125
+ id: string;
2126
+ /** The task. This is the only place a task name is written. */
2127
+ label: string;
1881
2128
  layer: Layer;
1882
- direction: TouchDirection;
1883
- /** The participant engaged, for the title and the drill-in. */
1884
- address?: string;
2129
+ /** The {@link LayerPart} it lands on. Omitted, it sits on the band itself. */
2130
+ part?: string;
2131
+ start: number;
2132
+ end?: number;
2133
+ state?: LayerItemState;
2134
+ /** Under the name — `decide`, `${supplier_id}`, `form: human`. */
2135
+ note?: string;
1885
2136
  /** The rule that refused it, when one did. */
1886
2137
  ruleMatched?: string;
1887
2138
  }
1888
- interface Step {
2139
+ /** A bounded repetition over a stretch of the axis — `loop · max 3`. */
2140
+ interface LayerBracket {
1889
2141
  id: string;
1890
- /** What the step is — short, it heads a column. */
2142
+ start: number;
2143
+ end: number;
1891
2144
  label: string;
1892
- /** The ledger's own `seq`, so the drawing and the stream agree. */
1893
- seq?: number;
1894
- touches: StepTouch[];
1895
2145
  }
2146
+ /**
2147
+ * A **seam** — a moment on the axis where everything stops at once.
2148
+ *
2149
+ * A gate belongs to no band. It is not dispatched, it holds no slot and it has
2150
+ * no participant, so it cannot be a bar: it is a condition on the way into a
2151
+ * step, and it stops every layer together. That makes it a **position on the
2152
+ * axis**, drawn as a rule the bands are crossed by — which is also the only
2153
+ * drawing left once task names stop being the axis, because there are no
2154
+ * columns for it to sit between.
2155
+ *
2156
+ * **Which side of the line the label sits on is the price of saying no.**
2157
+ * `before` means nothing has been spent yet; `after` means the work up to here
2158
+ * is already paid for. A reader gets what declining costs from where the mark
2159
+ * sits, before reading a word of it.
2160
+ */
2161
+ interface LayerSeam {
2162
+ id: string;
2163
+ /**
2164
+ * Where it sits, in the axis's own unit. **Omitted, it has no position** —
2165
+ * it can be raised at any dispatch, and it is drawn across the whole axis
2166
+ * rather than at a point. Placing such a gate on one moment would be a guess.
2167
+ */
2168
+ at?: number;
2169
+ /** What it is — `approval · before dispatch`, `verdict · after the pass`. */
2170
+ label: string;
2171
+ /** Which side of the line the cost falls on. Defaults to `before`. */
2172
+ edge?: "before" | "after";
2173
+ /**
2174
+ * It is not on the plan: it resolves at dispatch, so the same plan is gated
2175
+ * for one caller and not another. Drawn dashed — *this may appear*.
2176
+ */
2177
+ conditional?: boolean;
2178
+ /** Under the label — `nothing spent · finance-approvers · 4h`. */
2179
+ note?: string;
2180
+ }
2181
+ /** What the axis counts. */
2182
+ type LayerScale = "seq" | "elapsed";
1896
2183
  interface LayerStripProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children" | "onSelect"> {
1897
- bands: Band[];
1898
- steps: Step[];
1899
- onSelectStep?: (stepId: string) => void;
1900
- selectedStep?: string;
2184
+ bands: LayerBand[];
2185
+ items: LayerItem[];
2186
+ /**
2187
+ * `seq` is a plan's time — what happens before what, one unit per step.
2188
+ * `elapsed` is a run's, in milliseconds from the run opening.
2189
+ */
2190
+ scale?: LayerScale;
2191
+ /** The axis extent. Defaults to the items' own. */
2192
+ domain?: [number, number];
2193
+ /** Tick positions in axis units. Defaults to integers (`seq`) or five (`elapsed`). */
2194
+ ticks?: number[];
2195
+ formatTick?: (value: number) => string;
2196
+ brackets?: LayerBracket[];
1901
2197
  /**
1902
- * Keep the band labels in place while the steps scroll. On by default: a run
1903
- * with forty steps scrolls, and a band you cannot name is a row of marks.
2198
+ * The gates — the moments the whole drawing stops at. They get a row of their
2199
+ * own above the bands *and* a rule down the track, because a gate has to read
2200
+ * both as a thing with a name and as something every band is stopped by.
2201
+ */
2202
+ seams?: LayerSeam[];
2203
+ onSelectItem?: (itemId: string) => void;
2204
+ selectedItem?: string;
2205
+ /**
2206
+ * The bands whose participants are folded away, uncontrolled. Their tasks do
2207
+ * not disappear with them: they drop onto the band's own line, which is the
2208
+ * whole point of shutting one.
2209
+ */
2210
+ defaultCollapsed?: Layer[];
2211
+ /** The same, controlled. Pass it with `onCollapsedChange`. */
2212
+ collapsed?: Layer[];
2213
+ onCollapsedChange?: (layers: Layer[]) => void;
2214
+ /**
2215
+ * Offer the disclosures at all. Off, the bands render as given and a caller
2216
+ * that wants an overview passes the bands it wants shut in `collapsed`.
2217
+ */
2218
+ collapsible?: boolean;
2219
+ /**
2220
+ * A hover card on each task, saying what the bar cannot fit: the participant
2221
+ * it spends, when it runs and for how long, and the rule that refused it. On
2222
+ * by default; off falls back to the native `title`.
2223
+ */
2224
+ hoverDetail?: boolean;
2225
+ /** What that card says, when the default is not what this surface owes. */
2226
+ itemDetail?: (item: LayerItem) => React$1.ReactNode;
2227
+ /**
2228
+ * Keep the band labels in place while time scrolls. On by default: a run with
2229
+ * forty steps scrolls, and a band you cannot name is a row of marks.
1904
2230
  */
1905
2231
  frozenLabels?: boolean;
2232
+ /**
2233
+ * The label column, in `rem`. The default fits a layer name at the root size
2234
+ * beside its note — `human` and `3 rounds · 6m 01s` on one line.
2235
+ */
2236
+ labelWidth?: number;
2237
+ /** The narrowest the track is drawn before it scrolls, in `rem`. */
2238
+ minTrackWidth?: number;
2239
+ /**
2240
+ * The narrowest one tick may be squeezed to, in `rem`. Past that the strip
2241
+ * scrolls rather than shrinking: a bar too narrow to carry its task's name
2242
+ * has stopped being a drawing of that task.
2243
+ */
2244
+ minSlotWidth?: number;
2245
+ /**
2246
+ * What the layers are painted with. The same map reaches the band chips and
2247
+ * the bars, so a strip never disagrees with its own labels; a layer left out
2248
+ * draws in the neutral.
2249
+ */
2250
+ palette?: LayerPalette;
1906
2251
  }
1907
- declare const MARK_LABEL: Record<TouchDirection, string>;
2252
+ /** An unknown state is still a state: it says its own name. */
2253
+ declare const stateLabel: (state: LayerItemState) => string;
1908
2254
  /**
1909
- * A run as six bands and one column per step — what it engaged, in `seq` order.
1910
- *
1911
- * Layers are the bands and steps are the columns, so a reader answers *what did
1912
- * this run touch, and when* by scanning across one band, and *what did this
1913
- * step do* by scanning down one column. The two questions the run dashboard is
1914
- * asked, in one drawing.
2255
+ * A plan or a run as layer bands over a time axis — a gantt, not a matrix.
2256
+ *
2257
+ * **Time is the x axis, in whichever tense the drawing is in.** A plan's time
2258
+ * is its order (`seq` — what happens before what); a run's is the wall clock
2259
+ * (`elapsed`). Task names are not an axis: a task is a bar, written once where
2260
+ * it sits, so a reader answers *what does this engage, and for how long* by
2261
+ * scanning across, and *what spends this participant* by scanning down.
2262
+ *
2263
+ * **A band opens into its participants.** `llm` is a band; `role: decide` and
2264
+ * `role: extract` are the rows under it, and the task sits on the row it
2265
+ * actually spends. The band alone cannot say which model a step will reach, and
2266
+ * that is the list a world is checked against.
2267
+ *
2268
+ * **A band folds its participants away without losing its tasks.** Shut, the
2269
+ * rows go and every task the layer spends drops onto the band's own line —
2270
+ * which is the overview: six lines, every task placed in time, *what was this
2271
+ * layer busy with* answered without reading twelve rows. Open, the same tasks
2272
+ * sit on the participant that spends them. `collapse all` in the header does it
2273
+ * to every band that has participants to fold, and nothing is hidden either
2274
+ * way: folding moves a task up a row, it never drops it.
2275
+ *
2276
+ * **A bar says what it is; hovering it says what it cannot fit.** The card
2277
+ * carries the participant the row truncates or folding took away, when the task
2278
+ * runs and for how long, and the rule that refused it — so a bar can stay a bar
2279
+ * rather than growing a second line for every fact somebody might want.
1915
2280
  *
1916
2281
  * **Refusals are struck in place, not removed.** A refused engagement keeps its
1917
- * cell and takes a struck mark, because the empty cell it would otherwise leave
1918
- * is indistinguishable from a step that never reached for that layer. *The
1919
- * bound bit here* is the most important thing the drawing can say, and removing
1920
- * the mark is the one edit that makes it unsayable.
1921
- *
1922
- * **The spine band is always drawn**, even when a lens governs nothing in it:
1923
- * the runtime's own dispatches are what the other bands are timed against.
1924
- *
1925
- * DOM over a fixed grid, not canvas: it binds to no canvas store, it lives in
2282
+ * bar and takes a struck label, because the gap it would otherwise leave is
2283
+ * indistinguishable from a stretch of time that never reached for that layer.
2284
+ *
2285
+ * **A row nothing spent is drawn muted, never dropped.** A band no task
2286
+ * touched takes the muted ground **across its whole width** — label column and
2287
+ * track together — and so does a participant row under an open band:
2288
+ * `role: extract` declared and never reached reads as *this run did not get
2289
+ * that far*, not as an ordinary empty row. A dropped row would say nothing at
2290
+ * all, and *this plan never reaches for a cache* is a finding.
2291
+ *
2292
+ * The ground is the carrier, not the type colour. A row is unspent because it
2293
+ * is *empty*, and an empty row has no text to mute past its own name — greying
2294
+ * the chip while the row keeps the card ground says *this label is quiet* when
2295
+ * the fact is *nothing spends this layer*.
2296
+ *
2297
+ * **A bar wears its layer, and its state is the edge.** The hue tints the bar's
2298
+ * ground and border and runs down its rail; dashed says the task never ran, and
2299
+ * the destructive token says a rule refused it — the one fact that outranks
2300
+ * whose bar it is. The label itself stays on a text token: the data palette is
2301
+ * a surface palette here, which keeps `cache` as legible as `human`.
2302
+ *
2303
+ * **Refused is not unspent.** A row whose only task was refused keeps its full
2304
+ * weight: being stopped from reaching a participant and never reaching for one
2305
+ * are the two facts this drawing exists to separate.
2306
+ *
2307
+ * **A gate is a seam, not a row.** Nothing is dispatched at a gate, so it has
2308
+ * no participant and cannot be a bar; it stops every band at once, so it is a
2309
+ * position on the axis and the bands are crossed by it. Which side of the line
2310
+ * its label hangs on is what saying no costs — `before` and nothing is spent,
2311
+ * `after` and the pass is already paid for. A gate that can be raised at any
2312
+ * dispatch has no position and draws across the whole axis instead.
2313
+ *
2314
+ * **The spine band is always drawn**, with its wire running the whole axis: the
2315
+ * runtime's own dispatches are what the other bands are timed against, and it
2316
+ * is never governed. A band declares itself the spine with `spine` — the strip
2317
+ * recognises no layer by name. A spine that has dispatched nothing recedes like
2318
+ * any other empty row: the wire still says *this is the clock*, and the muted
2319
+ * ground says *it has not run yet*, which are two different facts.
2320
+ *
2321
+ * DOM over a fixed track, not canvas: it binds to no canvas store, it lives in
1926
2322
  * `mainSection` where no canvas exists, and frozen row labels plus text
1927
2323
  * selection are free here and expensive there.
1928
2324
  */
@@ -2055,7 +2451,12 @@ declare const MenuItem: React$1.FC<MenuItemProps>;
2055
2451
  * Omit it for an ordinary measurement. A grid where every tile is coloured
2056
2452
  * carries no signal, and a number that is merely large is not a warning.
2057
2453
  */
2058
- type MetricTone = "running" | "success" | "warning" | "error" | "info";
2454
+ type KnownMetricTone = "running" | "success" | "warning" | "error" | "info";
2455
+ /**
2456
+ * The values the kit draws specially — **suggestions, not a limit.** Anything
2457
+ * else renders with the neutral token and its own name.
2458
+ */
2459
+ type MetricTone = KnownMetricTone | (string & {});
2059
2460
  interface MetricTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
2060
2461
  /** What is being measured — `accepted`, `served (plan.verified)`, `hit rate`. */
2061
2462
  label: React$1.ReactNode;
@@ -3421,6 +3822,10 @@ interface TaskNodeProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "ch
3421
3822
  taskKey: React$1.ReactNode;
3422
3823
  /** What it may spend. */
3423
3824
  bound: Bound;
3825
+ /** The bound's swatch class, given directly — `bg-data-7`. */
3826
+ boundSwatch?: string;
3827
+ /** The bounds' palette, when a caller would rather state the map once. */
3828
+ boundPalette?: BoundPalette;
3424
3829
  /**
3425
3830
  * How it went, when this node is painting a **run**. Omit when the node is
3426
3831
  * painting a plan or a draft, which have no status of their own.
@@ -3503,7 +3908,12 @@ type TerminalLineKind = "prompt" | "output" | "comment";
3503
3908
  * command you typed, what it printed, a comment. A run's log has no prompts and
3504
3909
  * no comments; every line is output, and what varies is how loud it is.
3505
3910
  */
3506
- type TerminalLevel = "info" | "warn" | "error" | "debug";
3911
+ type KnownTerminalLevel = "info" | "warn" | "error" | "debug";
3912
+ /**
3913
+ * The values the kit draws specially — **suggestions, not a limit.** Anything
3914
+ * else renders with the neutral token and its own name.
3915
+ */
3916
+ type TerminalLevel = KnownTerminalLevel | (string & {});
3507
3917
  interface TerminalLineProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
3508
3918
  kind?: TerminalLineKind;
3509
3919
  /**
@@ -3895,4 +4305,4 @@ interface UseOverflowItemsResult {
3895
4305
  */
3896
4306
  declare function useOverflowItems({ count, enabled, pinnedIndex, reserve, }: UseOverflowItemsOptions): UseOverflowItemsResult;
3897
4307
 
3898
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddressChip, type AddressChipProps, type AddressTone, AgentChip, type AgentChipProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppStatusBar, type AppStatusBarProps, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type Band, BarChartH, type BarChartHProps, BarChartV, type BarChartVProps, type BarDatum, type BaseNavProps, type Bound, BoundChip, type BoundChipProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, ButtonWithTooltip, type ButtonWithTooltipProps, CAST_ROLES, CannotAnswerCard, type CannotAnswerCardProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CastResolution, type CastRole, type CastSource, CastTable, type CastTableProps, ChatSession, ChatSessionActivityRow, type ChatSessionActivityRowProps, type ChatSessionActivityStatus, ChatSessionActivitySubLine, type ChatSessionActivitySubLineProps, ChatSessionComposer, type ChatSessionComposerProps, ChatSessionContextChip, type ChatSessionContextChipProps, ChatSessionDisclosure, type ChatSessionDisclosureProps, ChatSessionMessage, type ChatSessionMessageAction, ChatSessionMessageOptions, type ChatSessionMessageOptionsProps, type ChatSessionMessageProps, type ChatSessionMessageRole, type ChatSessionMessageStatus, ChatSessionProgressLine, type ChatSessionProgressLineProps, ChatSessionPromptRow, type ChatSessionPromptRowProps, type ChatSessionProps, ChatSessionStatusBar, type ChatSessionStatusBarProps, ChatSessionTaskGroup, type ChatSessionTaskGroupProps, ChatSessionTaskRow, type ChatSessionTaskRowProps, type ChatSessionTaskStatus, CitationList, type CitationListProps, CitationMarker, CitationRow, type CitationRowProps, ClampedText, type ClampedTextProps, ClarifyCard, type ClarifyCardProps, type ClarifyOption, type ColumnDatum, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextBar, type ContextBarProps, type DeclaredAxes, DiagnosisCard, type DiagnosisCardProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffList, type DiffListProps, type DiffOp, DiffRow, type DiffRowProps, DivergingBar, type DivergingBarProps, type DivergingDatum, DotRating, type DotRatingProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type EgressClass, EgressList, type EgressListProps, EmissionCard, type EmissionCardProps, EmissionHeader, type EmissionHeaderProps, type EmissionKind, EmptyState, EmptyStateLock, type EmptyStateLockProps, type EmptyStateProps, ErrorBoundary, Eyebrow, type EyebrowProps, FilterBar, type FilterBarProps, FilterChip, type FilterChipProps, type HeatCell, type HeatState, HeatStrip, type HeatStripProps, HoverCard, HoverCardContent, HoverCardTrigger, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, type Layer, LayerChip, type LayerChipProps, LayerSection, type LayerSectionProps, LayerStrip, type LayerStripProps, Legend, LegendItem, type LegendItemProps, type LegendProps, type LegendSwatchKind, LensChip, type LensChipProps, LensRow, type LensRowProps, type LensUsage, type MatchCandidate, MatchPreview, type MatchPreviewProps, MenuItem, type MenuItemProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricGrid, type MetricGridProps, MetricTile, type MetricTileProps, type MetricTone, type Narrowing, NavBase, NavHorizontal, type NavHorizontalItem, NavHorizontalItems, type NavHorizontalItemsProps, type NavHorizontalProps, type NavItemConfig, NavItems, type NavItemsProps, type NavItemsVariant, type NavMenuItem, type NavSection, NavVertical, type NavVerticalItem, NavVerticalItems, type NavVerticalItemsProps, type NavVerticalProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, type NestedMenuProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelBox, type PanelBoxProps, PanelContent, type PanelContentProps, PanelStack, type PanelStackHandle, type PanelStackProps, type PanelStackSection, Popover, PopoverContent, PopoverTrigger, Progress, PropertyList, type PropertyListProps, PropertyRow, type PropertyRowProps, ProposalCard, type ProposalCardProps, RatingControl, type RatingControlProps, RecordHeader, type RecordHeaderProps, RepairNote, type RepairNoteProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RetryNote, type RetryNoteProps, RichSelect, type RichSelectOption, type RichSelectProps, type RuleEgress, type RuleProperties, RuleRow, type RuleRowProps, type RuleSelect, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, type SearchInputSize, SectionHeader, type SectionHeaderProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SliceLine, SliceSummary, type SliceSummaryProps, Sparkline, type SparklineProps, Spinner, StatusDot, type StatusDotProps, type Step, type StepTouch, type TabConfig, TabbedPanel, type TabbedPanelProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskGantt, TaskGanttDetailCard, type TaskGanttDetailCardProps, type TaskGanttDetailProps, type TaskGanttInstant, type TaskGanttProps, type TaskGanttSegment, type TaskGanttStatus, type TaskGanttTask, TaskNode, type TaskNodeProps, type TaskNodeTag, type TemplateOption, TemplatePicker, type TemplatePickerProps, Terminal, type TerminalLevel, TerminalLine, type TerminalLineKind, type TerminalLineProps, type TerminalProps, TimelineEntry, type TimelineEntryProps, TimelineFooter, type TimelineFooterProps, TimelineList, type TimelineListProps, type TimelineVariant, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TouchDirection, Tour, type TourController, type TourProps, type TourReference, type TourStep, TreeItem, TreeView, type TreeViewProps, Typography, TypographyBlockquote, type TypographyBlockquoteProps, TypographyH1, type TypographyH1Props, TypographyH2, type TypographyH2Props, TypographyH3, type TypographyH3Props, TypographyH4, type TypographyH4Props, TypographyH5, type TypographyH5Props, TypographyH6, type TypographyH6Props, TypographyInlineCode, type TypographyInlineCodeProps, TypographyLarge, type TypographyLargeProps, TypographyLead, type TypographyLeadProps, TypographyList, type TypographyListProps, TypographyMuted, type TypographyMutedProps, TypographyP, type TypographyPProps, TypographyPre, type TypographyPreProps, TypographySmall, type TypographySmallProps, UnderDevelopment, type UnderDevelopmentProps, type UseOverflowItemsOptions, type UseOverflowItemsResult, type UseTourOptions, type Verdict, agentChipVariants, badgeVariants, SWATCH$1 as boundSwatch, buttonGroupVariants, buttonVariants, chatSessionGutterClass, cn, describeSlice, LABEL as layerLabel, SWATCH as layerSwatch, navigationMenuTriggerStyle, split as splitAddress, statusDotVariants, toggleVariants, MARK_LABEL as touchLabel, useOverflowItems, useSidebar, useTour };
4308
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, AddressChip, type AddressChipProps, type AddressTone, AgentChip, type AgentChipProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppStatusBar, type AppStatusBarProps, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, BarChartH, type BarChartHProps, BarChartV, type BarChartVProps, type BarDatum, type BaseNavProps, type Bound, BoundChip, type BoundChipProps, type BoundPalette, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, ButtonWithTooltip, type ButtonWithTooltipProps, CAST_ROLES, CannotAnswerCard, type CannotAnswerCardProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type CastResolution, type CastRole, type CastSource, CastTable, type CastTableProps, ChatSession, ChatSessionActivityRow, type ChatSessionActivityRowProps, type ChatSessionActivityStatus, ChatSessionActivitySubLine, type ChatSessionActivitySubLineProps, ChatSessionComposer, type ChatSessionComposerProps, ChatSessionContextChip, type ChatSessionContextChipProps, ChatSessionDisclosure, type ChatSessionDisclosureProps, ChatSessionMessage, type ChatSessionMessageAction, ChatSessionMessageOptions, type ChatSessionMessageOptionsProps, type ChatSessionMessageProps, type ChatSessionMessageRole, type ChatSessionMessageStatus, ChatSessionProgressLine, type ChatSessionProgressLineProps, ChatSessionPromptRow, type ChatSessionPromptRowProps, type ChatSessionProps, ChatSessionStatusBar, type ChatSessionStatusBarProps, ChatSessionTaskGroup, type ChatSessionTaskGroupProps, ChatSessionTaskRow, type ChatSessionTaskRowProps, type ChatSessionTaskStatus, CitationList, type CitationListProps, CitationMarker, CitationRow, type CitationRowProps, ClampedText, type ClampedTextProps, ClarifyCard, type ClarifyCardProps, type ClarifyOption, type ColumnDatum, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextBar, type ContextBarProps, type DeclaredAxes, DiagnosisCard, type DiagnosisCardProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DiffList, type DiffListProps, type DiffOp, DiffRow, type DiffRowProps, DivergingBar, type DivergingBarProps, type DivergingDatum, DotRating, type DotRatingProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, type EgressClass, EgressList, type EgressListProps, EmissionCard, type EmissionCardProps, EmissionHeader, type EmissionHeaderProps, type EmissionKind, EmptyState, EmptyStateLock, type EmptyStateLockProps, type EmptyStateProps, ErrorBoundary, Eyebrow, type EyebrowProps, FilterBar, type FilterBarProps, FilterChip, type FilterChipProps, type HeatCell, type HeatState, HeatStrip, type HeatStripProps, HoverCard, HoverCardContent, HoverCardTrigger, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, type KnownAddressTone, type KnownBound, type KnownDiffOp, type KnownLayer, type KnownLayerItemState, type KnownMetricTone, type KnownTerminalLevel, type Layer, type LayerBand, type LayerBracket, LayerChip, type LayerChipProps, type LayerItem, type LayerItemState, type LayerPaint, type LayerPalette, type LayerPart, type LayerScale, type LayerSeam, LayerSection, type LayerSectionProps, LayerStrip, type LayerStripProps, Legend, LegendItem, type LegendItemProps, type LegendProps, type LegendSwatchKind, LensChip, type LensChipProps, LensRow, type LensRowProps, type LensUsage, Link, type LinkProps, type MatchCandidate, MatchPreview, type MatchPreviewProps, MenuItem, type MenuItemProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricGrid, type MetricGridProps, MetricTile, type MetricTileProps, type MetricTone, type Narrowing, NavBase, NavHorizontal, type NavHorizontalItem, NavHorizontalItems, type NavHorizontalItemsProps, type NavHorizontalProps, type NavItemConfig, NavItems, type NavItemsProps, type NavItemsVariant, type NavMenuItem, type NavSection, NavVertical, type NavVerticalItem, NavVerticalItems, type NavVerticalItemsProps, type NavVerticalProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NestedMenu, type NestedMenuProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, PanelBox, type PanelBoxProps, PanelContent, type PanelContentProps, PanelStack, type PanelStackHandle, type PanelStackProps, type PanelStackSection, Popover, PopoverContent, PopoverTrigger, Progress, PropertyList, type PropertyListProps, PropertyRow, type PropertyRowProps, ProposalCard, type ProposalCardProps, RatingControl, type RatingControlProps, RecordHeader, type RecordHeaderProps, RepairNote, type RepairNoteProps, ResizableHandle, ResizablePanel, ResizablePanelGroup, RetryNote, type RetryNoteProps, RichSelect, type RichSelectOption, type RichSelectProps, type RuleEgress, type RuleProperties, RuleRow, type RuleRowProps, type RuleSelect, ScrollArea, ScrollBar, SearchInput, type SearchInputProps, type SearchInputSize, SectionHeader, type SectionHeaderProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SliceLine, SliceSummary, type SliceSummaryProps, Sparkline, type SparklineProps, Spinner, StatusDot, type StatusDotProps, type TabConfig, TabbedPanel, type TabbedPanelProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TaskGantt, TaskGanttDetailCard, type TaskGanttDetailCardProps, type TaskGanttDetailProps, type TaskGanttInstant, type TaskGanttProps, type TaskGanttSegment, type TaskGanttStatus, type TaskGanttTask, TaskNode, type TaskNodeProps, type TaskNodeTag, type TemplateOption, TemplatePicker, type TemplatePickerProps, Terminal, type TerminalLevel, TerminalLine, type TerminalLineKind, type TerminalLineProps, type TerminalProps, TimelineEntry, type TimelineEntryProps, TimelineFooter, type TimelineFooterProps, TimelineList, type TimelineListProps, type TimelineVariant, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Toolbar, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TouchDirection, Tour, type TourController, type TourProps, type TourReference, type TourStep, TreeItem, TreeView, type TreeViewProps, Typography, TypographyBlockquote, type TypographyBlockquoteProps, TypographyH1, type TypographyH1Props, TypographyH2, type TypographyH2Props, TypographyH3, type TypographyH3Props, TypographyH4, type TypographyH4Props, TypographyH5, type TypographyH5Props, TypographyH6, type TypographyH6Props, TypographyInlineCode, type TypographyInlineCodeProps, TypographyLarge, type TypographyLargeProps, TypographyLead, type TypographyLeadProps, TypographyList, type TypographyListProps, TypographyMuted, type TypographyMutedProps, TypographyP, type TypographyPProps, TypographyPre, type TypographyPreProps, TypographySmall, type TypographySmallProps, UnderDevelopment, type UnderDevelopmentProps, type UseOverflowItemsOptions, type UseOverflowItemsResult, type UseTourOptions, type Verdict, agentChipVariants, badgeVariants, buttonGroupVariants, buttonVariants, chatSessionGutterClass, cn, describeSlice, stateLabel as layerItemLabel, layerLabel, layerPaint, linkVariants, navigationMenuTriggerStyle, split as splitAddress, statusDotVariants, toggleVariants, useOverflowItems, useSidebar, useTour };