@mastra/playground-ui 7.0.0-beta.15 → 7.0.0-beta.16
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 +27 -0
- package/dist/index.cjs.js +210 -231
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +210 -231
- package/dist/index.es.js.map +1 -1
- package/dist/src/components/ui/combobox.d.ts +3 -3
- package/dist/src/domains/agents/components/agent-combobox.d.ts +1 -3
- package/dist/src/domains/mcps/components/mcp-server-combobox.d.ts +1 -3
- package/dist/src/domains/observability/components/traces-tools.d.ts +10 -1
- package/dist/src/domains/scores/components/scorer-combobox.d.ts +1 -3
- package/dist/src/domains/tools/components/tool-combobox.d.ts +1 -3
- package/dist/src/domains/workflows/components/workflow-combobox.d.ts +1 -3
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @mastra/playground-ui
|
|
2
2
|
|
|
3
|
+
## 7.0.0-beta.16
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fix workflow observability view broken by invalid entityType parameter ([#11427](https://github.com/mastra-ai/mastra/pull/11427))
|
|
8
|
+
|
|
9
|
+
The UI workflow observability view was failing with a Zod validation error when trying to filter traces by workflow. The UI was sending `entityType=workflow`, but the backend's `EntityType` enum only accepts `workflow_run`.
|
|
10
|
+
|
|
11
|
+
**Root Cause**: The legacy value transformation was happening in the handler (after validation), but Zod validation occurred earlier in the request pipeline, rejecting the request before it could be transformed.
|
|
12
|
+
|
|
13
|
+
**Solution**:
|
|
14
|
+
- Added `z.preprocess()` to the query schema to transform `workflow` → `workflow_run` before validation
|
|
15
|
+
- Kept handler transformation for defense in depth
|
|
16
|
+
- Updated UI to use `EntityType.WORKFLOW_RUN` enum value for type safety
|
|
17
|
+
|
|
18
|
+
This maintains backward compatibility with legacy clients while fixing the validation error.
|
|
19
|
+
|
|
20
|
+
Fixes #11412
|
|
21
|
+
|
|
22
|
+
- Add container queries, adjust the agent chat and use container queries to better display information on the agent sidebar ([#11408](https://github.com/mastra-ai/mastra/pull/11408))
|
|
23
|
+
|
|
24
|
+
- Updated dependencies [[`3d93a15`](https://github.com/mastra-ai/mastra/commit/3d93a15796b158c617461c8b98bede476ebb43e2), [`efe406a`](https://github.com/mastra-ai/mastra/commit/efe406a1353c24993280ebc2ed61dd9f65b84b26), [`119e5c6`](https://github.com/mastra-ai/mastra/commit/119e5c65008f3e5cfca954eefc2eb85e3bf40da4), [`74e504a`](https://github.com/mastra-ai/mastra/commit/74e504a3b584eafd2f198001c6a113bbec589fd3), [`e33fdbd`](https://github.com/mastra-ai/mastra/commit/e33fdbd07b33920d81e823122331b0c0bee0bb59), [`929f69c`](https://github.com/mastra-ai/mastra/commit/929f69c3436fa20dd0f0e2f7ebe8270bd82a1529), [`6cbb549`](https://github.com/mastra-ai/mastra/commit/6cbb549475201a2fbf158f0fd7323f6495f46d08), [`8a73529`](https://github.com/mastra-ai/mastra/commit/8a73529ca01187f604b1f3019d0a725ac63ae55f)]:
|
|
25
|
+
- @mastra/core@1.0.0-beta.16
|
|
26
|
+
- @mastra/client-js@1.0.0-beta.16
|
|
27
|
+
- @mastra/react@0.1.0-beta.16
|
|
28
|
+
- @mastra/ai-sdk@1.0.0-beta.11
|
|
29
|
+
|
|
3
30
|
## 7.0.0-beta.15
|
|
4
31
|
|
|
5
32
|
### Minor Changes
|
package/dist/index.cjs.js
CHANGED
|
@@ -10053,8 +10053,7 @@ function Combobox({
|
|
|
10053
10053
|
emptyText = "No option found.",
|
|
10054
10054
|
className,
|
|
10055
10055
|
disabled = false,
|
|
10056
|
-
|
|
10057
|
-
contentClassName
|
|
10056
|
+
variant = "default"
|
|
10058
10057
|
}) {
|
|
10059
10058
|
const [open, setOpen] = React__namespace.useState(false);
|
|
10060
10059
|
const [search, setSearch] = React__namespace.useState("");
|
|
@@ -10132,78 +10131,71 @@ function Combobox({
|
|
|
10132
10131
|
Button$2,
|
|
10133
10132
|
{
|
|
10134
10133
|
ref: triggerRef,
|
|
10135
|
-
variant
|
|
10134
|
+
variant,
|
|
10136
10135
|
role: "combobox",
|
|
10137
10136
|
"aria-expanded": open,
|
|
10138
|
-
className: cn("w-full justify-between",
|
|
10137
|
+
className: cn("w-full justify-between", className),
|
|
10139
10138
|
disabled,
|
|
10139
|
+
size: "sm",
|
|
10140
10140
|
children: [
|
|
10141
10141
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-ui-lg", children: selectedOption ? selectedOption.label : placeholder }),
|
|
10142
10142
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })
|
|
10143
10143
|
]
|
|
10144
10144
|
}
|
|
10145
10145
|
) }),
|
|
10146
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10147
|
-
|
|
10148
|
-
|
|
10149
|
-
|
|
10150
|
-
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
|
|
10154
|
-
|
|
10155
|
-
|
|
10156
|
-
|
|
10146
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverContent, { className: "p-0 w-fit", align: "start", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground", children: [
|
|
10147
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center border-b px-3 py-2", children: [
|
|
10148
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
|
|
10149
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10150
|
+
"input",
|
|
10151
|
+
{
|
|
10152
|
+
ref: inputRef,
|
|
10153
|
+
className: "flex h-8 w-full rounded-md bg-transparent py-1 text-sm placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50 outline-none",
|
|
10154
|
+
placeholder: searchPlaceholder,
|
|
10155
|
+
value: search,
|
|
10156
|
+
onChange: (e) => setSearch(e.target.value),
|
|
10157
|
+
onKeyDown: handleKeyDown,
|
|
10158
|
+
role: "combobox",
|
|
10159
|
+
"aria-autocomplete": "list",
|
|
10160
|
+
"aria-controls": "combobox-options",
|
|
10161
|
+
"aria-expanded": open
|
|
10162
|
+
}
|
|
10163
|
+
)
|
|
10164
|
+
] }),
|
|
10165
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
10166
|
+
"div",
|
|
10167
|
+
{
|
|
10168
|
+
ref: listRef,
|
|
10169
|
+
id: "combobox-options",
|
|
10170
|
+
role: "listbox",
|
|
10171
|
+
className: "max-h-dropdown-max-height overflow-y-auto overflow-x-hidden p-1",
|
|
10172
|
+
children: filteredOptions.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-6 text-center text-sm", children: emptyText }) : filteredOptions.map((option, index) => {
|
|
10173
|
+
const isSelected = value === option.value;
|
|
10174
|
+
const isHighlighted = index === highlightedIndex;
|
|
10175
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10176
|
+
"div",
|
|
10157
10177
|
{
|
|
10158
|
-
|
|
10159
|
-
|
|
10160
|
-
|
|
10161
|
-
|
|
10162
|
-
|
|
10163
|
-
|
|
10164
|
-
|
|
10165
|
-
|
|
10166
|
-
|
|
10167
|
-
|
|
10168
|
-
|
|
10169
|
-
|
|
10170
|
-
|
|
10171
|
-
|
|
10172
|
-
|
|
10173
|
-
|
|
10174
|
-
|
|
10175
|
-
|
|
10176
|
-
|
|
10177
|
-
|
|
10178
|
-
|
|
10179
|
-
const isSelected = value === option.value;
|
|
10180
|
-
const isHighlighted = index === highlightedIndex;
|
|
10181
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
10182
|
-
"div",
|
|
10183
|
-
{
|
|
10184
|
-
role: "option",
|
|
10185
|
-
"aria-selected": isSelected,
|
|
10186
|
-
className: cn(
|
|
10187
|
-
"relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm transition-colors",
|
|
10188
|
-
"hover:bg-accent hover:text-accent-foreground",
|
|
10189
|
-
isHighlighted && "bg-accent text-accent-foreground",
|
|
10190
|
-
isSelected && !isHighlighted && "bg-accent/50"
|
|
10191
|
-
),
|
|
10192
|
-
onClick: () => handleSelect(option.value),
|
|
10193
|
-
onMouseEnter: () => setHighlightedIndex(index),
|
|
10194
|
-
children: [
|
|
10195
|
-
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: cn("mr-2 h-4 w-4", isSelected ? "opacity-100" : "opacity-0") }),
|
|
10196
|
-
option.label
|
|
10197
|
-
]
|
|
10198
|
-
},
|
|
10199
|
-
option.value
|
|
10200
|
-
);
|
|
10201
|
-
})
|
|
10202
|
-
}
|
|
10203
|
-
)
|
|
10204
|
-
] })
|
|
10205
|
-
}
|
|
10206
|
-
)
|
|
10178
|
+
role: "option",
|
|
10179
|
+
"aria-selected": isSelected,
|
|
10180
|
+
className: cn(
|
|
10181
|
+
"relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm transition-colors",
|
|
10182
|
+
"hover:bg-accent hover:text-accent-foreground",
|
|
10183
|
+
isHighlighted && "bg-accent text-accent-foreground",
|
|
10184
|
+
isSelected && !isHighlighted && "bg-accent/50"
|
|
10185
|
+
),
|
|
10186
|
+
onClick: () => handleSelect(option.value),
|
|
10187
|
+
onMouseEnter: () => setHighlightedIndex(index),
|
|
10188
|
+
children: [
|
|
10189
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: cn("mr-2 h-4 w-4", isSelected ? "opacity-100" : "opacity-0") }),
|
|
10190
|
+
option.label
|
|
10191
|
+
]
|
|
10192
|
+
},
|
|
10193
|
+
option.value
|
|
10194
|
+
);
|
|
10195
|
+
})
|
|
10196
|
+
}
|
|
10197
|
+
)
|
|
10198
|
+
] }) })
|
|
10207
10199
|
] });
|
|
10208
10200
|
}
|
|
10209
10201
|
|
|
@@ -10214,9 +10206,7 @@ function WorkflowCombobox({
|
|
|
10214
10206
|
searchPlaceholder = "Search workflows...",
|
|
10215
10207
|
emptyText = "No workflows found.",
|
|
10216
10208
|
className,
|
|
10217
|
-
disabled = false
|
|
10218
|
-
buttonClassName = "h-8",
|
|
10219
|
-
contentClassName
|
|
10209
|
+
disabled = false
|
|
10220
10210
|
}) {
|
|
10221
10211
|
const { data: workflows = {}, isLoading, isError, error } = useWorkflows();
|
|
10222
10212
|
const { navigate, paths } = useLinkComponent();
|
|
@@ -10248,8 +10238,7 @@ function WorkflowCombobox({
|
|
|
10248
10238
|
emptyText,
|
|
10249
10239
|
className,
|
|
10250
10240
|
disabled: disabled || isLoading || isError,
|
|
10251
|
-
|
|
10252
|
-
contentClassName
|
|
10241
|
+
variant: "ghost"
|
|
10253
10242
|
}
|
|
10254
10243
|
);
|
|
10255
10244
|
}
|
|
@@ -11682,7 +11671,7 @@ const Thread = ({ agentName, agentId, hasMemory, hasModelList }) => {
|
|
|
11682
11671
|
return /* @__PURE__ */ jsxRuntime.jsxs(ThreadWrapper, { children: [
|
|
11683
11672
|
/* @__PURE__ */ jsxRuntime.jsxs(react.ThreadPrimitive.Viewport, { ref: areaRef, autoScroll: false, className: "overflow-y-scroll scroll-smooth h-full", children: [
|
|
11684
11673
|
/* @__PURE__ */ jsxRuntime.jsx(ThreadWelcome, { agentName }),
|
|
11685
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-
|
|
11674
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-3xl w-full mx-auto px-4 pb-7", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
11686
11675
|
react.ThreadPrimitive.Messages,
|
|
11687
11676
|
{
|
|
11688
11677
|
components: {
|
|
@@ -11720,11 +11709,11 @@ const Composer = ({ hasMemory, agentId }) => {
|
|
|
11720
11709
|
const { setThreadInput } = useThreadInput();
|
|
11721
11710
|
const textareaRef = React.useRef(null);
|
|
11722
11711
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mx-4", children: /* @__PURE__ */ jsxRuntime.jsxs(react.ComposerPrimitive.Root, { children: [
|
|
11723
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-
|
|
11712
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-3xl w-full mx-auto pb-2", children: /* @__PURE__ */ jsxRuntime.jsx(ComposerAttachments, {}) }),
|
|
11724
11713
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
11725
11714
|
"div",
|
|
11726
11715
|
{
|
|
11727
|
-
className: "bg-surface3 rounded-lg border-sm border-border1 py-4 mt-auto max-w-
|
|
11716
|
+
className: "bg-surface3 rounded-lg border-sm border-border1 py-4 mt-auto max-w-3xl w-full mx-auto px-4 focus-within:outline focus-within:outline-accent1 -outline-offset-2",
|
|
11728
11717
|
onClick: () => {
|
|
11729
11718
|
textareaRef.current?.focus();
|
|
11730
11719
|
},
|
|
@@ -12893,7 +12882,7 @@ const AgentAdvancedSettings = () => {
|
|
|
12893
12882
|
};
|
|
12894
12883
|
const collapsibleClassName = "rounded-lg border-sm border-border1 bg-surface3 overflow-clip";
|
|
12895
12884
|
const collapsibleTriggerClassName = "text-icon3 text-ui-lg font-medium flex items-center gap-2 w-full p-[10px] justify-between";
|
|
12896
|
-
const collapsibleContentClassName = "bg-surface2 p-[10px]
|
|
12885
|
+
const collapsibleContentClassName = "bg-surface2 p-[10px] @container/collapsible";
|
|
12897
12886
|
const buttonClass = "text-icon3 hover:text-icon6";
|
|
12898
12887
|
return /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsxs(Collapsible, { className: collapsibleClassName, open: isOpen, onOpenChange: setIsOpen, children: [
|
|
12899
12888
|
/* @__PURE__ */ jsxRuntime.jsxs(CollapsibleTrigger, { className: collapsibleTriggerClassName, children: [
|
|
@@ -12901,139 +12890,141 @@ const AgentAdvancedSettings = () => {
|
|
|
12901
12890
|
/* @__PURE__ */ jsxRuntime.jsx(Icon, { className: cn("transition-transform", isOpen ? "rotate-0" : "-rotate-90"), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, {}) })
|
|
12902
12891
|
] }),
|
|
12903
12892
|
/* @__PURE__ */ jsxRuntime.jsxs(CollapsibleContent, { className: collapsibleContentClassName, children: [
|
|
12904
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "
|
|
12905
|
-
/* @__PURE__ */ jsxRuntime.
|
|
12906
|
-
|
|
12907
|
-
|
|
12908
|
-
|
|
12909
|
-
|
|
12910
|
-
|
|
12911
|
-
|
|
12912
|
-
|
|
12913
|
-
|
|
12914
|
-
|
|
12915
|
-
|
|
12916
|
-
|
|
12917
|
-
|
|
12918
|
-
|
|
12919
|
-
|
|
12920
|
-
|
|
12921
|
-
|
|
12922
|
-
|
|
12923
|
-
|
|
12924
|
-
|
|
12925
|
-
|
|
12926
|
-
/* @__PURE__ */ jsxRuntime.
|
|
12927
|
-
|
|
12928
|
-
|
|
12929
|
-
|
|
12930
|
-
|
|
12931
|
-
|
|
12932
|
-
|
|
12933
|
-
|
|
12934
|
-
|
|
12935
|
-
|
|
12936
|
-
|
|
12937
|
-
|
|
12938
|
-
|
|
12939
|
-
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
|
|
12943
|
-
|
|
12944
|
-
|
|
12945
|
-
|
|
12946
|
-
|
|
12947
|
-
/* @__PURE__ */ jsxRuntime.
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
|
|
12953
|
-
|
|
12954
|
-
|
|
12955
|
-
|
|
12956
|
-
|
|
12957
|
-
|
|
12958
|
-
|
|
12959
|
-
|
|
12960
|
-
|
|
12961
|
-
|
|
12962
|
-
|
|
12963
|
-
|
|
12964
|
-
|
|
12965
|
-
/* @__PURE__ */ jsxRuntime.
|
|
12966
|
-
|
|
12967
|
-
|
|
12968
|
-
|
|
12969
|
-
|
|
12970
|
-
|
|
12971
|
-
|
|
12972
|
-
|
|
12973
|
-
|
|
12974
|
-
|
|
12975
|
-
|
|
12976
|
-
|
|
12977
|
-
|
|
12978
|
-
|
|
12979
|
-
|
|
12980
|
-
|
|
12981
|
-
|
|
12982
|
-
|
|
12983
|
-
/* @__PURE__ */ jsxRuntime.
|
|
12984
|
-
|
|
12985
|
-
|
|
12986
|
-
|
|
12987
|
-
|
|
12988
|
-
|
|
12989
|
-
|
|
12990
|
-
|
|
12991
|
-
|
|
12992
|
-
|
|
12993
|
-
|
|
12994
|
-
|
|
12995
|
-
|
|
12996
|
-
|
|
12997
|
-
|
|
12998
|
-
|
|
12999
|
-
|
|
13000
|
-
|
|
13001
|
-
/* @__PURE__ */ jsxRuntime.
|
|
13002
|
-
|
|
13003
|
-
|
|
13004
|
-
|
|
13005
|
-
|
|
13006
|
-
|
|
13007
|
-
|
|
13008
|
-
|
|
13009
|
-
|
|
13010
|
-
|
|
13011
|
-
|
|
13012
|
-
|
|
13013
|
-
|
|
13014
|
-
|
|
13015
|
-
|
|
13016
|
-
|
|
12893
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-2 pb-2 @xs/collapsible:grid-cols-2", children: [
|
|
12894
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
12895
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "label", className: "text-icon3", variant: "ui-sm", htmlFor: "frequency-penalty", children: "Frequency Penalty" }),
|
|
12896
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12897
|
+
Input,
|
|
12898
|
+
{
|
|
12899
|
+
id: "frequency-penalty",
|
|
12900
|
+
type: "number",
|
|
12901
|
+
step: "0.1",
|
|
12902
|
+
min: "-1",
|
|
12903
|
+
max: "1",
|
|
12904
|
+
value: settings?.modelSettings?.frequencyPenalty ?? "",
|
|
12905
|
+
onChange: (e) => setSettings({
|
|
12906
|
+
...settings,
|
|
12907
|
+
modelSettings: {
|
|
12908
|
+
...settings?.modelSettings,
|
|
12909
|
+
frequencyPenalty: e.target.value ? Number(e.target.value) : void 0
|
|
12910
|
+
}
|
|
12911
|
+
})
|
|
12912
|
+
}
|
|
12913
|
+
)
|
|
12914
|
+
] }),
|
|
12915
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
12916
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "label", className: "text-icon3", variant: "ui-sm", htmlFor: "presence-penalty", children: "Presence Penalty" }),
|
|
12917
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12918
|
+
Input,
|
|
12919
|
+
{
|
|
12920
|
+
id: "presence-penalty",
|
|
12921
|
+
type: "number",
|
|
12922
|
+
step: "0.1",
|
|
12923
|
+
min: "-1",
|
|
12924
|
+
max: "1",
|
|
12925
|
+
value: settings?.modelSettings?.presencePenalty ?? "",
|
|
12926
|
+
onChange: (e) => setSettings({
|
|
12927
|
+
...settings,
|
|
12928
|
+
modelSettings: {
|
|
12929
|
+
...settings?.modelSettings,
|
|
12930
|
+
presencePenalty: e.target.value ? Number(e.target.value) : void 0
|
|
12931
|
+
}
|
|
12932
|
+
})
|
|
12933
|
+
}
|
|
12934
|
+
)
|
|
12935
|
+
] }),
|
|
12936
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
12937
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "label", className: "text-icon3", variant: "ui-sm", htmlFor: "top-k", children: "Top K" }),
|
|
12938
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12939
|
+
Input,
|
|
12940
|
+
{
|
|
12941
|
+
id: "top-k",
|
|
12942
|
+
type: "number",
|
|
12943
|
+
value: settings?.modelSettings?.topK || "",
|
|
12944
|
+
onChange: (e) => setSettings({
|
|
12945
|
+
...settings,
|
|
12946
|
+
modelSettings: {
|
|
12947
|
+
...settings?.modelSettings,
|
|
12948
|
+
topK: e.target.value ? Number(e.target.value) : void 0
|
|
12949
|
+
}
|
|
12950
|
+
})
|
|
12951
|
+
}
|
|
12952
|
+
)
|
|
12953
|
+
] }),
|
|
12954
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
12955
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "label", className: "text-icon3", variant: "ui-sm", htmlFor: "max-tokens", children: "Max Tokens" }),
|
|
12956
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12957
|
+
Input,
|
|
12958
|
+
{
|
|
12959
|
+
id: "max-tokens",
|
|
12960
|
+
type: "number",
|
|
12961
|
+
value: settings?.modelSettings?.maxTokens || "",
|
|
12962
|
+
onChange: (e) => setSettings({
|
|
12963
|
+
...settings,
|
|
12964
|
+
modelSettings: {
|
|
12965
|
+
...settings?.modelSettings,
|
|
12966
|
+
maxTokens: e.target.value ? Number(e.target.value) : void 0
|
|
12967
|
+
}
|
|
12968
|
+
})
|
|
12969
|
+
}
|
|
12970
|
+
)
|
|
12971
|
+
] }),
|
|
12972
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
12973
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "label", className: "text-icon3", variant: "ui-sm", htmlFor: "max-steps", children: "Max Steps" }),
|
|
12974
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12975
|
+
Input,
|
|
12976
|
+
{
|
|
12977
|
+
id: "max-steps",
|
|
12978
|
+
type: "number",
|
|
12979
|
+
value: settings?.modelSettings?.maxSteps || "",
|
|
12980
|
+
onChange: (e) => setSettings({
|
|
12981
|
+
...settings,
|
|
12982
|
+
modelSettings: {
|
|
12983
|
+
...settings?.modelSettings,
|
|
12984
|
+
maxSteps: e.target.value ? Number(e.target.value) : void 0
|
|
12985
|
+
}
|
|
12986
|
+
})
|
|
12987
|
+
}
|
|
12988
|
+
)
|
|
12989
|
+
] }),
|
|
12990
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
12991
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "label", className: "text-icon3", variant: "ui-sm", htmlFor: "max-retries", children: "Max Retries" }),
|
|
12992
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
12993
|
+
Input,
|
|
12994
|
+
{
|
|
12995
|
+
id: "max-retries",
|
|
12996
|
+
type: "number",
|
|
12997
|
+
value: settings?.modelSettings?.maxRetries || "",
|
|
12998
|
+
onChange: (e) => setSettings({
|
|
12999
|
+
...settings,
|
|
13000
|
+
modelSettings: {
|
|
13001
|
+
...settings?.modelSettings,
|
|
13002
|
+
maxRetries: e.target.value ? Number(e.target.value) : void 0
|
|
13003
|
+
}
|
|
13004
|
+
})
|
|
13005
|
+
}
|
|
13006
|
+
)
|
|
13007
|
+
] }),
|
|
13008
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
13009
|
+
/* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "label", className: "text-icon3", variant: "ui-sm", htmlFor: "seed", children: "Seed" }),
|
|
13010
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13011
|
+
Input,
|
|
13012
|
+
{
|
|
13013
|
+
id: "seed",
|
|
13014
|
+
type: "number",
|
|
13015
|
+
value: settings?.modelSettings?.seed || "",
|
|
13016
|
+
onChange: (e) => setSettings({
|
|
13017
|
+
...settings,
|
|
13018
|
+
modelSettings: {
|
|
13019
|
+
...settings?.modelSettings,
|
|
13020
|
+
seed: e.target.value ? Number(e.target.value) : void 0
|
|
13021
|
+
}
|
|
13022
|
+
})
|
|
13023
|
+
}
|
|
13024
|
+
)
|
|
13025
|
+
] })
|
|
13017
13026
|
] }),
|
|
13018
13027
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
13019
|
-
/* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "label", className: "text-icon3", variant: "ui-sm", htmlFor: "seed", children: "Seed" }),
|
|
13020
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13021
|
-
Input,
|
|
13022
|
-
{
|
|
13023
|
-
id: "seed",
|
|
13024
|
-
type: "number",
|
|
13025
|
-
value: settings?.modelSettings?.seed || "",
|
|
13026
|
-
onChange: (e) => setSettings({
|
|
13027
|
-
...settings,
|
|
13028
|
-
modelSettings: {
|
|
13029
|
-
...settings?.modelSettings,
|
|
13030
|
-
seed: e.target.value ? Number(e.target.value) : void 0
|
|
13031
|
-
}
|
|
13032
|
-
})
|
|
13033
|
-
}
|
|
13034
|
-
)
|
|
13035
|
-
] }),
|
|
13036
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1 col-span-2", children: [
|
|
13037
13028
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between items-center", children: [
|
|
13038
13029
|
/* @__PURE__ */ jsxRuntime.jsx(Txt, { as: "label", className: "text-icon3", variant: "ui-sm", htmlFor: "provider-options", children: "Provider Options" }),
|
|
13039
13030
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
@@ -13220,7 +13211,7 @@ const AgentSettings = ({ agentId }) => {
|
|
|
13220
13211
|
radioValue = settings?.modelSettings?.chatWithGenerateLegacy ? "generateLegacy" : "streamLegacy";
|
|
13221
13212
|
}
|
|
13222
13213
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-5 text-xs py-2 pb-4", children: [
|
|
13223
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "space-y-7", children: [
|
|
13214
|
+
/* @__PURE__ */ jsxRuntime.jsxs("section", { className: "space-y-7 @container", children: [
|
|
13224
13215
|
/* @__PURE__ */ jsxRuntime.jsx(Entry, { label: "Chat Method", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
13225
13216
|
RadioGroup,
|
|
13226
13217
|
{
|
|
@@ -13235,7 +13226,7 @@ const AgentSettings = ({ agentId }) => {
|
|
|
13235
13226
|
chatWithNetwork: value === "network"
|
|
13236
13227
|
}
|
|
13237
13228
|
}),
|
|
13238
|
-
className: "flex flex-
|
|
13229
|
+
className: "flex flex-col gap-4 @xs:flex-row",
|
|
13239
13230
|
children: [
|
|
13240
13231
|
!isSupportedModel && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
13241
13232
|
/* @__PURE__ */ jsxRuntime.jsx(RadioGroupItem, { value: "generateLegacy", id: "generateLegacy", className: "text-icon6" }),
|
|
@@ -13267,7 +13258,7 @@ const AgentSettings = ({ agentId }) => {
|
|
|
13267
13258
|
})
|
|
13268
13259
|
}
|
|
13269
13260
|
) }),
|
|
13270
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-8", children: [
|
|
13261
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 @xs:grid-cols-2 gap-8", children: [
|
|
13271
13262
|
/* @__PURE__ */ jsxRuntime.jsx(Entry, { label: "Temperature", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row justify-between items-center gap-2", children: [
|
|
13272
13263
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
13273
13264
|
Slider,
|
|
@@ -15254,9 +15245,7 @@ function ScorerCombobox({
|
|
|
15254
15245
|
searchPlaceholder = "Search scorers...",
|
|
15255
15246
|
emptyText = "No scorers found.",
|
|
15256
15247
|
className,
|
|
15257
|
-
disabled = false
|
|
15258
|
-
buttonClassName = "h-8",
|
|
15259
|
-
contentClassName
|
|
15248
|
+
disabled = false
|
|
15260
15249
|
}) {
|
|
15261
15250
|
const { data: scorers = {}, isLoading, isError, error } = useScorers();
|
|
15262
15251
|
const { navigate, paths } = useLinkComponent();
|
|
@@ -15288,8 +15277,7 @@ function ScorerCombobox({
|
|
|
15288
15277
|
emptyText,
|
|
15289
15278
|
className,
|
|
15290
15279
|
disabled: disabled || isLoading || isError,
|
|
15291
|
-
|
|
15292
|
-
contentClassName
|
|
15280
|
+
variant: "ghost"
|
|
15293
15281
|
}
|
|
15294
15282
|
);
|
|
15295
15283
|
}
|
|
@@ -15583,8 +15571,8 @@ const AgentMetadataModelSwitcher = ({
|
|
|
15583
15571
|
setLoading(false);
|
|
15584
15572
|
}
|
|
15585
15573
|
};
|
|
15586
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
15587
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col
|
|
15574
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "@container", children: [
|
|
15575
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col @xs:flex-row items-stretch @xs:items-center gap-2 w-full", children: [
|
|
15588
15576
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
15589
15577
|
Popover,
|
|
15590
15578
|
{
|
|
@@ -15597,7 +15585,7 @@ const AgentMetadataModelSwitcher = ({
|
|
|
15597
15585
|
}
|
|
15598
15586
|
},
|
|
15599
15587
|
children: [
|
|
15600
|
-
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full
|
|
15588
|
+
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full @xs:w-2/5", children: [
|
|
15601
15589
|
!isSearchingProvider && currentModelProvider && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
15602
15590
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute left-2 top-1/2 -translate-y-1/2 pointer-events-none z-10", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
15603
15591
|
/* @__PURE__ */ jsxRuntime.jsx(ProviderLogo, { providerId: currentModelProvider, size: 16 }),
|
|
@@ -15776,7 +15764,7 @@ const AgentMetadataModelSwitcher = ({
|
|
|
15776
15764
|
"aria-label": "Search models",
|
|
15777
15765
|
spellCheck: "false",
|
|
15778
15766
|
ref: modelInputRef,
|
|
15779
|
-
className: "w-full
|
|
15767
|
+
className: "w-full @xs:w-3/5",
|
|
15780
15768
|
type: "text",
|
|
15781
15769
|
value: modelSearch || selectedModel,
|
|
15782
15770
|
onChange: (e) => {
|
|
@@ -16603,9 +16591,7 @@ function AgentCombobox({
|
|
|
16603
16591
|
searchPlaceholder = "Search agents...",
|
|
16604
16592
|
emptyText = "No agents found.",
|
|
16605
16593
|
className,
|
|
16606
|
-
disabled = false
|
|
16607
|
-
buttonClassName = "h-8",
|
|
16608
|
-
contentClassName
|
|
16594
|
+
disabled = false
|
|
16609
16595
|
}) {
|
|
16610
16596
|
const { data: agents = {}, isLoading, isError, error } = useAgents();
|
|
16611
16597
|
const { navigate, paths } = useLinkComponent();
|
|
@@ -16637,8 +16623,7 @@ function AgentCombobox({
|
|
|
16637
16623
|
emptyText,
|
|
16638
16624
|
className,
|
|
16639
16625
|
disabled: disabled || isLoading || isError,
|
|
16640
|
-
|
|
16641
|
-
contentClassName
|
|
16626
|
+
variant: "ghost"
|
|
16642
16627
|
}
|
|
16643
16628
|
);
|
|
16644
16629
|
}
|
|
@@ -17800,9 +17785,7 @@ function ToolCombobox({
|
|
|
17800
17785
|
searchPlaceholder = "Search tools...",
|
|
17801
17786
|
emptyText = "No tools found.",
|
|
17802
17787
|
className,
|
|
17803
|
-
disabled = false
|
|
17804
|
-
buttonClassName = "h-8",
|
|
17805
|
-
contentClassName
|
|
17788
|
+
disabled = false
|
|
17806
17789
|
}) {
|
|
17807
17790
|
const { data: tools = {}, isLoading: isLoadingTools, isError: isErrorTools, error: errorTools } = useTools();
|
|
17808
17791
|
const { data: agents = {}, isLoading: isLoadingAgents, isError: isErrorAgents, error: errorAgents } = useAgents();
|
|
@@ -17856,8 +17839,7 @@ function ToolCombobox({
|
|
|
17856
17839
|
emptyText,
|
|
17857
17840
|
className,
|
|
17858
17841
|
disabled: disabled || isLoadingTools || isLoadingAgents || isErrorTools || isErrorAgents,
|
|
17859
|
-
|
|
17860
|
-
contentClassName
|
|
17842
|
+
variant: "ghost"
|
|
17861
17843
|
}
|
|
17862
17844
|
);
|
|
17863
17845
|
}
|
|
@@ -20877,9 +20859,7 @@ function MCPServerCombobox({
|
|
|
20877
20859
|
searchPlaceholder = "Search MCP servers...",
|
|
20878
20860
|
emptyText = "No MCP servers found.",
|
|
20879
20861
|
className,
|
|
20880
|
-
disabled = false
|
|
20881
|
-
buttonClassName = "h-8",
|
|
20882
|
-
contentClassName
|
|
20862
|
+
disabled = false
|
|
20883
20863
|
}) {
|
|
20884
20864
|
const { data: mcpServers = [], isLoading, isError, error } = useMCPServers();
|
|
20885
20865
|
const { navigate, paths } = useLinkComponent();
|
|
@@ -20911,8 +20891,7 @@ function MCPServerCombobox({
|
|
|
20911
20891
|
emptyText,
|
|
20912
20892
|
className,
|
|
20913
20893
|
disabled: disabled || isLoading || isError,
|
|
20914
|
-
|
|
20915
|
-
contentClassName
|
|
20894
|
+
variant: "ghost"
|
|
20916
20895
|
}
|
|
20917
20896
|
);
|
|
20918
20897
|
}
|