Merge branch 'main' into jesselumarie/test-SEP-974

This commit is contained in:
Cliff Hall 2025-12-01 14:13:47 -05:00 • committed by GitHub
commit 7b644f9f99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 272 additions and 100 deletions

View file

@ -32,10 +32,13 @@ import {
ElicitRequestSchema,
Implementation,
} 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 {
@ -170,11 +173,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>;