export interface JsonRpcRequest { jsonrpc: "2.0"; id: string | number; method: string; params?: unknown; } export interface JsonRpcResponse { jsonrpc: "2.0"; id: string | number; result?: unknown; error?: JsonRpcError; } export interface JsonRpcNotification { jsonrpc: "2.0"; method: string; params?: unknown; } export interface JsonRpcError { code: number; message: string; data?: unknown; } export type JsonRpcMessage = JsonRpcRequest | JsonRpcResponse | JsonRpcNotification; export declare function isRequest(msg: JsonRpcMessage): msg is JsonRpcRequest; export declare function isResponse(msg: JsonRpcMessage): msg is JsonRpcResponse; export declare function isNotification(msg: JsonRpcMessage): msg is JsonRpcNotification; export interface ProxyConnectParams { command: string; args?: string[]; cwd?: string; } export interface ProxyMessage { type: "connect" | "disconnect" | "message"; payload?: ProxyConnectParams | JsonRpcMessage; } export interface ProxyStatus { type: "status"; connected: boolean; agentInfo?: { name?: string; version?: string; }; error?: string; } export interface ProxyAgentMessage { type: "agent_message"; payload: JsonRpcMessage; } export interface ProxyError { type: "error"; message: string; code?: string; } export type ProxyResponse = ProxyStatus | ProxyAgentMessage | ProxyError; export interface InitializeParams { protocolVersion: string; clientInfo: { name: string; version: string; }; capabilities?: ClientCapabilities; } export interface ClientCapabilities { streaming?: boolean; toolApproval?: boolean; } export interface InitializeResult { protocolVersion: string; serverInfo: { name: string; version: string; }; capabilities?: ServerCapabilities; } export interface ServerCapabilities { streaming?: boolean; tools?: boolean; } export interface SessionSetupParams { sessionId?: string; context?: SessionContext; } export interface SessionContext { workingDirectory?: string; files?: string[]; } export interface PromptParams { sessionId: string; messages: PromptMessage[]; } export interface PromptMessage { role: "user" | "assistant"; content: string | ContentPart[]; } export interface ContentPart { type: "text" | "image" | "file"; text?: string; data?: string; mimeType?: string; path?: string; } export interface ContentNotification { sessionId: string; content: string; done?: boolean; } //# sourceMappingURL=types.d.ts.map