From b5711be1ad2ef861c3eeb52502b9d3370006b47c Mon Sep 17 00:00:00 2001 From: Justin Spahr-Summers Date: Fri, 3 Jan 2025 14:01:17 +0000 Subject: [PATCH] Can just reuse `z.infer` instead of using `ReturnType` --- src/types.ts | 159 +++++++++++++++++++++++++-------------------------- 1 file changed, 79 insertions(+), 80 deletions(-) diff --git a/src/types.ts b/src/types.ts index 60b13f49..39177a6d 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import { z, ZodTypeAny } from "zod"; export const LATEST_PROTOCOL_VERSION = "2024-11-05"; export const SUPPORTED_PROTOCOL_VERSIONS = [ @@ -1123,114 +1123,113 @@ type Flatten = T extends Primitive ? { [K in keyof T]: Flatten } : T; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -type Infer any> = Flatten>; +type Infer = Flatten>; /* JSON-RPC types */ -export type ProgressToken = Infer; -export type Cursor = Infer; -export type Request = Infer; -export type Notification = Infer; -export type Result = Infer; -export type RequestId = Infer; -export type JSONRPCRequest = Infer; -export type JSONRPCNotification = Infer; -export type JSONRPCResponse = Infer; -export type JSONRPCError = Infer; -export type JSONRPCMessage = Infer; +export type ProgressToken = Infer; +export type Cursor = Infer; +export type Request = Infer; +export type Notification = Infer; +export type Result = Infer; +export type RequestId = Infer; +export type JSONRPCRequest = Infer; +export type JSONRPCNotification = Infer; +export type JSONRPCResponse = Infer; +export type JSONRPCError = Infer; +export type JSONRPCMessage = Infer; /* Empty result */ -export type EmptyResult = Infer; +export type EmptyResult = Infer; /* Cancellation */ -export type CancelledNotification = Infer; +export type CancelledNotification = Infer; /* Initialization */ -export type Implementation = Infer; -export type ClientCapabilities = Infer; -export type InitializeRequest = Infer; -export type ServerCapabilities = Infer; -export type InitializeResult = Infer; -export type InitializedNotification = Infer; +export type Implementation = Infer; +export type ClientCapabilities = Infer; +export type InitializeRequest = Infer; +export type ServerCapabilities = Infer; +export type InitializeResult = Infer; +export type InitializedNotification = Infer; /* Ping */ -export type PingRequest = Infer; +export type PingRequest = Infer; /* Progress notifications */ -export type Progress = Infer; -export type ProgressNotification = Infer; +export type Progress = Infer; +export type ProgressNotification = Infer; /* Pagination */ -export type PaginatedRequest = Infer; -export type PaginatedResult = Infer; +export type PaginatedRequest = Infer; +export type PaginatedResult = Infer; /* Resources */ -export type ResourceContents = Infer; -export type TextResourceContents = Infer; -export type BlobResourceContents = Infer; -export type Resource = Infer; -export type ResourceTemplate = Infer; -export type ListResourcesRequest = Infer; -export type ListResourcesResult = Infer; -export type ListResourceTemplatesRequest = Infer; -export type ListResourceTemplatesResult = Infer; -export type ReadResourceRequest = Infer; -export type ReadResourceResult = Infer; -export type ResourceListChangedNotification = Infer; -export type SubscribeRequest = Infer; -export type UnsubscribeRequest = Infer; -export type ResourceUpdatedNotification = Infer; +export type ResourceContents = Flatten>; +export type TextResourceContents = Infer; +export type BlobResourceContents = Infer; +export type Resource = Infer; +export type ResourceTemplate = Infer; +export type ListResourcesRequest = Infer; +export type ListResourcesResult = Infer; +export type ListResourceTemplatesRequest = Infer; +export type ListResourceTemplatesResult = Infer; +export type ReadResourceRequest = Infer; +export type ReadResourceResult = Infer; +export type ResourceListChangedNotification = Infer; +export type SubscribeRequest = Infer; +export type UnsubscribeRequest = Infer; +export type ResourceUpdatedNotification = Infer; /* Prompts */ -export type PromptArgument = Infer; -export type Prompt = Infer; -export type ListPromptsRequest = Infer; -export type ListPromptsResult = Infer; -export type GetPromptRequest = Infer; -export type TextContent = Infer; -export type ImageContent = Infer; -export type EmbeddedResource = Infer; -export type PromptMessage = Infer; -export type GetPromptResult = Infer; -export type PromptListChangedNotification = Infer; +export type PromptArgument = Infer; +export type Prompt = Infer; +export type ListPromptsRequest = Infer; +export type ListPromptsResult = Infer; +export type GetPromptRequest = Infer; +export type TextContent = Infer; +export type ImageContent = Infer; +export type EmbeddedResource = Infer; +export type PromptMessage = Infer; +export type GetPromptResult = Infer; +export type PromptListChangedNotification = Infer; /* Tools */ -export type Tool = Infer; -export type ListToolsRequest = Infer; -export type ListToolsResult = Infer; -export type CallToolResult = Infer; -export type CompatibilityCallToolResult = Infer; -export type CallToolRequest = Infer; -export type ToolListChangedNotification = Infer; +export type Tool = Infer; +export type ListToolsRequest = Infer; +export type ListToolsResult = Infer; +export type CallToolResult = Infer; +export type CompatibilityCallToolResult = Infer; +export type CallToolRequest = Infer; +export type ToolListChangedNotification = Infer; /* Logging */ -export type LoggingLevel = Infer; -export type SetLevelRequest = Infer; -export type LoggingMessageNotification = Infer; +export type LoggingLevel = Infer; +export type SetLevelRequest = Infer; +export type LoggingMessageNotification = Infer; /* Sampling */ -export type SamplingMessage = Infer; -export type CreateMessageRequest = Infer; -export type CreateMessageResult = Infer; +export type SamplingMessage = Infer; +export type CreateMessageRequest = Infer; +export type CreateMessageResult = Infer; /* Autocomplete */ -export type ResourceReference = Infer; -export type PromptReference = Infer; -export type CompleteRequest = Infer; -export type CompleteResult = Infer; +export type ResourceReference = Infer; +export type PromptReference = Infer; +export type CompleteRequest = Infer; +export type CompleteResult = Infer; /* Roots */ -export type Root = Infer; -export type ListRootsRequest = Infer; -export type ListRootsResult = Infer; -export type RootsListChangedNotification = Infer; +export type Root = Infer; +export type ListRootsRequest = Infer; +export type ListRootsResult = Infer; +export type RootsListChangedNotification = Infer; /* Client messages */ -export type ClientRequest = Infer; -export type ClientNotification = Infer; -export type ClientResult = Infer; +export type ClientRequest = Infer; +export type ClientNotification = Infer; +export type ClientResult = Infer; /* Server messages */ -export type ServerRequest = Infer; -export type ServerNotification = Infer; -export type ServerResult = Infer; +export type ServerRequest = Infer; +export type ServerNotification = Infer; +export type ServerResult = Infer;