UNPKG

openai-cli-unofficial

Version:

A powerful OpenAI CLI Coding Agent built with TypeScript

76 lines 2.26 kB
import { SystemDetector } from '../../services/system-detector'; import { Messages } from '../../types/language'; import { LoadingController } from '../../utils'; import type { Message } from '../../utils/token-calculator'; export interface ChatState { canSendMessage: boolean; isProcessing: boolean; } export interface MessageHandlerCallbacks { onStateChange: (state: Partial<ChatState>) => void; onLoadingStart: (controller: LoadingController) => void; onLoadingStop: () => void; getSelectedImageFiles: () => string[]; getSelectedTextFiles: () => string[]; addMessage: (message: Message) => void; getRecentMessages: (count?: number) => Message[]; getSystemDetector: () => SystemDetector; } export declare class MessageHandler { private currentMessages; private callbacks; private streamRenderer; private reasoningStreamRenderer; constructor(messages: Messages, callbacks: MessageHandlerCallbacks); updateLanguage(messages: Messages): void; /** * 添加用户消息并显示 */ addUserMessage(content: string): void; /** * 显示消息 */ displayMessage(message: Message): void; /** * 显示 AI 回复,使用美观的流式渲染 */ displayAIResponse(content: string): void; /** * 注入AI回复(用于外部调用) */ injectAIReply(content: string): void; /** * 构建系统消息 */ private buildSystemMessage; /** * 构建系统消息中与TODO相关的部分 */ private buildTodoPromptPart; /** * 处理AI请求的主要逻辑 */ processAIRequest(isContinuation?: boolean): Promise<void>; /** * 获取MCP工具定义 */ private getMcpTools; /** * 处理工具调用 */ private handleToolCall; /** * 询问用户是否确认执行函数 */ private askUserConfirmation; private getMimeType; /** * 清理用户消息中的@文件引用,将@文件路径转换为纯文件路径说明 */ private cleanFileReferencesInMessage; /** * 构建包含历史记录和文件信息的聊天消息 */ private buildChatMessages; } //# sourceMappingURL=message-handler.d.ts.map