export type RequestId = string | number; export interface JsonLineRequest { method: string; id: RequestId; params: unknown; } export interface JsonLineNotification { method: string; params: unknown; } export interface JsonLineResponse { id: RequestId; result?: unknown; error?: unknown; } export type JsonLineMessage = JsonLineRequest | JsonLineNotification | JsonLineResponse; export interface InitializeParams { clientInfo: { name: string; title: string | null; version: string; }; capabilities: { experimentalApi: boolean; optOutNotificationMethods?: string[] | null; } | null; } export interface PendingServerRequest { id: RequestId; method: string; params: unknown; createdAt: string; resolvedAt?: string | undefined; response?: unknown; resolutionError?: string | undefined; status: 'pending' | 'resolved' | 'failed'; } export interface RuntimeOperation { operationId: string; requestId: RequestId; method: string; threadId?: string | undefined; turnId?: string | undefined; startedAt: string; completedAt?: string | undefined; status: 'running' | 'completed' | 'failed'; result?: unknown; error?: string; pendingRequestIds: RequestId[]; }