zod4 compatibility fixed for CI

This commit is contained in:
evalstate 2025-11-27 19:41:40 +00:00
commit 635a9a18f0
5 changed files with 18 additions and 10 deletions

View file

@ -18,6 +18,10 @@ import {
LoggingLevel,
} from "@modelcontextprotocol/sdk/types.js";
import { OAuthTokensSchema } from "@modelcontextprotocol/sdk/shared/auth.js";
import type {
AnySchema,
SchemaOutput,
} from "@modelcontextprotocol/sdk/server/zod-compat.js";
import { SESSION_KEYS, getServerSpecificKey } from "./lib/constants";
import {
hasValidMetaName,
@ -687,11 +691,11 @@ const App = () => {
setErrors((prev) => ({ ...prev, [tabKey]: null }));
};
const sendMCPRequest = async <T extends z.ZodType>(
const sendMCPRequest = async <T extends AnySchema>(
request: ClientRequest,
schema: T,
tabKey?: keyof typeof errors,
) => {
): Promise<SchemaOutput<T>> => {
try {
const response = await makeRequest(request, schema);
if (tabKey !== undefined) {

View file

@ -80,8 +80,8 @@ const ToolResults = ({
<h4 className="font-semibold mb-2">Invalid Tool Result:</h4>
<JsonView data={toolResult} />
<h4 className="font-semibold mb-2">Errors:</h4>
{parsedResult.error.errors.map((error, idx) => (
<JsonView data={error} key={idx} />
{parsedResult.error.issues.map((issue, idx) => (
<JsonView data={issue} key={idx} />
))}
</>
);

View file

@ -35,7 +35,8 @@ const buttonVariants = cva(
);
export interface ButtonProps
extends React.ButtonHTMLAttributes<HTMLButtonElement>,
extends
React.ButtonHTMLAttributes<HTMLButtonElement>,
VariantProps<typeof buttonVariants> {
asChild?: boolean;
}

View file

@ -31,10 +31,13 @@ import {
LoggingLevel,
ElicitRequestSchema,
} from "@modelcontextprotocol/sdk/types.js";
import type {
AnySchema,
SchemaOutput,
} from "@modelcontextprotocol/sdk/server/zod-compat.js";
import { RequestOptions } from "@modelcontextprotocol/sdk/shared/protocol.js";
import { useEffect, useState } from "react";
import { useToast } from "@/lib/hooks/useToast";
import { z } from "zod";
import { ConnectionStatus, CLIENT_IDENTITY } from "../constants";
import { Notification } from "../notificationTypes";
import {
@ -166,11 +169,11 @@ export function useConnection({
]);
};
const makeRequest = async <T extends z.ZodType>(
const makeRequest = async <T extends AnySchema>(
request: ClientRequest,
schema: T,
options?: RequestOptions & { suppressToast?: boolean },
): Promise<z.output<T>> => {
): Promise<SchemaOutput<T>> => {
if (!mcpClient) {
throw new Error("MCP client not connected");
}

View file

@ -3,10 +3,10 @@ import {
ClientNotificationSchema,
ServerNotificationSchema,
} from "@modelcontextprotocol/sdk/types.js";
import { z } from "zod";
import type { SchemaOutput } from "@modelcontextprotocol/sdk/server/zod-compat.js";
export const NotificationSchema = ClientNotificationSchema.or(
ServerNotificationSchema,
).or(BaseNotificationSchema);
export type Notification = z.infer<typeof NotificationSchema>;
export type Notification = SchemaOutput<typeof NotificationSchema>;