import { M as MCPClientManager } from '../client-CAtMwErD.js'; export { S as SSEEdgeClientTransport, a as StreamableHTTPEdgeClientTransport } from '../client-CAtMwErD.js'; import { DurableObject } from 'cloudflare:workers'; import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { ElicitResult } from '@modelcontextprotocol/sdk/types.js'; export { ElicitRequest, ElicitRequestSchema, ElicitResult } from '@modelcontextprotocol/sdk/types.js'; import { Connection, WSMessage } from 'partyserver'; import 'zod'; import '@modelcontextprotocol/sdk/client/index.js'; import '@modelcontextprotocol/sdk/shared/protocol.js'; import 'ai'; import '@modelcontextprotocol/sdk/client/sse.js'; import '@modelcontextprotocol/sdk/client/streamableHttp.js'; import './do-oauth-client-provider.js'; import '@modelcontextprotocol/sdk/client/auth.js'; import '@modelcontextprotocol/sdk/shared/auth.js'; interface CORSOptions { origin?: string; methods?: string; headers?: string; maxAge?: number; exposeHeaders?: string; } type MaybePromise = T | Promise; declare abstract class McpAgent = Record> extends DurableObject { private _status; private _transport?; private _transportType; private _requestIdToConnectionId; /** * Since McpAgent's _aren't_ yet real "Agents", let's only expose a couple of the methods * to the outer class: initialState/state/setState/onStateUpdate/sql */ private _agent; get mcp(): MCPClientManager; protected constructor(ctx: DurableObjectState, env: Env); /** * Agents API allowlist */ initialState: State; get state(): State; sql>(strings: TemplateStringsArray, ...values: (string | number | boolean | null)[]): T[]; setState(state: State): void; /** * Elicit user input with a message and schema */ elicitInput(params: { message: string; requestedSchema: unknown; }): Promise; onStateUpdate(state: State | undefined, source: Connection | "server"): void; onStart(): Promise; /** * McpAgent API */ abstract server: MaybePromise; props: Props; initRun: boolean; abstract init(): Promise; /** * Handle errors that occur during initialization or operation. * Override this method to provide custom error handling. * @param error - The error that occurred * @returns An error response object with status code and message */ onError(error: Error): { status: number; message: string; }; _init(props: Props): Promise; setInitialized(): Promise; isInitialized(): Promise; updateProps(props: Props): Promise; private _initialize; fetch(request: Request): Promise; getWebSocket(): WebSocket | null; getWebSocketForResponseID(id: string): WebSocket | null; onMessage(connection: Connection, event: WSMessage): Promise; /** * Wait for elicitation response through storage polling */ private _waitForElicitationResponse; /** * Handle elicitation responses */ private _handleElicitationResponse; onSSEMcpMessage(_sessionId: string, messageBody: unknown): Promise; webSocketMessage(ws: WebSocket, event: ArrayBuffer | string): Promise; webSocketError(ws: WebSocket, error: unknown): Promise; webSocketClose(ws: WebSocket, code: number, reason: string, wasClean: boolean): Promise; static mount(path: string, { binding, corsOptions }?: { binding?: string; corsOptions?: CORSOptions; }): { fetch(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise; }; static serveSSE(path: string, { binding, corsOptions }?: { binding?: string; corsOptions?: CORSOptions; }): { fetch(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise; }; static serve(path: string, { binding, corsOptions }?: { binding?: string; corsOptions?: CORSOptions; }): { fetch(this: void, request: Request, env: Env, ctx: ExecutionContext): Promise; }; } export { McpAgent };