| import { AuthInfo } from "../server/auth/types.js"; | |
| import { JSONRPCMessage, RequestId } from "../types.js"; | |
| /** | |
| * Options for sending a JSON-RPC message. | |
| */ | |
| export type TransportSendOptions = { | |
| /** | |
| * If present, `relatedRequestId` is used to indicate to the transport which incoming request to associate this outgoing message with. | |
| */ | |
| relatedRequestId?: RequestId; | |
| /** | |
| * The resumption token used to continue long-running requests that were interrupted. | |
| * | |
| * This allows clients to reconnect and continue from where they left off, if supported by the transport. | |
| */ | |
| resumptionToken?: string; | |
| /** | |
| * A callback that is invoked when the resumption token changes, if supported by the transport. | |
| * | |
| * This allows clients to persist the latest token for potential reconnection. | |
| */ | |
| onresumptiontoken?: (token: string) => void; | |
| }; | |
| /** | |
| * Describes the minimal contract for a MCP transport that a client or server can communicate over. | |
| */ | |
| export interface Transport { | |
| /** | |
| * Starts processing messages on the transport, including any connection steps that might need to be taken. | |
| * | |
| * This method should only be called after callbacks are installed, or else messages may be lost. | |
| * | |
| * NOTE: This method should not be called explicitly when using Client, Server, or Protocol classes, as they will implicitly call start(). | |
| */ | |
| start(): Promise<void>; | |
| /** | |
| * Sends a JSON-RPC message (request or response). | |
| * | |
| * If present, `relatedRequestId` is used to indicate to the transport which incoming request to associate this outgoing message with. | |
| */ | |
| send(message: JSONRPCMessage, options?: TransportSendOptions): Promise<void>; | |
| /** | |
| * Closes the connection. | |
| */ | |
| close(): Promise<void>; | |
| /** | |
| * Callback for when the connection is closed for any reason. | |
| * | |
| * This should be invoked when close() is called as well. | |
| */ | |
| onclose?: () => void; | |
| /** | |
| * Callback for when an error occurs. | |
| * | |
| * Note that errors are not necessarily fatal; they are used for reporting any kind of exceptional condition out of band. | |
| */ | |
| onerror?: (error: Error) => void; | |
| /** | |
| * Callback for when a message (request or response) is received over the connection. | |
| * | |
| * Includes the authInfo if the transport is authenticated. | |
| * | |
| */ | |
| onmessage?: (message: JSONRPCMessage, extra?: { | |
| authInfo?: AuthInfo; | |
| }) => void; | |
| /** | |
| * The session ID generated for this connection. | |
| */ | |
| sessionId?: string; | |
| } | |
| //# sourceMappingURL=transport.d.ts.map |