@tmcp/transport-sse
Version:
Transport for TMCP using Server-Sent Events
42 lines (37 loc) • 1.27 kB
TypeScript
declare module '@tmcp/transport-sse' {
import type { McpServer } from 'tmcp';
import type { OAuth } from '@tmcp/auth';
import type { StreamSessionManager, InfoSessionManager } from '@tmcp/session-manager';
export class SseTransport<TCustom extends Record<string, unknown> | undefined = undefined> {
constructor(server: McpServer<any, TCustom>, options?: SseTransportOptions);
respond(request: Request, ctx?: TCustom): Promise<Response | null>;
/**
* Close all active sessions
*/
close(): void;
#private;
}
export type CorsConfig = {
origin?: string | string[] | boolean;
methods?: string[];
allowedHeaders?: string[];
exposedHeaders?: string[];
credentials?: boolean;
maxAge?: number;
};
export type SseTransportOptions = {
getSessionId?: () => string;
path?: string | null;
endpoint?: string;
oauth?: OAuth<"built">;
cors?: CorsConfig | boolean;
sessionManager?: {
streams?: StreamSessionManager;
info?: OptionalizeSessionManager<InfoSessionManager>;
};
};
type ToOmit = 'removeSubscription';
type OptionalizeSessionManager<TInfoSessionManager extends InfoSessionManager> = Omit<TInfoSessionManager, ToOmit> & Partial<Pick<TInfoSessionManager, ToOmit>>;
export {};
}
//# sourceMappingURL=index.d.ts.map