@tdesign-react/chat 1.0.0-beta.4 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/_util/reactify.js +1 -1
- package/es/_util/useDynamicStyle.js +1 -1
- package/es/chat-actionbar/index.js +1 -1
- package/es/chat-attachments/index.js +1 -1
- package/es/{chatbot → chat-engine}/components/provider/agent-state.js +1 -1
- package/es/chat-engine/components/provider/agent-state.js.map +1 -0
- package/es/{chatbot → chat-engine}/components/toolcall/index.js +1 -1
- package/es/{chatbot → chat-engine}/components/toolcall/registry.js +1 -1
- package/es/chat-engine/components/toolcall/registry.js.map +1 -0
- package/es/{chatbot → chat-engine}/components/toolcall/render.js +1 -2
- package/es/chat-engine/components/toolcall/render.js.map +1 -0
- package/es/{chatbot → chat-engine}/components/toolcall/types.d.ts +12 -4
- package/es/{chatbot → chat-engine}/components/toolcall/types.js +1 -1
- package/es/chat-engine/components/toolcall/types.js.map +1 -0
- package/es/{chatbot → chat-engine}/hooks/useAgentState.js +1 -1
- package/es/chat-engine/hooks/useAgentState.js.map +1 -0
- package/es/{chatbot → chat-engine}/hooks/useAgentToolcall.js +1 -1
- package/es/chat-engine/hooks/useAgentToolcall.js.map +1 -0
- package/es/{chatbot → chat-engine}/hooks/useChat.d.ts +1 -1
- package/es/{chatbot → chat-engine}/hooks/useChat.js +1 -1
- package/es/chat-engine/hooks/useChat.js.map +1 -0
- package/es/chat-engine/index.d.ts +6 -0
- package/es/chat-engine/index.js +24 -0
- package/es/{chatbot/core/server → chat-engine}/index.js.map +1 -1
- package/es/chat-filecard/index.js +1 -1
- package/es/chat-loading/index.js +1 -1
- package/es/chat-markdown/index.js +1 -1
- package/es/chat-message/index.js +1 -1
- package/es/chat-sender/index.js +1 -1
- package/es/chat-thinking/index.js +1 -1
- package/es/chatbot/index.d.ts +0 -5
- package/es/chatbot/index.js +1 -12
- package/es/chatbot/index.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +10 -9
- package/es/index.js.map +1 -1
- package/es/style/index.js +1 -1
- package/package.json +3 -3
- package/es/chatbot/components/provider/agent-state.js.map +0 -1
- package/es/chatbot/components/toolcall/registry.js.map +0 -1
- package/es/chatbot/components/toolcall/render.js.map +0 -1
- package/es/chatbot/components/toolcall/types.js.map +0 -1
- package/es/chatbot/core/adapters/agui/event-mapper.d.ts +0 -104
- package/es/chatbot/core/adapters/agui/event-mapper.js +0 -342
- package/es/chatbot/core/adapters/agui/event-mapper.js.map +0 -1
- package/es/chatbot/core/adapters/agui/events.d.ts +0 -1394
- package/es/chatbot/core/adapters/agui/events.js +0 -181
- package/es/chatbot/core/adapters/agui/events.js.map +0 -1
- package/es/chatbot/core/adapters/agui/index.d.ts +0 -75
- package/es/chatbot/core/adapters/agui/index.js +0 -165
- package/es/chatbot/core/adapters/agui/index.js.map +0 -1
- package/es/chatbot/core/adapters/agui/state-manager.d.ts +0 -99
- package/es/chatbot/core/adapters/agui/state-manager.js +0 -168
- package/es/chatbot/core/adapters/agui/state-manager.js.map +0 -1
- package/es/chatbot/core/adapters/agui/types.d.ts +0 -760
- package/es/chatbot/core/adapters/agui/types.js +0 -89
- package/es/chatbot/core/adapters/agui/types.js.map +0 -1
- package/es/chatbot/core/adapters/agui/utils.d.ts +0 -188
- package/es/chatbot/core/adapters/agui/utils.js +0 -323
- package/es/chatbot/core/adapters/agui/utils.js.map +0 -1
- package/es/chatbot/core/index.d.ts +0 -131
- package/es/chatbot/core/index.js +0 -585
- package/es/chatbot/core/index.js.map +0 -1
- package/es/chatbot/core/processor/index.d.ts +0 -20
- package/es/chatbot/core/processor/index.js +0 -148
- package/es/chatbot/core/processor/index.js.map +0 -1
- package/es/chatbot/core/server/batch-client.d.ts +0 -20
- package/es/chatbot/core/server/batch-client.js +0 -114
- package/es/chatbot/core/server/batch-client.js.map +0 -1
- package/es/chatbot/core/server/connection-manager.d.ts +0 -39
- package/es/chatbot/core/server/connection-manager.js +0 -84
- package/es/chatbot/core/server/connection-manager.js.map +0 -1
- package/es/chatbot/core/server/errors.d.ts +0 -22
- package/es/chatbot/core/server/errors.js +0 -80
- package/es/chatbot/core/server/errors.js.map +0 -1
- package/es/chatbot/core/server/index.d.ts +0 -11
- package/es/chatbot/core/server/index.js +0 -26
- package/es/chatbot/core/server/llm-service.d.ts +0 -44
- package/es/chatbot/core/server/llm-service.js +0 -198
- package/es/chatbot/core/server/llm-service.js.map +0 -1
- package/es/chatbot/core/server/sse-client.d.ts +0 -77
- package/es/chatbot/core/server/sse-client.js +0 -362
- package/es/chatbot/core/server/sse-client.js.map +0 -1
- package/es/chatbot/core/server/sse-parser.d.ts +0 -49
- package/es/chatbot/core/server/sse-parser.js +0 -116
- package/es/chatbot/core/server/sse-parser.js.map +0 -1
- package/es/chatbot/core/server/types.d.ts +0 -54
- package/es/chatbot/core/server/types.js +0 -28
- package/es/chatbot/core/server/types.js.map +0 -1
- package/es/chatbot/core/store/message.d.ts +0 -27
- package/es/chatbot/core/store/message.js +0 -263
- package/es/chatbot/core/store/message.js.map +0 -1
- package/es/chatbot/core/store/model.d.ts +0 -8
- package/es/chatbot/core/store/model.js +0 -65
- package/es/chatbot/core/store/model.js.map +0 -1
- package/es/chatbot/core/store/reactiveState.d.ts +0 -52
- package/es/chatbot/core/store/reactiveState.js +0 -1359
- package/es/chatbot/core/store/reactiveState.js.map +0 -1
- package/es/chatbot/core/type.d.ts +0 -238
- package/es/chatbot/core/type.js +0 -7
- package/es/chatbot/core/type.js.map +0 -1
- package/es/chatbot/core/utils/eventEmitter.d.ts +0 -10
- package/es/chatbot/core/utils/eventEmitter.js +0 -67
- package/es/chatbot/core/utils/eventEmitter.js.map +0 -1
- package/es/chatbot/core/utils/index.d.ts +0 -31
- package/es/chatbot/core/utils/index.js +0 -221
- package/es/chatbot/core/utils/index.js.map +0 -1
- package/es/chatbot/core/utils/logger.d.ts +0 -30
- package/es/chatbot/core/utils/logger.js +0 -87
- package/es/chatbot/core/utils/logger.js.map +0 -1
- package/es/chatbot/hooks/useAgentState.js.map +0 -1
- package/es/chatbot/hooks/useAgentToolcall.js.map +0 -1
- package/es/chatbot/hooks/useChat.js.map +0 -1
- /package/es/{chatbot → chat-engine}/components/provider/agent-state.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/components/toolcall/index.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/components/toolcall/index.js.map +0 -0
- /package/es/{chatbot → chat-engine}/components/toolcall/registry.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/components/toolcall/render.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/hooks/useAgentState.d.ts +0 -0
- /package/es/{chatbot → chat-engine}/hooks/useAgentToolcall.d.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../pro-components/chat/chatbot/core/index.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable class-methods-use-this */\nimport { MessageStore } from './store/message';\nimport { LLMService } from './server';\nimport MessageProcessor from './processor';\nimport { AGUIAdapter } from './adapters/agui';\nimport type {\n AIContentChunkUpdate,\n AIMessageContent,\n ChatMessagesData,\n ChatMessageSetterMode,\n ChatRequestParams,\n ChatServiceConfig,\n ChatServiceConfigSetter,\n ChatStatus,\n IChatEngine,\n SSEChunkData,\n SystemMessage,\n ToolCall,\n} from './type';\nimport { isAIMessage } from './utils';\n\nexport default class ChatEngine implements IChatEngine {\n public messageStore: MessageStore;\n\n private messageProcessor: MessageProcessor;\n\n private llmService!: LLMService;\n\n private config!: ChatServiceConfig;\n\n private lastRequestParams: ChatRequestParams | undefined;\n\n private stopReceive = false;\n\n private aguiAdapter: AGUIAdapter | null = null;\n\n constructor() {\n this.messageProcessor = new MessageProcessor();\n this.messageStore = new MessageStore();\n }\n\n /**\n * 获取当前所有消息\n * @returns 消息数组\n * @description 返回消息存储中的所有消息\n */\n get messages(): ChatMessagesData[] {\n return this.messageStore.messages;\n }\n\n /**\n * 获取当前聊天状态\n * @returns 聊天状态:'idle'、'pending'、'streaming'、'complete'、'stop'或'error'\n * @description 返回最后一条消息的状态,如果没有消息则返回'idle'\n */\n get status(): ChatStatus {\n return this.messages.at(-1)?.status || 'idle';\n }\n\n /**\n * 销毁聊天引擎实例\n * @description 中止请求,清理消息存储和适配器,释放资源\n */\n destroy(): void {\n // 中止当前请求\n this.abortChat();\n\n // 清理消息存储\n this.messageStore.clearHistory();\n\n // 清理适配器\n this.aguiAdapter = null;\n }\n\n /**\n * 初始化聊天引擎\n * @param configSetter 聊天服务配置或配置生成函数\n * @param initialMessages 初始消息列表,用于恢复历史对话\n * @description 设置初始消息、配置服务参数,并根据协议类型初始化适配器\n */\n public init(configSetter: ChatServiceConfigSetter, initialMessages?: ChatMessagesData[]) {\n this.messageStore.initialize(this.convertMessages(initialMessages));\n this.config = typeof configSetter === 'function' ? configSetter() : configSetter || {};\n this.llmService = new LLMService();\n // 初始化AGUI适配器\n if (this.config.protocol === 'agui') {\n this.aguiAdapter = new AGUIAdapter();\n }\n }\n\n /**\n * 发送用户消息并获取AI回复\n * @param requestParams 请求参数,包含用户输入的文本和附件\n * @description 创建用户消息和AI消息,并发送请求获取AI回复\n */\n public async sendUserMessage(requestParams: ChatRequestParams) {\n const { prompt, attachments, ...customParams } = requestParams;\n\n // 检查条件:prompt和attachments至少传入一个,且如果设置了就不能为空\n const hasValidPrompt = prompt && prompt.trim() !== '';\n const hasValidAttachments = Array.isArray(attachments) && attachments.length > 0;\n\n // 如果两者都没有有效值,则直接返回\n if (!hasValidPrompt && !hasValidAttachments) {\n console.warn('[ChatEngine] sendUserMessage: 必须提供有效的prompt或attachments');\n return;\n }\n\n const userMessage = this.messageProcessor.createUserMessage(prompt, attachments);\n const aiMessage = this.messageProcessor.createAssistantMessage();\n this.messageStore.createMultiMessages([userMessage, aiMessage]);\n const params = {\n ...requestParams,\n messageID: aiMessage.id,\n ...customParams, // 透传用户自定义参数\n };\n this.sendRequest(params);\n }\n\n /**\n * 发送系统消息\n * @param msg 系统消息文本内容\n * @description 创建并存储一条系统消息,通常用于设置上下文或控制对话流程\n */\n public async sendSystemMessage(msg: string) {\n this.messageStore.createMessage({\n role: 'system',\n content: [\n {\n type: 'text',\n data: msg,\n },\n ],\n } as SystemMessage);\n }\n\n /**\n * 手动发送AI消息\n * @param options 包含请求参数params、发送消息内容content和是否发送请求的标志sendRequest\n * @description 创建并存储一条AI消息,可选择是否同时发送请求\n */\n public async sendAIMessage(\n options: { params?: ChatRequestParams; content?: AIMessageContent[]; sendRequest?: boolean } = {},\n ) {\n const { params = {}, content, sendRequest = true } = options;\n const newAIMessage = this.messageProcessor.createAssistantMessage({\n content,\n status: sendRequest ? 'pending' : 'complete',\n });\n this.messageStore.createMessage(newAIMessage);\n if (sendRequest) {\n params.messageID = newAIMessage.id;\n await this.sendRequest(params);\n }\n }\n\n /**\n * 中止当前进行中的聊天请求\n * @description 停止接收流式响应,关闭连接,并调用配置的onAbort回调\n */\n public async abortChat() {\n this.stopReceive = true;\n\n if (this.config?.onAbort) {\n await this.config.onAbort();\n }\n\n try {\n this.llmService.closeConnect();\n if (!this.config.stream) {\n // 只有在批量模式下才删除最后一条AI消息\n if (this.messageStore.lastAIMessage?.id) {\n this.messageStore.removeMessage(this.messageStore.lastAIMessage.id);\n }\n }\n } catch (error) {\n console.warn('Error during service cleanup:', error);\n }\n }\n\n /**\n * 注册内容块合并策略\n * @param type 内容类型,如'text'、'markdown'等\n * @param handler 合并处理函数,接收新块和现有块,返回合并后的内容块\n * @description 用于自定义不同类型内容的增量更新逻辑\n */\n public registerMergeStrategy<T extends AIMessageContent>(\n type: T['type'], // 使用类型中定义的type字段作为参数类型\n handler: (chunk: T, existing?: T) => T,\n ) {\n this.messageProcessor.registerHandler(type, handler);\n }\n\n /**\n * 设置消息列表\n * @param messages 要设置的消息数组\n * @param mode 设置模式:'replace'(替换)、'prepend'(前置)、'append'(追加),默认为'replace'\n * @description 用于批量更新消息,如加载历史消息或重置对话\n */\n public setMessages(messages: ChatMessagesData[], mode: ChatMessageSetterMode = 'replace') {\n this.messageStore.setMessages(messages, mode);\n }\n\n /**\n * 清空所有消息\n * @description 清除消息存储中的所有历史记录\n */\n public clearMessages(): void {\n this.messageStore.clearHistory();\n }\n\n /**\n * 重新生成AI回复\n * @param keepVersion 是否保留历史版本,默认为false\n * @description\n * - 当keepVersion=false时:删除最后一条AI消息,创建新消息并重新请求\n * - 当keepVersion=true时:保留旧消息,创建分支消息并重新请求\n */\n public async regenerateAIMessage(keepVersion = false) {\n const { lastAIMessage } = this.messageStore;\n if (!lastAIMessage) return;\n\n if (!keepVersion) {\n // 删除最后一条AI消息\n this.messageStore.removeMessage(lastAIMessage.id);\n } else {\n // todo: 保留历史版本,创建新分支\n this.messageStore.createMessageBranch(lastAIMessage.id);\n }\n\n // 创建新的AI消息\n const newAIMessage = this.messageProcessor.createAssistantMessage();\n this.messageStore.createMessage(newAIMessage);\n\n // 重新发起请求\n const params = {\n ...(this.lastRequestParams || {}),\n messageID: newAIMessage.id,\n prompt: this.lastRequestParams?.prompt ?? '',\n };\n\n await this.sendRequest(params);\n }\n\n /**\n * 发送请求获取AI回复\n * @param params 请求参数\n * @description 根据配置选择流式或批量请求模式,处理响应并更新消息状态\n */\n public async sendRequest(params: ChatRequestParams) {\n const { messageID: id } = params;\n try {\n if (this.config.stream) {\n // 处理sse流式响应模式\n this.stopReceive = false;\n await this.handleStreamRequest(params);\n } else {\n // 处理批量响应模式\n await this.handleBatchRequest(params);\n }\n this.lastRequestParams = params;\n } catch (error) {\n this.setMessageStatus(id!, 'error');\n throw error;\n }\n }\n\n /**\n * 根据名称获取工具调用\n * @param name 工具调用名称\n * @returns 匹配的工具调用对象,如果未找到则返回undefined\n * @description 用于获取特定名称的工具调用信息,仅在AGUI协议下可用\n */\n public getToolcallByName(name: string): ToolCall | undefined {\n return this.aguiAdapter?.getToolcallByName(name);\n }\n\n private async handleBatchRequest(params: ChatRequestParams) {\n const id = params.messageID;\n if (!id) return;\n this.setMessageStatus(id, 'pending');\n const result = await this.llmService.handleBatchRequest(params, this.config);\n if (result) {\n this.processMessageResult(id, result);\n this.setMessageStatus(id, 'complete');\n } else {\n this.setMessageStatus(id, 'error');\n }\n }\n\n private handleError(id: string, error: any) {\n this.setMessageStatus(id, 'error');\n this.config.onError?.(error);\n }\n\n private handleComplete(id: string, isAborted: boolean, params: ChatRequestParams, chunk?: any) {\n // 先调用用户自定义的 onComplete 回调,让业务层决定如何处理\n const customResult = this.config.onComplete?.(isAborted, params, chunk);\n // 如果用户返回了自定义内容,处理这些内容\n if (Array.isArray(customResult) || (customResult && 'status' in customResult)) {\n this.processMessageResult(id, customResult);\n } else {\n // 所有消息内容块都失败才算消息体失败\n const allContentFailed = this.messageStore.messages.every((content) => content.status === 'error');\n // eslint-disable-next-line no-nested-ternary\n this.setMessageStatus(id, isAborted ? 'stop' : allContentFailed ? 'error' : 'complete');\n }\n }\n\n /**\n * 处理流式请求\n * 根据协议类型选择不同的处理策略\n */\n private async handleStreamRequest(params: ChatRequestParams) {\n const id = params.messageID;\n const isAGUI = this.config.protocol === 'agui';\n\n if (id) {\n this.setMessageStatus(id, 'streaming');\n }\n\n // 根据协议类型选择处理策略\n if (isAGUI && this.aguiAdapter) {\n await this.handleAGUIStreamRequest(params, id);\n } else {\n await this.handleDefaultStreamRequest(params, id);\n }\n }\n\n /**\n * 处理AGUI协议的流式请求\n */\n private async handleAGUIStreamRequest(params: ChatRequestParams, messageId?: string) {\n await this.llmService.handleStreamRequest(params, {\n ...this.config,\n onMessage: (chunk: SSEChunkData) => {\n if (this.stopReceive || !messageId) return null;\n\n let result;\n\n // SSE数据 → AGUIEventMapper.mapEvent → 用户自定义onMessage(解析后数据 + 原始chunk)\n // 首先使用AGUI适配器进行通用协议解析\n if (this.aguiAdapter) {\n result = this.aguiAdapter.handleAGUIEvent(chunk, {\n onRunStart: (event) => this.config.onStart?.(JSON.stringify(event)),\n onRunComplete: (isAborted, params, event) => this.handleComplete(messageId, isAborted, params, event),\n onRunError: (error) => this.handleError(messageId, error),\n });\n }\n\n // 然后调用用户自定义的onMessage,传入解析后的结果和原始数据\n if (this.config.onMessage) {\n const userResult = this.config.onMessage(chunk, this.messageStore.getMessageByID(messageId), result);\n // 如果用户返回了自定义结果,使用用户的结果\n if (userResult) {\n result = userResult;\n }\n }\n // 处理消息结果\n this.processMessageResult(messageId, result);\n return result;\n },\n onError: (error) => {\n if (messageId) this.handleError(messageId, error);\n },\n onComplete: (isAborted) => {\n // AGUI的完成事件由AGUIAdapter内部处理,这里只处理中断情况\n if (isAborted && messageId) {\n this.handleComplete(messageId, isAborted, params);\n }\n },\n });\n }\n\n /**\n * 处理默认协议的流式请求\n */\n private async handleDefaultStreamRequest(params: ChatRequestParams, messageId?: string) {\n await this.llmService.handleStreamRequest(params, {\n ...this.config,\n onStart: (chunk) => {\n this.config.onStart?.(chunk);\n },\n onMessage: (chunk: SSEChunkData) => {\n if (this.stopReceive || !messageId) return null;\n\n let result = null;\n\n // 使用默认的消息处理\n if (this.config.onMessage) {\n result = this.config.onMessage(chunk, this.messageStore.getMessageByID(messageId));\n }\n\n // 处理消息结果\n this.processMessageResult(messageId, result);\n return result;\n },\n onError: (error) => {\n if (messageId) this.handleError(messageId, error);\n },\n onComplete: (isAborted) => {\n if (messageId) {\n this.handleComplete(messageId, isAborted, params);\n }\n },\n });\n }\n\n /**\n * 统一处理消息结果\n * 支持单个内容块、多个内容块和增量更新\n */\n private processMessageResult(messageId: string, result: AIMessageContent | AIMessageContent[] | null) {\n if (!result) return;\n\n // 处理工具调用 - 仅在AGUI协议下处理\n // if (this.aguiAdapter) {\n // const toolCalls = this.aguiAdapter.processToolCalls(result);\n // if (toolCalls.length > 0) {\n // this.messageStore.setMessageToolCalls(messageId, toolCalls);\n // }\n // }\n\n if (Array.isArray(result)) {\n // 处理多个内容块\n this.messageStore.updateMultipleContents(messageId, result);\n } else {\n // 处理单个内容块\n this.processContentUpdate(messageId, result);\n }\n }\n\n private convertMessages(messages?: ChatMessagesData[]) {\n if (!messages) return { messageIds: [], messages: [] };\n\n return {\n messageIds: messages.map((msg) => msg.id),\n messages,\n };\n }\n\n private setMessageStatus(messageId: string, status: ChatMessagesData['status']) {\n this.messageStore.setMessageStatus(messageId, status);\n }\n\n // 处理内容更新逻辑\n private processContentUpdate(messageId: string, rawChunk: AIContentChunkUpdate) {\n const message = this.messageStore.messages.find((m) => m.id === messageId);\n if (!message || !isAIMessage(message) || !message.content) return;\n\n // // 只需要处理最后一个内容快\n // const lastContent = message.content.at(-1);\n // const processed = this.messageProcessor.processContentUpdate(lastContent, rawChunk);\n // this.messageStore.appendContent(messageId, processed);\n\n let targetIndex;\n // 作为新的内容块追加\n if (rawChunk?.strategy === 'append') {\n targetIndex = -1;\n } else {\n // 合并/替换到现有同类型内容中\n targetIndex = message.content.findIndex((content: AIMessageContent) => content.type === rawChunk.type);\n if (targetIndex !== -1) {\n // 找到最后一个匹配的类型\n for (let i = message.content.length - 1; i >= 0; i--) {\n if (message.content[i].type === rawChunk.type) {\n targetIndex = i;\n break;\n }\n }\n }\n }\n const processed = this.messageProcessor.processContentUpdate(\n targetIndex !== -1 ? message.content[targetIndex] : undefined,\n rawChunk,\n );\n\n this.messageStore.appendContent(messageId, processed, targetIndex);\n }\n}\n\nexport * from './utils';\nexport * from './adapters/agui';\nexport type * from './type';\n"],"names":["ChatEngine","_classCallCheck","_defineProperty","messageProcessor","MessageProcessor","messageStore","MessageStore","_createClass","key","get","messages","_this$messages$at","at","status","value","destroy","abortChat","clearHistory","aguiAdapter","init","configSetter","initialMessages","initialize","convertMessages","config","llmService","LLMService","protocol","AGUIAdapter","_sendUserMessage","_asyncToGenerator","_regeneratorRuntime","mark","_callee","requestParams","prompt","attachments","customParams","hasValidPrompt","hasValidAttachments","userMessage","aiMessage","params","wrap","_context","prev","next","_objectWithoutProperties","_excluded","trim","Array","isArray","length","console","warn","abrupt","createUserMessage","createAssistantMessage","createMultiMessages","_objectSpread","messageID","id","sendRequest","stop","sendUserMessage","_callee2","msg","_context2","createMessage","role","content","type","data","sendSystemMessage","_callee3","options","_options$params","_options$sendRequest","newAIMessage","_args3","arguments","_context3","undefined","sendAIMessage","_sendAIMessage","apply","_abortChat","_callee4","_this$config","_this$messageStore$la","_context4","stopReceive","onAbort","closeConnect","stream","lastAIMessage","removeMessage","error","registerMergeStrategy","handler","registerHandler","setMessages","mode","clearMessages","_regenerateAIMessage","_callee5","_this$lastRequestPara","_this$lastRequestPara2","keepVersion","_args5","_context5","createMessageBranch","lastRequestParams","regenerateAIMessage","_sendRequest","_callee6","_t","_context6","handleStreamRequest","handleBatchRequest","setMessageStatus","getToolcallByName","name","_this$aguiAdapter","_handleBatchRequest","_callee7","result","_context7","processMessageResult","handleError","_this$config$onError","_this$config2","onError","call","handleComplete","isAborted","chunk","_this$config$onComple","_this$config3","customResult","onComplete","allContentFailed","every","_handleStreamRequest","_callee8","isAGUI","_context8","handleAGUIStreamRequest","handleDefaultStreamRequest","_callee9","messageId","_this","_context9","onMessage","handleAGUIEvent","onRunStart","event","_this$config$onStart","_this$config4","onStart","JSON","stringify","onRunComplete","onRunError","userResult","getMessageByID","_x6","_x7","_handleAGUIStreamRequest","_handleDefaultStreamRequest","_callee0","_this2","_context0","_this2$config$onStart","_this2$config","_x8","_x9","updateMultipleContents","processContentUpdate","messageIds","map","rawChunk","message","find","m","isAIMessage","targetIndex","strategy","findIndex","i","processed","appendContent"],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { AIMessage, AttachmentItem, ChatMessagesData, AIMessageContent } from '../type';
|
|
2
|
-
export default class MessageProcessor {
|
|
3
|
-
private contentHandlers;
|
|
4
|
-
constructor();
|
|
5
|
-
createUserMessage(content?: string, attachments?: AttachmentItem[]): ChatMessagesData;
|
|
6
|
-
createAssistantMessage(msg?: {
|
|
7
|
-
content?: AIMessageContent[];
|
|
8
|
-
status?: AIMessage['status'];
|
|
9
|
-
}): AIMessage;
|
|
10
|
-
processContentUpdate(lastContent: AIMessageContent | undefined, newChunk: AIMessageContent): AIMessageContent;
|
|
11
|
-
registerHandler<T extends AIMessageContent>(type: T['type'], // 使用类型中定义的type字段作为参数类型
|
|
12
|
-
handler: (chunk: T, existing?: T) => T): void;
|
|
13
|
-
private generateID;
|
|
14
|
-
private registerDefaultHandlers;
|
|
15
|
-
private createContentHandler;
|
|
16
|
-
private registerTextHandlers;
|
|
17
|
-
private registerThinkingHandler;
|
|
18
|
-
private registerImageHandler;
|
|
19
|
-
private registerSearchHandler;
|
|
20
|
-
}
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tdesign v1.0.0-beta.3
|
|
3
|
-
* (c) 2025 tdesign
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
8
|
-
import _createClass from '@babel/runtime/helpers/createClass';
|
|
9
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
|
-
|
|
11
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
-
var MessageProcessor = /*#__PURE__*/function () {
|
|
14
|
-
function MessageProcessor() {
|
|
15
|
-
_classCallCheck(this, MessageProcessor);
|
|
16
|
-
_defineProperty(this, "contentHandlers", /* @__PURE__ */new Map());
|
|
17
|
-
this.registerDefaultHandlers();
|
|
18
|
-
}
|
|
19
|
-
return _createClass(MessageProcessor, [{
|
|
20
|
-
key: "createUserMessage",
|
|
21
|
-
value: function createUserMessage() {
|
|
22
|
-
var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
23
|
-
var attachments = arguments.length > 1 ? arguments[1] : undefined;
|
|
24
|
-
var messageContent = [{
|
|
25
|
-
type: "text",
|
|
26
|
-
data: content
|
|
27
|
-
}];
|
|
28
|
-
if (attachments !== null && attachments !== void 0 && attachments.length) {
|
|
29
|
-
messageContent.push({
|
|
30
|
-
type: "attachment",
|
|
31
|
-
data: attachments
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
id: this.generateID(),
|
|
36
|
-
role: "user",
|
|
37
|
-
status: "complete",
|
|
38
|
-
datetime: "".concat(Date.now()),
|
|
39
|
-
content: messageContent
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}, {
|
|
43
|
-
key: "createAssistantMessage",
|
|
44
|
-
value: function createAssistantMessage(msg) {
|
|
45
|
-
var _ref = msg || {},
|
|
46
|
-
_ref$content = _ref.content,
|
|
47
|
-
content = _ref$content === void 0 ? [] : _ref$content,
|
|
48
|
-
_ref$status = _ref.status,
|
|
49
|
-
status = _ref$status === void 0 ? "pending" : _ref$status;
|
|
50
|
-
return {
|
|
51
|
-
id: this.generateID(),
|
|
52
|
-
role: "assistant",
|
|
53
|
-
content: content,
|
|
54
|
-
status: status,
|
|
55
|
-
datetime: new Date().toISOString()
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
}, {
|
|
59
|
-
key: "processContentUpdate",
|
|
60
|
-
value: function processContentUpdate(lastContent, newChunk) {
|
|
61
|
-
var handler = this.contentHandlers.get(newChunk.type);
|
|
62
|
-
if (!lastContent) {
|
|
63
|
-
return _objectSpread(_objectSpread({}, newChunk), {}, {
|
|
64
|
-
status: (newChunk === null || newChunk === void 0 ? void 0 : newChunk.status) || "streaming"
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
if (handler && (lastContent === null || lastContent === void 0 ? void 0 : lastContent.type) === newChunk.type) {
|
|
68
|
-
return handler(newChunk, lastContent);
|
|
69
|
-
}
|
|
70
|
-
return _objectSpread(_objectSpread(_objectSpread({}, lastContent || {}), newChunk), {}, {
|
|
71
|
-
status: (newChunk === null || newChunk === void 0 ? void 0 : newChunk.status) || "streaming"
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
}, {
|
|
75
|
-
key: "registerHandler",
|
|
76
|
-
value: function registerHandler(type, handler) {
|
|
77
|
-
this.contentHandlers.set(type, handler);
|
|
78
|
-
}
|
|
79
|
-
}, {
|
|
80
|
-
key: "generateID",
|
|
81
|
-
value: function generateID() {
|
|
82
|
-
return "msg_".concat(Date.now(), "_").concat(Math.floor(Math.random() * 9e4) + 1e4);
|
|
83
|
-
}
|
|
84
|
-
}, {
|
|
85
|
-
key: "registerDefaultHandlers",
|
|
86
|
-
value: function registerDefaultHandlers() {
|
|
87
|
-
this.registerTextHandlers();
|
|
88
|
-
this.registerThinkingHandler();
|
|
89
|
-
this.registerImageHandler();
|
|
90
|
-
this.registerSearchHandler();
|
|
91
|
-
}
|
|
92
|
-
}, {
|
|
93
|
-
key: "createContentHandler",
|
|
94
|
-
value: function createContentHandler(mergeData) {
|
|
95
|
-
return function (chunk, existing) {
|
|
96
|
-
if ((existing === null || existing === void 0 ? void 0 : existing.type) === chunk.type) {
|
|
97
|
-
return _objectSpread(_objectSpread({}, existing), {}, {
|
|
98
|
-
data: mergeData(existing.data, chunk.data),
|
|
99
|
-
status: chunk.status || "streaming",
|
|
100
|
-
ext: _objectSpread(_objectSpread({}, existing.ext), chunk.ext)
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
return _objectSpread(_objectSpread({}, chunk), {}, {
|
|
104
|
-
data: chunk.data,
|
|
105
|
-
status: chunk.status || "streaming"
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
}, {
|
|
110
|
-
key: "registerTextHandlers",
|
|
111
|
-
value: function registerTextHandlers() {
|
|
112
|
-
var _this = this;
|
|
113
|
-
var createTextHandler = function createTextHandler() {
|
|
114
|
-
return _this.createContentHandler(function (existing, incoming) {
|
|
115
|
-
return existing + incoming;
|
|
116
|
-
});
|
|
117
|
-
};
|
|
118
|
-
this.registerHandler("text", createTextHandler());
|
|
119
|
-
this.registerHandler("markdown", createTextHandler());
|
|
120
|
-
}
|
|
121
|
-
}, {
|
|
122
|
-
key: "registerThinkingHandler",
|
|
123
|
-
value: function registerThinkingHandler() {
|
|
124
|
-
this.registerHandler("thinking", this.createContentHandler(function (existing, incoming) {
|
|
125
|
-
return _objectSpread(_objectSpread(_objectSpread({}, existing), incoming), {}, {
|
|
126
|
-
text: ((existing === null || existing === void 0 ? void 0 : existing.text) || "") + ((incoming === null || incoming === void 0 ? void 0 : incoming.text) || "")
|
|
127
|
-
});
|
|
128
|
-
}));
|
|
129
|
-
}
|
|
130
|
-
}, {
|
|
131
|
-
key: "registerImageHandler",
|
|
132
|
-
value: function registerImageHandler() {
|
|
133
|
-
this.registerHandler("image", this.createContentHandler(function (existing, incoming) {
|
|
134
|
-
return _objectSpread(_objectSpread({}, existing), incoming);
|
|
135
|
-
}));
|
|
136
|
-
}
|
|
137
|
-
}, {
|
|
138
|
-
key: "registerSearchHandler",
|
|
139
|
-
value: function registerSearchHandler() {
|
|
140
|
-
this.registerHandler("search", this.createContentHandler(function (existing, incoming) {
|
|
141
|
-
return _objectSpread(_objectSpread({}, existing), incoming);
|
|
142
|
-
}));
|
|
143
|
-
}
|
|
144
|
-
}]);
|
|
145
|
-
}();
|
|
146
|
-
|
|
147
|
-
export { MessageProcessor as default };
|
|
148
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../pro-components/chat/chatbot/core/processor/index.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport type {\n AIMessage,\n AttachmentItem,\n ChatMessagesData,\n UserMessage,\n AIMessageContent,\n ImageContent,\n MarkdownContent,\n SearchContent,\n TextContent,\n ThinkingContent,\n} from '../type';\n\nexport default class MessageProcessor {\n private contentHandlers: Map<string, (chunk: any, existing?: any) => any> = new Map();\n\n constructor() {\n this.registerDefaultHandlers();\n }\n\n public createUserMessage(content = '', attachments?: AttachmentItem[]): ChatMessagesData {\n const messageContent: UserMessage['content'] = [\n {\n type: 'text',\n data: content,\n },\n ];\n\n if (attachments?.length) {\n messageContent.push({\n type: 'attachment',\n data: attachments,\n });\n }\n\n return {\n id: this.generateID(),\n role: 'user',\n status: 'complete',\n datetime: `${Date.now()}`,\n content: messageContent,\n };\n }\n\n public createAssistantMessage(msg?: { content?: AIMessageContent[]; status?: AIMessage['status'] }): AIMessage {\n const { content = [], status = 'pending' } = msg || {};\n\n return {\n id: this.generateID(),\n role: 'assistant',\n content,\n status,\n datetime: new Date().toISOString(),\n };\n }\n\n // 处理内容更新\n public processContentUpdate(lastContent: AIMessageContent | undefined, newChunk: AIMessageContent): AIMessageContent {\n const handler = this.contentHandlers.get(newChunk.type);\n if (!lastContent) {\n return {\n ...newChunk,\n status: newChunk?.status || 'streaming',\n };\n }\n // 如果有注册的处理器且类型匹配\n if (handler && lastContent?.type === newChunk.type) {\n return handler(newChunk, lastContent);\n }\n // 没有处理器时的默认合并逻辑\n return {\n ...(lastContent || {}),\n ...newChunk,\n status: newChunk?.status || 'streaming',\n };\n }\n\n // 通用处理器注册方法\n public registerHandler<T extends AIMessageContent>(\n type: T['type'], // 使用类型中定义的type字段作为参数类型\n handler: (chunk: T, existing?: T) => T,\n ) {\n this.contentHandlers.set(type, handler);\n }\n\n private generateID() {\n return `msg_${Date.now()}_${Math.floor(Math.random() * 90000) + 10000}`;\n }\n\n // 注册默认支持的内容处理器\n private registerDefaultHandlers() {\n this.registerTextHandlers();\n this.registerThinkingHandler();\n this.registerImageHandler();\n this.registerSearchHandler();\n }\n\n // 通用处理器工厂\n private createContentHandler<T extends AIMessageContent>(\n mergeData: (existing: T['data'], incoming: T['data']) => T['data'],\n ): (chunk: T, existing?: T) => T {\n return (chunk: T, existing?: T): T => {\n if (existing?.type === chunk.type) {\n return {\n ...existing,\n data: mergeData(existing.data, chunk.data),\n status: chunk.status || 'streaming',\n // 合并ext字段,确保动态属性能够正确传递\n ext: {\n ...existing.ext,\n ...chunk.ext,\n },\n };\n }\n return {\n ...chunk,\n data: chunk.data,\n status: chunk.status || 'streaming',\n };\n };\n }\n\n // 文本类处理器(text/markdown)\n private registerTextHandlers() {\n // 创建类型安全的处理器\n const createTextHandler = <T extends TextContent | MarkdownContent>() =>\n this.createContentHandler<T>((existing: string, incoming: string) => existing + incoming);\n\n this.registerHandler<TextContent>('text', createTextHandler<TextContent>());\n this.registerHandler<MarkdownContent>('markdown', createTextHandler<MarkdownContent>());\n }\n\n // 思考过程处理器\n private registerThinkingHandler() {\n this.registerHandler<ThinkingContent>(\n 'thinking',\n this.createContentHandler((existing, incoming) => ({\n ...existing,\n ...incoming,\n text: (existing?.text || '') + (incoming?.text || ''),\n })),\n );\n }\n\n // 图片处理器\n private registerImageHandler() {\n this.registerHandler<ImageContent>(\n 'image',\n this.createContentHandler((existing, incoming) => ({ ...existing, ...incoming })),\n );\n }\n\n // 搜索处理器\n private registerSearchHandler() {\n this.registerHandler<SearchContent>(\n 'search',\n this.createContentHandler((existing, incoming) => ({\n ...existing,\n ...incoming,\n })),\n );\n }\n}\n"],"names":["MessageProcessor","_classCallCheck","_defineProperty","Map","registerDefaultHandlers","_createClass","key","value","createUserMessage","content","arguments","length","undefined","attachments","messageContent","type","data","push","id","generateID","role","status","datetime","concat","Date","now","createAssistantMessage","msg","_ref","_ref$content","_ref$status","toISOString","processContentUpdate","lastContent","newChunk","handler","contentHandlers","get","_objectSpread","registerHandler","set","Math","floor","random","registerTextHandlers","registerThinkingHandler","registerImageHandler","registerSearchHandler","createContentHandler","mergeData","chunk","existing","ext","_this","createTextHandler","incoming","text"],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import EventEmitter from '../utils/eventEmitter';
|
|
2
|
-
/**
|
|
3
|
-
* 批量请求客户端(非流式)
|
|
4
|
-
*/
|
|
5
|
-
export declare class BatchClient extends EventEmitter {
|
|
6
|
-
private controller;
|
|
7
|
-
private logger;
|
|
8
|
-
/**
|
|
9
|
-
* 发送批量请求
|
|
10
|
-
* @param endpoint API端点
|
|
11
|
-
* @param request 请求参数
|
|
12
|
-
* @param timeout 超时时间(毫秒)
|
|
13
|
-
* @returns 响应数据
|
|
14
|
-
*/
|
|
15
|
-
request<T>(endpoint: string, request: RequestInit, timeout?: number): Promise<T>;
|
|
16
|
-
/**
|
|
17
|
-
* 中止当前请求
|
|
18
|
-
*/
|
|
19
|
-
abort(): void;
|
|
20
|
-
}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tdesign v1.0.0-beta.3
|
|
3
|
-
* (c) 2025 tdesign
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
8
|
-
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
9
|
-
import _createClass from '@babel/runtime/helpers/createClass';
|
|
10
|
-
import _possibleConstructorReturn from '@babel/runtime/helpers/possibleConstructorReturn';
|
|
11
|
-
import _getPrototypeOf from '@babel/runtime/helpers/getPrototypeOf';
|
|
12
|
-
import _inherits from '@babel/runtime/helpers/inherits';
|
|
13
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
14
|
-
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
15
|
-
import SimpleEventEmitter from '../utils/eventEmitter.js';
|
|
16
|
-
import { LoggerManager } from '../utils/logger.js';
|
|
17
|
-
import { ConnectionError, TimeoutError } from './errors.js';
|
|
18
|
-
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
19
|
-
|
|
20
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
21
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
22
|
-
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
23
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
24
|
-
var BatchClient = /*#__PURE__*/function (_EventEmitter) {
|
|
25
|
-
function BatchClient() {
|
|
26
|
-
var _this;
|
|
27
|
-
_classCallCheck(this, BatchClient);
|
|
28
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
29
|
-
args[_key] = arguments[_key];
|
|
30
|
-
}
|
|
31
|
-
_this = _callSuper(this, BatchClient, [].concat(args));
|
|
32
|
-
_defineProperty(_this, "controller", null);
|
|
33
|
-
_defineProperty(_this, "logger", LoggerManager.getLogger());
|
|
34
|
-
return _this;
|
|
35
|
-
}
|
|
36
|
-
_inherits(BatchClient, _EventEmitter);
|
|
37
|
-
return _createClass(BatchClient, [{
|
|
38
|
-
key: "request",
|
|
39
|
-
value: function () {
|
|
40
|
-
var _request2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(endpoint, _request) {
|
|
41
|
-
var _this2 = this;
|
|
42
|
-
var timeout,
|
|
43
|
-
timeoutId,
|
|
44
|
-
response,
|
|
45
|
-
_args = arguments,
|
|
46
|
-
_t;
|
|
47
|
-
return _regeneratorRuntime.wrap(function (_context) {
|
|
48
|
-
while (1) switch (_context.prev = _context.next) {
|
|
49
|
-
case 0:
|
|
50
|
-
timeout = _args.length > 2 && _args[2] !== undefined ? _args[2] : 1e6;
|
|
51
|
-
this.abort();
|
|
52
|
-
this.controller = new AbortController();
|
|
53
|
-
timeoutId = setTimeout(function () {
|
|
54
|
-
var _this2$controller;
|
|
55
|
-
if (!((_this2$controller = _this2.controller) !== null && _this2$controller !== void 0 && _this2$controller.signal.aborted)) {
|
|
56
|
-
var _this2$controller2;
|
|
57
|
-
(_this2$controller2 = _this2.controller) === null || _this2$controller2 === void 0 || _this2$controller2.abort();
|
|
58
|
-
}
|
|
59
|
-
_this2.emit("error", new TimeoutError("Request timed out after ".concat(timeout, "ms")));
|
|
60
|
-
}, timeout);
|
|
61
|
-
_context.prev = 1;
|
|
62
|
-
_context.next = 2;
|
|
63
|
-
return fetch(endpoint, _objectSpread(_objectSpread({}, _request), {}, {
|
|
64
|
-
signal: this.controller.signal
|
|
65
|
-
}));
|
|
66
|
-
case 2:
|
|
67
|
-
response = _context.sent;
|
|
68
|
-
if (response.ok) {
|
|
69
|
-
_context.next = 3;
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
this.emit("error", new ConnectionError("HTTP error! status: ".concat(response.status)));
|
|
73
|
-
return _context.abrupt("return", null);
|
|
74
|
-
case 3:
|
|
75
|
-
_context.next = 4;
|
|
76
|
-
return response.json();
|
|
77
|
-
case 4:
|
|
78
|
-
return _context.abrupt("return", _context.sent);
|
|
79
|
-
case 5:
|
|
80
|
-
_context.prev = 5;
|
|
81
|
-
_t = _context["catch"](1);
|
|
82
|
-
if (_t.name !== "AbortError") {
|
|
83
|
-
this.logger.error("Batch request failed:", _t);
|
|
84
|
-
this.emit("error", _t);
|
|
85
|
-
}
|
|
86
|
-
case 6:
|
|
87
|
-
_context.prev = 6;
|
|
88
|
-
clearTimeout(timeoutId);
|
|
89
|
-
this.controller = null;
|
|
90
|
-
return _context.finish(6);
|
|
91
|
-
case 7:
|
|
92
|
-
case "end":
|
|
93
|
-
return _context.stop();
|
|
94
|
-
}
|
|
95
|
-
}, _callee, this, [[1, 5, 6, 7]]);
|
|
96
|
-
}));
|
|
97
|
-
function request(_x, _x2) {
|
|
98
|
-
return _request2.apply(this, arguments);
|
|
99
|
-
}
|
|
100
|
-
return request;
|
|
101
|
-
}()
|
|
102
|
-
}, {
|
|
103
|
-
key: "abort",
|
|
104
|
-
value: function abort() {
|
|
105
|
-
if (this.controller) {
|
|
106
|
-
this.controller.abort();
|
|
107
|
-
this.controller = null;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}]);
|
|
111
|
-
}(SimpleEventEmitter);
|
|
112
|
-
|
|
113
|
-
export { BatchClient };
|
|
114
|
-
//# sourceMappingURL=batch-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"batch-client.js","sources":["../../../../../pro-components/chat/chatbot/core/server/batch-client.ts"],"sourcesContent":["import EventEmitter from '../utils/eventEmitter';\nimport { LoggerManager } from '../utils/logger';\nimport { ConnectionError, TimeoutError } from './errors';\n\n/**\n * 批量请求客户端(非流式)\n */\nexport class BatchClient extends EventEmitter {\n private controller: AbortController | null = null;\n\n private logger = LoggerManager.getLogger();\n\n /**\n * 发送批量请求\n * @param endpoint API端点\n * @param request 请求参数\n * @param timeout 超时时间(毫秒)\n * @returns 响应数据\n */\n async request<T>(endpoint: string, request: RequestInit, timeout = 1000000): Promise<T> {\n // 中止上一个请求\n this.abort();\n\n this.controller = new AbortController();\n const timeoutId = setTimeout(() => {\n if (!this.controller?.signal.aborted) {\n this.controller?.abort();\n }\n this.emit('error', new TimeoutError(`Request timed out after ${timeout}ms`));\n }, timeout);\n\n try {\n const response = await fetch(endpoint, {\n ...request,\n signal: this.controller.signal,\n });\n\n if (!response.ok) {\n this.emit('error', new ConnectionError(`HTTP error! status: ${response.status}`));\n return null as T;\n }\n return (await response.json()) as T;\n } catch (error) {\n if (error.name !== 'AbortError') {\n this.logger.error('Batch request failed:', error);\n this.emit('error', error);\n }\n } finally {\n clearTimeout(timeoutId);\n this.controller = null;\n }\n }\n\n /**\n * 中止当前请求\n */\n abort(): void {\n if (this.controller) {\n this.controller.abort();\n this.controller = null;\n }\n }\n}\n"],"names":["BatchClient","_defineProperty","_this","LoggerManager","getLogger","_inherits","_EventEmitter","_createClass","key","value","_request2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","endpoint","request","_this2","timeout","timeoutId","response","_args","arguments","_t","wrap","_context","prev","next","abort","controller","AbortController","setTimeout","_this2$controller","signal","aborted","_this2$controller2","emit","TimeoutError","concat","fetch","_objectSpread","sent","ok","ConnectionError","status","abrupt","json","name","logger","error","clearTimeout","finish","stop","_x","_x2","apply","EventEmitter"],"mappings":"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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ConnectionInfo, ConnectionStats, SSEConnectionState } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* 连接管理器 - 直接使用全局Logger
|
|
4
|
-
*/
|
|
5
|
-
export declare class ConnectionManager {
|
|
6
|
-
private connectionId;
|
|
7
|
-
private connectionStartTime;
|
|
8
|
-
private stats;
|
|
9
|
-
private logger;
|
|
10
|
-
constructor(connectionId: string);
|
|
11
|
-
/**
|
|
12
|
-
* 处理连接错误
|
|
13
|
-
*/
|
|
14
|
-
handleConnectionError(error: Error): boolean;
|
|
15
|
-
/**
|
|
16
|
-
* 开始连接计时
|
|
17
|
-
*/
|
|
18
|
-
startConnection(): void;
|
|
19
|
-
/**
|
|
20
|
-
* 连接成功
|
|
21
|
-
*/
|
|
22
|
-
onConnectionSuccess(): void;
|
|
23
|
-
/**
|
|
24
|
-
* 更新连接状态并记录统计信息
|
|
25
|
-
*/
|
|
26
|
-
updateState(state: SSEConnectionState, error?: Error): void;
|
|
27
|
-
/**
|
|
28
|
-
* 获取连接信息
|
|
29
|
-
*/
|
|
30
|
-
getConnectionInfo(): ConnectionInfo;
|
|
31
|
-
/**
|
|
32
|
-
* 获取连接统计
|
|
33
|
-
*/
|
|
34
|
-
getStats(): ConnectionStats;
|
|
35
|
-
/**
|
|
36
|
-
* 清理资源
|
|
37
|
-
*/
|
|
38
|
-
cleanup(): void;
|
|
39
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* tdesign v1.0.0-beta.3
|
|
3
|
-
* (c) 2025 tdesign
|
|
4
|
-
* @license MIT
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
8
|
-
import _createClass from '@babel/runtime/helpers/createClass';
|
|
9
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
10
|
-
import { LoggerManager } from '../utils/logger.js';
|
|
11
|
-
import { TimeoutError } from './errors.js';
|
|
12
|
-
import '@babel/runtime/helpers/possibleConstructorReturn';
|
|
13
|
-
import '@babel/runtime/helpers/getPrototypeOf';
|
|
14
|
-
import '@babel/runtime/helpers/inherits';
|
|
15
|
-
import '@babel/runtime/helpers/wrapNativeSuper';
|
|
16
|
-
|
|
17
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
|
-
var ConnectionManager = /*#__PURE__*/function () {
|
|
20
|
-
function ConnectionManager(connectionId) {
|
|
21
|
-
_classCallCheck(this, ConnectionManager);
|
|
22
|
-
_defineProperty(this, "connectionStartTime", 0);
|
|
23
|
-
_defineProperty(this, "logger", LoggerManager.getLogger());
|
|
24
|
-
this.connectionId = connectionId;
|
|
25
|
-
this.stats = {};
|
|
26
|
-
}
|
|
27
|
-
return _createClass(ConnectionManager, [{
|
|
28
|
-
key: "handleConnectionError",
|
|
29
|
-
value: function handleConnectionError(error) {
|
|
30
|
-
this.logger.error("Connection ".concat(this.connectionId, " error:"), error);
|
|
31
|
-
this.stats.lastError = error;
|
|
32
|
-
if (error instanceof TimeoutError) {
|
|
33
|
-
this.logger.info("Timeout error occurred, no retry will be attempted");
|
|
34
|
-
}
|
|
35
|
-
this.cleanup();
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
}, {
|
|
39
|
-
key: "startConnection",
|
|
40
|
-
value: function startConnection() {
|
|
41
|
-
this.connectionStartTime = Date.now();
|
|
42
|
-
this.logger.debug("Connection ".concat(this.connectionId, " started"));
|
|
43
|
-
}
|
|
44
|
-
}, {
|
|
45
|
-
key: "onConnectionSuccess",
|
|
46
|
-
value: function onConnectionSuccess() {
|
|
47
|
-
var duration = Date.now() - this.connectionStartTime;
|
|
48
|
-
this.logger.info("Connection established in ".concat(duration, "ms"));
|
|
49
|
-
this.stats.connectionTime = duration;
|
|
50
|
-
}
|
|
51
|
-
}, {
|
|
52
|
-
key: "updateState",
|
|
53
|
-
value: function updateState(state, error) {
|
|
54
|
-
if (error) {
|
|
55
|
-
this.stats.lastError = error;
|
|
56
|
-
}
|
|
57
|
-
this.logger.debug("State updated to ".concat(state));
|
|
58
|
-
}
|
|
59
|
-
}, {
|
|
60
|
-
key: "getConnectionInfo",
|
|
61
|
-
value: function getConnectionInfo() {
|
|
62
|
-
return {
|
|
63
|
-
id: this.connectionId,
|
|
64
|
-
retryCount: 0,
|
|
65
|
-
lastActivity: Date.now(),
|
|
66
|
-
stats: _objectSpread({}, this.stats)
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
}, {
|
|
70
|
-
key: "getStats",
|
|
71
|
-
value: function getStats() {
|
|
72
|
-
return _objectSpread({}, this.stats);
|
|
73
|
-
}
|
|
74
|
-
}, {
|
|
75
|
-
key: "cleanup",
|
|
76
|
-
value: function cleanup() {
|
|
77
|
-
this.stats = {};
|
|
78
|
-
this.logger.debug("Connection manager ".concat(this.connectionId, " cleaned up"));
|
|
79
|
-
}
|
|
80
|
-
}]);
|
|
81
|
-
}();
|
|
82
|
-
|
|
83
|
-
export { ConnectionManager };
|
|
84
|
-
//# sourceMappingURL=connection-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.js","sources":["../../../../../pro-components/chat/chatbot/core/server/connection-manager.ts"],"sourcesContent":["import { LoggerManager } from '../utils/logger';\nimport { TimeoutError } from './errors';\nimport { ConnectionInfo, ConnectionStats, SSEConnectionState } from './types';\n\n/**\n * 连接管理器 - 直接使用全局Logger\n */\nexport class ConnectionManager {\n private connectionStartTime = 0;\n\n private stats: ConnectionStats;\n\n private logger = LoggerManager.getLogger(); // 直接使用全局Logger\n\n constructor(private connectionId: string) {\n this.stats = {};\n }\n\n /**\n * 处理连接错误\n */\n handleConnectionError(error: Error): boolean {\n this.logger.error(`Connection ${this.connectionId} error:`, error);\n this.stats.lastError = error;\n\n if (error instanceof TimeoutError) {\n this.logger.info('Timeout error occurred, no retry will be attempted');\n }\n\n this.cleanup();\n return false;\n }\n\n /**\n * 开始连接计时\n */\n startConnection(): void {\n this.connectionStartTime = Date.now();\n this.logger.debug(`Connection ${this.connectionId} started`);\n }\n\n /**\n * 连接成功\n */\n onConnectionSuccess(): void {\n const duration = Date.now() - this.connectionStartTime;\n this.logger.info(`Connection established in ${duration}ms`);\n this.stats.connectionTime = duration;\n }\n\n /**\n * 更新连接状态并记录统计信息\n */\n updateState(state: SSEConnectionState, error?: Error): void {\n if (error) {\n this.stats.lastError = error;\n }\n\n this.logger.debug(`State updated to ${state}`);\n }\n\n /**\n * 获取连接信息\n */\n getConnectionInfo(): ConnectionInfo {\n return {\n id: this.connectionId,\n retryCount: 0,\n lastActivity: Date.now(),\n stats: { ...this.stats },\n };\n }\n\n /**\n * 获取连接统计\n */\n getStats(): ConnectionStats {\n return { ...this.stats };\n }\n\n /**\n * 清理资源\n */\n cleanup(): void {\n this.stats = {};\n this.logger.debug(`Connection manager ${this.connectionId} cleaned up`);\n }\n}\n"],"names":["ConnectionManager","connectionId","_classCallCheck","_defineProperty","LoggerManager","getLogger","stats","_createClass","key","value","handleConnectionError","error","logger","concat","lastError","TimeoutError","info","cleanup","startConnection","connectionStartTime","Date","now","debug","onConnectionSuccess","duration","connectionTime","updateState","state","getConnectionInfo","id","retryCount","lastActivity","_objectSpread","getStats"],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced error classes for SSE client
|
|
3
|
-
*/
|
|
4
|
-
export declare class SSEError extends Error {
|
|
5
|
-
readonly code: string;
|
|
6
|
-
readonly statusCode?: number;
|
|
7
|
-
readonly isRetryable: boolean;
|
|
8
|
-
readonly details?: any;
|
|
9
|
-
constructor(message: string, code: string, statusCode?: number, isRetryable?: boolean, details?: any);
|
|
10
|
-
}
|
|
11
|
-
export declare class ConnectionError extends SSEError {
|
|
12
|
-
constructor(message: string, statusCode?: number, details?: any);
|
|
13
|
-
}
|
|
14
|
-
export declare class TimeoutError extends SSEError {
|
|
15
|
-
constructor(details?: any, message?: string);
|
|
16
|
-
}
|
|
17
|
-
export declare class ParseError extends SSEError {
|
|
18
|
-
constructor(message: string, details?: any);
|
|
19
|
-
}
|
|
20
|
-
export declare class ValidationError extends SSEError {
|
|
21
|
-
constructor(message: string, details?: any);
|
|
22
|
-
}
|