@mastra/playground-ui 5.2.4 → 5.2.5-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +133 -78
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +130 -80
- package/dist/index.es.js.map +1 -1
- package/dist/src/components/ui/collapsible.d.ts +1 -1
- package/dist/src/components/ui/kbd.d.ts +5 -0
- package/dist/src/components/ui/searchbar.d.ts +6 -0
- package/dist/src/ds/components/Table/Table.d.ts +5 -2
- package/dist/src/index.d.ts +3 -0
- package/package.json +4 -4
package/dist/index.cjs.js
CHANGED
|
@@ -3121,7 +3121,7 @@ function cn(...inputs) {
|
|
|
3121
3121
|
}
|
|
3122
3122
|
|
|
3123
3123
|
const buttonVariants = cva(
|
|
3124
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors
|
|
3124
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
3125
3125
|
{
|
|
3126
3126
|
variants: {
|
|
3127
3127
|
variant: {
|
|
@@ -4498,7 +4498,7 @@ const DialogContent = React__namespace.forwardRef(({ className, children, ...pro
|
|
|
4498
4498
|
...props,
|
|
4499
4499
|
children: [
|
|
4500
4500
|
children,
|
|
4501
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70
|
|
4501
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
|
|
4502
4502
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" }),
|
|
4503
4503
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
4504
4504
|
] })
|
|
@@ -5017,11 +5017,11 @@ const Composer$1 = ({ hasMemory, onInputChange, agentId }) => {
|
|
|
5017
5017
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-4", children: [
|
|
5018
5018
|
/* @__PURE__ */ jsxRuntime.jsxs(react.ComposerPrimitive.Root, { children: [
|
|
5019
5019
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-[568px] w-full mx-auto pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(ComposerAttachments, {}) }),
|
|
5020
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-surface3 rounded-lg border-sm border-border1 py-4 mt-auto max-w-[568px] w-full mx-auto px-4", children: [
|
|
5020
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-surface3 rounded-lg border-sm border-border1 py-4 mt-auto max-w-[568px] w-full mx-auto px-4 focus-within:outline focus-within:outline-accent1 -outline-offset-2", children: [
|
|
5021
5021
|
/* @__PURE__ */ jsxRuntime.jsx(react.ComposerPrimitive.Input, { asChild: true, className: "w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5022
5022
|
"textarea",
|
|
5023
5023
|
{
|
|
5024
|
-
className: "text-ui-lg leading-ui-lg placeholder:text-icon3 text-icon6 bg-transparent focus:outline-none resize-none",
|
|
5024
|
+
className: "text-ui-lg leading-ui-lg placeholder:text-icon3 text-icon6 bg-transparent focus:outline-none resize-none outline-none",
|
|
5025
5025
|
autoFocus: true,
|
|
5026
5026
|
placeholder: "Enter your message...",
|
|
5027
5027
|
name: "",
|
|
@@ -6209,7 +6209,7 @@ const AgentChat = ({
|
|
|
6209
6209
|
};
|
|
6210
6210
|
|
|
6211
6211
|
const badgeVariants = cva(
|
|
6212
|
-
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors
|
|
6212
|
+
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors",
|
|
6213
6213
|
{
|
|
6214
6214
|
variants: {
|
|
6215
6215
|
variant: {
|
|
@@ -6263,13 +6263,13 @@ function FormattedDate({ date }) {
|
|
|
6263
6263
|
}
|
|
6264
6264
|
|
|
6265
6265
|
const inputVariants = cva(
|
|
6266
|
-
"flex w-full text-icon6 rounded-lg border bg-transparent shadow-sm
|
|
6266
|
+
"flex w-full text-icon6 rounded-lg border bg-transparent shadow-sm transition-colors disabled:cursor-not-allowed disabled:opacity-50",
|
|
6267
6267
|
{
|
|
6268
6268
|
variants: {
|
|
6269
6269
|
variant: {
|
|
6270
6270
|
default: "border-sm border-border1 placeholder:text-icon3",
|
|
6271
6271
|
filled: "border-sm bg-inputFill border-border1 placeholder:text-icon3",
|
|
6272
|
-
unstyled: "border-0 bg-transparent placeholder:text-icon3
|
|
6272
|
+
unstyled: "border-0 bg-transparent placeholder:text-icon3"
|
|
6273
6273
|
},
|
|
6274
6274
|
customSize: {
|
|
6275
6275
|
default: "px-[13px] text-[calc(13_/_16_*_1rem)] h-8",
|
|
@@ -6371,24 +6371,14 @@ const TabsTrigger = React__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
6371
6371
|
{
|
|
6372
6372
|
ref,
|
|
6373
6373
|
className: cn(
|
|
6374
|
-
"
|
|
6374
|
+
"-outline-offset-2 data-[state=active]:bg-background data-[state=active]:text-foreground whitespace-nowrap text-ui-lg text-icon3 -mb-[0.5px] inline-flex items-center justify-center border-b-2 border-transparent p-3 font-medium disabled:pointer-events-none disabled:opacity-50 data-[state=active]:border-b-2 data-[state=active]:border-white data-[state=active]:shadow",
|
|
6375
6375
|
className
|
|
6376
6376
|
),
|
|
6377
6377
|
...props
|
|
6378
6378
|
}
|
|
6379
6379
|
));
|
|
6380
6380
|
TabsTrigger.displayName = TabsPrimitive__namespace.Trigger.displayName;
|
|
6381
|
-
const TabsContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
6382
|
-
TabsPrimitive__namespace.Content,
|
|
6383
|
-
{
|
|
6384
|
-
ref,
|
|
6385
|
-
className: cn(
|
|
6386
|
-
"ring-offset-background focus-visible:ring-ring mt-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
6387
|
-
className
|
|
6388
|
-
),
|
|
6389
|
-
...props
|
|
6390
|
-
}
|
|
6391
|
-
));
|
|
6381
|
+
const TabsContent = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Content, { ref, className: cn("mt-2 -outline-offset-2", className), ...props }));
|
|
6392
6382
|
TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
|
|
6393
6383
|
|
|
6394
6384
|
const PlaygroundTabs = ({
|
|
@@ -6440,8 +6430,7 @@ const scrollableContentClass = cn(
|
|
|
6440
6430
|
cn(
|
|
6441
6431
|
"px-4 py-2 text-sm transition-all border-b-2 border-transparent",
|
|
6442
6432
|
"data-[state=active]:border-white data-[state=active]:text-white font-medium",
|
|
6443
|
-
"data-[state=inactive]:text-mastra-el-4 hover:data-[state=inactive]:text-mastra-el-2"
|
|
6444
|
-
"focus-visible:outline-none"
|
|
6433
|
+
"data-[state=inactive]:text-mastra-el-4 hover:data-[state=inactive]:text-mastra-el-2"
|
|
6445
6434
|
);
|
|
6446
6435
|
cn("data-[state=inactive]:mt-0 min-h-0 h-full grid grid-rows-[1fr]");
|
|
6447
6436
|
function AgentEvals({ liveEvals, ciEvals, onRefetchLiveEvals, onRefetchCiEvals }) {
|
|
@@ -6654,7 +6643,7 @@ const Slider = React__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
6654
6643
|
...props,
|
|
6655
6644
|
children: [
|
|
6656
6645
|
/* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20", children: /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Range, { className: "absolute h-full bg-primary/50" }) }),
|
|
6657
|
-
/* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Thumb, { className: "block h-4 w-4 rounded-full border border-primary/50 bg-white shadow transition-colors
|
|
6646
|
+
/* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Thumb, { className: "block h-4 w-4 rounded-full border border-primary/50 bg-white shadow transition-colors disabled:pointer-events-none disabled:opacity-50" })
|
|
6658
6647
|
]
|
|
6659
6648
|
}
|
|
6660
6649
|
));
|
|
@@ -6674,7 +6663,7 @@ const RadioGroupItem = React__namespace.forwardRef(({ className, ...props }, ref
|
|
|
6674
6663
|
{
|
|
6675
6664
|
ref,
|
|
6676
6665
|
className: cn(
|
|
6677
|
-
"aspect-square h-4 w-4 rounded-full border border-primary text-primary
|
|
6666
|
+
"aspect-square h-4 w-4 rounded-full border border-primary text-primary disabled:cursor-not-allowed disabled:opacity-50",
|
|
6678
6667
|
className
|
|
6679
6668
|
),
|
|
6680
6669
|
...props,
|
|
@@ -6719,7 +6708,10 @@ const Button = ({ className, as, size = "md", variant = "default", ...props }) =
|
|
|
6719
6708
|
};
|
|
6720
6709
|
|
|
6721
6710
|
const Collapsible = CollapsiblePrimitive__namespace.Root;
|
|
6722
|
-
const CollapsibleTrigger =
|
|
6711
|
+
const CollapsibleTrigger = (props) => {
|
|
6712
|
+
const { className, ...rest } = props;
|
|
6713
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CollapsiblePrimitive__namespace.CollapsibleTrigger, { className: cn("-outline-offset-2", className), ...rest });
|
|
6714
|
+
};
|
|
6723
6715
|
const CollapsibleContent = CollapsiblePrimitive__namespace.CollapsibleContent;
|
|
6724
6716
|
|
|
6725
6717
|
const formatJSON = async (code) => {
|
|
@@ -6955,7 +6947,7 @@ const AgentAdvancedSettings = () => {
|
|
|
6955
6947
|
onChange: setProviderOptionsValue,
|
|
6956
6948
|
theme,
|
|
6957
6949
|
extensions: [langJson.jsonLanguage],
|
|
6958
|
-
className: "h-[300px] overflow-scroll rounded-lg border bg-transparent shadow-sm
|
|
6950
|
+
className: "h-[300px] overflow-scroll rounded-lg border bg-transparent shadow-sm transition-colors p-2"
|
|
6959
6951
|
}
|
|
6960
6952
|
),
|
|
6961
6953
|
error && /* @__PURE__ */ jsxRuntime.jsx(Txt, { variant: "ui-md", className: "text-accent2", children: error })
|
|
@@ -7071,18 +7063,18 @@ const rowSize = {
|
|
|
7071
7063
|
default: "[&>tbody>tr]:h-table-row",
|
|
7072
7064
|
small: "[&>tbody>tr]:h-table-row-small"
|
|
7073
7065
|
};
|
|
7074
|
-
const Table = ({ className, children, size = "default" }) => {
|
|
7075
|
-
return /* @__PURE__ */ jsxRuntime.jsx("table", { className: clsx("w-full", rowSize[size], className), children });
|
|
7066
|
+
const Table = ({ className, children, size = "default", style }) => {
|
|
7067
|
+
return /* @__PURE__ */ jsxRuntime.jsx("table", { className: clsx("w-full", rowSize[size], className), style, children });
|
|
7076
7068
|
};
|
|
7077
7069
|
const Thead = ({ className, children }) => {
|
|
7078
|
-
return /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { className: clsx("h-table-header border-b-sm border-border1", className), children }) });
|
|
7070
|
+
return /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { className: clsx("h-table-header border-b-sm border-border1 bg-surface2", className), children }) });
|
|
7079
7071
|
};
|
|
7080
7072
|
const Th = ({ className, children, ...props }) => {
|
|
7081
7073
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7082
7074
|
"th",
|
|
7083
7075
|
{
|
|
7084
7076
|
className: clsx(
|
|
7085
|
-
"text-icon3 text-ui-sm h-full text-left font-normal uppercase first:pl-5 last:pr-5
|
|
7077
|
+
"text-icon3 text-ui-sm h-full whitespace-nowrap text-left font-normal uppercase first:pl-5 last:pr-5",
|
|
7086
7078
|
className
|
|
7087
7079
|
),
|
|
7088
7080
|
...props,
|
|
@@ -7093,21 +7085,33 @@ const Th = ({ className, children, ...props }) => {
|
|
|
7093
7085
|
const Tbody = ({ className, children }) => {
|
|
7094
7086
|
return /* @__PURE__ */ jsxRuntime.jsx("tbody", { className: clsx("", className), children });
|
|
7095
7087
|
};
|
|
7096
|
-
const Row = (
|
|
7097
|
-
|
|
7098
|
-
|
|
7099
|
-
|
|
7100
|
-
|
|
7101
|
-
|
|
7102
|
-
|
|
7103
|
-
|
|
7104
|
-
|
|
7105
|
-
|
|
7106
|
-
|
|
7107
|
-
|
|
7108
|
-
|
|
7109
|
-
|
|
7110
|
-
|
|
7088
|
+
const Row = React.forwardRef(
|
|
7089
|
+
({ className, children, selected = false, style, onClick, ...props }, ref) => {
|
|
7090
|
+
const handleKeyDown = (event) => {
|
|
7091
|
+
if (event.key === "Enter" && onClick) {
|
|
7092
|
+
onClick();
|
|
7093
|
+
}
|
|
7094
|
+
};
|
|
7095
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7096
|
+
"tr",
|
|
7097
|
+
{
|
|
7098
|
+
className: clsx(
|
|
7099
|
+
"border-b-sm border-border1 hover:bg-surface3 focus:bg-surface3 -outline-offset-2",
|
|
7100
|
+
selected && "bg-surface4",
|
|
7101
|
+
onClick && "cursor-pointer",
|
|
7102
|
+
className
|
|
7103
|
+
),
|
|
7104
|
+
style,
|
|
7105
|
+
onClick,
|
|
7106
|
+
ref,
|
|
7107
|
+
tabIndex: onClick ? 0 : void 0,
|
|
7108
|
+
onKeyDown: handleKeyDown,
|
|
7109
|
+
...props,
|
|
7110
|
+
children
|
|
7111
|
+
}
|
|
7112
|
+
);
|
|
7113
|
+
}
|
|
7114
|
+
);
|
|
7111
7115
|
|
|
7112
7116
|
const formatDateCell = (date) => {
|
|
7113
7117
|
const month = new Intl.DateTimeFormat("en-US", { month: "short" }).format(date).toUpperCase();
|
|
@@ -7956,7 +7960,7 @@ const AgentMetadataSection = ({ title, children, hint }) => {
|
|
|
7956
7960
|
/* @__PURE__ */ jsxRuntime.jsxs(Txt, { as: "h3", variant: "ui-md", className: "text-icon3 flex items-center gap-1", children: [
|
|
7957
7961
|
title,
|
|
7958
7962
|
hint && /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { children: [
|
|
7959
|
-
/* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { children: /* @__PURE__ */ jsxRuntime.jsx(Link, { href: hint.link, target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "text-icon3", size: "sm", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.InfoIcon, {}) }) }) }),
|
|
7963
|
+
/* @__PURE__ */ jsxRuntime.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link, { href: hint.link, target: "_blank", rel: "noopener noreferrer", children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: "text-icon3", size: "sm", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.InfoIcon, {}) }) }) }),
|
|
7960
7964
|
/* @__PURE__ */ jsxRuntime.jsx(TooltipContent, { children: hint.title })
|
|
7961
7965
|
] }) })
|
|
7962
7966
|
] }),
|
|
@@ -8299,7 +8303,7 @@ const SelectTrigger = React__namespace.forwardRef(({ className, children, ...pro
|
|
|
8299
8303
|
{
|
|
8300
8304
|
ref,
|
|
8301
8305
|
className: cn(
|
|
8302
|
-
"flex h-9 w-full items-center justify-between rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm
|
|
8306
|
+
"flex h-9 w-full items-center justify-between rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
8303
8307
|
className
|
|
8304
8308
|
),
|
|
8305
8309
|
...props,
|
|
@@ -8339,7 +8343,7 @@ const SelectItem = React__namespace.forwardRef(({ className, children, ...props
|
|
|
8339
8343
|
{
|
|
8340
8344
|
ref,
|
|
8341
8345
|
className: cn(
|
|
8342
|
-
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-mastra-el-5 text-sm
|
|
8346
|
+
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-mastra-el-5 text-sm focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
8343
8347
|
className
|
|
8344
8348
|
),
|
|
8345
8349
|
...props,
|
|
@@ -8360,7 +8364,7 @@ const PopoverContent = React__namespace.forwardRef(({ className, align = "center
|
|
|
8360
8364
|
align,
|
|
8361
8365
|
sideOffset,
|
|
8362
8366
|
className: cn(
|
|
8363
|
-
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md
|
|
8367
|
+
"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
8364
8368
|
className
|
|
8365
8369
|
),
|
|
8366
8370
|
...props
|
|
@@ -10309,7 +10313,7 @@ const WorkflowStepActionBar = ({
|
|
|
10309
10313
|
] }),
|
|
10310
10314
|
onShowTrace && /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: onShowTrace, children: "Show trace" }),
|
|
10311
10315
|
showEventForm && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
10312
|
-
/* @__PURE__ */ jsxRuntime.jsx(Button, { className: "
|
|
10316
|
+
/* @__PURE__ */ jsxRuntime.jsx(Button, { className: "!text-accent5", onClick: () => setIsEventFormOpen(true), children: "Send event" }),
|
|
10313
10317
|
/* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isEventFormOpen, onOpenChange: setIsEventFormOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: dialogContentClass, children: [
|
|
10314
10318
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogTitle, { className: dialogTitleClass, children: [
|
|
10315
10319
|
"Send ",
|
|
@@ -10340,8 +10344,8 @@ function WorkflowConditionNode({ data }) {
|
|
|
10340
10344
|
{
|
|
10341
10345
|
className: cn(
|
|
10342
10346
|
"bg-surface3 rounded-lg w-[300px] border-sm border-border1",
|
|
10343
|
-
previousStep?.status === "success" && nextStep && "
|
|
10344
|
-
previousStep?.status === "failed" && nextStep && "
|
|
10347
|
+
previousStep?.status === "success" && nextStep && "bg-accent1Darker",
|
|
10348
|
+
previousStep?.status === "failed" && nextStep && "bg-accent2Darker"
|
|
10345
10349
|
),
|
|
10346
10350
|
children: [
|
|
10347
10351
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -10457,11 +10461,11 @@ function WorkflowDefaultNode({
|
|
|
10457
10461
|
{
|
|
10458
10462
|
className: cn(
|
|
10459
10463
|
"bg-surface3 rounded-lg w-[274px] border-sm border-border1 pt-2",
|
|
10460
|
-
step?.status === "success" && "
|
|
10461
|
-
step?.status === "failed" && "
|
|
10462
|
-
step?.status === "suspended" && "
|
|
10463
|
-
step?.status === "waiting" && "
|
|
10464
|
-
step?.status === "running" && "
|
|
10464
|
+
step?.status === "success" && "bg-accent1Darker",
|
|
10465
|
+
step?.status === "failed" && "bg-accent2Darker",
|
|
10466
|
+
step?.status === "suspended" && "bg-accent3Darker",
|
|
10467
|
+
step?.status === "waiting" && "bg-accent5Darker",
|
|
10468
|
+
step?.status === "running" && "bg-accent6Darker"
|
|
10465
10469
|
),
|
|
10466
10470
|
children: [
|
|
10467
10471
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2 px-3", !description && "pb-2"), children: [
|
|
@@ -10761,11 +10765,11 @@ function WorkflowNestedNode({
|
|
|
10761
10765
|
{
|
|
10762
10766
|
className: cn(
|
|
10763
10767
|
"bg-surface3 rounded-lg w-[274px] border-sm border-border1 pt-2",
|
|
10764
|
-
step?.status === "success" && "
|
|
10765
|
-
step?.status === "failed" && "
|
|
10766
|
-
step?.status === "suspended" && "
|
|
10767
|
-
step?.status === "waiting" && "
|
|
10768
|
-
step?.status === "running" && "
|
|
10768
|
+
step?.status === "success" && "bg-accent1Darker",
|
|
10769
|
+
step?.status === "failed" && "bg-accent2Darker",
|
|
10770
|
+
step?.status === "suspended" && "bg-accent3Darker",
|
|
10771
|
+
step?.status === "waiting" && "bg-accent5Darker",
|
|
10772
|
+
step?.status === "running" && "bg-accent6Darker"
|
|
10769
10773
|
),
|
|
10770
10774
|
children: [
|
|
10771
10775
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-2 px-3", !description && "pb-2"), children: [
|
|
@@ -11353,7 +11357,7 @@ const Composer = ({ hasMemory }) => {
|
|
|
11353
11357
|
/* @__PURE__ */ jsxRuntime.jsx(react.ComposerPrimitive.Input, { asChild: true, className: "w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11354
11358
|
"textarea",
|
|
11355
11359
|
{
|
|
11356
|
-
className: "text-ui-lg leading-ui-lg placeholder:text-icon3 text-icon6 bg-transparent
|
|
11360
|
+
className: "text-ui-lg leading-ui-lg placeholder:text-icon3 text-icon6 bg-transparent resize-none",
|
|
11357
11361
|
autoFocus: true,
|
|
11358
11362
|
placeholder: "Enter your message...",
|
|
11359
11363
|
name: "",
|
|
@@ -12095,6 +12099,65 @@ const NetworkTableSkeleton = () => {
|
|
|
12095
12099
|
] });
|
|
12096
12100
|
};
|
|
12097
12101
|
|
|
12102
|
+
const themeClasses = {
|
|
12103
|
+
light: "bg-gray-100 border-gray-300 text-gray-700",
|
|
12104
|
+
dark: "bg-surface4 border-border1 text-icon6"
|
|
12105
|
+
};
|
|
12106
|
+
const Kbd = ({ children, theme = "dark" }) => {
|
|
12107
|
+
const themeClass = themeClasses[theme];
|
|
12108
|
+
return /* @__PURE__ */ jsxRuntime.jsx("kbd", { className: clsx("border-sm rounded-md px-1 py-0.5 font-mono", themeClass), children });
|
|
12109
|
+
};
|
|
12110
|
+
|
|
12111
|
+
const Searchbar = ({ onSearch, label, placeholder }) => {
|
|
12112
|
+
const id = React.useId();
|
|
12113
|
+
const inputRef = React.useRef(null);
|
|
12114
|
+
React.useEffect(() => {
|
|
12115
|
+
const input = inputRef.current;
|
|
12116
|
+
if (!input) return;
|
|
12117
|
+
const handleKeyDown = (event) => {
|
|
12118
|
+
if (event.key.toLowerCase() === "f" && event.shiftKey && (event.ctrlKey || event.metaKey)) {
|
|
12119
|
+
event.preventDefault();
|
|
12120
|
+
input.focus();
|
|
12121
|
+
}
|
|
12122
|
+
};
|
|
12123
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
12124
|
+
return () => {
|
|
12125
|
+
window.removeEventListener("keydown", handleKeyDown);
|
|
12126
|
+
};
|
|
12127
|
+
}, []);
|
|
12128
|
+
const handleSubmit = (e) => {
|
|
12129
|
+
e.preventDefault();
|
|
12130
|
+
const formData = new FormData(e.target);
|
|
12131
|
+
const search = formData.get(id);
|
|
12132
|
+
onSearch(search);
|
|
12133
|
+
};
|
|
12134
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
12135
|
+
"form",
|
|
12136
|
+
{
|
|
12137
|
+
onSubmit: handleSubmit,
|
|
12138
|
+
className: "border-sm border-icon-3 flex h-8 w-full items-center gap-2 overflow-hidden rounded-lg pl-2 pr-1",
|
|
12139
|
+
children: [
|
|
12140
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.SearchIcon, { className: "text-icon3 h-4 w-4" }),
|
|
12141
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
|
|
12142
|
+
/* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: id, className: "sr-only", children: label }),
|
|
12143
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12144
|
+
"input",
|
|
12145
|
+
{
|
|
12146
|
+
id,
|
|
12147
|
+
type: "text",
|
|
12148
|
+
placeholder,
|
|
12149
|
+
className: "bg-surface2 text-ui-md placeholder:text-icon-3 block h-8 w-full px-2 -outline-offset-2",
|
|
12150
|
+
name: id,
|
|
12151
|
+
ref: inputRef
|
|
12152
|
+
}
|
|
12153
|
+
)
|
|
12154
|
+
] }),
|
|
12155
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "submit", className: "text-ui-sm text-icon3 flex flex-row items-center gap-1", children: /* @__PURE__ */ jsxRuntime.jsx(Kbd, { children: "Enter" }) })
|
|
12156
|
+
]
|
|
12157
|
+
}
|
|
12158
|
+
);
|
|
12159
|
+
};
|
|
12160
|
+
|
|
12098
12161
|
const ToolList = ({ tools, agents, isLoading, computeLink, computeAgentLink }) => {
|
|
12099
12162
|
const toolsWithAgents = React.useMemo(() => prepareAgents(tools, agents), [tools, agents]);
|
|
12100
12163
|
if (isLoading)
|
|
@@ -12109,8 +12172,7 @@ const ToolListInner = ({
|
|
|
12109
12172
|
const [filteredTools, setFilteredTools] = React.useState(toolsWithAgents);
|
|
12110
12173
|
const [value, setValue] = React.useState("");
|
|
12111
12174
|
if (filteredTools.length === 0 && !value) return /* @__PURE__ */ jsxRuntime.jsx(ToolListEmpty, {});
|
|
12112
|
-
const handleSearch = (
|
|
12113
|
-
const value2 = e.target.value;
|
|
12175
|
+
const handleSearch = (value2) => {
|
|
12114
12176
|
setValue(value2);
|
|
12115
12177
|
React.startTransition(() => {
|
|
12116
12178
|
setFilteredTools(
|
|
@@ -12124,19 +12186,7 @@ const ToolListInner = ({
|
|
|
12124
12186
|
};
|
|
12125
12187
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
12126
12188
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-5xl w-full mx-auto px-4 pt-8", children: [
|
|
12127
|
-
/* @__PURE__ */ jsxRuntime.
|
|
12128
|
-
/* @__PURE__ */ jsxRuntime.jsx(Icon, { children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SearchIcon, {}) }),
|
|
12129
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12130
|
-
"input",
|
|
12131
|
-
{
|
|
12132
|
-
type: "text",
|
|
12133
|
-
placeholder: "Search for a tool",
|
|
12134
|
-
className: "w-full py-2 bg-transparent text-icon3 focus:text-icon6 placeholder:text-icon3 outline-none",
|
|
12135
|
-
value,
|
|
12136
|
-
onChange: handleSearch
|
|
12137
|
-
}
|
|
12138
|
-
)
|
|
12139
|
-
] }),
|
|
12189
|
+
/* @__PURE__ */ jsxRuntime.jsx(Searchbar, { onSearch: handleSearch, label: "Search for a tool", placeholder: "Search for a tool" }),
|
|
12140
12190
|
filteredTools.length === 0 && /* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "p", className: "text-icon3 py-2", children: "No tools found matching your search." })
|
|
12141
12191
|
] }),
|
|
12142
12192
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid md:grid-cols-2 xl:grid-cols-3 gap-4 max-w-5xl mx-auto py-8", children: filteredTools.map((tool) => /* @__PURE__ */ jsxRuntime.jsx(ToolEntity, { tool, computeLink, computeAgentLink }, tool.id)) })
|
|
@@ -12490,7 +12540,7 @@ const Checkbox = React__namespace.forwardRef(({ className, ...props }, ref) => /
|
|
|
12490
12540
|
{
|
|
12491
12541
|
ref,
|
|
12492
12542
|
className: cn(
|
|
12493
|
-
"peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow
|
|
12543
|
+
"peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
|
|
12494
12544
|
className
|
|
12495
12545
|
),
|
|
12496
12546
|
...props,
|
|
@@ -15123,6 +15173,9 @@ exports.Cell = Cell;
|
|
|
15123
15173
|
exports.ChatThreads = ChatThreads;
|
|
15124
15174
|
exports.CheckIcon = CheckIcon;
|
|
15125
15175
|
exports.ChevronIcon = ChevronIcon;
|
|
15176
|
+
exports.Collapsible = Collapsible;
|
|
15177
|
+
exports.CollapsibleContent = CollapsibleContent;
|
|
15178
|
+
exports.CollapsibleTrigger = CollapsibleTrigger;
|
|
15126
15179
|
exports.CommitIcon = CommitIcon;
|
|
15127
15180
|
exports.CrossIcon = CrossIcon;
|
|
15128
15181
|
exports.Crumb = Crumb;
|
|
@@ -15162,6 +15215,7 @@ exports.HomeIcon = HomeIcon;
|
|
|
15162
15215
|
exports.Icon = Icon;
|
|
15163
15216
|
exports.InfoIcon = InfoIcon;
|
|
15164
15217
|
exports.JudgeIcon = JudgeIcon;
|
|
15218
|
+
exports.Kbd = Kbd;
|
|
15165
15219
|
exports.LatencyIcon = LatencyIcon;
|
|
15166
15220
|
exports.LegacyWorkflowGraph = LegacyWorkflowGraph;
|
|
15167
15221
|
exports.LegacyWorkflowTrigger = LegacyWorkflowTrigger;
|
|
@@ -15194,6 +15248,7 @@ exports.RuntimeContextWrapper = RuntimeContextWrapper;
|
|
|
15194
15248
|
exports.ScoreIcon = ScoreIcon;
|
|
15195
15249
|
exports.ScorerList = ScorerList;
|
|
15196
15250
|
exports.ScorerSkeleton = ScorerSkeleton;
|
|
15251
|
+
exports.Searchbar = Searchbar;
|
|
15197
15252
|
exports.SettingsIcon = SettingsIcon;
|
|
15198
15253
|
exports.SlashIcon = SlashIcon;
|
|
15199
15254
|
exports.Tab = Tab;
|