import { IClient, ClientType, ClientStatus, ClientMessage, ISessionManager, AgentStep, IEventBus, AgentStorage, SessionStats } from '@continue-reasoning/core'; import { ReactCLIConfig, UIState, ImportedFile } from './interfaces/index.js'; /** * React CLI 客户端实现 * 基于最新的 IClient 接口,使用事件驱动架构处理事件 */ export declare class ReactCLIClient implements IClient { readonly name: string; readonly type: ClientType; currentSessionId?: string; sessionManager?: ISessionManager; eventBus?: IEventBus; private eventSubscriptionIds; private config; private messages; private uiState; private isRunning; private inkInstance?; private toolFormatter; private fileImporter; private agent?; private onUIUpdate?; private resolveInput?; constructor(config: ReactCLIConfig); /** * 初始化客户端 */ initialize(config?: ReactCLIConfig): Promise; /** * 启动客户端 */ start(): Promise; /** * 检查是否支持 raw mode */ private isRawModeSupported; /** * 停止客户端 */ stop(): Promise; /** * 停止当前运行的 Agent */ stopAgent(): Promise; /** * 设置事件总线 */ setEventBus(eventBus: IEventBus): void; /** * 设置Agent实例 */ setAgent(agent: any): void; /** * 创建SessionManager(如果Agent和EventBus都已准备好) */ private createSessionManagerIfReady; /** * 设置事件订阅 */ private setupEventSubscriptions; /** * 订阅会话事件 */ private subscribeToSessionEvents; /** * 订阅Agent事件 */ private subscribeToAgentEvents; /** * 订阅LLM事件 */ private subscribeToLLMEvents; /** * 订阅工具事件 */ private subscribeToToolEvents; /** * 订阅错误事件 */ private subscribeToErrorEvents; /** * 设置会话管理器 */ setSessionManager(sessionManager: ISessionManager): void; /** * 设置 Agent 回调 (已弃用) * @deprecated 请使用 setEventBus 和事件驱动架构代替 */ setAgentCallbacks(callbacks: any): void; /** * 检查是否为流式模式 */ isStreamingMode(): boolean; /** * 创建新会话 */ createSession(userId?: string, agentId?: string): string; /** * 切换会话 */ switchSession(sessionId: string): Promise; /** * 删除会话 */ deleteSession(sessionId: string): Promise; /** * 加载会话 */ loadSession(sessionId: string): Promise; /** * 保存会话 */ saveSession(sessionId: string, storage: AgentStorage): Promise; /** * 获取当前会话ID */ getCurrentSessionId(): string | undefined; /** * 列出所有会话 */ listSessions(): Promise; /** * 获取会话统计信息 */ getSessionStats(): Promise; /** * 发送消息给 Agent */ sendMessageToAgent(message: string): Promise; /** * 消息管理 */ addMessage(message: ClientMessage): void; clearMessages(): void; getMessages(): ClientMessage[]; /** * 获取客户端状态 */ getStatus(): ClientStatus; /** * 处理 Agent 步骤 - IClient 接口要求的方法 * 已禁用以防止重复处理,现在统一使用事件驱动的 handleAgentStepCompleted 方法 */ handleAgentStep(step: AgentStep): void; /** * 处理工具调用开始 - 目前无需处理 */ private handleToolCallStart; /** * 处理工具执行开始 - 显示工具名称和参数 */ private handleToolExecutionStart; /** * 处理工具执行结束 */ private handleToolExecutionEnd; /** * 处理流式文本增量 (已弃用) * @deprecated 请使用事件驱动架构中的 handleLLMTextDelta 方法 */ private handleStreamDelta; /** * 格式化 Agent 步骤 */ private formatAgentStep; /** * 处理 UI 状态变化 */ private handleUIStateChange; /** * 处理用户提交 */ private handleUserSubmit; /** * 处理命令 */ private handleCommand; /** * 显示帮助信息 */ private showHelp; /** * 触发 UI 更新 */ private triggerUIUpdate; /** * 更新 UI 状态 */ updateUIState(state: Partial): void; /** * 切换紧凑模式 */ toggleCompactMode(): void; /** * 设置主题 */ setTheme(theme: 'light' | 'dark'): void; /** * 导入文件 */ importFile(filePath: string): Promise; /** * 批量导入文件 */ importFiles(filePaths: string[]): Promise; /** * 格式化工具结果 */ formatToolResult(toolName: string, result: any): string; /** * 搜索消息 */ searchMessages(query: string): ClientMessage[]; /** * 导出消息 */ exportMessages(format: 'json' | 'markdown' | 'txt'): string; /** * 处理会话开始事件 */ private handleSessionStarted; /** * 处理会话结束事件 */ private handleSessionEnded; /** * 处理会话切换事件 */ private handleSessionSwitched; /** * 处理Agent步骤完成事件 */ private handleAgentStepCompleted; /** * 处理Agent停止事件 */ private handleAgentStopped; /** * 处理LLM文本增量事件(流式模式)- 已禁用 * 现在统一使用 AgentStep 事件来处理文本显示 */ private handleLLMTextDelta; /** * 处理LLM文本完成事件 - 已禁用 * 现在统一使用 AgentStep 事件来处理文本显示 */ private handleLLMTextCompleted; /** * 格式化工具开始消息 */ private formatToolStart; /** * 格式化工具完成消息 */ private formatToolCompleted; /** * 格式化工具失败消息 */ private formatToolFailed; /** * 处理工具执行开始事件 */ private handleToolExecutionStarted; /** * 处理工具执行完成事件 */ private handleToolExecutionCompleted; /** * 处理工具执行失败事件 */ private handleToolExecutionFailed; /** * 处理错误事件 */ private handleError; /** * 清理订阅 */ private cleanupSubscriptions; } //# sourceMappingURL=ReactCLIClient.d.ts.map