import { AgioEvent } from '@multimodal/agio'; import { AgentTARS, AgentEventStream, AgentTARSAppConfig } from '@agent-tars/core'; /** * AgioProvider, default impl * * FIXME: we do not implement following events for now: * - agent_tps * - user_feedback */ export declare class AgioProvider implements AgioEvent.AgioProvider { protected providerUrl: string; protected appConfig: AgentTARSAppConfig; protected sessionId: string; protected agent: AgentTARS; protected runId?: string; protected runStartTime?: number; protected firstTokenTime?: number; protected loopStartTimes: Map; protected currentIteration: number; protected hasInitialized: boolean; protected modelName?: string; private batchProcessor; private agentInitializedEvent; constructor(providerUrl: string, appConfig: AgentTARSAppConfig, sessionId: string, agent: AgentTARS); /** * Calculate actual counts from the agent instance */ private calculateCounts; /** * Send agent initialization event * Called when an agent session is created */ sendAgentInitialized(): Promise; /** * Process internal agent events and convert to AGIO events * This is the main entry point for event processing */ processAgentEvent(event: AgentEventStream.Event): Promise; /** * Helper method to determine if input is multimodal */ private isInputMultimodal; /** * Handle agent run start events */ private handleRunStart; /** * Handle agent run end events */ private handleRunEnd; /** * Handle first token detection for TTFT measurement */ private handleFirstToken; /** * Handle tool call events */ private handleToolCall; /** * Handle tool result events */ private handleToolResult; /** * Handle loop start events */ private handleLoopStart; /** * Handle loop end events */ private handleLoopEnd; /** * Queues an AGIO event for batch sending. * The actual sending is handled by the AgioBatchProcessor. * @param event The AGIO event to queue. */ protected queueEvent(event: AgioEvent.ExtendedEvent): void; /** * Sanitize tool arguments to remove sensitive data */ private sanitizeArguments; /** * Extract MCP server name from tool name * FIXME: using a better solution to detect mcp server name. */ private extractMCPServer; /** * Calculate the size of tool result content */ private calculateResultSize; /** * Determine the content type of tool result */ private determineContentType; /** * Flushes any buffered events to the provider. * This should be called during cleanup to ensure no events are lost. */ cleanup(): Promise; } //# sourceMappingURL=AgioProvider.d.ts.map