@invana/ui 0.0.28 → 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/README.md +11 -5
- package/dist/index.cjs +1679 -577
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1097 -118
- package/dist/index.d.ts +1097 -118
- package/dist/index.js +1660 -576
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
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?: "
|
|
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
|
}
|
|
@@ -564,6 +639,67 @@ declare const ToggleGroupItem: React$1.ForwardRefExoticComponent<Omit<ToggleGrou
|
|
|
564
639
|
size?: "default" | "sm" | "lg" | null | undefined;
|
|
565
640
|
} & class_variance_authority_types.ClassProp) | undefined) => string> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
566
641
|
|
|
642
|
+
/**
|
|
643
|
+
* How this address stood in the run, or in the rule being read.
|
|
644
|
+
*
|
|
645
|
+
* `denied` and `refused` are two different facts and the boards print both:
|
|
646
|
+
* a **denied** address is what the bound says, read at rest; a **refused** one
|
|
647
|
+
* is what actually happened when a run reached for it. One is a rule, the other
|
|
648
|
+
* is an event, and collapsing them loses *the bound was there and nothing ever
|
|
649
|
+
* tested it*.
|
|
650
|
+
*/
|
|
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 & {});
|
|
657
|
+
/**
|
|
658
|
+
* Split an address so the **participant survives truncation**.
|
|
659
|
+
*
|
|
660
|
+
* `graph_data/model/Deals@1.0.0` is read right-to-left: the last segment is
|
|
661
|
+
* which thing, and the first two are which kind of thing — and the kind is
|
|
662
|
+
* already carried by the `LayerChip` beside it. So the head flexes and clips
|
|
663
|
+
* and the tail is pinned, giving `graph_data/mod…/Deals@1.0.0` rather than the
|
|
664
|
+
* `graph_data/model/Dea…` a plain `truncate` would give.
|
|
665
|
+
*
|
|
666
|
+
* A wildcard pattern is the same shape (`graph_data/model/Deals@*`), and
|
|
667
|
+
* `third_party/**` has no tail to lose.
|
|
668
|
+
*/
|
|
669
|
+
declare function split(address: string): {
|
|
670
|
+
head: string;
|
|
671
|
+
tail: string;
|
|
672
|
+
};
|
|
673
|
+
interface AddressChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "children" | "onClick"> {
|
|
674
|
+
/** `graph_data/model/Deals@1.0.0`, or a pattern — `third_party/**`. */
|
|
675
|
+
address: string;
|
|
676
|
+
tone?: AddressTone;
|
|
677
|
+
/**
|
|
678
|
+
* Open the participant this names. Present makes the chip a button; absent
|
|
679
|
+
* leaves it text, because an address that looks pressable and is not teaches
|
|
680
|
+
* the reader to stop pressing.
|
|
681
|
+
*/
|
|
682
|
+
onOpen?: (address: string) => void;
|
|
683
|
+
}
|
|
684
|
+
/**
|
|
685
|
+
* One participant's address, printed so the participant stays readable.
|
|
686
|
+
*
|
|
687
|
+
* The address is the only identifier there is — the lens matches on it, the
|
|
688
|
+
* ledger records it, the run drawing expands it — so it appears wherever a
|
|
689
|
+
* bound, a touch or a refusal is shown, and it has to survive a narrow column
|
|
690
|
+
* without becoming three of the same string.
|
|
691
|
+
*
|
|
692
|
+
* **It truncates in the middle, not the end.** See {@link split}: the last
|
|
693
|
+
* segment is which thing and the ones before it are which kind, so the kind is
|
|
694
|
+
* what gives way. Clipping the tail would render every model in a Graph as
|
|
695
|
+
* `graph_data/model/…`.
|
|
696
|
+
*
|
|
697
|
+
* The separators sit at half opacity so the segments read as three parts of one
|
|
698
|
+
* name rather than one long token. Monospace for the same reason it is
|
|
699
|
+
* monospace in the ledger: these are compared by eye, down a column.
|
|
700
|
+
*/
|
|
701
|
+
declare const AddressChip: React$1.ForwardRefExoticComponent<AddressChipProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
702
|
+
|
|
567
703
|
declare const agentChipVariants: (props?: ({
|
|
568
704
|
kind?: "agent" | "person" | null | undefined;
|
|
569
705
|
inactive?: boolean | null | undefined;
|
|
@@ -586,46 +722,6 @@ interface AgentChipProps extends React$1.HTMLAttributes<HTMLSpanElement>, Varian
|
|
|
586
722
|
*/
|
|
587
723
|
declare const AgentChip: React$1.ForwardRefExoticComponent<AgentChipProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
588
724
|
|
|
589
|
-
/**
|
|
590
|
-
* The closed set of capabilities a callable may spend.
|
|
591
|
-
*
|
|
592
|
-
* Nine values, fixed. The catalogue is grouped by these and an envelope
|
|
593
|
-
* ceilings them, so this is a vocabulary rather than a list that grows.
|
|
594
|
-
*/
|
|
595
|
-
type Bound = "none" | "network" | "graph_read" | "graph_write" | "schema_write" | "ingest" | "llm" | "plan_write" | "work_write";
|
|
596
|
-
/**
|
|
597
|
-
* One hue per bound, fixed — colour follows the bound, never its position in a
|
|
598
|
-
* list. Five come from the status tokens because they already mean the right
|
|
599
|
-
* thing; the other four take data-palette slots, which are chosen for being
|
|
600
|
-
* distinguishable from each other rather than for meaning anything.
|
|
601
|
-
*/
|
|
602
|
-
declare const SWATCH: Record<Bound, string>;
|
|
603
|
-
interface BoundChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "children"> {
|
|
604
|
-
bound: Bound;
|
|
605
|
-
/**
|
|
606
|
-
* Render the swatch alone, for somewhere the name is already written beside
|
|
607
|
-
* it. Use sparingly — see the note on colour below.
|
|
608
|
-
*/
|
|
609
|
-
swatchOnly?: boolean;
|
|
610
|
-
}
|
|
611
|
-
/**
|
|
612
|
-
* What a task is allowed to spend, as a swatch and a name.
|
|
613
|
-
*
|
|
614
|
-
* It appears on a task node in a flow, in a run's record header, on a catalogue
|
|
615
|
-
* row and in the parameter form's contract card — everywhere a reader has to
|
|
616
|
-
* know *what this act costs* before reading what it does.
|
|
617
|
-
*
|
|
618
|
-
* **The name is always there.** The swatch is a scanning aid, not the carrier:
|
|
619
|
-
* nine hues cannot be told apart reliably, several pairs are close, and a
|
|
620
|
-
* colour-blind reader gets nothing from any of them. `swatchOnly` exists for
|
|
621
|
-
* the one case where the name is already printed next to the chip.
|
|
622
|
-
*
|
|
623
|
-
* Deliberately not a `Badge`. A badge carries *state* and takes a tone from the
|
|
624
|
-
* status palette; a bound is a fixed property of a callable and must not read
|
|
625
|
-
* as "this went well" because it happens to be green.
|
|
626
|
-
*/
|
|
627
|
-
declare const BoundChip: React$1.ForwardRefExoticComponent<BoundChipProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
628
|
-
|
|
629
725
|
declare const stateVariants: (props?: ({
|
|
630
726
|
tone?: "active" | "error" | "running" | "draft" | "review" | null | undefined;
|
|
631
727
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -753,6 +849,78 @@ interface BarChartVProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "c
|
|
|
753
849
|
*/
|
|
754
850
|
declare const BarChartV: React$1.ForwardRefExoticComponent<BarChartVProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
755
851
|
|
|
852
|
+
/**
|
|
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.
|
|
865
|
+
*
|
|
866
|
+
* `(string & {})` keeps the known set autocompleting while accepting anything
|
|
867
|
+
* else without a cast. See {@link KnownBound}.
|
|
868
|
+
*/
|
|
869
|
+
type Bound = KnownBound | (string & {});
|
|
870
|
+
/**
|
|
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.
|
|
883
|
+
*/
|
|
884
|
+
type BoundPalette = Partial<Record<Bound, string>>;
|
|
885
|
+
interface BoundChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "children"> {
|
|
886
|
+
bound: Bound;
|
|
887
|
+
/**
|
|
888
|
+
* Render the swatch alone, for somewhere the name is already written beside
|
|
889
|
+
* it. Use sparingly — see the note on colour below.
|
|
890
|
+
*/
|
|
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;
|
|
905
|
+
}
|
|
906
|
+
/**
|
|
907
|
+
* What a task is allowed to spend, as a swatch and a name.
|
|
908
|
+
*
|
|
909
|
+
* It appears on a task node in a flow, in a run's record header, on a catalogue
|
|
910
|
+
* row and in the parameter form's contract card — everywhere a reader has to
|
|
911
|
+
* know *what this act costs* before reading what it does.
|
|
912
|
+
*
|
|
913
|
+
* **The name is always there.** The swatch is a scanning aid, not the carrier:
|
|
914
|
+
* nine hues cannot be told apart reliably, several pairs are close, and a
|
|
915
|
+
* colour-blind reader gets nothing from any of them. `swatchOnly` exists for
|
|
916
|
+
* the one case where the name is already printed next to the chip.
|
|
917
|
+
*
|
|
918
|
+
* Deliberately not a `Badge`. A badge carries *state* and takes a tone from the
|
|
919
|
+
* status palette; a bound is a fixed property of a callable and must not read
|
|
920
|
+
* as "this went well" because it happens to be green.
|
|
921
|
+
*/
|
|
922
|
+
declare const BoundChip: React$1.ForwardRefExoticComponent<BoundChipProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
923
|
+
|
|
756
924
|
interface ButtonWithTooltipProps extends ButtonProps {
|
|
757
925
|
tooltip: React__default.ReactNode;
|
|
758
926
|
}
|
|
@@ -784,6 +952,247 @@ interface CannotAnswerCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
784
952
|
*/
|
|
785
953
|
declare const CannotAnswerCard: React$1.ForwardRefExoticComponent<CannotAnswerCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
786
954
|
|
|
955
|
+
/**
|
|
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.
|
|
971
|
+
*
|
|
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.
|
|
977
|
+
*/
|
|
978
|
+
type Layer = KnownLayer | (string & {});
|
|
979
|
+
/**
|
|
980
|
+
* What a reader calls the layer: the identifier with its underscores opened up.
|
|
981
|
+
*
|
|
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.
|
|
1031
|
+
*
|
|
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.
|
|
1035
|
+
*/
|
|
1036
|
+
declare const layerPaint: (palette: LayerPalette | undefined, layer: Layer) => Required<LayerPaint>;
|
|
1037
|
+
interface LayerChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "children"> {
|
|
1038
|
+
layer: Layer;
|
|
1039
|
+
/**
|
|
1040
|
+
* How many participants this layer holds — `graph data 4`. Omit where the
|
|
1041
|
+
* count is already in the row, and note that `0` is a fact worth printing:
|
|
1042
|
+
* *nothing is configured* reads differently from *nothing matched*.
|
|
1043
|
+
*/
|
|
1044
|
+
count?: number;
|
|
1045
|
+
/** What to call it, when {@link layerLabel} is not what this surface says. */
|
|
1046
|
+
label?: React$1.ReactNode;
|
|
1047
|
+
/**
|
|
1048
|
+
* The layer is closed, empty or out of view: the swatch drops to the muted
|
|
1049
|
+
* token and the label goes with it. The chip stays legible — this is *not
|
|
1050
|
+
* in play*, never *not there*.
|
|
1051
|
+
*/
|
|
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;
|
|
1064
|
+
}
|
|
1065
|
+
/**
|
|
1066
|
+
* One class of participant, as a swatch and a name.
|
|
1067
|
+
*
|
|
1068
|
+
* It heads a `LayerSection`, bands a run's `LayerStrip`, and counts a layer in
|
|
1069
|
+
* the Worlds drawer — everywhere a reader has to know *what kind of thing this
|
|
1070
|
+
* is* before reading which one.
|
|
1071
|
+
*
|
|
1072
|
+
* **The name is always there.** Six hues cannot be told apart reliably and a
|
|
1073
|
+
* colour-blind reader gets nothing from any of them: the swatch speeds up
|
|
1074
|
+
* scanning a list you can already read, and carries nothing on its own.
|
|
1075
|
+
*
|
|
1076
|
+
* Deliberately not a `Badge` and deliberately not `BoundChip`. A badge carries
|
|
1077
|
+
* *state* from the status palette; a bound is what a callable may **spend**; a
|
|
1078
|
+
* layer is what a participant **is**. The two chips co-occur on the agent
|
|
1079
|
+
* boards, which is why they never share a hue.
|
|
1080
|
+
*/
|
|
1081
|
+
declare const LayerChip: React$1.ForwardRefExoticComponent<LayerChipProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
1082
|
+
|
|
1083
|
+
/** The four roles a plan may name. Fixed — `tier` would not survive a re-cast. */
|
|
1084
|
+
type CastRole = "extract" | "decide" | "judge" | "embed";
|
|
1085
|
+
/**
|
|
1086
|
+
* One thing a lens does to the world it is read against.
|
|
1087
|
+
*
|
|
1088
|
+
* A closed set, because the drawer's job is *what does this narrow* answered at
|
|
1089
|
+
* a glance, and a free-text summary is a sentence each caller writes
|
|
1090
|
+
* differently. Empty means the lens narrows nothing — which is a real state and
|
|
1091
|
+
* the row says so in words, never with a blank.
|
|
1092
|
+
*/
|
|
1093
|
+
type Narrowing = {
|
|
1094
|
+
kind: "allow";
|
|
1095
|
+
count: number;
|
|
1096
|
+
} | {
|
|
1097
|
+
kind: "deny";
|
|
1098
|
+
count: number;
|
|
1099
|
+
} | {
|
|
1100
|
+
kind: "sliced";
|
|
1101
|
+
} | {
|
|
1102
|
+
kind: "excludes";
|
|
1103
|
+
properties: string[];
|
|
1104
|
+
} | {
|
|
1105
|
+
kind: "closes";
|
|
1106
|
+
layers: Layer[];
|
|
1107
|
+
} | {
|
|
1108
|
+
kind: "casts";
|
|
1109
|
+
roles: CastRole[];
|
|
1110
|
+
};
|
|
1111
|
+
interface LensUsage {
|
|
1112
|
+
/** How many runs opened under this lens. `0` is printed, not hidden. */
|
|
1113
|
+
runs: number;
|
|
1114
|
+
/** Already humanised — `2h ago`. The row does not own a clock. */
|
|
1115
|
+
lastUsed?: string;
|
|
1116
|
+
}
|
|
1117
|
+
interface LensRowProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children" | "onSelect"> {
|
|
1118
|
+
name: string;
|
|
1119
|
+
narrows?: Narrowing[];
|
|
1120
|
+
usage?: LensUsage;
|
|
1121
|
+
selected?: boolean;
|
|
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;
|
|
1128
|
+
}
|
|
1129
|
+
/**
|
|
1130
|
+
* One world in the Worlds drawer: its name, what it narrows, and how used it is.
|
|
1131
|
+
*
|
|
1132
|
+
* **What it narrows is chips, not prose.** A world is picked by comparing it
|
|
1133
|
+
* with the four above it, and four sentences do not compare — six fixed kinds
|
|
1134
|
+
* of narrowing do. `closes` renders its layers as `LayerChip`s because *which*
|
|
1135
|
+
* layer is closed is the part being compared.
|
|
1136
|
+
*
|
|
1137
|
+
* **A world that narrows nothing says so in words.** `Everything` is a real
|
|
1138
|
+
* world and the default one; a blank row would read as a world whose summary
|
|
1139
|
+
* failed to load, which is the opposite of the reassurance it is there to give.
|
|
1140
|
+
*
|
|
1141
|
+
* **Usage is a fact, not a ranking.** `used in 34 runs · last 2h ago` tells a
|
|
1142
|
+
* reader whether they are about to edit something live. It never sorts the list
|
|
1143
|
+
* — a world used once may be the one that matters, and a list that reorders
|
|
1144
|
+
* itself under you cannot be scanned twice.
|
|
1145
|
+
*/
|
|
1146
|
+
declare const LensRow: React$1.ForwardRefExoticComponent<LensRowProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1147
|
+
|
|
1148
|
+
/**
|
|
1149
|
+
* The four roles, in the order a run spends them. Fixed, and **always all four**
|
|
1150
|
+
* — see the note on the component.
|
|
1151
|
+
*/
|
|
1152
|
+
declare const CAST_ROLES: CastRole[];
|
|
1153
|
+
/** Where a resolved address came from. Innermost wins. */
|
|
1154
|
+
type CastSource = "todo" | "plan" | "agent" | "shipped";
|
|
1155
|
+
interface CastResolution {
|
|
1156
|
+
role: CastRole;
|
|
1157
|
+
/** `null` when nothing casts the role and no shipped default resolves it. */
|
|
1158
|
+
address: string | null;
|
|
1159
|
+
allowed: boolean;
|
|
1160
|
+
/** The rule that denied it, when one did — so a refusal names its bound. */
|
|
1161
|
+
ruleMatched?: string | null;
|
|
1162
|
+
source?: CastSource;
|
|
1163
|
+
}
|
|
1164
|
+
interface CastTableProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
1165
|
+
/** What the lens itself casts: role → model address. Partial is normal. */
|
|
1166
|
+
cast?: Partial<Record<CastRole, string>>;
|
|
1167
|
+
/**
|
|
1168
|
+
* The same four roles after resolution — innermost wins, then checked against
|
|
1169
|
+
* the effective rules. Absent leaves the table read as *what this lens says*
|
|
1170
|
+
* rather than *what a run would get*.
|
|
1171
|
+
*/
|
|
1172
|
+
resolved?: CastResolution[];
|
|
1173
|
+
readOnly?: boolean;
|
|
1174
|
+
}
|
|
1175
|
+
/**
|
|
1176
|
+
* `role → resolves to → why this one`, four fixed rows.
|
|
1177
|
+
*
|
|
1178
|
+
* A plan names a **role**, not a model: `decide` says *how much this matters*,
|
|
1179
|
+
* which stays true when the line-up moves, in a way `tier` and a hard-coded
|
|
1180
|
+
* model id do not. The cast is what turns the role into an address.
|
|
1181
|
+
*
|
|
1182
|
+
* **All four rows, always — including the ones nothing casts.** A table that
|
|
1183
|
+
* showed only what was set would make *nothing casts `judge`* invisible, and
|
|
1184
|
+
* that is precisely the state worth seeing before a run opens: it is the one
|
|
1185
|
+
* that falls to a shipped default, which may name a model this Graph is not
|
|
1186
|
+
* credentialed for.
|
|
1187
|
+
*
|
|
1188
|
+
* **The cast is not a bound.** It picks *within* the rules and never widens
|
|
1189
|
+
* them: innermost wins, and the resolved address is then checked against the
|
|
1190
|
+
* effective rules and refused by name if denied. That is why a denied row names
|
|
1191
|
+
* the rule rather than just going red — the recourse is to edit that rule, and
|
|
1192
|
+
* the reader has to know which.
|
|
1193
|
+
*/
|
|
1194
|
+
declare const CastTable: React$1.ForwardRefExoticComponent<CastTableProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1195
|
+
|
|
787
1196
|
interface ChatSessionProps {
|
|
788
1197
|
/** The message list — typically `<ChatSessionMessage />` nodes. */
|
|
789
1198
|
children?: React$1.ReactNode;
|
|
@@ -1266,7 +1675,12 @@ interface DiagnosisCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1266
1675
|
*/
|
|
1267
1676
|
declare const DiagnosisCard: React$1.ForwardRefExoticComponent<DiagnosisCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1268
1677
|
|
|
1269
|
-
type
|
|
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 & {});
|
|
1270
1684
|
interface DiffRowProps extends Omit<React$1.HTMLAttributes<HTMLLIElement>, "children"> {
|
|
1271
1685
|
op?: DiffOp;
|
|
1272
1686
|
/** What kind of thing changed — `node`, `edge`, `property`. */
|
|
@@ -1331,6 +1745,49 @@ interface DivergingBarProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
|
|
|
1331
1745
|
*/
|
|
1332
1746
|
declare const DivergingBar: React$1.ForwardRefExoticComponent<DivergingBarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1333
1747
|
|
|
1748
|
+
/**
|
|
1749
|
+
* What of the Graph's data may accompany a call across the boundary.
|
|
1750
|
+
*
|
|
1751
|
+
* A **closed** set, because an open one is a list nobody can audit: a reader
|
|
1752
|
+
* has to know that what is not named cannot be sent, and that only holds if the
|
|
1753
|
+
* vocabulary is fixed.
|
|
1754
|
+
*/
|
|
1755
|
+
type EgressClass = "type_names" | "property_names" | "the_question" | "property_values" | "record_ids" | "aggregates" | "everything";
|
|
1756
|
+
interface EgressListProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
1757
|
+
/** The destination this governs — `llm/anthropic-prod/claude-opus-5`. */
|
|
1758
|
+
to: string;
|
|
1759
|
+
/** What may be sent. **Empty is the default and means nothing may.** */
|
|
1760
|
+
classes?: EgressClass[];
|
|
1761
|
+
/**
|
|
1762
|
+
* What was actually withheld on a real crossing. Absent reads as a **rule**
|
|
1763
|
+
* at rest; present reads as an **event** — see the note below.
|
|
1764
|
+
*/
|
|
1765
|
+
cut?: EgressClass[];
|
|
1766
|
+
}
|
|
1767
|
+
/**
|
|
1768
|
+
* Per destination: what may be sent, and what was cut.
|
|
1769
|
+
*
|
|
1770
|
+
* **Egress is declared per destination, on the rule that matched it.** A
|
|
1771
|
+
* run-wide setting would have to be the strictest of its destinations, which is
|
|
1772
|
+
* the least useful one — so this component is always about *one* address, and a
|
|
1773
|
+
* surface showing several renders several.
|
|
1774
|
+
*
|
|
1775
|
+
* **Reading a thing and sending it are different permissions.** A query may
|
|
1776
|
+
* filter on `Deal.revenue` while the value never enters a prompt — used to
|
|
1777
|
+
* **compute**, not to **reason**. That is the distinction this list exists to
|
|
1778
|
+
* make visible, and it is why `property_values` being absent is worth as much
|
|
1779
|
+
* screen as the classes that are present.
|
|
1780
|
+
*
|
|
1781
|
+
* **`cut` is what makes it evidence rather than configuration.** The same
|
|
1782
|
+
* component states the bound before a run and what the bound actually withheld
|
|
1783
|
+
* after one; without `cut`, a reader cannot tell a rule that did work from a
|
|
1784
|
+
* rule that never bit.
|
|
1785
|
+
*
|
|
1786
|
+
* An empty `classes` is drawn in words, because the lens default is `[]` and a
|
|
1787
|
+
* blank row would read as *not configured* rather than *nothing may leave*.
|
|
1788
|
+
*/
|
|
1789
|
+
declare const EgressList: React$1.ForwardRefExoticComponent<EgressListProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1790
|
+
|
|
1334
1791
|
/**
|
|
1335
1792
|
* How an answer's records are rendered. A kind is a *body inside* the emission
|
|
1336
1793
|
* card, never a block of its own (DS9) — so this names the body, it does not
|
|
@@ -1433,6 +1890,41 @@ declare class ErrorBoundary extends Component<{
|
|
|
1433
1890
|
render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | React$1.JSX.Element | null | undefined;
|
|
1434
1891
|
}
|
|
1435
1892
|
|
|
1893
|
+
interface EyebrowProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1894
|
+
/**
|
|
1895
|
+
* Right-aligned trailing text — a count, a position, a state. Kept separate
|
|
1896
|
+
* from `children` so the label stays left and the fact stays right without
|
|
1897
|
+
* every call site building its own flex row.
|
|
1898
|
+
*/
|
|
1899
|
+
aside?: React$1.ReactNode;
|
|
1900
|
+
/**
|
|
1901
|
+
* `muted` (default) for a label being scanned past, `foreground` when it
|
|
1902
|
+
* titles a card that has no other heading, `accent` when it names something
|
|
1903
|
+
* the reader is being taught.
|
|
1904
|
+
*/
|
|
1905
|
+
tone?: "muted" | "foreground" | "accent";
|
|
1906
|
+
children?: React$1.ReactNode;
|
|
1907
|
+
}
|
|
1908
|
+
/**
|
|
1909
|
+
* The smallest heading in the system: a label over the thing it names.
|
|
1910
|
+
*
|
|
1911
|
+
* `WHY IT MATTERS`, `1 · CONNECTED`, `OPTIONAL`, `REFERENCED COMPONENTS`. It
|
|
1912
|
+
* titles a band of content without the weight — or the 35px and the rule — of
|
|
1913
|
+
* a {@link SectionHeader}, so several can sit in one scrolling column and still
|
|
1914
|
+
* read as subordinate to the panel's own title.
|
|
1915
|
+
*
|
|
1916
|
+
* Uppercase at `text-sm` with tracking, because at this size caps are what
|
|
1917
|
+
* separate a label from the sentence under it; lowercase at 11px reads as body
|
|
1918
|
+
* copy set small. That is also why it is a component rather than four utility
|
|
1919
|
+
* classes: the treatment was being retyped, and a label that drifts a weight or
|
|
1920
|
+
* a tracking step in one panel stops reading as the same kind of thing.
|
|
1921
|
+
*
|
|
1922
|
+
* `tone="accent"` is for a label that names something the reader is being
|
|
1923
|
+
* *taught* rather than something they are scanning — a callout's kind, a
|
|
1924
|
+
* concept's name. Use it rarely; muted is the default for a reason.
|
|
1925
|
+
*/
|
|
1926
|
+
declare const Eyebrow: React$1.ForwardRefExoticComponent<EyebrowProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1927
|
+
|
|
1436
1928
|
interface FilterBarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1437
1929
|
/** The filter controls. `FilterChip`s, a `SearchInput`, a toggle. */
|
|
1438
1930
|
children?: React$1.ReactNode;
|
|
@@ -1522,6 +2014,316 @@ interface HeatStripProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "c
|
|
|
1522
2014
|
*/
|
|
1523
2015
|
declare const HeatStrip: React$1.ForwardRefExoticComponent<HeatStripProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1524
2016
|
|
|
2017
|
+
interface LayerSectionProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children" | "title"> {
|
|
2018
|
+
layer: Layer;
|
|
2019
|
+
/**
|
|
2020
|
+
* What this layer amounts to, in the reader's words — `permitted whole`,
|
|
2021
|
+
* `4 of 5 models · sliced`, `closed · nothing but the two below`.
|
|
2022
|
+
*
|
|
2023
|
+
* **A closed layer says so here.** Closing a layer is what picking four
|
|
2024
|
+
* models out of six means, and it is a stated field rather than something
|
|
2025
|
+
* inferred from *there is an allow rule in this band* — so the band has to
|
|
2026
|
+
* print it, or an auditor reads an allow-list as a list of exceptions.
|
|
2027
|
+
*/
|
|
2028
|
+
summary?: React$1.ReactNode;
|
|
2029
|
+
/** The layer's `RuleRow`s. None is a real state — see `summary`. */
|
|
2030
|
+
children?: React$1.ReactNode;
|
|
2031
|
+
/** How many participants the layer holds, shown on the chip. */
|
|
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;
|
|
2038
|
+
/** The layer is out of view for this lens: the whole band dims. */
|
|
2039
|
+
dim?: boolean;
|
|
2040
|
+
}
|
|
2041
|
+
/**
|
|
2042
|
+
* One layer's band of rules, under the layer's own name and summary.
|
|
2043
|
+
*
|
|
2044
|
+
* A lens reads as five of these stacked — graph data, llm, third party, cache,
|
|
2045
|
+
* human — so *what is shut* is answered by scanning five summary lines rather
|
|
2046
|
+
* than by reading every rule. That is the shape the Worlds and Guardrails
|
|
2047
|
+
* drawers share, which is why the band is a component and not a heading each
|
|
2048
|
+
* screen retypes.
|
|
2049
|
+
*
|
|
2050
|
+
* **A band with no rules still appears.** An absent layer and a layer with
|
|
2051
|
+
* nothing in it are different facts: one is *this Graph has no third parties
|
|
2052
|
+
* configured*, the other is *it has them and this lens admits none*. A band
|
|
2053
|
+
* that vanished when empty would make the two look alike, and the second is the
|
|
2054
|
+
* one worth seeing.
|
|
2055
|
+
*
|
|
2056
|
+
* The rule is subordinate to the band, so the band's label is a `LayerChip`
|
|
2057
|
+
* rather than a heading — the panel's own title is the heading, and five
|
|
2058
|
+
* headings under it would compete with it.
|
|
2059
|
+
*/
|
|
2060
|
+
declare const LayerSection: React$1.ForwardRefExoticComponent<LayerSectionProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2061
|
+
|
|
2062
|
+
/**
|
|
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.
|
|
2084
|
+
*
|
|
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.
|
|
2089
|
+
*/
|
|
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 {
|
|
2098
|
+
layer: Layer;
|
|
2099
|
+
/** Overrides the layer's own name. */
|
|
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;
|
|
2116
|
+
}
|
|
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;
|
|
2128
|
+
layer: Layer;
|
|
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;
|
|
2136
|
+
/** The rule that refused it, when one did. */
|
|
2137
|
+
ruleMatched?: string;
|
|
2138
|
+
}
|
|
2139
|
+
/** A bounded repetition over a stretch of the axis — `loop · max 3`. */
|
|
2140
|
+
interface LayerBracket {
|
|
2141
|
+
id: string;
|
|
2142
|
+
start: number;
|
|
2143
|
+
end: number;
|
|
2144
|
+
label: string;
|
|
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";
|
|
2183
|
+
interface LayerStripProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children" | "onSelect"> {
|
|
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[];
|
|
2197
|
+
/**
|
|
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.
|
|
2230
|
+
*/
|
|
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;
|
|
2251
|
+
}
|
|
2252
|
+
/** An unknown state is still a state: it says its own name. */
|
|
2253
|
+
declare const stateLabel: (state: LayerItemState) => string;
|
|
2254
|
+
/**
|
|
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.
|
|
2280
|
+
*
|
|
2281
|
+
* **Refusals are struck in place, not removed.** A refused engagement keeps its
|
|
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
|
|
2322
|
+
* `mainSection` where no canvas exists, and frozen row labels plus text
|
|
2323
|
+
* selection are free here and expensive there.
|
|
2324
|
+
*/
|
|
2325
|
+
declare const LayerStrip: React$1.ForwardRefExoticComponent<LayerStripProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2326
|
+
|
|
1525
2327
|
type LegendSwatchKind = "dot" | "line" | "dashed" | "arrow" | "ring";
|
|
1526
2328
|
interface LegendItemProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "color"> {
|
|
1527
2329
|
/**
|
|
@@ -1558,6 +2360,75 @@ interface LegendProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1558
2360
|
declare const Legend: React$1.ForwardRefExoticComponent<LegendProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1559
2361
|
declare const LegendItem: React$1.ForwardRefExoticComponent<LegendItemProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1560
2362
|
|
|
2363
|
+
interface LensChipProps extends Omit<React$1.HTMLAttributes<HTMLSpanElement>, "children" | "onClick"> {
|
|
2364
|
+
/**
|
|
2365
|
+
* The lens in force. **`undefined` is a real, common state** and reads
|
|
2366
|
+
* `Everything` — see below.
|
|
2367
|
+
*/
|
|
2368
|
+
lens?: {
|
|
2369
|
+
name: string;
|
|
2370
|
+
kind?: "world" | "guardrail";
|
|
2371
|
+
};
|
|
2372
|
+
/** Open the picker. Absent leaves the chip as a statement. */
|
|
2373
|
+
onPick?: () => void;
|
|
2374
|
+
}
|
|
2375
|
+
/**
|
|
2376
|
+
* Which world a run is being read under — the header's right-hand chip, and the
|
|
2377
|
+
* one on an agent's row.
|
|
2378
|
+
*
|
|
2379
|
+
* **No lens reads `Everything`, never blank and never `None`.** A Graph that
|
|
2380
|
+
* sets no lens sees the whole global model, every configured provider and every
|
|
2381
|
+
* third party its agents are credentialed for: the widest state is the default,
|
|
2382
|
+
* and it is a *state*, not a missing value. `None` would suggest nothing is in
|
|
2383
|
+
* view, which is the exact opposite of what is true. `Everything` is also still
|
|
2384
|
+
* inside the guardrails, which is why a guardrail is not a lens you pick.
|
|
2385
|
+
*
|
|
2386
|
+
* It is the smallest surface in Govern and the one most often on screen, so it
|
|
2387
|
+
* carries the name and nothing else. What that world narrows belongs in the
|
|
2388
|
+
* drawer the chip opens — a chip that listed its rules would be a rule list
|
|
2389
|
+
* that happened to be in a header.
|
|
2390
|
+
*/
|
|
2391
|
+
declare const LensChip: React$1.ForwardRefExoticComponent<LensChipProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
2392
|
+
|
|
2393
|
+
interface MatchCandidate {
|
|
2394
|
+
address: string;
|
|
2395
|
+
matched: boolean;
|
|
2396
|
+
}
|
|
2397
|
+
interface MatchPreviewProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
2398
|
+
/** The pattern as typed, wildcards and all — `graph_data/model/Deals@*`. */
|
|
2399
|
+
pattern: string;
|
|
2400
|
+
/**
|
|
2401
|
+
* The catalogue, each entry saying whether this pattern reaches it. Both
|
|
2402
|
+
* halves are needed: see the note on near-misses.
|
|
2403
|
+
*/
|
|
2404
|
+
matches?: MatchCandidate[];
|
|
2405
|
+
loading?: boolean;
|
|
2406
|
+
/** Cap the list; the rest are counted. Default 8. */
|
|
2407
|
+
limit?: number;
|
|
2408
|
+
}
|
|
2409
|
+
/**
|
|
2410
|
+
* What an address pattern matches **right now**, resolved against the live
|
|
2411
|
+
* catalogue as the pattern is typed.
|
|
2412
|
+
*
|
|
2413
|
+
* **Narrowing is picking, not writing.** Every control in the rule builder
|
|
2414
|
+
* offers what the catalogue holds, so nothing can name something that is not
|
|
2415
|
+
* there — and this is the surface that makes that true for the one control
|
|
2416
|
+
* which *is* free text. A pattern is written against what it visibly bites, not
|
|
2417
|
+
* from memory.
|
|
2418
|
+
*
|
|
2419
|
+
* **The near-misses are shown, greyed, not filtered out.** A preview listing
|
|
2420
|
+
* only hits cannot distinguish *this pattern is precise* from *this pattern is
|
|
2421
|
+
* wrong* — both render as a short list. Showing what it passed over is how a
|
|
2422
|
+
* reader sees that `Deals@1.0.0` missed because they wrote the version out
|
|
2423
|
+
* instead of `Deals@*`, which is the mistake that makes a bound quietly stop
|
|
2424
|
+
* applying on the next publish.
|
|
2425
|
+
*
|
|
2426
|
+
* **Nothing matched is a first-class state**, and distinct from a layer with
|
|
2427
|
+
* nothing in it. One means the pattern is wrong; the other means the Graph has
|
|
2428
|
+
* nothing of that kind configured yet.
|
|
2429
|
+
*/
|
|
2430
|
+
declare const MatchPreview: React$1.ForwardRefExoticComponent<MatchPreviewProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2431
|
+
|
|
1561
2432
|
interface MenuItemProps extends MenuItem {
|
|
1562
2433
|
level?: number;
|
|
1563
2434
|
}
|
|
@@ -1580,7 +2451,12 @@ declare const MenuItem: React$1.FC<MenuItemProps>;
|
|
|
1580
2451
|
* Omit it for an ordinary measurement. A grid where every tile is coloured
|
|
1581
2452
|
* carries no signal, and a number that is merely large is not a warning.
|
|
1582
2453
|
*/
|
|
1583
|
-
type
|
|
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 & {});
|
|
1584
2460
|
interface MetricTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1585
2461
|
/** What is being measured — `accepted`, `served (plan.verified)`, `hit rate`. */
|
|
1586
2462
|
label: React$1.ReactNode;
|
|
@@ -2277,44 +3153,6 @@ interface PropertyRowProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>,
|
|
|
2277
3153
|
declare const PropertyList: React$1.ForwardRefExoticComponent<PropertyListProps & React$1.RefAttributes<HTMLDListElement>>;
|
|
2278
3154
|
declare const PropertyRow: React$1.ForwardRefExoticComponent<PropertyRowProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2279
3155
|
|
|
2280
|
-
interface RecordHeaderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
2281
|
-
/**
|
|
2282
|
-
* The record's state, as the dot on the left. Omit for a record that has no
|
|
2283
|
-
* state of its own — a catalogue entry, a draft being edited.
|
|
2284
|
-
*/
|
|
2285
|
-
tone?: StatusDotProps["tone"];
|
|
2286
|
-
/**
|
|
2287
|
-
* The record and its parents, outermost first. The **last** crumb is the
|
|
2288
|
-
* record this surface is about and is set solid; the ones before it are the
|
|
2289
|
-
* path to it and are muted.
|
|
2290
|
-
*
|
|
2291
|
-
* One crumb is the normal case — a run, a plan. Two is a child: `a run › the
|
|
2292
|
-
* task inside it`.
|
|
2293
|
-
*/
|
|
2294
|
-
crumbs: React$1.ReactNode[];
|
|
2295
|
-
/** What is true about it — a `<BoundChip>`, a status `<Badge>`, a kind. */
|
|
2296
|
-
chips?: React$1.ReactNode;
|
|
2297
|
-
/** What you can do to it — prev/next, a view switch, buttons, a `…` menu. */
|
|
2298
|
-
actions?: React$1.ReactNode;
|
|
2299
|
-
}
|
|
2300
|
-
/**
|
|
2301
|
-
* Which record you are looking at, across the top of the surface showing it.
|
|
2302
|
-
*
|
|
2303
|
-
* A run dashboard, a step dashboard, a plan, a draft — every one of them opens
|
|
2304
|
-
* with this line, so a reader who followed a link knows what they are reading
|
|
2305
|
-
* before they read any of it.
|
|
2306
|
-
*
|
|
2307
|
-
* It is **not** a `ContextBar`. That is 28px under a panel and describes the
|
|
2308
|
-
* *view* — counts, a keyboard hint, a tab-shaped switch. This is above the
|
|
2309
|
-
* content and names the *record*, which is why the crumbs are mono: they are
|
|
2310
|
-
* identifiers, not prose.
|
|
2311
|
-
*
|
|
2312
|
-
* It is not a `Breadcrumb` either, though it contains one shape of one. A
|
|
2313
|
-
* breadcrumb is navigation up a tree; these two crumbs are a record and its
|
|
2314
|
-
* parent, shown so the child is not read out of context.
|
|
2315
|
-
*/
|
|
2316
|
-
declare const RecordHeader: React$1.ForwardRefExoticComponent<RecordHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2317
|
-
|
|
2318
3156
|
interface ProposalCardProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
2319
3157
|
/** What is being proposed — `Draft pattern`. */
|
|
2320
3158
|
title: React$1.ReactNode;
|
|
@@ -2391,6 +3229,44 @@ declare const DotRating: React$1.ForwardRefExoticComponent<DotRatingProps & Reac
|
|
|
2391
3229
|
*/
|
|
2392
3230
|
declare const RatingControl: React$1.ForwardRefExoticComponent<RatingControlProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2393
3231
|
|
|
3232
|
+
interface RecordHeaderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
3233
|
+
/**
|
|
3234
|
+
* The record's state, as the dot on the left. Omit for a record that has no
|
|
3235
|
+
* state of its own — a catalogue entry, a draft being edited.
|
|
3236
|
+
*/
|
|
3237
|
+
tone?: StatusDotProps["tone"];
|
|
3238
|
+
/**
|
|
3239
|
+
* The record and its parents, outermost first. The **last** crumb is the
|
|
3240
|
+
* record this surface is about and is set solid; the ones before it are the
|
|
3241
|
+
* path to it and are muted.
|
|
3242
|
+
*
|
|
3243
|
+
* One crumb is the normal case — a run, a plan. Two is a child: `a run › the
|
|
3244
|
+
* task inside it`.
|
|
3245
|
+
*/
|
|
3246
|
+
crumbs: React$1.ReactNode[];
|
|
3247
|
+
/** What is true about it — a `<BoundChip>`, a status `<Badge>`, a kind. */
|
|
3248
|
+
chips?: React$1.ReactNode;
|
|
3249
|
+
/** What you can do to it — prev/next, a view switch, buttons, a `…` menu. */
|
|
3250
|
+
actions?: React$1.ReactNode;
|
|
3251
|
+
}
|
|
3252
|
+
/**
|
|
3253
|
+
* Which record you are looking at, across the top of the surface showing it.
|
|
3254
|
+
*
|
|
3255
|
+
* A run dashboard, a step dashboard, a plan, a draft — every one of them opens
|
|
3256
|
+
* with this line, so a reader who followed a link knows what they are reading
|
|
3257
|
+
* before they read any of it.
|
|
3258
|
+
*
|
|
3259
|
+
* It is **not** a `ContextBar`. That is 28px under a panel and describes the
|
|
3260
|
+
* *view* — counts, a keyboard hint, a tab-shaped switch. This is above the
|
|
3261
|
+
* content and names the *record*, which is why the crumbs are mono: they are
|
|
3262
|
+
* identifiers, not prose.
|
|
3263
|
+
*
|
|
3264
|
+
* It is not a `Breadcrumb` either, though it contains one shape of one. A
|
|
3265
|
+
* breadcrumb is navigation up a tree; these two crumbs are a record and its
|
|
3266
|
+
* parent, shown so the child is not read out of context.
|
|
3267
|
+
*/
|
|
3268
|
+
declare const RecordHeader: React$1.ForwardRefExoticComponent<RecordHeaderProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3269
|
+
|
|
2394
3270
|
interface RepairNoteProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
2395
3271
|
/** What was wrong — `unknown property Theme.velocity5d`. */
|
|
2396
3272
|
from: React$1.ReactNode;
|
|
@@ -2487,6 +3363,135 @@ interface RichSelectProps {
|
|
|
2487
3363
|
*/
|
|
2488
3364
|
declare function RichSelect({ options, value, onChange, multiple, label, placeholder, renderOption, renderValue, align, side, sideOffset, tooltip, tooltipSide, disabled, triggerClassName, contentClassName, className, }: RichSelectProps): React$1.JSX.Element;
|
|
2489
3365
|
|
|
3366
|
+
/** A slice along the axes the matched model **declared**. */
|
|
3367
|
+
interface RuleSelect {
|
|
3368
|
+
time?: {
|
|
3369
|
+
axis: string;
|
|
3370
|
+
from?: string;
|
|
3371
|
+
to?: string;
|
|
3372
|
+
};
|
|
3373
|
+
geo?: {
|
|
3374
|
+
axis: string;
|
|
3375
|
+
vocab?: string;
|
|
3376
|
+
in: string[];
|
|
3377
|
+
};
|
|
3378
|
+
dims?: Record<string, string[]>;
|
|
3379
|
+
}
|
|
3380
|
+
/**
|
|
3381
|
+
* What a published model version says may be narrowed.
|
|
3382
|
+
*
|
|
3383
|
+
* Empty is the default and means *nothing is selectable* — the model can still
|
|
3384
|
+
* be allowed or denied whole, it simply cannot be sliced. Nothing is inferred
|
|
3385
|
+
* from a property's name or type, because that would make *which rows did this
|
|
3386
|
+
* run see* depend on a guess.
|
|
3387
|
+
*/
|
|
3388
|
+
interface DeclaredAxes {
|
|
3389
|
+
time?: {
|
|
3390
|
+
property: string;
|
|
3391
|
+
};
|
|
3392
|
+
geo?: {
|
|
3393
|
+
property: string;
|
|
3394
|
+
vocab?: string;
|
|
3395
|
+
};
|
|
3396
|
+
dims?: string[];
|
|
3397
|
+
}
|
|
3398
|
+
interface SliceLine {
|
|
3399
|
+
/** `time` · `geo` · a dimension's own name. */
|
|
3400
|
+
axisKind: string;
|
|
3401
|
+
text: string;
|
|
3402
|
+
/** The model declared no such axis — this slice would be refused at save. */
|
|
3403
|
+
undeclared?: boolean;
|
|
3404
|
+
}
|
|
3405
|
+
/**
|
|
3406
|
+
* One slice, as lines, with **the axis always named**.
|
|
3407
|
+
*
|
|
3408
|
+
* `time 2026-01-01 → 2026-06-30 · axis signed_at`. The axis is never implied: a
|
|
3409
|
+
* model declares which property carries valid time, two models in one Graph
|
|
3410
|
+
* declare different ones, and *which rows did this run see* must not depend on
|
|
3411
|
+
* the reader guessing which was used.
|
|
3412
|
+
*
|
|
3413
|
+
* When `declared` is given, a slice along an axis the model never declared is
|
|
3414
|
+
* marked — that is the refusal the authoring form has to show before a save,
|
|
3415
|
+
* naming the model **and** the axis.
|
|
3416
|
+
*/
|
|
3417
|
+
declare function describeSlice(select: RuleSelect, declared?: DeclaredAxes): SliceLine[];
|
|
3418
|
+
interface SliceSummaryProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
3419
|
+
select?: RuleSelect;
|
|
3420
|
+
/**
|
|
3421
|
+
* The matched model version's declared axes. Given, the summary can mark a
|
|
3422
|
+
* slice the model cannot support; omitted, it states the slice and claims
|
|
3423
|
+
* nothing about whether it is legal.
|
|
3424
|
+
*/
|
|
3425
|
+
declaredAxes?: DeclaredAxes;
|
|
3426
|
+
/** Which model is being sliced — named in the undeclared-axis refusal. */
|
|
3427
|
+
modelLabel?: string;
|
|
3428
|
+
/** `line` sits under a `RuleRow`; `block` stands alone on W3 and R2. */
|
|
3429
|
+
variant?: "line" | "block";
|
|
3430
|
+
}
|
|
3431
|
+
/**
|
|
3432
|
+
* What a rule narrows to, stated so the axis is never in doubt.
|
|
3433
|
+
*
|
|
3434
|
+
* **The axis is always named.** See {@link describeSlice} — this is the one
|
|
3435
|
+
* rule the component exists to hold, and it is why a slice is a component
|
|
3436
|
+
* rather than a template string at each call site.
|
|
3437
|
+
*
|
|
3438
|
+
* **An undeclared axis is shown, not hidden.** A lens asking for an axis a
|
|
3439
|
+
* model never declared is refused at save naming the model and the axis, so the
|
|
3440
|
+
* form has to render the illegal state on the way to being told about it.
|
|
3441
|
+
* Silently dropping the line would make the refusal arrive from nowhere.
|
|
3442
|
+
*
|
|
3443
|
+
* `variant="line"` is what a `RuleRow` renders — the same description, so the
|
|
3444
|
+
* two never drift into two accounts of one slice.
|
|
3445
|
+
*/
|
|
3446
|
+
declare const SliceSummary: React$1.ForwardRefExoticComponent<SliceSummaryProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3447
|
+
|
|
3448
|
+
/** Which properties of the matched participant survive into the answer. */
|
|
3449
|
+
interface RuleProperties {
|
|
3450
|
+
/**
|
|
3451
|
+
* Excluded by name. Exclusion is the only form: an allow-list of properties
|
|
3452
|
+
* would silently drop a property added to the model later, which is the kind
|
|
3453
|
+
* of bound that stops applying without anybody editing it.
|
|
3454
|
+
*/
|
|
3455
|
+
exclude?: string[];
|
|
3456
|
+
}
|
|
3457
|
+
/** What may accompany a crossing to this destination. */
|
|
3458
|
+
interface RuleEgress {
|
|
3459
|
+
may_send: string[];
|
|
3460
|
+
}
|
|
3461
|
+
|
|
3462
|
+
interface RuleRowProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
3463
|
+
/** The address pattern this rule matches — `graph_data/model/Deals@*`. */
|
|
3464
|
+
match: string;
|
|
3465
|
+
/** `true` allows, `false` denies. Deny wins at any specificity. */
|
|
3466
|
+
allow: boolean;
|
|
3467
|
+
properties?: RuleProperties;
|
|
3468
|
+
select?: RuleSelect;
|
|
3469
|
+
egress?: RuleEgress;
|
|
3470
|
+
/**
|
|
3471
|
+
* The row is being read rather than authored. Read-only rows lose the hover
|
|
3472
|
+
* affordance, so a guardrail somebody cannot edit does not look pressable.
|
|
3473
|
+
*/
|
|
3474
|
+
readOnly?: boolean;
|
|
3475
|
+
}
|
|
3476
|
+
/**
|
|
3477
|
+
* One rule, read as a sentence: what it matches, whether it allows, and what it
|
|
3478
|
+
* narrows.
|
|
3479
|
+
*
|
|
3480
|
+
* It is the unit of a `LayerSection`, so a lens reads as five bands of these
|
|
3481
|
+
* rather than a table of five columns most of which are empty — a rule that
|
|
3482
|
+
* slices carries a select line, one that does not carries nothing.
|
|
3483
|
+
*
|
|
3484
|
+
* **Deny is the loud one.** An allow is the ordinary state and sits muted; a
|
|
3485
|
+
* deny takes the destructive token, because [deny wins at any specificity] and
|
|
3486
|
+
* a reader scanning a long lens for *what is shut* should find it without
|
|
3487
|
+
* reading every row.
|
|
3488
|
+
*
|
|
3489
|
+
* The sub-lines are facts about the match, so they hang under it and inherit
|
|
3490
|
+
* its indent rather than becoming columns. A row with none of them is one line
|
|
3491
|
+
* tall, which is what most rows are.
|
|
3492
|
+
*/
|
|
3493
|
+
declare const RuleRow: React$1.ForwardRefExoticComponent<RuleRowProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
3494
|
+
|
|
2490
3495
|
/**
|
|
2491
3496
|
* `sm` (26px) is the application field — a search box docked in a panel header,
|
|
2492
3497
|
* beside a 30px tab strip. `default` (40px) stays the page size.
|
|
@@ -2504,41 +3509,6 @@ interface SearchInputProps extends Omit<React__default.ComponentProps<'input'>,
|
|
|
2504
3509
|
}
|
|
2505
3510
|
declare const SearchInput: React__default.FC<SearchInputProps>;
|
|
2506
3511
|
|
|
2507
|
-
interface EyebrowProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
2508
|
-
/**
|
|
2509
|
-
* Right-aligned trailing text — a count, a position, a state. Kept separate
|
|
2510
|
-
* from `children` so the label stays left and the fact stays right without
|
|
2511
|
-
* every call site building its own flex row.
|
|
2512
|
-
*/
|
|
2513
|
-
aside?: React$1.ReactNode;
|
|
2514
|
-
/**
|
|
2515
|
-
* `muted` (default) for a label being scanned past, `foreground` when it
|
|
2516
|
-
* titles a card that has no other heading, `accent` when it names something
|
|
2517
|
-
* the reader is being taught.
|
|
2518
|
-
*/
|
|
2519
|
-
tone?: "muted" | "foreground" | "accent";
|
|
2520
|
-
children?: React$1.ReactNode;
|
|
2521
|
-
}
|
|
2522
|
-
/**
|
|
2523
|
-
* The smallest heading in the system: a label over the thing it names.
|
|
2524
|
-
*
|
|
2525
|
-
* `WHY IT MATTERS`, `1 · CONNECTED`, `OPTIONAL`, `REFERENCED COMPONENTS`. It
|
|
2526
|
-
* titles a band of content without the weight — or the 35px and the rule — of
|
|
2527
|
-
* a {@link SectionHeader}, so several can sit in one scrolling column and still
|
|
2528
|
-
* read as subordinate to the panel's own title.
|
|
2529
|
-
*
|
|
2530
|
-
* Uppercase at `text-meta` with tracking, because at this size caps are what
|
|
2531
|
-
* separate a label from the sentence under it; lowercase at 11px reads as body
|
|
2532
|
-
* copy set small. That is also why it is a component rather than four utility
|
|
2533
|
-
* classes: the treatment was being retyped, and a label that drifts a weight or
|
|
2534
|
-
* a tracking step in one panel stops reading as the same kind of thing.
|
|
2535
|
-
*
|
|
2536
|
-
* `tone="accent"` is for a label that names something the reader is being
|
|
2537
|
-
* *taught* rather than something they are scanning — a callout's kind, a
|
|
2538
|
-
* concept's name. Use it rarely; muted is the default for a reason.
|
|
2539
|
-
*/
|
|
2540
|
-
declare const Eyebrow: React$1.ForwardRefExoticComponent<EyebrowProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2541
|
-
|
|
2542
3512
|
interface SectionHeaderProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
2543
3513
|
/** Sits before the title. A 14px lucide icon, usually. */
|
|
2544
3514
|
icon?: React$1.ReactNode;
|
|
@@ -2852,6 +3822,10 @@ interface TaskNodeProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "ch
|
|
|
2852
3822
|
taskKey: React$1.ReactNode;
|
|
2853
3823
|
/** What it may spend. */
|
|
2854
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;
|
|
2855
3829
|
/**
|
|
2856
3830
|
* How it went, when this node is painting a **run**. Omit when the node is
|
|
2857
3831
|
* painting a plan or a draft, which have no status of their own.
|
|
@@ -2934,7 +3908,12 @@ type TerminalLineKind = "prompt" | "output" | "comment";
|
|
|
2934
3908
|
* command you typed, what it printed, a comment. A run's log has no prompts and
|
|
2935
3909
|
* no comments; every line is output, and what varies is how loud it is.
|
|
2936
3910
|
*/
|
|
2937
|
-
type
|
|
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 & {});
|
|
2938
3917
|
interface TerminalLineProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
2939
3918
|
kind?: TerminalLineKind;
|
|
2940
3919
|
/**
|
|
@@ -3326,4 +4305,4 @@ interface UseOverflowItemsResult {
|
|
|
3326
4305
|
*/
|
|
3327
4306
|
declare function useOverflowItems({ count, enabled, pinnedIndex, reserve, }: UseOverflowItemsOptions): UseOverflowItemsResult;
|
|
3328
4307
|
|
|
3329
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, 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, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, type ButtonProps, ButtonWithTooltip, type ButtonWithTooltipProps, CannotAnswerCard, type CannotAnswerCardProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardWithHeader, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, 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, 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, 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, Legend, LegendItem, type LegendItemProps, type LegendProps, type LegendSwatchKind, 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, 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, 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, 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, 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,
|
|
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 };
|