From 0b21b99ebd193872c520996cec79defad07ee108 Mon Sep 17 00:00:00 2001 From: Joshua Valluru <326636767+joshua-berri@users.noreply.github.com> Date: Wed, 9 Sep 2026 16:57:15 -0700 Subject: [PATCH] fix(ui): type MCP argument resolver results explicitly --- .../mcp_tools/MCPToolArgumentsForm.integration.test.tsx | 2 +- .../src/components/mcp_tools/MCPToolArgumentsForm.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/litellm-dashboard/src/components/mcp_tools/MCPToolArgumentsForm.integration.test.tsx b/ui/litellm-dashboard/src/components/mcp_tools/MCPToolArgumentsForm.integration.test.tsx index a4302f9fd6a..b1174d1d37d 100644 --- a/ui/litellm-dashboard/src/components/mcp_tools/MCPToolArgumentsForm.integration.test.tsx +++ b/ui/litellm-dashboard/src/components/mcp_tools/MCPToolArgumentsForm.integration.test.tsx @@ -41,7 +41,7 @@ describe("MCPToolArgumentsForm", () => { fireEvent.change(screen.getByRole("textbox", { name: "filter.category *" }), { target: { value: "invoices" }, }); - fireEvent.change(screen.getByRole("textbox", { name: "filter", exact: true }), { + fireEvent.change(screen.getByRole("textbox", { name: "filter" }), { target: { value: '{"category":"receipts","metadata":{"region":"eu"}}' }, }); fireEvent.change(screen.getByRole("spinbutton", { name: "page.limit" }), { target: { value: "7" } }); diff --git a/ui/litellm-dashboard/src/components/mcp_tools/MCPToolArgumentsForm.tsx b/ui/litellm-dashboard/src/components/mcp_tools/MCPToolArgumentsForm.tsx index 4fff3e57fd9..ab3213d9b37 100644 --- a/ui/litellm-dashboard/src/components/mcp_tools/MCPToolArgumentsForm.tsx +++ b/ui/litellm-dashboard/src/components/mcp_tools/MCPToolArgumentsForm.tsx @@ -1,6 +1,6 @@ import React, { forwardRef, useImperativeHandle, useMemo } from "react"; import { CircleHelp } from "lucide-react"; -import { useForm, type Resolver } from "react-hook-form"; +import { useForm, type Resolver, type ResolverResult } from "react-hook-form"; import { FieldGroup } from "@/components/ui/field"; import { FormField } from "@/components/shared/form/FormField"; import { Input } from "@/components/ui/input"; @@ -59,7 +59,7 @@ const collectErrors = ( const buildResolver = (actualSchema: InputSchema, requiredMessages: Readonly> = {}): Resolver => - (values) => { + (values): ResolverResult => { const errors = collectErrors(actualSchema, requiredMessages, argumentValues(actualSchema, values)); if (Object.keys(errors).length === 0) return { values, errors: {} }; return {