openai-cli-unofficial
Version:
A powerful OpenAI CLI Coding Agent built with TypeScript
76 lines • 2.26 kB
TypeScript
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