import type { ResponseOutputEvent, AgentExportDefinition } from '@just-every/ensemble'; import type { LLMRequestData } from './llmLogger'; export interface RequestAgent { requestId: string; startTime: Date; agent?: AgentExportDefinition; input?: string; status?: string; request_cost?: number; request_duration?: number; duration_with_tools?: number; } export interface PartialMessage { id: string; type: 'message' | 'thinking' | 'function_call' | 'function_call_output'; role: string; content: Array<{ order: number; text: string; }>; thinking_content?: Array<{ order: number; text: string; }>; tool?: { id?: string; name: string; arguments?: string; output?: Array<{ order: number; text: string; }>; }; startTime: Date; request_id?: string; } export interface TaskEventProcessorState { llmRequests: LLMRequestData[]; messages: ResponseOutputEvent[]; requestAgents: Map; totalCost: number; totalTokens: number; runningTasks: Map; runningRequests: Map; isLoading: boolean; partialMessages: Map; } export interface ProcessedEventData { llmRequests: LLMRequestData[]; messages: ResponseOutputEvent[]; requestAgents: Map; totalCost: number; totalTokens: number; isLoading: boolean; runningTasks: Map; runningRequests: Map; } export declare class TaskEventProcessor { private state; /** * Process a WebSocket event from runTask and update the internal state * Returns the updated data that can be used to set React state */ processEvent(event: any): ProcessedEventData; private handleLLMRequest; private handleAgentEvent; private handleResponseOutput; private handleTaskStart; private handleTaskComplete; private handleTaskFatalError; private handleCostUpdate; private handleMessageStart; private handleMessageDelta; private handleToolStart; private handleToolDelta; private sortAndJoinContent; /** * Add a user message to the conversation */ addUserMessage(content: string): ProcessedEventData; private updateLoadingState; /** * Get the current processed data */ getProcessedData(): ProcessedEventData; /** * Reset the processor state */ reset(): void; } /** * Create a new task event processor instance */ export declare function createTaskEventProcessor(): TaskEventProcessor; //# sourceMappingURL=taskEventProcessor.d.ts.map