@mastra/playground-ui 30.0.2-alpha.2 → 31.0.0-alpha.4
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/CHANGELOG.md +83 -0
- package/dist/index.cjs.js +233 -75
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +201 -27
- package/dist/index.es.js +227 -70
- package/dist/index.es.js.map +1 -1
- package/dist/src/domains/logs/hooks/use-logs.d.ts +13 -1267
- package/dist/src/domains/traces/hooks/use-branch.d.ts +5 -46
- package/dist/src/domains/traces/hooks/use-span-detail.d.ts +6 -44
- package/dist/src/domains/traces/hooks/use-trace-light-spans.d.ts +5 -18
- package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +5 -46
- package/dist/src/domains/traces/hooks/use-traces.d.ts +15 -1539
- package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +30 -0
- package/dist/src/ds/components/Command/command.d.ts +7 -72
- package/dist/src/ds/components/FormFieldBlocks/fields/search-field-block.d.ts +2 -1
- package/dist/src/ds/components/Input/input.d.ts +3 -3
- package/dist/src/ds/components/Input/input.stories.d.ts +4 -0
- package/dist/src/ds/components/InputGroup/input-group.d.ts +7 -2
- package/dist/src/ds/components/InputGroup/input-group.stories.d.ts +3 -0
- package/dist/src/ds/components/ListSearch/list-search.d.ts +2 -1
- package/dist/src/ds/components/Searchbar/searchbar.d.ts +4 -1
- package/dist/src/ds/components/Searchbar/searchbar.stories.d.ts +3 -0
- package/dist/src/ds/components/Textarea/textarea.d.ts +3 -3
- package/dist/src/ds/components/Textarea/textarea.stories.d.ts +1 -0
- package/dist/src/ds/primitives/form-element.d.ts +6 -4
- package/dist/src/lib/formatting.d.ts +1 -0
- package/package.json +6 -6
package/dist/index.es.js
CHANGED
|
@@ -3624,12 +3624,14 @@ const formElementSizes = {
|
|
|
3624
3624
|
lg: "h-form-lg"
|
|
3625
3625
|
};
|
|
3626
3626
|
const formElementFocus = "focus:outline-hidden focus:ring-1 focus:ring-accent1 focus:shadow-focus-ring transition-shadow duration-normal";
|
|
3627
|
-
const formElementFocusWithin = "focus-within:outline-hidden focus-within:ring-1 focus-within:ring-accent1 focus-within:shadow-focus-ring transition-shadow duration-normal";
|
|
3628
|
-
const formElementRadius = "rounded-md";
|
|
3629
|
-
const sharedFormElementStyle = "bg-surface2 border border-border1 text-neutral5 hover:text-neutral6 hover:border-border2 rounded-lg";
|
|
3630
3627
|
const sharedFormElementFocusStyle = "outline-hidden focus-visible:outline-hidden focus-visible:border-accent1 focus-visible:ring-1 focus-visible:ring-accent1/40";
|
|
3631
3628
|
const sharedFormElementDisabledStyle = "disabled:opacity-50 disabled:cursor-not-allowed";
|
|
3632
|
-
const
|
|
3629
|
+
const inputFocusBorderVisible = "focus-visible:border-neutral5/50";
|
|
3630
|
+
const inputFocusBorderWithin = "focus-within:border-neutral5/50";
|
|
3631
|
+
const inputHoverBorderWithin = "[&:hover:not(:focus-within)]:border-border2";
|
|
3632
|
+
const inputSurfaceAndFocusStyle = "bg-surface-overlay-soft border border-border1 text-neutral5 hover:text-neutral6 hover:bg-surface-overlay-strong hover:border-border2 outline-hidden focus-visible:outline-hidden focus-visible:bg-surface-overlay-strong " + inputFocusBorderVisible;
|
|
3633
|
+
const inputOutlineAndFocusStyle = "bg-transparent border border-border1 text-neutral5 hover:text-neutral6 hover:border-border2 outline-hidden focus-visible:outline-hidden " + inputFocusBorderVisible;
|
|
3634
|
+
const unstyledFormElementStyle = "border-0 bg-transparent outline-hidden focus-visible:outline-hidden";
|
|
3633
3635
|
|
|
3634
3636
|
const TEXT_MODE_ADORNMENTS = cn(
|
|
3635
3637
|
"gap-[.75em] rounded-full",
|
|
@@ -3706,6 +3708,7 @@ const Button = React__default.forwardRef(
|
|
|
3706
3708
|
ref,
|
|
3707
3709
|
disabled,
|
|
3708
3710
|
"aria-label": ariaLabel,
|
|
3711
|
+
"data-variant": variant,
|
|
3709
3712
|
className: cn(buttonVariants({ variant, size: resolvedSize }), isLabelless && "[&>svg]:opacity-75", className),
|
|
3710
3713
|
...props,
|
|
3711
3714
|
children: content
|
|
@@ -6011,14 +6014,18 @@ const textareaVariants = cva(
|
|
|
6011
6014
|
{
|
|
6012
6015
|
variants: {
|
|
6013
6016
|
variant: {
|
|
6014
|
-
default: cn(
|
|
6015
|
-
|
|
6017
|
+
default: cn(inputSurfaceAndFocusStyle, "rounded-xl", sharedFormElementDisabledStyle),
|
|
6018
|
+
filled: cn(inputSurfaceAndFocusStyle, "rounded-xl", sharedFormElementDisabledStyle),
|
|
6019
|
+
outline: cn(inputOutlineAndFocusStyle, "rounded-xl", sharedFormElementDisabledStyle),
|
|
6020
|
+
unstyled: unstyledFormElementStyle
|
|
6016
6021
|
},
|
|
6022
|
+
// Text tokens mirror the Input size scale (sm→ui-sm, md/default→ui-md, lg→ui-lg)
|
|
6023
|
+
// so a Textarea reads at the same size as a sibling Input.
|
|
6017
6024
|
size: {
|
|
6018
6025
|
sm: "px-2 py-1.5 text-ui-sm",
|
|
6019
|
-
md: "px-3 py-2 text-ui-
|
|
6026
|
+
md: "px-3 py-2 text-ui-md",
|
|
6020
6027
|
default: "px-3 py-2 text-ui-md",
|
|
6021
|
-
lg: "px-4 py-3 text-ui-
|
|
6028
|
+
lg: "px-4 py-3 text-ui-lg"
|
|
6022
6029
|
}
|
|
6023
6030
|
},
|
|
6024
6031
|
defaultVariants: {
|
|
@@ -6034,8 +6041,7 @@ const Textarea = React.forwardRef(
|
|
|
6034
6041
|
{
|
|
6035
6042
|
className: cn(
|
|
6036
6043
|
textareaVariants({ variant, size }),
|
|
6037
|
-
|
|
6038
|
-
error && "border-error focus:ring-error focus:shadow-glow-accent2",
|
|
6044
|
+
error && "border-error focus-visible:border-error",
|
|
6039
6045
|
className
|
|
6040
6046
|
),
|
|
6041
6047
|
"data-testid": testId,
|
|
@@ -6907,6 +6913,7 @@ const SelectTrigger = React.forwardRef(
|
|
|
6907
6913
|
Select$1.Trigger,
|
|
6908
6914
|
{
|
|
6909
6915
|
ref,
|
|
6916
|
+
"data-slot": "select-trigger",
|
|
6910
6917
|
className: cn(
|
|
6911
6918
|
"inline-flex w-full cursor-pointer select-none items-center justify-between gap-1.5 whitespace-nowrap",
|
|
6912
6919
|
formElementSizes[size],
|
|
@@ -7157,8 +7164,21 @@ function CodeBlock$1({
|
|
|
7157
7164
|
}
|
|
7158
7165
|
);
|
|
7159
7166
|
}
|
|
7167
|
+
function tokenStyle(token, isDark) {
|
|
7168
|
+
if (token.htmlStyle && typeof token.htmlStyle === "object") {
|
|
7169
|
+
const vars = token.htmlStyle;
|
|
7170
|
+
const color = isDark ? vars["--shiki-dark"] : vars["--shiki-light"];
|
|
7171
|
+
const background = isDark ? vars["--shiki-dark-bg"] : vars["--shiki-light-bg"];
|
|
7172
|
+
const style = {};
|
|
7173
|
+
if (color) style.color = color;
|
|
7174
|
+
if (background) style.backgroundColor = background;
|
|
7175
|
+
return Object.keys(style).length ? style : void 0;
|
|
7176
|
+
}
|
|
7177
|
+
return token.color ? { color: token.color } : void 0;
|
|
7178
|
+
}
|
|
7160
7179
|
function HighlightedCode({ code, lang }) {
|
|
7161
7180
|
const [tokens, setTokens] = React.useState(null);
|
|
7181
|
+
const isDark = useTheme().resolvedTheme === "dark";
|
|
7162
7182
|
React.useEffect(() => {
|
|
7163
7183
|
if (!lang) {
|
|
7164
7184
|
setTokens(null);
|
|
@@ -7179,14 +7199,7 @@ function HighlightedCode({ code, lang }) {
|
|
|
7179
7199
|
return /* @__PURE__ */ jsx("pre", { className: preClass, children: code });
|
|
7180
7200
|
}
|
|
7181
7201
|
return /* @__PURE__ */ jsx("pre", { className: preClass, children: /* @__PURE__ */ jsx("code", { children: tokens.map((line, lineIndex) => /* @__PURE__ */ jsxs(React.Fragment, { children: [
|
|
7182
|
-
/* @__PURE__ */ jsx("span", { children: line.map((token, tokenIndex) => /* @__PURE__ */ jsx(
|
|
7183
|
-
"span",
|
|
7184
|
-
{
|
|
7185
|
-
className: "text-shiki-light bg-shiki-light-bg dark:text-shiki-dark dark:bg-shiki-dark-bg",
|
|
7186
|
-
children: token.content
|
|
7187
|
-
},
|
|
7188
|
-
tokenIndex
|
|
7189
|
-
)) }),
|
|
7202
|
+
/* @__PURE__ */ jsx("span", { children: line.map((token, tokenIndex) => /* @__PURE__ */ jsx("span", { style: tokenStyle(token, isDark), children: token.content }, tokenIndex)) }),
|
|
7190
7203
|
lineIndex !== tokens.length - 1 && "\n"
|
|
7191
7204
|
] }, lineIndex)) }) });
|
|
7192
7205
|
}
|
|
@@ -7658,13 +7671,25 @@ const inputVariants = cva(
|
|
|
7658
7671
|
"flex w-full text-neutral6 border bg-transparent",
|
|
7659
7672
|
"transition-all duration-normal ease-out-custom",
|
|
7660
7673
|
"placeholder:text-neutral2 placeholder:transition-opacity placeholder:duration-normal",
|
|
7661
|
-
"focus:placeholder:opacity-70"
|
|
7674
|
+
"focus:placeholder:opacity-70",
|
|
7675
|
+
// type="number": hide native browser spinner arrows (they clip the pill).
|
|
7676
|
+
// For incrementable numeric inputs, compose <InputGroup> with +/- buttons
|
|
7677
|
+
// instead — see the NumberWithStepper story. WebKit uses the spin-button
|
|
7678
|
+
// pseudo-elements; Firefox needs `appearance: textfield` on the input.
|
|
7679
|
+
"[&::-webkit-outer-spin-button]:appearance-none [&::-webkit-outer-spin-button]:m-0",
|
|
7680
|
+
"[&::-webkit-inner-spin-button]:appearance-none [&::-webkit-inner-spin-button]:m-0",
|
|
7681
|
+
"[&[type=number]]:[appearance:textfield]",
|
|
7682
|
+
// type="search": drop WebKit's native clear button so the DS owns the search chrome.
|
|
7683
|
+
// Compose an <InputGroup> with an InputGroupButton to add a clear control.
|
|
7684
|
+
"[&::-webkit-search-cancel-button]:appearance-none"
|
|
7662
7685
|
),
|
|
7663
7686
|
{
|
|
7664
7687
|
variants: {
|
|
7665
7688
|
variant: {
|
|
7666
|
-
default: cn(
|
|
7667
|
-
|
|
7689
|
+
default: cn(inputSurfaceAndFocusStyle, "rounded-full", sharedFormElementDisabledStyle),
|
|
7690
|
+
filled: cn(inputSurfaceAndFocusStyle, "rounded-full", sharedFormElementDisabledStyle),
|
|
7691
|
+
outline: cn(inputOutlineAndFocusStyle, "rounded-full", sharedFormElementDisabledStyle),
|
|
7692
|
+
unstyled: unstyledFormElementStyle
|
|
7668
7693
|
},
|
|
7669
7694
|
size: {
|
|
7670
7695
|
sm: `${formElementSizes.sm} text-ui-sm px-[.75em]`,
|
|
@@ -7685,12 +7710,7 @@ const Input = React.forwardRef(
|
|
|
7685
7710
|
"input",
|
|
7686
7711
|
{
|
|
7687
7712
|
type,
|
|
7688
|
-
className: cn(
|
|
7689
|
-
inputVariants({ variant, size }),
|
|
7690
|
-
// Error state styling
|
|
7691
|
-
error && "border-error focus:ring-error focus:shadow-glow-accent2",
|
|
7692
|
-
className
|
|
7693
|
-
),
|
|
7713
|
+
className: cn(inputVariants({ variant, size }), error && "border-error focus-visible:border-error", className),
|
|
7694
7714
|
"data-testid": testId,
|
|
7695
7715
|
ref,
|
|
7696
7716
|
"aria-invalid": error,
|
|
@@ -7757,6 +7777,7 @@ function SearchFieldBlock({
|
|
|
7757
7777
|
onReset,
|
|
7758
7778
|
className,
|
|
7759
7779
|
size,
|
|
7780
|
+
variant,
|
|
7760
7781
|
isMinimized,
|
|
7761
7782
|
onMinimizedChange
|
|
7762
7783
|
}) {
|
|
@@ -7796,6 +7817,7 @@ function SearchFieldBlock({
|
|
|
7796
7817
|
placeholder,
|
|
7797
7818
|
onChange,
|
|
7798
7819
|
size,
|
|
7820
|
+
variant,
|
|
7799
7821
|
className: cn(
|
|
7800
7822
|
size === "sm" && "pl-8 pr-8",
|
|
7801
7823
|
size === "md" && "pl-9 pr-9",
|
|
@@ -7909,27 +7931,75 @@ const HoverCardContent = React.forwardRef(
|
|
|
7909
7931
|
);
|
|
7910
7932
|
HoverCardContent.displayName = "HoverCardContent";
|
|
7911
7933
|
|
|
7912
|
-
const
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
|
|
7916
|
-
|
|
7917
|
-
|
|
7918
|
-
|
|
7934
|
+
const inputGroupBaseClassName = cn(
|
|
7935
|
+
// `flex-1` (not `min-w-0`) lets the root fill a flex row while keeping its content-floor
|
|
7936
|
+
// so it never collapses to 0. `items-center` centres the control: it carries its own
|
|
7937
|
+
// h-form-* (2px taller than the root's content box), so stretch would push its text low
|
|
7938
|
+
// / overflow the bottom border, while centring overlaps the (transparent) borders cleanly.
|
|
7939
|
+
"group/input-group relative flex w-full flex-1 items-center",
|
|
7940
|
+
"border border-border1 text-neutral6",
|
|
7919
7941
|
transitions.all,
|
|
7920
7942
|
"has-[:disabled]:opacity-50 has-[:disabled]:cursor-not-allowed",
|
|
7921
|
-
"has-[[aria-invalid=true]]:border-error
|
|
7922
|
-
|
|
7923
|
-
|
|
7943
|
+
"has-[[aria-invalid=true]]:border-error",
|
|
7944
|
+
// Height is on the root (border-box) so the group matches a same-size sibling control.
|
|
7945
|
+
// Auto height when vertical (block-* addon) or wrapping a textarea.
|
|
7946
|
+
"has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:h-auto",
|
|
7947
|
+
"has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:h-auto",
|
|
7948
|
+
"has-[textarea]:h-auto",
|
|
7924
7949
|
"has-[>[data-align=inline-start]]:[&>[data-slot=input-group-control]]:pl-0",
|
|
7925
7950
|
"has-[>[data-align=inline-end]]:[&>[data-slot=input-group-control]]:pr-0",
|
|
7926
|
-
// In flex-col, flex-1
|
|
7951
|
+
// In flex-col, flex-1 zeroes the control's height; force flex-none + w-full instead.
|
|
7927
7952
|
"has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:flex-none has-[>[data-align=block-start]]:[&>[data-slot=input-group-control]]:w-full",
|
|
7928
7953
|
"has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:flex-none has-[>[data-align=block-end]]:[&>[data-slot=input-group-control]]:w-full"
|
|
7929
7954
|
);
|
|
7930
|
-
const
|
|
7931
|
-
|
|
7955
|
+
const inputGroupRoundedTextareaClassName = cn(
|
|
7956
|
+
// Pill (rounded-full) only fits single-line inline shapes. Fall back to rounded-xl
|
|
7957
|
+
// whenever the group goes vertical (block-* addon) or wraps a textarea.
|
|
7958
|
+
"has-[>[data-align=block-start]]:rounded-xl",
|
|
7959
|
+
"has-[>[data-align=block-end]]:rounded-xl",
|
|
7960
|
+
"has-[textarea]:rounded-xl"
|
|
7961
|
+
);
|
|
7962
|
+
const inputGroupFilledVariant = cn(
|
|
7963
|
+
"bg-surface-overlay-soft rounded-full",
|
|
7964
|
+
"hover:bg-surface-overlay-strong",
|
|
7965
|
+
inputHoverBorderWithin,
|
|
7966
|
+
"outline-hidden focus-within:outline-hidden focus-within:bg-surface-overlay-strong",
|
|
7967
|
+
inputFocusBorderWithin,
|
|
7968
|
+
inputGroupRoundedTextareaClassName
|
|
7969
|
+
);
|
|
7970
|
+
const inputGroupVariants = cva(inputGroupBaseClassName, {
|
|
7971
|
+
variants: {
|
|
7972
|
+
variant: {
|
|
7973
|
+
default: inputGroupFilledVariant,
|
|
7974
|
+
filled: inputGroupFilledVariant,
|
|
7975
|
+
outline: cn(
|
|
7976
|
+
"bg-transparent rounded-full",
|
|
7977
|
+
inputHoverBorderWithin,
|
|
7978
|
+
"outline-hidden focus-within:outline-hidden",
|
|
7979
|
+
inputFocusBorderWithin,
|
|
7980
|
+
inputGroupRoundedTextareaClassName
|
|
7981
|
+
)
|
|
7982
|
+
}
|
|
7983
|
+
},
|
|
7984
|
+
defaultVariants: {
|
|
7985
|
+
variant: "default"
|
|
7986
|
+
}
|
|
7932
7987
|
});
|
|
7988
|
+
const InputGroup = React.forwardRef(
|
|
7989
|
+
({ className, size = "md", variant, ...props }, ref) => {
|
|
7990
|
+
return /* @__PURE__ */ jsx(
|
|
7991
|
+
"div",
|
|
7992
|
+
{
|
|
7993
|
+
ref,
|
|
7994
|
+
role: "group",
|
|
7995
|
+
"data-slot": "input-group",
|
|
7996
|
+
"data-size": size,
|
|
7997
|
+
className: cn(inputGroupVariants({ variant }), formElementSizes[size], className),
|
|
7998
|
+
...props
|
|
7999
|
+
}
|
|
8000
|
+
);
|
|
8001
|
+
}
|
|
8002
|
+
);
|
|
7933
8003
|
InputGroup.displayName = "InputGroup";
|
|
7934
8004
|
const inputGroupAddonVariants = cva(
|
|
7935
8005
|
cn(
|
|
@@ -7974,15 +8044,20 @@ const InputGroupAddon = React.forwardRef(
|
|
|
7974
8044
|
}
|
|
7975
8045
|
);
|
|
7976
8046
|
InputGroupAddon.displayName = "InputGroupAddon";
|
|
7977
|
-
const
|
|
7978
|
-
sm:
|
|
7979
|
-
md:
|
|
7980
|
-
default:
|
|
7981
|
-
lg:
|
|
7982
|
-
|
|
8047
|
+
const inputGroupControlHeightBySize = cn(
|
|
8048
|
+
"group-data-[size=sm]/input-group:h-form-sm",
|
|
8049
|
+
"group-data-[size=md]/input-group:h-form-md",
|
|
8050
|
+
"group-data-[size=default]/input-group:h-form-default",
|
|
8051
|
+
"group-data-[size=lg]/input-group:h-form-lg"
|
|
8052
|
+
);
|
|
8053
|
+
const inputGroupControlTextBySize = cn(
|
|
8054
|
+
"group-data-[size=sm]/input-group:text-ui-sm",
|
|
8055
|
+
"group-data-[size=md]/input-group:text-ui-md",
|
|
8056
|
+
"group-data-[size=default]/input-group:text-ui-md",
|
|
8057
|
+
"group-data-[size=lg]/input-group:text-ui-lg"
|
|
8058
|
+
);
|
|
7983
8059
|
const InputGroupInput = React.forwardRef(
|
|
7984
8060
|
({ className, testId, error, type = "text", ...props }, ref) => {
|
|
7985
|
-
const size = React.useContext(InputGroupSizeContext);
|
|
7986
8061
|
return /* @__PURE__ */ jsx(
|
|
7987
8062
|
"input",
|
|
7988
8063
|
{
|
|
@@ -7992,12 +8067,23 @@ const InputGroupInput = React.forwardRef(
|
|
|
7992
8067
|
"data-testid": testId,
|
|
7993
8068
|
"aria-invalid": error,
|
|
7994
8069
|
className: cn(
|
|
8070
|
+
// Height matches the root box (which is fixed/border-box, so it doesn't grow);
|
|
8071
|
+
// this also keeps the control from collapsing in block mode (flex-col).
|
|
7995
8072
|
"flex-1 min-w-0 bg-transparent text-neutral6 px-3 outline-hidden",
|
|
7996
|
-
|
|
7997
|
-
|
|
8073
|
+
inputGroupControlHeightBySize,
|
|
8074
|
+
inputGroupControlTextBySize,
|
|
7998
8075
|
"placeholder:text-neutral2 placeholder:transition-opacity placeholder:duration-normal",
|
|
7999
8076
|
"focus:placeholder:opacity-70",
|
|
8000
8077
|
"disabled:cursor-not-allowed",
|
|
8078
|
+
// Hide native number-spinner arrows so consumers can compose their own
|
|
8079
|
+
// stepper (see the NumberWithStepper story). WebKit uses the spin-button
|
|
8080
|
+
// pseudo-elements; Firefox needs `appearance: textfield` on the input.
|
|
8081
|
+
"[&::-webkit-outer-spin-button]:appearance-none [&::-webkit-outer-spin-button]:m-0",
|
|
8082
|
+
"[&::-webkit-inner-spin-button]:appearance-none [&::-webkit-inner-spin-button]:m-0",
|
|
8083
|
+
"[&[type=number]]:[appearance:textfield]",
|
|
8084
|
+
// type="search": drop WebKit's native clear button so it doesn't double up with a
|
|
8085
|
+
// custom clear control (e.g. the scorers toolbar's InputGroupButton).
|
|
8086
|
+
"[&::-webkit-search-cancel-button]:appearance-none",
|
|
8001
8087
|
className
|
|
8002
8088
|
),
|
|
8003
8089
|
...props
|
|
@@ -8008,7 +8094,6 @@ const InputGroupInput = React.forwardRef(
|
|
|
8008
8094
|
InputGroupInput.displayName = "InputGroupInput";
|
|
8009
8095
|
const InputGroupTextarea = React.forwardRef(
|
|
8010
8096
|
({ className, testId, error, ...props }, ref) => {
|
|
8011
|
-
const size = React.useContext(InputGroupSizeContext);
|
|
8012
8097
|
return /* @__PURE__ */ jsx(
|
|
8013
8098
|
"textarea",
|
|
8014
8099
|
{
|
|
@@ -8018,7 +8103,7 @@ const InputGroupTextarea = React.forwardRef(
|
|
|
8018
8103
|
"aria-invalid": error,
|
|
8019
8104
|
className: cn(
|
|
8020
8105
|
"flex-1 min-w-0 min-h-[60px] resize-y bg-transparent text-neutral6 px-3 py-2 outline-hidden",
|
|
8021
|
-
|
|
8106
|
+
inputGroupControlTextBySize,
|
|
8022
8107
|
"placeholder:text-neutral2 placeholder:transition-opacity placeholder:duration-normal",
|
|
8023
8108
|
"focus:placeholder:opacity-70",
|
|
8024
8109
|
"disabled:cursor-not-allowed",
|
|
@@ -8476,8 +8561,18 @@ function PropertyFilterActions({
|
|
|
8476
8561
|
|
|
8477
8562
|
const ButtonsGroupOrientationContext = React.createContext("horizontal");
|
|
8478
8563
|
const buttonsGroupVariants = cva(
|
|
8479
|
-
//
|
|
8480
|
-
|
|
8564
|
+
// Lift the hovered/focused segment so its full border paints over the collapsed seam (else a
|
|
8565
|
+
// neighbour clips a side / the seam ignores the active colour). Use `:focus-visible`, NOT
|
|
8566
|
+
// `:focus-within`: a mouse click leaves a plain `:focus` on a button, which would otherwise
|
|
8567
|
+
// keep its seam border highlighted until blur. `:has(:focus-visible)` covers a nested
|
|
8568
|
+
// focusable (the <input> inside an InputGroup); text inputs match :focus-visible on click too,
|
|
8569
|
+
// which is the wanted behaviour for a field.
|
|
8570
|
+
cn(
|
|
8571
|
+
"flex",
|
|
8572
|
+
"[&>*:hover]:relative [&>*:hover]:z-10",
|
|
8573
|
+
"[&>*:focus-visible]:relative [&>*:focus-visible]:z-10",
|
|
8574
|
+
"[&>*:has(:focus-visible)]:relative [&>*:has(:focus-visible)]:z-10"
|
|
8575
|
+
),
|
|
8481
8576
|
{
|
|
8482
8577
|
variants: {
|
|
8483
8578
|
orientation: {
|
|
@@ -8493,24 +8588,50 @@ const buttonsGroupVariants = cva(
|
|
|
8493
8588
|
{
|
|
8494
8589
|
orientation: "horizontal",
|
|
8495
8590
|
spacing: "close",
|
|
8496
|
-
//
|
|
8591
|
+
// Flatten inner corners. A segment rounds its right edge off having a *real* segment
|
|
8592
|
+
// somewhere after it (general sibling `~`, not `:not(:last-child)` and not adjacent
|
|
8593
|
+
// `+`). This survives non-segment children that frameworks inject between/around the
|
|
8594
|
+
// real ones: Base UI's trailing `<input aria-hidden>` (Select), and the visually
|
|
8595
|
+
// -hidden focus guards (`[data-base-ui-focus-guard]`) + positioner anchor (`[aria-owns]`)
|
|
8596
|
+
// a Menu/Popover inserts while OPEN — without this a DropdownMenu split-button seam
|
|
8597
|
+
// breaks the moment the menu opens. The same ignore-list is applied to every seam rule.
|
|
8497
8598
|
className: cn(
|
|
8498
|
-
"[&>*:not(:
|
|
8499
|
-
"[&>*:not(:first-child)]:rounded-l-none",
|
|
8500
|
-
|
|
8599
|
+
"[&>*:has(~_*:not([aria-hidden=true]):not([data-base-ui-focus-guard]):not([aria-owns]))]:rounded-r-none",
|
|
8600
|
+
"[&>*:not(:first-child):not([aria-hidden=true]):not([data-base-ui-focus-guard]):not([aria-owns])]:rounded-l-none",
|
|
8601
|
+
// One-line seam: `-ml-px` overlaps adjacent borders onto the same pixel. Filled
|
|
8602
|
+
// segments (opaque bg: default/primary buttons, the text chip) keep their own
|
|
8603
|
+
// border — the bg hides the neighbour's. Transparent/outline segments null their
|
|
8604
|
+
// left border at rest (so the neighbour's shows without doubling) and reveal it on
|
|
8605
|
+
// hover / keyboard-focus, where the z-10 lift paints the complete border on top.
|
|
8606
|
+
"[&>*:not([data-slot=buttons-group-separator]):not([aria-hidden=true]):not([data-base-ui-focus-guard]):not([aria-owns]):not(:first-child)]:-ml-px",
|
|
8607
|
+
"[&>*:not([data-slot=buttons-group-separator]):not([data-slot=buttons-group-text]):not([data-variant=default]):not([data-variant=primary]):not([aria-hidden=true]):not([data-base-ui-focus-guard]):not([aria-owns]):not(:first-child):not(:hover):not(:focus-visible):not(:has(:focus-visible))]:border-l-transparent",
|
|
8608
|
+
// `primary` is filled but borderless — give it (only) an inset-shadow divider.
|
|
8609
|
+
"[&>[data-variant=primary]:not([aria-hidden=true]):not(:first-child)]:shadow-[inset_1px_0_0_0_var(--color-border1)]",
|
|
8610
|
+
// Animate only colour/bg so the seam + ring snap (no fade desynced from the z-10 drop).
|
|
8611
|
+
"[&>*:not([data-slot=buttons-group-separator]):not([aria-hidden=true])]:transition-[color,background-color]",
|
|
8612
|
+
// Group owns sizing (no consumer width classes): fill on flex/InputGroup/input,
|
|
8613
|
+
// content-width on a Select trigger (descendant rule beats the trigger's `w-full`).
|
|
8614
|
+
"[&>[data-slot=select-trigger]]:w-fit [&>[data-slot=select-trigger]]:flex-none",
|
|
8615
|
+
"[&>input]:flex-1"
|
|
8501
8616
|
)
|
|
8502
8617
|
},
|
|
8503
8618
|
{
|
|
8504
8619
|
orientation: "vertical",
|
|
8505
8620
|
spacing: "close",
|
|
8506
|
-
// Children
|
|
8507
|
-
//
|
|
8621
|
+
// Children are capsules (rounded-full); re-round the outer ends to rounded-xl and
|
|
8622
|
+
// flatten the touching ones. Unlike the horizontal block, these use plain structural
|
|
8623
|
+
// selectors (no aria-hidden / data-base-ui-focus-guard / aria-owns ignore-list): vertical
|
|
8624
|
+
// close-spacing is only used with plain buttons, so it never hosts a Select/DropdownMenu
|
|
8625
|
+
// that injects guard siblings. Mirror the horizontal ignore-list here if one ever does.
|
|
8508
8626
|
className: cn(
|
|
8509
8627
|
"[&>*:not(:last-child)]:rounded-b-none",
|
|
8510
8628
|
"[&>*:not(:first-child)]:rounded-t-none",
|
|
8511
8629
|
"[&>:first-child]:rounded-t-xl",
|
|
8512
8630
|
"[&>:last-child]:rounded-b-xl",
|
|
8513
|
-
"[&>*:not([data-slot=buttons-group-separator]):not(:first-child)]:-mt-px"
|
|
8631
|
+
"[&>*:not([data-slot=buttons-group-separator]):not(:first-child)]:-mt-px",
|
|
8632
|
+
"[&>*:not([data-slot=buttons-group-separator]):not([data-slot=buttons-group-text]):not([data-variant=default]):not([data-variant=primary]):not(:first-child):not(:hover):not(:focus-visible):not(:has(:focus-visible))]:border-t-transparent",
|
|
8633
|
+
"[&>[data-variant=primary]:not(:first-child)]:shadow-[inset_0_1px_0_0_var(--color-border1)]",
|
|
8634
|
+
"[&>*:not([data-slot=buttons-group-separator])]:transition-[color,background-color]"
|
|
8514
8635
|
)
|
|
8515
8636
|
}
|
|
8516
8637
|
],
|
|
@@ -9443,12 +9564,30 @@ const searchbarSizeClasses = {
|
|
|
9443
9564
|
lg: formElementSizes.lg,
|
|
9444
9565
|
default: formElementSizes.default
|
|
9445
9566
|
};
|
|
9567
|
+
const searchbarFilledSurface = cn(
|
|
9568
|
+
"bg-surface-overlay-soft rounded-full",
|
|
9569
|
+
"hover:bg-surface-overlay-strong",
|
|
9570
|
+
inputHoverBorderWithin,
|
|
9571
|
+
"outline-hidden focus-within:outline-hidden focus-within:bg-surface-overlay-strong",
|
|
9572
|
+
inputFocusBorderWithin
|
|
9573
|
+
);
|
|
9574
|
+
const searchbarVariantClasses = {
|
|
9575
|
+
default: searchbarFilledSurface,
|
|
9576
|
+
filled: searchbarFilledSurface,
|
|
9577
|
+
outline: cn(
|
|
9578
|
+
"bg-transparent rounded-full",
|
|
9579
|
+
inputHoverBorderWithin,
|
|
9580
|
+
"outline-hidden focus-within:outline-hidden",
|
|
9581
|
+
inputFocusBorderWithin
|
|
9582
|
+
)
|
|
9583
|
+
};
|
|
9446
9584
|
const Searchbar = ({
|
|
9447
9585
|
onSearch,
|
|
9448
9586
|
label,
|
|
9449
9587
|
placeholder,
|
|
9450
9588
|
debounceMs = 300,
|
|
9451
9589
|
size = "md",
|
|
9590
|
+
variant = "outline",
|
|
9452
9591
|
className
|
|
9453
9592
|
}) => {
|
|
9454
9593
|
const id = useId();
|
|
@@ -9483,10 +9622,8 @@ const Searchbar = ({
|
|
|
9483
9622
|
{
|
|
9484
9623
|
className: cn(
|
|
9485
9624
|
"border border-border1 flex w-full items-center gap-2 overflow-hidden pl-2 pr-1",
|
|
9486
|
-
formElementRadius,
|
|
9487
|
-
formElementFocusWithin,
|
|
9488
9625
|
transitions.all,
|
|
9489
|
-
|
|
9626
|
+
searchbarVariantClasses[variant],
|
|
9490
9627
|
searchbarSizeClasses[size],
|
|
9491
9628
|
className
|
|
9492
9629
|
),
|
|
@@ -9501,7 +9638,7 @@ const Searchbar = ({
|
|
|
9501
9638
|
type: "text",
|
|
9502
9639
|
placeholder,
|
|
9503
9640
|
className: cn(
|
|
9504
|
-
"bg-transparent text-ui-md placeholder:text-
|
|
9641
|
+
"bg-transparent text-ui-md placeholder:text-neutral2 block w-full px-2 outline-hidden",
|
|
9505
9642
|
searchbarSizeClasses[size]
|
|
9506
9643
|
),
|
|
9507
9644
|
name: id,
|
|
@@ -14056,7 +14193,8 @@ const ListSearch = ({
|
|
|
14056
14193
|
placeholder,
|
|
14057
14194
|
debounceMs = 300,
|
|
14058
14195
|
size,
|
|
14059
|
-
value: controlledValue
|
|
14196
|
+
value: controlledValue,
|
|
14197
|
+
variant = "outline"
|
|
14060
14198
|
}) => {
|
|
14061
14199
|
const id = useId();
|
|
14062
14200
|
const [internalValue, setInternalValue] = useState(controlledValue ?? "");
|
|
@@ -14093,6 +14231,7 @@ const ListSearch = ({
|
|
|
14093
14231
|
onChange: handleChange,
|
|
14094
14232
|
onReset: handleReset,
|
|
14095
14233
|
size,
|
|
14234
|
+
variant,
|
|
14096
14235
|
className: "w-full max-w-[30rem]"
|
|
14097
14236
|
}
|
|
14098
14237
|
);
|
|
@@ -15706,6 +15845,16 @@ const formatJSON = async (code) => {
|
|
|
15706
15845
|
});
|
|
15707
15846
|
return formatted;
|
|
15708
15847
|
};
|
|
15848
|
+
const formatTypeScript = async (code) => {
|
|
15849
|
+
const [prettier, prettierPluginBabel, prettierPluginEstree] = await loadPrettier();
|
|
15850
|
+
const formatted = await prettier.format(code, {
|
|
15851
|
+
parser: "babel-ts",
|
|
15852
|
+
printWidth: 80,
|
|
15853
|
+
tabWidth: 2,
|
|
15854
|
+
plugins: [prettierPluginBabel, prettierPluginEstree]
|
|
15855
|
+
});
|
|
15856
|
+
return formatted;
|
|
15857
|
+
};
|
|
15709
15858
|
const isValidJson = (str) => {
|
|
15710
15859
|
try {
|
|
15711
15860
|
const obj = JSON.parse(str);
|
|
@@ -20557,7 +20706,11 @@ const NoTracesInfo = ({ datePreset, dateFrom, dateTo } = {}) => {
|
|
|
20557
20706
|
};
|
|
20558
20707
|
|
|
20559
20708
|
const IMMUTABLE_CACHE_TIME$2 = 1e3 * 60 * 60 * 24 * 30;
|
|
20560
|
-
function useBranch({
|
|
20709
|
+
function useBranch({
|
|
20710
|
+
traceId,
|
|
20711
|
+
spanId,
|
|
20712
|
+
depth
|
|
20713
|
+
}) {
|
|
20561
20714
|
const client = useMastraClient();
|
|
20562
20715
|
return useQuery({
|
|
20563
20716
|
queryKey: ["branch", traceId, spanId, depth],
|
|
@@ -20781,7 +20934,11 @@ function mergeDeltaIntoPage0(old, delta, listMode) {
|
|
|
20781
20934
|
}
|
|
20782
20935
|
return { ...old, pages: [updatedFirst, ...rest] };
|
|
20783
20936
|
}
|
|
20784
|
-
const useTraces = ({
|
|
20937
|
+
const useTraces = ({
|
|
20938
|
+
filters,
|
|
20939
|
+
listMode = "traces",
|
|
20940
|
+
polling = {}
|
|
20941
|
+
}) => {
|
|
20785
20942
|
const {
|
|
20786
20943
|
deltaPollIntervalMs = DEFAULT_POLLING_CONFIG.deltaPollIntervalMs,
|
|
20787
20944
|
deltaChaseIntervalMs = DEFAULT_POLLING_CONFIG.deltaChaseIntervalMs,
|
|
@@ -21781,13 +21938,13 @@ const useLogs = ({ filters } = {}) => {
|
|
|
21781
21938
|
retry: false,
|
|
21782
21939
|
refetchInterval: 1e4
|
|
21783
21940
|
});
|
|
21784
|
-
const { hasNextPage, isFetchingNextPage, fetchNextPage } = query;
|
|
21941
|
+
const { hasNextPage, isFetchingNextPage, fetchNextPage, data, isLoading, isError, error } = query;
|
|
21785
21942
|
useEffect(() => {
|
|
21786
21943
|
if (isEndOfListInView && hasNextPage && !isFetchingNextPage) {
|
|
21787
21944
|
void fetchNextPage();
|
|
21788
21945
|
}
|
|
21789
21946
|
}, [isEndOfListInView, hasNextPage, isFetchingNextPage, fetchNextPage]);
|
|
21790
|
-
return {
|
|
21947
|
+
return { data, hasNextPage, isFetchingNextPage, fetchNextPage, isLoading, isError, error, setEndOfListElement };
|
|
21791
21948
|
};
|
|
21792
21949
|
|
|
21793
21950
|
const LOG_PARAM = "logId";
|
|
@@ -22095,5 +22252,5 @@ function useLogsListNavigation(logs, featuredLogId, onFeaturedChange, featuredTr
|
|
|
22095
22252
|
};
|
|
22096
22253
|
}
|
|
22097
22254
|
|
|
22098
|
-
export { AddField, AgentCoinIcon, AgentIcon, AgentNetworkCoinIcon, AiIcon, AlertDialog, AmazonIcon, AnthropicChatIcon, AnthropicMessagesIcon, ApiIcon, Avatar, AzureIcon, Badge, BarListContent, BorderColors, BorderRadius, BranchIcon, BrandLoader, Breadcrumb, Button, ButtonsGroup, ButtonsGroupSeparator, ButtonsGroupText, CHART_COLORS, CONTEXT_FIELD_IDS, Card, CardContent, CardDescription, CardFooter, CardHeader, CardHeading, CardTitle, Cell, CheckIcon, Checkbox, ChevronIcon, Chip, ChipsGroup, CodeBlock$1 as CodeBlock, CodeDiff, CodeEditor, CohereIcon, Collapsible, CollapsibleContent, CollapsiblePanel, CollapsibleTrigger, Colors, Column, Columns, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommitIcon, ContentBlock, ContentBlocks, ContextMenu, CopyButton, CrossIcon, Crumb, DATE_PRESETS, DEFAULT_LOGS_FILTERS_STORAGE_KEY, DEFAULT_TRACE_FILTERS_STORAGE_KEY, DashboardCard, DataCodeSection, DataDetailsPanel, DataKeysAndValues, DataList, DataListSkeleton, DataPanel, DatasetsIcon, DatePicker, DateRangeSelector, DateTimeCell, DateTimePicker, DateTimePickerContent, DateTimeRangePicker, DbIcon, DebugIcon, DefaultTrigger, DeploymentIcon, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DividerIcon, DocsIcon, Drawer, DrawerBackdrop, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerIndent, DrawerIndentBackground, DrawerInteractive, DrawerPopup, DrawerPortal, DrawerProvider, DrawerSwipeArea, DrawerTitle, DrawerTrigger, DrawerViewport, DropdownMenu, EXTENSION_TO_MIME, ElementSelect, EmptyState, Entity, EntityContent, EntityDescription, EntityHeader, EntityIcon, EntityName, Entry, EntryCell, EnvIcon, ErrorBoundary, ErrorState, ExperimentsIcon, Field, FieldBlock, FieldBlocksLayout, FieldDescription, FieldList, FieldName, FieldNullable, FieldOptional, FieldRemove, FieldType, FiltersIcon, FolderIcon, FontSizes, GithubCoinIcon, GithubIcon, Glows, GoogleIcon, GroqIcon, Header$1 as Header, HeaderAction, HeaderGroup, HeaderTitle, HomeIcon, HorizontalBars, HoverCard, HoverCardContent, HoverCardTrigger, HoverPopover, Icon, InfoIcon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, ItemList, ItemListSkeleton, JSONSchemaForm, JudgeIcon, Kbd, KeyValueList, KpiCardView, LOGS_DATE_FROM_PARAM, LOGS_DATE_PRESET_PARAM, LOGS_DATE_PRESET_VALUES, LOGS_DATE_TO_PARAM, LOGS_PROPERTY_FILTER_FIELD_IDS, LOGS_PROPERTY_FILTER_PARAM_BY_FIELD, LOGS_ROOT_ENTITY_TYPES, LOGS_ROOT_ENTITY_TYPE_OPTIONS, LOGS_ROOT_ENTITY_TYPE_PARAM, LOG_LEVEL_OPTIONS, LOG_LEVEL_VALUES, Label, LatencyCardView, LatencyIcon, LineHeights, ListSearch, LogDetailsView, Logo, LogoWithoutText, LogsDataList, DataListSkeleton as LogsDataListSkeleton, LogsErrorContent, LogsIcon, LogsLayout, LogsListView, LogsToolbar, MainContentContent, MainContentLayout, MainHeader, MainSidebar, MainSidebarMobileTrigger, MainSidebarProvider, MainSidebarTrigger, MarkdownRenderer, MastraIcon, McpCoinIcon, McpServerIcon, MemoryCardView, MemoryIcon, MetricsCard, MetricsDataTable, MetricsFlexGrid, MetricsIcon, MetricsKpiCard, MetricsLineChart, MetricsLineChartTooltip, MetricsProvider, MistralIcon, ModelUsageCostCardView, MultiColumn, MultiCombobox, NestedFields, NetlifyIcon, NoDataPageLayout, NoLogsInfo, NoTracesInfo, Notice, OPERATORS, OPERATOR_LABELS, OpenAIIcon, OpenErrorsInLogsButton, OpenInTracesButton, OpenaiChatIcon, PageHeader, PageHeadingContext, PageLayout, PanelSeparator, PermissionDenied, PickMultiPanel, Popover, PopoverContent, PopoverTrigger, PrevNextNav, ProcessStepList, ProcessStepListItem, ProcessStepProgressBar, ProcessorIcon, PromptIcon, PropertyFilterActions, PropertyFilterApplied, PropertyFilterCreator, ROOT_ENTITY_TYPES, ROOT_ENTITY_TYPE_OPTIONS, RadioGroup, RadioGroupItem, RepoIcon, RequestContextIcon, Root$1 as Root, Row, RuleBuilder, RuleFieldSelect, RuleOperatorSelect, RuleRow, RuleValueInput, ScorersIcon, ScoresCardView, ScoresDataList, ScrollArea, ScrollBar, ScrollableContainer, SearchFieldBlock, Searchbar, SearchbarWrapper, Section, SectionCard, SectionRoot, Sections, Select, SelectContent, SelectDataFilter, SelectFieldBlock, SelectGroup, SelectItem, SelectTrigger, SelectValue, SessionExpired, SettingsIcon, SettingsRow, Shadows, SideDialog, Sizes, Skeleton, SkillIcon, SlashIcon, Slider, Spacings, SpanDataPanelView, SpanDetailsView, SpanTokenUsage, Spinner, StackedRunsBars, StatusBadge, SubSectionRoot, Switch, TRACE_ANCHOR_SPAN_ID_PARAM, TRACE_DATE_FROM_PARAM, TRACE_DATE_PRESET_PARAM, TRACE_DATE_PRESET_VALUES, TRACE_DATE_TO_PARAM, TRACE_LIST_MODE_OPTIONS, TRACE_LIST_MODE_PARAM, TRACE_LIST_MODE_VALUES, TRACE_PROPERTY_FILTER_FIELD_IDS, TRACE_PROPERTY_FILTER_PARAM_BY_FIELD, TRACE_ROOT_ENTITY_TYPE_PARAM, TRACE_STATUS_OPTIONS, TRACE_STATUS_PARAM, TRACE_STATUS_VALUES, TRACE_SYNTHETIC_FILTER_FIELD_IDS, Tab, TabContent, TabList, Table, Tabs, Tbody, TextAndIcon, TextFieldBlock, Textarea, Th, Thead, ThemeProvider, ThemeToggle, TimePicker, TimelineExpandCol, TimelineNameCol, TimelineStructureSign, TimelineTimingCol, Toaster, TokenUsageByAgentCardView, ToolCoinIcon, ToolsIcon, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TraceDataPanelView, TraceDetailsView, TraceIcon, TraceKeysAndValues, TraceTimeline, TraceTimelineSpan, TracesDataList, TracesErrorContent, TracesLayout, TracesListModeToggle, TracesListView, TracesToolbar, TracesVolumeCardView, Tree, Truncate, TsIcon, Txt, TxtCell, VARIABLE_PATTERN, VariablesIcon, WorkflowCoinIcon, WorkflowIcon, WorkspacesIcon, XGroqIcon, applyLogsPropertyFilterTokens, applyMetricsPropertyFilterTokens, applyTracePropertyFilterTokens, buildLogsDrilldownUrl, buildLogsListFilters, buildMetricsDimensionalFilter, buildTraceListFilters, buildTracesDrilldownUrl, buttonVariants, buttonsGroupVariants, clearSavedLogsFilters, clearSavedMetricsFilters, clearSavedTraceFilters, cn, comboboxStyles, countLeafRules, createDefaultRule, createDefaultRuleGroup, createDrawerHandle, createField, createLogsPropertyFilterFields, createMetricsPropertyFilterFields, createTracePropertyFilterFields, createVariableAutocomplete, fieldsToJSONSchema, fileToBase64, flattenSchemaToVariables, focusRing, formElementFocus,
|
|
22255
|
+
export { AddField, AgentCoinIcon, AgentIcon, AgentNetworkCoinIcon, AiIcon, AlertDialog, AmazonIcon, AnthropicChatIcon, AnthropicMessagesIcon, ApiIcon, Avatar, AzureIcon, Badge, BarListContent, BorderColors, BorderRadius, BranchIcon, BrandLoader, Breadcrumb, Button, ButtonsGroup, ButtonsGroupSeparator, ButtonsGroupText, CHART_COLORS, CONTEXT_FIELD_IDS, Card, CardContent, CardDescription, CardFooter, CardHeader, CardHeading, CardTitle, Cell, CheckIcon, Checkbox, ChevronIcon, Chip, ChipsGroup, CodeBlock$1 as CodeBlock, CodeDiff, CodeEditor, CohereIcon, Collapsible, CollapsibleContent, CollapsiblePanel, CollapsibleTrigger, Colors, Column, Columns, Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CommitIcon, ContentBlock, ContentBlocks, ContextMenu, CopyButton, CrossIcon, Crumb, DATE_PRESETS, DEFAULT_LOGS_FILTERS_STORAGE_KEY, DEFAULT_TRACE_FILTERS_STORAGE_KEY, DashboardCard, DataCodeSection, DataDetailsPanel, DataKeysAndValues, DataList, DataListSkeleton, DataPanel, DatasetsIcon, DatePicker, DateRangeSelector, DateTimeCell, DateTimePicker, DateTimePickerContent, DateTimeRangePicker, DbIcon, DebugIcon, DefaultTrigger, DeploymentIcon, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DividerIcon, DocsIcon, Drawer, DrawerBackdrop, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerIndent, DrawerIndentBackground, DrawerInteractive, DrawerPopup, DrawerPortal, DrawerProvider, DrawerSwipeArea, DrawerTitle, DrawerTrigger, DrawerViewport, DropdownMenu, EXTENSION_TO_MIME, ElementSelect, EmptyState, Entity, EntityContent, EntityDescription, EntityHeader, EntityIcon, EntityName, Entry, EntryCell, EnvIcon, ErrorBoundary, ErrorState, ExperimentsIcon, Field, FieldBlock, FieldBlocksLayout, FieldDescription, FieldList, FieldName, FieldNullable, FieldOptional, FieldRemove, FieldType, FiltersIcon, FolderIcon, FontSizes, GithubCoinIcon, GithubIcon, Glows, GoogleIcon, GroqIcon, Header$1 as Header, HeaderAction, HeaderGroup, HeaderTitle, HomeIcon, HorizontalBars, HoverCard, HoverCardContent, HoverCardTrigger, HoverPopover, Icon, InfoIcon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, ItemList, ItemListSkeleton, JSONSchemaForm, JudgeIcon, Kbd, KeyValueList, KpiCardView, LOGS_DATE_FROM_PARAM, LOGS_DATE_PRESET_PARAM, LOGS_DATE_PRESET_VALUES, LOGS_DATE_TO_PARAM, LOGS_PROPERTY_FILTER_FIELD_IDS, LOGS_PROPERTY_FILTER_PARAM_BY_FIELD, LOGS_ROOT_ENTITY_TYPES, LOGS_ROOT_ENTITY_TYPE_OPTIONS, LOGS_ROOT_ENTITY_TYPE_PARAM, LOG_LEVEL_OPTIONS, LOG_LEVEL_VALUES, Label, LatencyCardView, LatencyIcon, LineHeights, ListSearch, LogDetailsView, Logo, LogoWithoutText, LogsDataList, DataListSkeleton as LogsDataListSkeleton, LogsErrorContent, LogsIcon, LogsLayout, LogsListView, LogsToolbar, MainContentContent, MainContentLayout, MainHeader, MainSidebar, MainSidebarMobileTrigger, MainSidebarProvider, MainSidebarTrigger, MarkdownRenderer, MastraIcon, McpCoinIcon, McpServerIcon, MemoryCardView, MemoryIcon, MetricsCard, MetricsDataTable, MetricsFlexGrid, MetricsIcon, MetricsKpiCard, MetricsLineChart, MetricsLineChartTooltip, MetricsProvider, MistralIcon, ModelUsageCostCardView, MultiColumn, MultiCombobox, NestedFields, NetlifyIcon, NoDataPageLayout, NoLogsInfo, NoTracesInfo, Notice, OPERATORS, OPERATOR_LABELS, OpenAIIcon, OpenErrorsInLogsButton, OpenInTracesButton, OpenaiChatIcon, PageHeader, PageHeadingContext, PageLayout, PanelSeparator, PermissionDenied, PickMultiPanel, Popover, PopoverContent, PopoverTrigger, PrevNextNav, ProcessStepList, ProcessStepListItem, ProcessStepProgressBar, ProcessorIcon, PromptIcon, PropertyFilterActions, PropertyFilterApplied, PropertyFilterCreator, ROOT_ENTITY_TYPES, ROOT_ENTITY_TYPE_OPTIONS, RadioGroup, RadioGroupItem, RepoIcon, RequestContextIcon, Root$1 as Root, Row, RuleBuilder, RuleFieldSelect, RuleOperatorSelect, RuleRow, RuleValueInput, ScorersIcon, ScoresCardView, ScoresDataList, ScrollArea, ScrollBar, ScrollableContainer, SearchFieldBlock, Searchbar, SearchbarWrapper, Section, SectionCard, SectionRoot, Sections, Select, SelectContent, SelectDataFilter, SelectFieldBlock, SelectGroup, SelectItem, SelectTrigger, SelectValue, SessionExpired, SettingsIcon, SettingsRow, Shadows, SideDialog, Sizes, Skeleton, SkillIcon, SlashIcon, Slider, Spacings, SpanDataPanelView, SpanDetailsView, SpanTokenUsage, Spinner, StackedRunsBars, StatusBadge, SubSectionRoot, Switch, TRACE_ANCHOR_SPAN_ID_PARAM, TRACE_DATE_FROM_PARAM, TRACE_DATE_PRESET_PARAM, TRACE_DATE_PRESET_VALUES, TRACE_DATE_TO_PARAM, TRACE_LIST_MODE_OPTIONS, TRACE_LIST_MODE_PARAM, TRACE_LIST_MODE_VALUES, TRACE_PROPERTY_FILTER_FIELD_IDS, TRACE_PROPERTY_FILTER_PARAM_BY_FIELD, TRACE_ROOT_ENTITY_TYPE_PARAM, TRACE_STATUS_OPTIONS, TRACE_STATUS_PARAM, TRACE_STATUS_VALUES, TRACE_SYNTHETIC_FILTER_FIELD_IDS, Tab, TabContent, TabList, Table, Tabs, Tbody, TextAndIcon, TextFieldBlock, Textarea, Th, Thead, ThemeProvider, ThemeToggle, TimePicker, TimelineExpandCol, TimelineNameCol, TimelineStructureSign, TimelineTimingCol, Toaster, TokenUsageByAgentCardView, ToolCoinIcon, ToolsIcon, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TraceDataPanelView, TraceDetailsView, TraceIcon, TraceKeysAndValues, TraceTimeline, TraceTimelineSpan, TracesDataList, TracesErrorContent, TracesLayout, TracesListModeToggle, TracesListView, TracesToolbar, TracesVolumeCardView, Tree, Truncate, TsIcon, Txt, TxtCell, VARIABLE_PATTERN, VariablesIcon, WorkflowCoinIcon, WorkflowIcon, WorkspacesIcon, XGroqIcon, applyLogsPropertyFilterTokens, applyMetricsPropertyFilterTokens, applyTracePropertyFilterTokens, buildLogsDrilldownUrl, buildLogsListFilters, buildMetricsDimensionalFilter, buildTraceListFilters, buildTracesDrilldownUrl, buttonVariants, buttonsGroupVariants, clearSavedLogsFilters, clearSavedMetricsFilters, clearSavedTraceFilters, cn, comboboxStyles, countLeafRules, createDefaultRule, createDefaultRuleGroup, createDrawerHandle, createField, createLogsPropertyFilterFields, createMetricsPropertyFilterFields, createTracePropertyFilterFields, createVariableAutocomplete, fieldsToJSONSchema, fileToBase64, flattenSchemaToVariables, focusRing, formElementFocus, formElementSizes, formatCompact, formatCost, formatHierarchicalSpans, formatJSON, formatTypeScript, generateDefaultValues, getAllSpanIds, getChildFieldOptions, getFieldOptionAtPath, getFieldOptionsFromSchema, getFileContentType, getInputPreview, getIsLinkActive, getItemListColumnTemplate, getLogsPropertyFilterTokens, getMainContentContentClassName, getMetricsPropertyFilterTokens, getPreservedLogsFilterParams, getPreservedTraceFilterParams, getShortId$1 as getShortId, getSpanDescendantIds, getSpanTypeUi, getStatusIcon, getToNextItemFn, getToPreviousItemFn, getTokenLimitMessage, getTracePropertyFilterTokens, hasAnyLogsFilterParams, hasAnyMetricsFilterParams, hasAnyTraceFilterParams, highlight, hoverEffects, inputFocusBorderVisible, inputFocusBorderWithin, inputHoverBorderWithin, inputOutlineAndFocusStyle, inputSurfaceAndFocusStyle, is401UnauthorizedError, is403ForbiddenError, isBranchesNotSupportedError, isNonRetryableError, isObjectEmpty, isRule, isRuleGroup, isTokenLimitExceeded, isValidJson, isValidPreset, jsonSchemaToFields, loadLogsFiltersFromStorage, loadMetricsFiltersFromStorage, loadTraceFiltersFromStorage, lodashTitleCase, narrowWindowToBucket, navItemClasses, neutralizeFilterTokens, neutralizeLogsFilterTokens, parseError, parseFieldPath, saveLogsFiltersToStorage, saveMetricsFiltersToStorage, saveTraceFiltersToStorage, sharedFormElementDisabledStyle, sharedFormElementFocusStyle, shouldRetryQuery, spanTypePrefixes, stringToColor, toSigFigs, toast, transitions, truncateString, unstyledFormElementStyle, useActiveResourcesKpiMetrics, useActiveThreadsKpiMetrics, useAgentRunsKpiMetrics, useAutoscroll, useBranch, useCodemirrorTheme$3 as useCodemirrorTheme, useCopyToClipboard, useDrawerSide, useDrilldown, useEntityNames, useEnvironments, useInView, useJSONSchemaForm, useJSONSchemaFormField, useJSONSchemaFormNestedContext, useLatencyMetrics, useLogs, useLogsFilterPersistence, useLogsListNavigation, useLogsUrlState, useMainSidebar, useMaybeSidebar, useMetrics, useMetricsFilters, useModelCostKpiMetrics, useModelUsageCostMetrics, usePageHeading, usePlaygroundStore, useScoresMetrics, useServiceNames, useSpanDetail, useTableKeyboardNavigation, useTags, useTheme, useTokenUsageByAgentMetrics, useTopActiveThreadsMetrics, useTopResourcesByThreadsMetrics, useTotalTokensKpiMetrics, useTraceFilterPersistence, useTraceLightSpans, useTraceListNavigation, useTraceOrBranchSpans, useTraceSpanNavigation, useTraceSpans, useTraceUrlState, useTraceVolumeMetrics, useTraces, variableHighlight };
|
|
22099
22256
|
//# sourceMappingURL=index.es.js.map
|