@ai-group/chat-sdk 2.1.13 → 3.0.1-alpha.2
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/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js +564 -10
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js +92 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/index.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js +137 -0
- package/dist/cjs/components/XAdkChatbot/components/FileGallery/styles.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +41 -5
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +14 -3
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/index.d.ts +11 -1
- package/dist/cjs/components/XAdkChatbot/index.js +294 -108
- package/dist/cjs/components/XAdkChatbot/index.js.map +3 -3
- package/dist/cjs/components/XAdkChatbot/styles.d.ts +10 -0
- package/dist/cjs/components/XAdkChatbot/styles.js +67 -3
- package/dist/cjs/components/XAdkChatbot/styles.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js +394 -0
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
- package/dist/cjs/components/XAdkProvider/compound/Chatbot.js +64 -0
- package/dist/cjs/components/XAdkProvider/compound/Chatbot.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js +199 -0
- package/dist/cjs/components/XAdkProvider/compound/DefaultLayout.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
- package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js +117 -0
- package/dist/cjs/components/XAdkProvider/compound/DislikeFeedBack.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
- package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js +64 -0
- package/dist/cjs/components/XAdkProvider/compound/FeedbackTags.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Header.d.ts +25 -0
- package/dist/cjs/components/XAdkProvider/compound/Header.js +70 -0
- package/dist/cjs/components/XAdkProvider/compound/Header.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Messages.d.ts +17 -0
- package/dist/cjs/components/XAdkProvider/compound/Messages.js +70 -0
- package/dist/cjs/components/XAdkProvider/compound/Messages.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Sender.d.ts +27 -0
- package/dist/cjs/components/XAdkProvider/compound/Sender.js +55 -0
- package/dist/cjs/components/XAdkProvider/compound/Sender.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
- package/dist/cjs/components/XAdkProvider/compound/Sidebar.js +151 -0
- package/dist/cjs/components/XAdkProvider/compound/Sidebar.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/Welcome.d.ts +6 -0
- package/dist/cjs/components/XAdkProvider/compound/Welcome.js +60 -0
- package/dist/cjs/components/XAdkProvider/compound/Welcome.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/index.d.ts +17 -0
- package/dist/cjs/components/XAdkProvider/compound/index.js +55 -0
- package/dist/cjs/components/XAdkProvider/compound/index.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/compound/styles.d.ts +36 -0
- package/dist/cjs/components/XAdkProvider/compound/styles.js +49 -0
- package/dist/cjs/components/XAdkProvider/compound/styles.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
- package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js +40 -0
- package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
- package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js +42 -0
- package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/context/SessionContext.d.ts +29 -0
- package/dist/cjs/components/XAdkProvider/context/SessionContext.js +40 -0
- package/dist/cjs/components/XAdkProvider/context/SessionContext.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/context/index.d.ts +7 -0
- package/dist/cjs/components/XAdkProvider/context/index.js +28 -0
- package/dist/cjs/components/XAdkProvider/context/index.js.map +7 -0
- package/dist/cjs/components/XAdkProvider/index.d.ts +55 -0
- package/dist/cjs/components/XAdkProvider/index.js +221 -0
- package/dist/cjs/components/XAdkProvider/index.js.map +7 -0
- package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -1
- package/dist/cjs/components/XAdkProvider/styles.js.map +7 -0
- package/dist/cjs/components/XAdkSender/FileGallery.d.ts +8 -0
- package/dist/cjs/components/XAdkSender/FileGallery.js +381 -0
- package/dist/cjs/components/XAdkSender/FileGallery.js.map +7 -0
- package/dist/cjs/components/XAdkSender/index.js +95 -81
- package/dist/cjs/components/XAdkSender/index.js.map +3 -3
- package/dist/cjs/components/XAdkSender/styles.d.ts +0 -9
- package/dist/cjs/components/XAdkSender/styles.js +21 -150
- package/dist/cjs/components/XAdkSender/styles.js.map +2 -2
- package/dist/cjs/components/XAiConversations/index.js +1 -1
- package/dist/cjs/components/XAiConversations/index.js.map +2 -2
- package/dist/cjs/components/XAiConversations/styles.js +5 -0
- package/dist/cjs/components/XAiConversations/styles.js.map +2 -2
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js +180 -0
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +7 -0
- package/dist/cjs/components/XAiThoughtChain/index.d.ts +4 -0
- package/dist/cjs/components/XAiThoughtChain/index.js +155 -0
- package/dist/cjs/components/XAiThoughtChain/index.js.map +7 -0
- package/dist/cjs/components/XAiThoughtChain/styles.d.ts +60 -0
- package/dist/cjs/components/XAiThoughtChain/styles.js +195 -0
- package/dist/cjs/components/XAiThoughtChain/styles.js.map +7 -0
- package/dist/cjs/hooks/useADKChat.d.ts +9 -3
- package/dist/cjs/hooks/useADKChat.js +246 -182
- package/dist/cjs/hooks/useADKChat.js.map +2 -2
- package/dist/cjs/index.d.ts +25 -9
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/styles/common.js +1 -1
- package/dist/cjs/styles/common.js.map +2 -2
- package/dist/cjs/types/ChatHook.d.ts +81 -0
- package/dist/cjs/types/ChatHook.js +18 -0
- package/dist/cjs/types/ChatHook.js.map +7 -0
- package/dist/cjs/types/XAdkChatbot.d.ts +80 -15
- package/dist/cjs/types/XAdkChatbot.js.map +1 -1
- package/dist/cjs/types/XAdkProvider.d.ts +10 -27
- package/dist/cjs/types/XAdkProvider.js.map +2 -2
- package/dist/cjs/types/XAdkSender.d.ts +18 -0
- package/dist/cjs/types/XAdkSender.js.map +1 -1
- package/dist/cjs/types/XAiConversations.d.ts +4 -2
- package/dist/cjs/types/XAiConversations.js.map +1 -1
- package/dist/cjs/types/XAiThoughtChain.d.ts +25 -0
- package/dist/cjs/types/XAiThoughtChain.js +18 -0
- package/dist/cjs/types/XAiThoughtChain.js.map +7 -0
- package/dist/cjs/types/index.d.ts +9 -8
- package/dist/cjs/types/index.js +2 -0
- package/dist/cjs/types/index.js.map +2 -2
- package/dist/cjs/utils/index.d.ts +2 -0
- package/dist/cjs/utils/index.js +11 -1
- package/dist/cjs/utils/index.js.map +2 -2
- package/dist/cjs/utils/parseAgentMessage.d.ts +81 -0
- package/dist/cjs/utils/parseAgentMessage.js +180 -0
- package/dist/cjs/utils/parseAgentMessage.js.map +7 -0
- package/dist/cjs/utils/umdEntry.d.ts +91 -0
- package/dist/cjs/utils/umdEntry.js +108 -6
- package/dist/cjs/utils/umdEntry.js.map +3 -3
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +9 -2
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +485 -8
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/FileGallery/index.d.ts +12 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js +104 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/index.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.d.ts +44 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js +20 -0
- package/dist/esm/components/XAdkChatbot/components/FileGallery/styles.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +17 -15
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +7 -6
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/index.d.ts +11 -1
- package/dist/esm/components/XAdkChatbot/index.js +392 -174
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/styles.d.ts +10 -0
- package/dist/esm/components/XAdkChatbot/styles.js +23 -12
- package/dist/esm/components/XAdkChatbot/styles.js.map +1 -1
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.d.ts +10 -0
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js +338 -0
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Chatbot.d.ts +30 -0
- package/dist/esm/components/XAdkProvider/compound/Chatbot.js +47 -0
- package/dist/esm/components/XAdkProvider/compound/Chatbot.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.d.ts +26 -0
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js +142 -0
- package/dist/esm/components/XAdkProvider/compound/DefaultLayout.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.d.ts +8 -0
- package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js +122 -0
- package/dist/esm/components/XAdkProvider/compound/DislikeFeedBack.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/FeedbackTags.d.ts +7 -0
- package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js +34 -0
- package/dist/esm/components/XAdkProvider/compound/FeedbackTags.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Header.d.ts +25 -0
- package/dist/esm/components/XAdkProvider/compound/Header.js +79 -0
- package/dist/esm/components/XAdkProvider/compound/Header.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Messages.d.ts +17 -0
- package/dist/esm/components/XAdkProvider/compound/Messages.js +53 -0
- package/dist/esm/components/XAdkProvider/compound/Messages.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Sender.d.ts +27 -0
- package/dist/esm/components/XAdkProvider/compound/Sender.js +41 -0
- package/dist/esm/components/XAdkProvider/compound/Sender.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Sidebar.d.ts +24 -0
- package/dist/esm/components/XAdkProvider/compound/Sidebar.js +142 -0
- package/dist/esm/components/XAdkProvider/compound/Sidebar.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/Welcome.d.ts +6 -0
- package/dist/esm/components/XAdkProvider/compound/Welcome.js +36 -0
- package/dist/esm/components/XAdkProvider/compound/Welcome.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/index.d.ts +17 -0
- package/dist/esm/components/XAdkProvider/compound/index.js +13 -0
- package/dist/esm/components/XAdkProvider/compound/index.js.map +1 -0
- package/dist/esm/components/XAdkProvider/compound/styles.d.ts +36 -0
- package/dist/esm/components/XAdkProvider/compound/styles.js +10 -0
- package/dist/esm/components/XAdkProvider/compound/styles.js.map +1 -0
- package/dist/esm/components/XAdkProvider/context/ChatActionContext.d.ts +30 -0
- package/dist/esm/components/XAdkProvider/context/ChatActionContext.js +23 -0
- package/dist/esm/components/XAdkProvider/context/ChatActionContext.js.map +1 -0
- package/dist/esm/components/XAdkProvider/context/ChatStateContext.d.ts +35 -0
- package/dist/esm/components/XAdkProvider/context/ChatStateContext.js +23 -0
- package/dist/esm/components/XAdkProvider/context/ChatStateContext.js.map +1 -0
- package/dist/esm/components/XAdkProvider/context/SessionContext.d.ts +29 -0
- package/dist/esm/components/XAdkProvider/context/SessionContext.js +22 -0
- package/dist/esm/components/XAdkProvider/context/SessionContext.js.map +1 -0
- package/dist/esm/components/XAdkProvider/context/index.d.ts +7 -0
- package/dist/esm/components/XAdkProvider/context/index.js +9 -0
- package/dist/esm/components/XAdkProvider/context/index.js.map +1 -0
- package/dist/esm/components/XAdkProvider/index.d.ts +55 -0
- package/dist/esm/components/XAdkProvider/index.js +220 -0
- package/dist/esm/components/XAdkProvider/index.js.map +1 -0
- package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.js +2 -2
- package/dist/esm/components/XAdkProvider/styles.js.map +1 -0
- package/dist/esm/components/XAdkSender/FileGallery.d.ts +8 -0
- package/dist/esm/components/XAdkSender/FileGallery.js +236 -0
- package/dist/esm/components/XAdkSender/FileGallery.js.map +1 -0
- package/dist/esm/components/XAdkSender/index.js +92 -109
- package/dist/esm/components/XAdkSender/index.js.map +1 -1
- package/dist/esm/components/XAdkSender/styles.d.ts +0 -9
- package/dist/esm/components/XAdkSender/styles.js +14 -31
- package/dist/esm/components/XAdkSender/styles.js.map +1 -1
- package/dist/esm/components/XAiConversations/index.js +1 -1
- package/dist/esm/components/XAiConversations/index.js.map +1 -1
- package/dist/esm/components/XAiConversations/styles.js +2 -2
- package/dist/esm/components/XAiConversations/styles.js.map +1 -1
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js +159 -0
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +1 -0
- package/dist/esm/components/XAiThoughtChain/index.d.ts +4 -0
- package/dist/esm/components/XAiThoughtChain/index.js +180 -0
- package/dist/esm/components/XAiThoughtChain/index.js.map +1 -0
- package/dist/esm/components/XAiThoughtChain/styles.d.ts +60 -0
- package/dist/esm/components/XAiThoughtChain/styles.js +40 -0
- package/dist/esm/components/XAiThoughtChain/styles.js.map +1 -0
- package/dist/esm/hooks/useADKChat.d.ts +9 -3
- package/dist/esm/hooks/useADKChat.js +75 -54
- package/dist/esm/hooks/useADKChat.js.map +1 -1
- package/dist/esm/index.d.ts +25 -9
- package/dist/esm/index.js +28 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/styles/common.js +11 -11
- package/dist/esm/styles/common.js.map +1 -1
- package/dist/esm/types/ChatHook.d.ts +81 -0
- package/dist/esm/types/ChatHook.js +2 -0
- package/dist/esm/types/ChatHook.js.map +1 -0
- package/dist/esm/types/XAdkChatbot.d.ts +80 -15
- package/dist/esm/types/XAdkChatbot.js.map +1 -1
- package/dist/esm/types/XAdkProvider.d.ts +10 -27
- package/dist/esm/types/XAdkProvider.js.map +1 -1
- package/dist/esm/types/XAdkSender.d.ts +18 -0
- package/dist/esm/types/XAdkSender.js.map +1 -1
- package/dist/esm/types/XAiConversations.d.ts +4 -2
- package/dist/esm/types/XAiConversations.js.map +1 -1
- package/dist/esm/types/XAiThoughtChain.d.ts +25 -0
- package/dist/esm/types/XAiThoughtChain.js +2 -0
- package/dist/esm/types/XAiThoughtChain.js.map +1 -0
- package/dist/esm/types/index.d.ts +9 -8
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/parseAgentMessage.d.ts +81 -0
- package/dist/esm/utils/parseAgentMessage.js +286 -0
- package/dist/esm/utils/parseAgentMessage.js.map +1 -0
- package/dist/esm/utils/umdEntry.d.ts +91 -0
- package/dist/esm/utils/umdEntry.js +154 -16
- package/dist/esm/utils/umdEntry.js.map +1 -1
- package/dist/umd/chat-sdk.min.css +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +20 -11
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -160
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -7
- package/dist/cjs/components/XAdkWebProvider/index.d.ts +0 -4
- package/dist/cjs/components/XAdkWebProvider/index.js +0 -372
- package/dist/cjs/components/XAdkWebProvider/index.js.map +0 -7
- package/dist/cjs/components/XAdkWebProvider/styles.js.map +0 -7
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +0 -7
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +0 -158
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +0 -1
- package/dist/esm/components/XAdkWebProvider/index.d.ts +0 -4
- package/dist/esm/components/XAdkWebProvider/index.js +0 -480
- package/dist/esm/components/XAdkWebProvider/index.js.map +0 -1
- package/dist/esm/components/XAdkWebProvider/styles.js.map +0 -1
- /package/dist/cjs/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
- /package/dist/esm/components/{XAdkWebProvider → XAdkProvider}/styles.d.ts +0 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 解析后的消息片段类型
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 解析规则配置
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 清理 process 文本
|
|
11
|
+
* - 移除多余的换行
|
|
12
|
+
* - 移除 JSON 代码块标记
|
|
13
|
+
*/
|
|
14
|
+
export function cleanProcessText(text) {
|
|
15
|
+
return text.replace(/```json\s*/g, '').replace(/```\s*/g, '').replace(/^\n+/, '').replace(/\n+$/, '').trim();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* XML 模式解析 (默认)
|
|
20
|
+
* 识别标签: <reasoning>、<planning>、<replanning>、<action_log>
|
|
21
|
+
*/
|
|
22
|
+
function parseXmlMode(text) {
|
|
23
|
+
var parts = [];
|
|
24
|
+
|
|
25
|
+
// 定义标签模式
|
|
26
|
+
var tagPatterns = [{
|
|
27
|
+
regex: /<reasoning>([\s\S]*?)<\/reasoning>/g,
|
|
28
|
+
type: 'reasoning'
|
|
29
|
+
}, {
|
|
30
|
+
regex: /<planning>([\s\S]*?)<\/planning>/g,
|
|
31
|
+
type: 'planning'
|
|
32
|
+
}, {
|
|
33
|
+
regex: /<replanning>([\s\S]*?)<\/replanning>/g,
|
|
34
|
+
type: 'replanning'
|
|
35
|
+
}, {
|
|
36
|
+
regex: /<action_log>([\s\S]*?)<\/action_log>/g,
|
|
37
|
+
type: 'action_log'
|
|
38
|
+
}];
|
|
39
|
+
|
|
40
|
+
// 收集所有标签位置
|
|
41
|
+
|
|
42
|
+
var matches = [];
|
|
43
|
+
tagPatterns.forEach(function (_ref) {
|
|
44
|
+
var regex = _ref.regex,
|
|
45
|
+
type = _ref.type;
|
|
46
|
+
var match;
|
|
47
|
+
var tempRegex = new RegExp(regex);
|
|
48
|
+
while ((match = tempRegex.exec(text)) !== null) {
|
|
49
|
+
matches.push({
|
|
50
|
+
type: type,
|
|
51
|
+
start: match.index,
|
|
52
|
+
end: match.index + match[0].length,
|
|
53
|
+
content: match[1].trim()
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
// 按位置排序
|
|
59
|
+
matches.sort(function (a, b) {
|
|
60
|
+
return a.start - b.start;
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
// 提取文本和标签
|
|
64
|
+
var currentPos = 0;
|
|
65
|
+
matches.forEach(function (match) {
|
|
66
|
+
// 添加标签前的文本
|
|
67
|
+
if (match.start > currentPos) {
|
|
68
|
+
var textBefore = text.substring(currentPos, match.start).trim();
|
|
69
|
+
if (textBefore) {
|
|
70
|
+
parts.push({
|
|
71
|
+
type: 'text',
|
|
72
|
+
content: textBefore
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// 添加标签内容
|
|
78
|
+
parts.push({
|
|
79
|
+
type: match.type,
|
|
80
|
+
content: match.content
|
|
81
|
+
});
|
|
82
|
+
currentPos = match.end;
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// 添加最后的文本
|
|
86
|
+
if (currentPos < text.length) {
|
|
87
|
+
var textAfter = text.substring(currentPos).trim();
|
|
88
|
+
if (textAfter) {
|
|
89
|
+
parts.push({
|
|
90
|
+
type: 'text',
|
|
91
|
+
content: textAfter
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return parts;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* 注释模式解析 (/*PLANNING*\/ 格式)
|
|
100
|
+
* 适用于业务项目的格式
|
|
101
|
+
*/
|
|
102
|
+
function parseCommentMode(text) {
|
|
103
|
+
var finalMarker = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '/*FINAL_ANSWER*/';
|
|
104
|
+
// 如果完全没有 Agent 推理标记,则整段文本视为最终结果
|
|
105
|
+
if (!text.includes('/*')) {
|
|
106
|
+
return [{
|
|
107
|
+
type: 'final_result',
|
|
108
|
+
content: text
|
|
109
|
+
}];
|
|
110
|
+
}
|
|
111
|
+
var results = [];
|
|
112
|
+
var finalIndex = text.indexOf(finalMarker);
|
|
113
|
+
var processText = text;
|
|
114
|
+
var finalText = '';
|
|
115
|
+
if (finalIndex !== -1) {
|
|
116
|
+
processText = text.substring(0, finalIndex);
|
|
117
|
+
finalText = text.substring(finalIndex + finalMarker.length);
|
|
118
|
+
}
|
|
119
|
+
var regex = /(\/\*PLANNING\*\/|\/\*REPLANNING\*\/|\/\*REASONING\*\/|\/\*ACTION\*\/)/g;
|
|
120
|
+
var parts = processText.split(regex);
|
|
121
|
+
var currentType = 'process_text';
|
|
122
|
+
parts.forEach(function (part) {
|
|
123
|
+
if (part === '/*PLANNING*/') {
|
|
124
|
+
currentType = 'planning';
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (part === '/*REPLANNING*/') {
|
|
128
|
+
currentType = 'replanning';
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (part === '/*REASONING*/') {
|
|
132
|
+
currentType = 'reasoning';
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (part === '/*ACTION*/') {
|
|
136
|
+
currentType = 'action_log';
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
if (part && part.trim().length > 0) {
|
|
140
|
+
results.push({
|
|
141
|
+
type: currentType,
|
|
142
|
+
content: part
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
if (finalText.trim()) {
|
|
147
|
+
results.push({
|
|
148
|
+
type: 'final_result',
|
|
149
|
+
content: finalText
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
return results;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* 自定义模式解析
|
|
157
|
+
*/
|
|
158
|
+
function parseCustomMode(text, patterns) {
|
|
159
|
+
var parts = [];
|
|
160
|
+
var matches = [];
|
|
161
|
+
patterns.forEach(function (_ref2) {
|
|
162
|
+
var regex = _ref2.regex,
|
|
163
|
+
type = _ref2.type;
|
|
164
|
+
var match;
|
|
165
|
+
var tempRegex = new RegExp(regex);
|
|
166
|
+
while ((match = tempRegex.exec(text)) !== null) {
|
|
167
|
+
var _match$;
|
|
168
|
+
matches.push({
|
|
169
|
+
type: type,
|
|
170
|
+
start: match.index,
|
|
171
|
+
end: match.index + match[0].length,
|
|
172
|
+
content: ((_match$ = match[1]) === null || _match$ === void 0 ? void 0 : _match$.trim()) || match[0]
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
matches.sort(function (a, b) {
|
|
177
|
+
return a.start - b.start;
|
|
178
|
+
});
|
|
179
|
+
var currentPos = 0;
|
|
180
|
+
matches.forEach(function (match) {
|
|
181
|
+
if (match.start > currentPos) {
|
|
182
|
+
var textBefore = text.substring(currentPos, match.start).trim();
|
|
183
|
+
if (textBefore) {
|
|
184
|
+
parts.push({
|
|
185
|
+
type: 'text',
|
|
186
|
+
content: textBefore
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
parts.push({
|
|
191
|
+
type: match.type,
|
|
192
|
+
content: match.content
|
|
193
|
+
});
|
|
194
|
+
currentPos = match.end;
|
|
195
|
+
});
|
|
196
|
+
if (currentPos < text.length) {
|
|
197
|
+
var textAfter = text.substring(currentPos).trim();
|
|
198
|
+
if (textAfter) {
|
|
199
|
+
parts.push({
|
|
200
|
+
type: 'text',
|
|
201
|
+
content: textAfter
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
return parts;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* 解析 Agent 消息 (支持多种格式)
|
|
210
|
+
*
|
|
211
|
+
* @param text 原始消息文本
|
|
212
|
+
* @param options 解析选项
|
|
213
|
+
* @returns 解析后的消息片段数组
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* // XML 模式 (默认)
|
|
217
|
+
* const parts1 = parseAgentMessage(`
|
|
218
|
+
* <reasoning>分析用户需求...</reasoning>
|
|
219
|
+
* 最终回复内容
|
|
220
|
+
* `);
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* // 注释模式 (业务项目格式)
|
|
224
|
+
* const parts2 = parseAgentMessage(`
|
|
225
|
+
* /*REASONING*\/分析用户需求...
|
|
226
|
+
* /*FINAL_ANSWER*\/最终回复内容
|
|
227
|
+
* `, { mode: 'comment' });
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* // 自定义模式
|
|
231
|
+
* const parts3 = parseAgentMessage(text, {
|
|
232
|
+
* mode: 'custom',
|
|
233
|
+
* customPatterns: [
|
|
234
|
+
* { regex: /\[REASONING\]([\s\S]*?)\[\/REASONING\]/g, type: 'reasoning' }
|
|
235
|
+
* ]
|
|
236
|
+
* });
|
|
237
|
+
*/
|
|
238
|
+
export function parseAgentMessage(text) {
|
|
239
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
240
|
+
if (!text) return [];
|
|
241
|
+
var _options$mode = options.mode,
|
|
242
|
+
mode = _options$mode === void 0 ? 'xml' : _options$mode,
|
|
243
|
+
customPatterns = options.customPatterns,
|
|
244
|
+
finalMarker = options.finalMarker;
|
|
245
|
+
|
|
246
|
+
// 根据模式选择解析器
|
|
247
|
+
if (mode === 'comment') {
|
|
248
|
+
return parseCommentMode(text, finalMarker);
|
|
249
|
+
}
|
|
250
|
+
if (mode === 'custom' && customPatterns) {
|
|
251
|
+
return parseCustomMode(text, customPatterns);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
// 默认 XML 模式
|
|
255
|
+
var parts = parseXmlMode(text);
|
|
256
|
+
|
|
257
|
+
// 如果没有任何标签,返回整个文本
|
|
258
|
+
if (parts.length === 0) {
|
|
259
|
+
return [{
|
|
260
|
+
type: 'text',
|
|
261
|
+
content: text
|
|
262
|
+
}];
|
|
263
|
+
}
|
|
264
|
+
return parts;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* 检查是否包含 process 内容
|
|
269
|
+
*/
|
|
270
|
+
export function hasProcessContent(parts) {
|
|
271
|
+
return parts.some(function (part) {
|
|
272
|
+
return ['planning', 'replanning', 'reasoning', 'action_log', 'process_text'].includes(part.type);
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* 获取纯文本内容(不包含 process 标签)
|
|
278
|
+
*/
|
|
279
|
+
export function getPlainText(parts) {
|
|
280
|
+
return parts.filter(function (part) {
|
|
281
|
+
return part.type === 'text' || part.type === 'final_result';
|
|
282
|
+
}).map(function (part) {
|
|
283
|
+
return part.content;
|
|
284
|
+
}).join('\n\n').trim();
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=parseAgentMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["cleanProcessText","text","replace","trim","parseXmlMode","parts","tagPatterns","regex","type","matches","forEach","_ref","match","tempRegex","RegExp","exec","push","start","index","end","length","content","sort","a","b","currentPos","textBefore","substring","textAfter","parseCommentMode","finalMarker","arguments","undefined","includes","results","finalIndex","indexOf","processText","finalText","split","currentType","part","parseCustomMode","patterns","_ref2","_match$","parseAgentMessage","options","_options$mode","mode","customPatterns","hasProcessContent","some","getPlainText","filter","map","join"],"sources":["../../../src/utils/parseAgentMessage.ts"],"sourcesContent":["/**\n * 解析后的消息片段类型\n */\nexport interface ParsedPart {\n type: 'text' | 'planning' | 'replanning' | 'reasoning' | 'action_log' | 'final_result' | 'process_text';\n content: string;\n}\n\n/**\n * 解析规则配置\n */\nexport interface ParseAgentMessageOptions {\n /**\n * 解析模式\n * - 'xml': XML 标签模式 <reasoning>...</reasoning>\n * - 'comment': 注释标签模式 /*REASONING*\\/\n * - 'custom': 自定义正则模式\n */\n mode?: 'xml' | 'comment' | 'custom';\n\n /**\n * 自定义正则规则 (mode='custom' 时使用)\n * @example\n * [\n * { regex: /\\[REASONING\\]([\\s\\S]*?)\\[\\/REASONING\\]/g, type: 'reasoning' },\n * { regex: /\\[PLANNING\\]([\\s\\S]*?)\\[\\/PLANNING\\]/g, type: 'planning' }\n * ]\n */\n customPatterns?: Array<{\n regex: RegExp;\n type: ParsedPart['type'];\n }>;\n\n /**\n * 最终答案标记 (comment 模式使用)\n * @default '/*FINAL_ANSWER*\\/'\n */\n finalMarker?: string;\n}\n\n/**\n * 清理 process 文本\n * - 移除多余的换行\n * - 移除 JSON 代码块标记\n */\nexport function cleanProcessText(text: string): string {\n return text\n .replace(/```json\\s*/g, '')\n .replace(/```\\s*/g, '')\n .replace(/^\\n+/, '')\n .replace(/\\n+$/, '')\n .trim();\n}\n\n/**\n * XML 模式解析 (默认)\n * 识别标签: <reasoning>、<planning>、<replanning>、<action_log>\n */\nfunction parseXmlMode(text: string): ParsedPart[] {\n const parts: ParsedPart[] = [];\n\n // 定义标签模式\n const tagPatterns: Array<{\n regex: RegExp;\n type: ParsedPart['type'];\n }> = [\n { regex: /<reasoning>([\\s\\S]*?)<\\/reasoning>/g, type: 'reasoning' },\n { regex: /<planning>([\\s\\S]*?)<\\/planning>/g, type: 'planning' },\n { regex: /<replanning>([\\s\\S]*?)<\\/replanning>/g, type: 'replanning' },\n { regex: /<action_log>([\\s\\S]*?)<\\/action_log>/g, type: 'action_log' },\n ];\n\n // 收集所有标签位置\n interface TagMatch {\n type: ParsedPart['type'];\n start: number;\n end: number;\n content: string;\n }\n\n const matches: TagMatch[] = [];\n\n tagPatterns.forEach(({ regex, type }) => {\n let match;\n const tempRegex = new RegExp(regex);\n while ((match = tempRegex.exec(text)) !== null) {\n matches.push({\n type,\n start: match.index,\n end: match.index + match[0].length,\n content: match[1].trim(),\n });\n }\n });\n\n // 按位置排序\n matches.sort((a, b) => a.start - b.start);\n\n // 提取文本和标签\n let currentPos = 0;\n\n matches.forEach((match) => {\n // 添加标签前的文本\n if (match.start > currentPos) {\n const textBefore = text.substring(currentPos, match.start).trim();\n if (textBefore) {\n parts.push({ type: 'text', content: textBefore });\n }\n }\n\n // 添加标签内容\n parts.push({ type: match.type, content: match.content });\n\n currentPos = match.end;\n });\n\n // 添加最后的文本\n if (currentPos < text.length) {\n const textAfter = text.substring(currentPos).trim();\n if (textAfter) {\n parts.push({ type: 'text', content: textAfter });\n }\n }\n\n return parts;\n}\n\n/**\n * 注释模式解析 (/*PLANNING*\\/ 格式)\n * 适用于业务项目的格式\n */\nfunction parseCommentMode(text: string, finalMarker: string = '/*FINAL_ANSWER*/'): ParsedPart[] {\n // 如果完全没有 Agent 推理标记,则整段文本视为最终结果\n if (!text.includes('/*')) {\n return [{ type: 'final_result', content: text }];\n }\n\n const results: ParsedPart[] = [];\n const finalIndex = text.indexOf(finalMarker);\n\n let processText = text;\n let finalText = '';\n\n if (finalIndex !== -1) {\n processText = text.substring(0, finalIndex);\n finalText = text.substring(finalIndex + finalMarker.length);\n }\n\n const regex = /(\\/\\*PLANNING\\*\\/|\\/\\*REPLANNING\\*\\/|\\/\\*REASONING\\*\\/|\\/\\*ACTION\\*\\/)/g;\n const parts = processText.split(regex);\n\n let currentType: ParsedPart['type'] = 'process_text';\n\n parts.forEach((part) => {\n if (part === '/*PLANNING*/') {\n currentType = 'planning';\n return;\n }\n if (part === '/*REPLANNING*/') {\n currentType = 'replanning';\n return;\n }\n if (part === '/*REASONING*/') {\n currentType = 'reasoning';\n return;\n }\n if (part === '/*ACTION*/') {\n currentType = 'action_log';\n return;\n }\n\n if (part && part.trim().length > 0) {\n results.push({ type: currentType, content: part });\n }\n });\n\n if (finalText.trim()) {\n results.push({ type: 'final_result', content: finalText });\n }\n\n return results;\n}\n\n/**\n * 自定义模式解析\n */\nfunction parseCustomMode(text: string, patterns: Array<{ regex: RegExp; type: ParsedPart['type'] }>): ParsedPart[] {\n const parts: ParsedPart[] = [];\n const matches: Array<{ type: ParsedPart['type']; start: number; end: number; content: string }> = [];\n\n patterns.forEach(({ regex, type }) => {\n let match;\n const tempRegex = new RegExp(regex);\n while ((match = tempRegex.exec(text)) !== null) {\n matches.push({\n type,\n start: match.index,\n end: match.index + match[0].length,\n content: match[1]?.trim() || match[0],\n });\n }\n });\n\n matches.sort((a, b) => a.start - b.start);\n\n let currentPos = 0;\n matches.forEach((match) => {\n if (match.start > currentPos) {\n const textBefore = text.substring(currentPos, match.start).trim();\n if (textBefore) {\n parts.push({ type: 'text', content: textBefore });\n }\n }\n parts.push({ type: match.type, content: match.content });\n currentPos = match.end;\n });\n\n if (currentPos < text.length) {\n const textAfter = text.substring(currentPos).trim();\n if (textAfter) {\n parts.push({ type: 'text', content: textAfter });\n }\n }\n\n return parts;\n}\n\n/**\n * 解析 Agent 消息 (支持多种格式)\n *\n * @param text 原始消息文本\n * @param options 解析选项\n * @returns 解析后的消息片段数组\n *\n * @example\n * // XML 模式 (默认)\n * const parts1 = parseAgentMessage(`\n * <reasoning>分析用户需求...</reasoning>\n * 最终回复内容\n * `);\n *\n * @example\n * // 注释模式 (业务项目格式)\n * const parts2 = parseAgentMessage(`\n * /*REASONING*\\/分析用户需求...\n * /*FINAL_ANSWER*\\/最终回复内容\n * `, { mode: 'comment' });\n *\n * @example\n * // 自定义模式\n * const parts3 = parseAgentMessage(text, {\n * mode: 'custom',\n * customPatterns: [\n * { regex: /\\[REASONING\\]([\\s\\S]*?)\\[\\/REASONING\\]/g, type: 'reasoning' }\n * ]\n * });\n */\nexport function parseAgentMessage(text: string, options: ParseAgentMessageOptions = {}): ParsedPart[] {\n if (!text) return [];\n\n const { mode = 'xml', customPatterns, finalMarker } = options;\n\n // 根据模式选择解析器\n if (mode === 'comment') {\n return parseCommentMode(text, finalMarker);\n }\n\n if (mode === 'custom' && customPatterns) {\n return parseCustomMode(text, customPatterns);\n }\n\n // 默认 XML 模式\n const parts = parseXmlMode(text);\n\n // 如果没有任何标签,返回整个文本\n if (parts.length === 0) {\n return [{ type: 'text', content: text }];\n }\n\n return parts;\n}\n\n/**\n * 检查是否包含 process 内容\n */\nexport function hasProcessContent(parts: ParsedPart[]): boolean {\n return parts.some((part) =>\n ['planning', 'replanning', 'reasoning', 'action_log', 'process_text'].includes(part.type)\n );\n}\n\n/**\n * 获取纯文本内容(不包含 process 标签)\n */\nexport function getPlainText(parts: ParsedPart[]): string {\n return parts\n .filter((part) => part.type === 'text' || part.type === 'final_result')\n .map((part) => part.content)\n .join('\\n\\n')\n .trim();\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { XAdkSDKProps, XAdkProviderHandle, IMessage } from "../types";
|
|
3
3
|
import { SendContent } from "../types";
|
|
4
|
+
/**
|
|
5
|
+
* XAiWebSDK - UMD 入口类
|
|
6
|
+
*
|
|
7
|
+
* 用于通过 <script> 标签引入 SDK 的场景
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```html
|
|
11
|
+
* <script src="chat-sdk.min.js"></script>
|
|
12
|
+
* <script>
|
|
13
|
+
* const sdk = XAiWebSDK.initChatbot({
|
|
14
|
+
* url: 'https://api.example.com',
|
|
15
|
+
* token: 'your-token',
|
|
16
|
+
* config: {
|
|
17
|
+
* appNo: 'your-app-no',
|
|
18
|
+
* session: {
|
|
19
|
+
* showSessionList: true
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
* });
|
|
23
|
+
* </script>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
4
26
|
declare class XAiWebSDK {
|
|
5
27
|
container: HTMLElement;
|
|
6
28
|
props: XAdkSDKProps;
|
|
@@ -12,14 +34,83 @@ declare class XAiWebSDK {
|
|
|
12
34
|
constructor(container: HTMLElement, props: XAdkSDKProps);
|
|
13
35
|
mount(): void;
|
|
14
36
|
unmount(): void;
|
|
37
|
+
/**
|
|
38
|
+
* 初始化聊天机器人(推荐方式)
|
|
39
|
+
*
|
|
40
|
+
* @param props - SDK 配置参数
|
|
41
|
+
* @returns XAiWebSDK 实例
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```javascript
|
|
45
|
+
* const sdk = XAiWebSDK.initChatbot({
|
|
46
|
+
* url: 'https://api.example.com',
|
|
47
|
+
* token: 'your-token',
|
|
48
|
+
* config: {
|
|
49
|
+
* appNo: 'your-app-no',
|
|
50
|
+
* session: {
|
|
51
|
+
* showSessionList: true // 显示会话列表
|
|
52
|
+
* },
|
|
53
|
+
* allowUpload: true, // 允许文件上传
|
|
54
|
+
* chatProps: {
|
|
55
|
+
* clearBtnShow: false // 隐藏清空按钮
|
|
56
|
+
* }
|
|
57
|
+
* },
|
|
58
|
+
* componentProps: {
|
|
59
|
+
* id: 'my-chatbot', // 容器 ID
|
|
60
|
+
* width: '100%',
|
|
61
|
+
* height: '600px'
|
|
62
|
+
* }
|
|
63
|
+
* });
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
15
66
|
static initChatbot(props: XAdkSDKProps): XAiWebSDK;
|
|
67
|
+
/**
|
|
68
|
+
* 兼容旧版本的静态方法
|
|
69
|
+
* @deprecated 使用 initChatbot 替代
|
|
70
|
+
*/
|
|
16
71
|
static create(props: XAdkSDKProps): XAiWebSDK;
|
|
72
|
+
/**
|
|
73
|
+
* 获取当前数据
|
|
74
|
+
* @returns 应用信息、消息列表、会话列表
|
|
75
|
+
*/
|
|
17
76
|
getData(): {
|
|
18
77
|
appInfo: any;
|
|
19
78
|
messages: IMessage[] | undefined;
|
|
20
79
|
sessions: any[] | undefined;
|
|
21
80
|
};
|
|
81
|
+
/**
|
|
82
|
+
* 发送消息
|
|
83
|
+
* @param content - 消息内容
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```javascript
|
|
87
|
+
* sdk.chat({ text: 'Hello!' });
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
22
90
|
chat(content: SendContent): void;
|
|
91
|
+
/**
|
|
92
|
+
* 停止当前消息生成
|
|
93
|
+
*/
|
|
23
94
|
stop(): void;
|
|
95
|
+
/**
|
|
96
|
+
* 清空当前会话
|
|
97
|
+
*/
|
|
98
|
+
clear(): void;
|
|
99
|
+
/**
|
|
100
|
+
* 删除指定会话
|
|
101
|
+
* @param sessionId - 会话 ID
|
|
102
|
+
*/
|
|
103
|
+
deleteSession(sessionId: string): void;
|
|
104
|
+
/**
|
|
105
|
+
* 更新会话标题
|
|
106
|
+
* @param sessionId - 会话 ID
|
|
107
|
+
* @param title - 新标题
|
|
108
|
+
*/
|
|
109
|
+
updateSession(sessionId: string, title: string): void;
|
|
110
|
+
/**
|
|
111
|
+
* 切换到指定会话
|
|
112
|
+
* @param sessionId - 会话 ID
|
|
113
|
+
*/
|
|
114
|
+
switchSession(sessionId: string): void;
|
|
24
115
|
}
|
|
25
116
|
export default XAiWebSDK;
|
|
@@ -4,10 +4,32 @@ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
|
4
4
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
5
5
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
6
|
var _excluded = ["id"];
|
|
7
|
-
import { createRef } from
|
|
8
|
-
import ReactDOM from
|
|
9
|
-
import
|
|
7
|
+
import { createRef } from "react";
|
|
8
|
+
import ReactDOM from "react-dom/client";
|
|
9
|
+
import XAdkProvider from "../components/XAdkProvider";
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
/**
|
|
12
|
+
* XAiWebSDK - UMD 入口类
|
|
13
|
+
*
|
|
14
|
+
* 用于通过 <script> 标签引入 SDK 的场景
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```html
|
|
18
|
+
* <script src="chat-sdk.min.js"></script>
|
|
19
|
+
* <script>
|
|
20
|
+
* const sdk = XAiWebSDK.initChatbot({
|
|
21
|
+
* url: 'https://api.example.com',
|
|
22
|
+
* token: 'your-token',
|
|
23
|
+
* config: {
|
|
24
|
+
* appNo: 'your-app-no',
|
|
25
|
+
* session: {
|
|
26
|
+
* showSessionList: true
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* });
|
|
30
|
+
* </script>
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
11
33
|
var XAiWebSDK = /*#__PURE__*/function () {
|
|
12
34
|
function XAiWebSDK(container, props) {
|
|
13
35
|
_classCallCheck(this, XAiWebSDK);
|
|
@@ -29,27 +51,49 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
29
51
|
_createClass(XAiWebSDK, [{
|
|
30
52
|
key: "mount",
|
|
31
53
|
value: function mount() {
|
|
54
|
+
var _config$session$showS, _config$session, _config$allowUpload, _config$chatProps$cle, _config$chatProps;
|
|
55
|
+
// 提取配置
|
|
56
|
+
var _this$props$config = this.props.config,
|
|
57
|
+
config = _this$props$config === void 0 ? {} : _this$props$config;
|
|
58
|
+
var showSessionList = (_config$session$showS = (_config$session = config.session) === null || _config$session === void 0 ? void 0 : _config$session.showSessionList) !== null && _config$session$showS !== void 0 ? _config$session$showS : false;
|
|
59
|
+
var allowUpload = (_config$allowUpload = config.allowUpload) !== null && _config$allowUpload !== void 0 ? _config$allowUpload : false;
|
|
60
|
+
var clearBtnShow = (_config$chatProps$cle = (_config$chatProps = config.chatProps) === null || _config$chatProps === void 0 ? void 0 : _config$chatProps.clearBtnShow) !== null && _config$chatProps$cle !== void 0 ? _config$chatProps$cle : true;
|
|
32
61
|
if (ReactDOM.createRoot) {
|
|
33
62
|
this.root = ReactDOM.createRoot(this.container);
|
|
34
63
|
this.root.render( /*#__PURE__*/_jsx("div", {
|
|
35
64
|
style: {
|
|
36
|
-
width:
|
|
37
|
-
height:
|
|
65
|
+
width: "100%",
|
|
66
|
+
height: "100%"
|
|
38
67
|
},
|
|
39
|
-
children: /*#__PURE__*/_jsx(
|
|
68
|
+
children: /*#__PURE__*/_jsx(XAdkProvider, _objectSpread(_objectSpread({
|
|
40
69
|
ref: this.providerRef
|
|
41
|
-
}, this.props)
|
|
70
|
+
}, this.props), {}, {
|
|
71
|
+
children: /*#__PURE__*/_jsx(XAdkProvider.DefaultLayout, {
|
|
72
|
+
showSessionList: showSessionList,
|
|
73
|
+
allowUpload: allowUpload,
|
|
74
|
+
clearBtnShow: clearBtnShow,
|
|
75
|
+
showFnCallDetail: true
|
|
76
|
+
})
|
|
77
|
+
}))
|
|
42
78
|
}));
|
|
43
79
|
} else {
|
|
80
|
+
// 兼容 React 17
|
|
44
81
|
// @ts-ignore
|
|
45
82
|
ReactDOM.render( /*#__PURE__*/_jsx("div", {
|
|
46
83
|
style: {
|
|
47
|
-
width:
|
|
48
|
-
height:
|
|
84
|
+
width: "100%",
|
|
85
|
+
height: "100%"
|
|
49
86
|
},
|
|
50
|
-
children: /*#__PURE__*/_jsx(
|
|
87
|
+
children: /*#__PURE__*/_jsx(XAdkProvider, _objectSpread(_objectSpread({
|
|
51
88
|
ref: this.providerRef
|
|
52
|
-
}, this.props)
|
|
89
|
+
}, this.props), {}, {
|
|
90
|
+
children: /*#__PURE__*/_jsx(XAdkProvider.DefaultLayout, {
|
|
91
|
+
showSessionList: showSessionList,
|
|
92
|
+
allowUpload: allowUpload,
|
|
93
|
+
clearBtnShow: clearBtnShow,
|
|
94
|
+
showFnCallDetail: true
|
|
95
|
+
})
|
|
96
|
+
}))
|
|
53
97
|
}), this.container);
|
|
54
98
|
}
|
|
55
99
|
}
|
|
@@ -61,11 +105,44 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
61
105
|
}
|
|
62
106
|
}
|
|
63
107
|
|
|
64
|
-
|
|
108
|
+
/**
|
|
109
|
+
* 初始化聊天机器人(推荐方式)
|
|
110
|
+
*
|
|
111
|
+
* @param props - SDK 配置参数
|
|
112
|
+
* @returns XAiWebSDK 实例
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```javascript
|
|
116
|
+
* const sdk = XAiWebSDK.initChatbot({
|
|
117
|
+
* url: 'https://api.example.com',
|
|
118
|
+
* token: 'your-token',
|
|
119
|
+
* config: {
|
|
120
|
+
* appNo: 'your-app-no',
|
|
121
|
+
* session: {
|
|
122
|
+
* showSessionList: true // 显示会话列表
|
|
123
|
+
* },
|
|
124
|
+
* allowUpload: true, // 允许文件上传
|
|
125
|
+
* chatProps: {
|
|
126
|
+
* clearBtnShow: false // 隐藏清空按钮
|
|
127
|
+
* }
|
|
128
|
+
* },
|
|
129
|
+
* componentProps: {
|
|
130
|
+
* id: 'my-chatbot', // 容器 ID
|
|
131
|
+
* width: '100%',
|
|
132
|
+
* height: '600px'
|
|
133
|
+
* }
|
|
134
|
+
* });
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
65
137
|
}, {
|
|
66
138
|
key: "getData",
|
|
67
139
|
value:
|
|
68
140
|
// ————对外暴露的方法————
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* 获取当前数据
|
|
144
|
+
* @returns 应用信息、消息列表、会话列表
|
|
145
|
+
*/
|
|
69
146
|
function getData() {
|
|
70
147
|
var _this$providerRef$cur, _this$providerRef$cur2, _this$providerRef$cur3;
|
|
71
148
|
return {
|
|
@@ -74,18 +151,76 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
74
151
|
sessions: (_this$providerRef$cur3 = this.providerRef.current) === null || _this$providerRef$cur3 === void 0 ? void 0 : _this$providerRef$cur3.getSessions()
|
|
75
152
|
};
|
|
76
153
|
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* 发送消息
|
|
157
|
+
* @param content - 消息内容
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```javascript
|
|
161
|
+
* sdk.chat({ text: 'Hello!' });
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
77
164
|
}, {
|
|
78
165
|
key: "chat",
|
|
79
166
|
value: function chat(content) {
|
|
80
167
|
var _this$providerRef$cur4;
|
|
81
168
|
(_this$providerRef$cur4 = this.providerRef.current) === null || _this$providerRef$cur4 === void 0 || _this$providerRef$cur4.startChat(content);
|
|
82
169
|
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* 停止当前消息生成
|
|
173
|
+
*/
|
|
83
174
|
}, {
|
|
84
175
|
key: "stop",
|
|
85
176
|
value: function stop() {
|
|
86
177
|
var _this$providerRef$cur5;
|
|
87
178
|
(_this$providerRef$cur5 = this.providerRef.current) === null || _this$providerRef$cur5 === void 0 || _this$providerRef$cur5.stopChat();
|
|
88
179
|
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* 清空当前会话
|
|
183
|
+
*/
|
|
184
|
+
}, {
|
|
185
|
+
key: "clear",
|
|
186
|
+
value: function clear() {
|
|
187
|
+
var _this$providerRef$cur6;
|
|
188
|
+
(_this$providerRef$cur6 = this.providerRef.current) === null || _this$providerRef$cur6 === void 0 || _this$providerRef$cur6.clearChat();
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* 删除指定会话
|
|
193
|
+
* @param sessionId - 会话 ID
|
|
194
|
+
*/
|
|
195
|
+
}, {
|
|
196
|
+
key: "deleteSession",
|
|
197
|
+
value: function deleteSession(sessionId) {
|
|
198
|
+
var _this$providerRef$cur7;
|
|
199
|
+
(_this$providerRef$cur7 = this.providerRef.current) === null || _this$providerRef$cur7 === void 0 || _this$providerRef$cur7.deleteSession(sessionId);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* 更新会话标题
|
|
204
|
+
* @param sessionId - 会话 ID
|
|
205
|
+
* @param title - 新标题
|
|
206
|
+
*/
|
|
207
|
+
}, {
|
|
208
|
+
key: "updateSession",
|
|
209
|
+
value: function updateSession(sessionId, title) {
|
|
210
|
+
var _this$providerRef$cur8;
|
|
211
|
+
(_this$providerRef$cur8 = this.providerRef.current) === null || _this$providerRef$cur8 === void 0 || _this$providerRef$cur8.updateSession(sessionId, title);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* 切换到指定会话
|
|
216
|
+
* @param sessionId - 会话 ID
|
|
217
|
+
*/
|
|
218
|
+
}, {
|
|
219
|
+
key: "switchSession",
|
|
220
|
+
value: function switchSession(sessionId) {
|
|
221
|
+
var _this$providerRef$cur9;
|
|
222
|
+
(_this$providerRef$cur9 = this.providerRef.current) === null || _this$providerRef$cur9 === void 0 || _this$providerRef$cur9.setCurrentSessionDetail(sessionId);
|
|
223
|
+
}
|
|
89
224
|
}], [{
|
|
90
225
|
key: "initChatbot",
|
|
91
226
|
value: function initChatbot(props) {
|
|
@@ -99,13 +234,13 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
99
234
|
container = existingContainer;
|
|
100
235
|
} else {
|
|
101
236
|
// 如果指定的 ID 不存在,创建新元素
|
|
102
|
-
container = document.createElement(
|
|
237
|
+
container = document.createElement("div");
|
|
103
238
|
container.id = props.componentProps.id;
|
|
104
239
|
}
|
|
105
240
|
} else {
|
|
106
241
|
// 没有指定 ID,创建默认容器
|
|
107
|
-
container = document.createElement(
|
|
108
|
-
container.id =
|
|
242
|
+
container = document.createElement("div");
|
|
243
|
+
container.id = "xai-chatbot-container";
|
|
109
244
|
}
|
|
110
245
|
|
|
111
246
|
// 设置容器样式 - 将除了 id 以外的所有属性都应用到容器
|
|
@@ -123,7 +258,10 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
123
258
|
return new XAiWebSDK(container, props);
|
|
124
259
|
}
|
|
125
260
|
|
|
126
|
-
|
|
261
|
+
/**
|
|
262
|
+
* 兼容旧版本的静态方法
|
|
263
|
+
* @deprecated 使用 initChatbot 替代
|
|
264
|
+
*/
|
|
127
265
|
}, {
|
|
128
266
|
key: "create",
|
|
129
267
|
value: function create(props) {
|