@ai-group/chat-sdk 3.0.5 → 3.0.6
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.js +10 -0
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.d.ts +1 -0
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js +2 -0
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.js +7 -1
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/styles.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/index.js +18 -1
- package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js +2 -2
- package/dist/cjs/components/XAdkProvider/XAdkProvider.stories.js.map +1 -1
- package/dist/cjs/components/XAdkProvider/compound/Messages.js +63 -9
- package/dist/cjs/components/XAdkProvider/compound/Messages.js.map +3 -3
- package/dist/cjs/components/XAdkProvider/context/ChatActionContext.d.ts +5 -0
- package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/context/ChatStateContext.d.ts +2 -0
- package/dist/cjs/components/XAdkProvider/context/ChatStateContext.js.map +2 -2
- package/dist/cjs/components/XAdkProvider/index.js +11 -5
- package/dist/cjs/components/XAdkProvider/index.js.map +2 -2
- package/dist/cjs/components/XAdkSender/XAdkSender.stories.d.ts +2 -2
- package/dist/cjs/components/XAdkSender/XAdkSender.stories.js.map +2 -2
- package/dist/cjs/hooks/useADKChat.d.ts +4 -0
- package/dist/cjs/hooks/useADKChat.js +24 -2
- package/dist/cjs/hooks/useADKChat.js.map +2 -2
- package/dist/cjs/types/ChatHook.d.ts +6 -1
- package/dist/cjs/types/ChatHook.js.map +1 -1
- package/dist/cjs/types/XAdkChatbot.d.ts +1 -1
- package/dist/cjs/types/XAdkChatbot.js.map +1 -1
- package/dist/cjs/types/XAdkProvider.d.ts +5 -0
- package/dist/cjs/types/XAdkProvider.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +8 -0
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.d.ts +1 -0
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js +2 -0
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.js +1 -1
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/styles.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/index.js +26 -5
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js +2 -2
- package/dist/esm/components/XAdkProvider/XAdkProvider.stories.js.map +1 -1
- package/dist/esm/components/XAdkProvider/compound/Messages.js +124 -11
- package/dist/esm/components/XAdkProvider/compound/Messages.js.map +1 -1
- package/dist/esm/components/XAdkProvider/context/ChatActionContext.d.ts +5 -0
- package/dist/esm/components/XAdkProvider/context/ChatActionContext.js.map +1 -1
- package/dist/esm/components/XAdkProvider/context/ChatStateContext.d.ts +2 -0
- package/dist/esm/components/XAdkProvider/context/ChatStateContext.js.map +1 -1
- package/dist/esm/components/XAdkProvider/index.js +23 -5
- package/dist/esm/components/XAdkProvider/index.js.map +1 -1
- package/dist/esm/components/XAdkSender/XAdkSender.stories.d.ts +2 -2
- package/dist/esm/components/XAdkSender/XAdkSender.stories.js +13 -13
- package/dist/esm/components/XAdkSender/XAdkSender.stories.js.map +1 -1
- package/dist/esm/hooks/useADKChat.d.ts +4 -0
- package/dist/esm/hooks/useADKChat.js +79 -28
- package/dist/esm/hooks/useADKChat.js.map +1 -1
- package/dist/esm/types/ChatHook.d.ts +6 -1
- package/dist/esm/types/ChatHook.js.map +1 -1
- package/dist/esm/types/XAdkChatbot.d.ts +1 -1
- package/dist/esm/types/XAdkChatbot.js.map +1 -1
- package/dist/esm/types/XAdkProvider.d.ts +5 -0
- package/dist/esm/types/XAdkProvider.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 +1 -1
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
1
3
|
import React, { forwardRef, useImperativeHandle, useMemo } from "react";
|
|
2
4
|
import { ConfigProvider } from "antd";
|
|
3
5
|
import { XProvider } from "@ant-design/x";
|
|
@@ -55,6 +57,7 @@ import { primaryBlue } from "../../styles/common";
|
|
|
55
57
|
* </XAdkProvider>
|
|
56
58
|
*/
|
|
57
59
|
var XAdkProviderComponent = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
60
|
+
var _config$showFeedback;
|
|
58
61
|
var url = _ref.url,
|
|
59
62
|
token = _ref.token,
|
|
60
63
|
config = _ref.config,
|
|
@@ -101,7 +104,20 @@ var XAdkProviderComponent = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
101
104
|
suggestions = data.suggestions,
|
|
102
105
|
initialized = data.initialized,
|
|
103
106
|
setCurrentSessionDetail = data.setCurrentSessionDetail,
|
|
104
|
-
setMessages = data.setMessages
|
|
107
|
+
setMessages = data.setMessages,
|
|
108
|
+
_data$likeMessage = data.likeMessage,
|
|
109
|
+
likeMessage = _data$likeMessage === void 0 ? /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
110
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
111
|
+
while (1) switch (_context.prev = _context.next) {
|
|
112
|
+
case 0:
|
|
113
|
+
return _context.abrupt("return", false);
|
|
114
|
+
case 1:
|
|
115
|
+
case "end":
|
|
116
|
+
return _context.stop();
|
|
117
|
+
}
|
|
118
|
+
}, _callee);
|
|
119
|
+
})) : _data$likeMessage;
|
|
120
|
+
var showFeedback = (_config$showFeedback = config === null || config === void 0 ? void 0 : config.showFeedback) !== null && _config$showFeedback !== void 0 ? _config$showFeedback : true;
|
|
105
121
|
|
|
106
122
|
// 暴露 API 给 ref
|
|
107
123
|
useImperativeHandle(ref, function () {
|
|
@@ -138,9 +154,10 @@ var XAdkProviderComponent = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
138
154
|
appInfo: appInfo,
|
|
139
155
|
initialized: initialized,
|
|
140
156
|
url: url,
|
|
141
|
-
token: token
|
|
157
|
+
token: token,
|
|
158
|
+
showFeedback: showFeedback
|
|
142
159
|
};
|
|
143
|
-
}, [messages, loading, currentSessionId, prologue, suggestions, appInfo, initialized]);
|
|
160
|
+
}, [messages, loading, currentSessionId, prologue, suggestions, appInfo, initialized, showFeedback]);
|
|
144
161
|
|
|
145
162
|
// 动作 Context Value - 函数引用稳定,不需要每次都创建新对象
|
|
146
163
|
var chatActionValue = useMemo(function () {
|
|
@@ -151,9 +168,10 @@ var XAdkProviderComponent = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
151
168
|
reChat: reChat,
|
|
152
169
|
suggestChat: suggestChat,
|
|
153
170
|
confirmFnCall: confirmFnCall,
|
|
154
|
-
setMessages: setMessages
|
|
171
|
+
setMessages: setMessages,
|
|
172
|
+
likeMessage: likeMessage
|
|
155
173
|
};
|
|
156
|
-
}, [startChat, stopChat, clearChat, reChat, suggestChat, confirmFnCall, setMessages]);
|
|
174
|
+
}, [startChat, stopChat, clearChat, reChat, suggestChat, confirmFnCall, setMessages, likeMessage]);
|
|
157
175
|
|
|
158
176
|
// 会话 Context Value
|
|
159
177
|
var sessionValue = useMemo(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useImperativeHandle","useMemo","ConfigProvider","XProvider","ChatStateContext","ChatActionContext","SessionContext","useADKChat","primaryBlue","XAdkProviderComponent","_ref","ref","url","token","config","chatData","_ref$providerId","providerId","onSuccess","onError","onMessage","onStream","children","internalData","enabled","data","appInfo","startChat","stopChat","reChat","clearChat","suggestChat","confirmFnCall","deleteSession","updateSession","currentSessionId","sessionPagination","sessionList","messages","loading","prologue","suggestions","initialized","setCurrentSessionDetail","setMessages","getAppInfo","getMessages","getSessions","chatStateValue","chatActionValue","chat","sessionValue","_jsx","theme","colorPrimary","appTheme","Provider","value","style","display","height","width","position","displayName","Header","Sidebar","Messages","Sender","Chatbot","Welcome","DefaultLayout","jsx","XAdkProvider"],"sources":["../../../../src/components/XAdkProvider/index.tsx"],"sourcesContent":["import React, { forwardRef, useImperativeHandle, useMemo } from \"react\";\nimport { ConfigProvider } from \"antd\";\nimport { XProvider } from \"@ant-design/x\";\nimport { ChatStateContext } from \"./context/ChatStateContext\";\nimport { ChatActionContext } from \"./context/ChatActionContext\";\nimport { SessionContext } from \"./context/SessionContext\";\nimport useADKChat from \"@/hooks/useADKChat\";\nimport { primaryBlue } from \"@/styles/common\";\nimport type {\n XAdkProviderProps,\n XAdkProviderHandle,\n} from \"@/types/XAdkProvider\";\nimport type { ChatHookResult } from \"@/types/ChatHook\";\n\n/**\n * XAdkProvider Props (扩展版)\n *\n * 支持两种使用方式:\n * 1. 标准协议: 提供 url/token/config,使用内置 useADKChat\n * 2. 自定义协议: 提供 chatData,使用自己的 Hook\n */\nexport interface XAdkProviderPropsExtended extends Omit<\n XAdkProviderProps,\n \"url\" | \"token\" | \"config\"\n> {\n /**\n * 选项 A: 使用标准协议 (内置 useADKChat)\n */\n url: string;\n token: string;\n config?: any;\n\n /**\n * 选项 B: 使用自定义 Hook 数据\n * 如果提供此参数,将忽略 url/token/config\n *\n * @example\n * // GraphQL 协议\n * const chatData = useMyGraphQLChat({ endpoint: '...' });\n * <XAdkProvider chatData={chatData}>\n * <XAdkProvider.DefaultLayout />\n * </XAdkProvider>\n *\n * @example\n * // WebSocket 协议\n * const chatData = useWebSocketChat({ url: 'ws://...' });\n * <XAdkProvider chatData={chatData}>\n * <XAdkProvider.DefaultLayout />\n * </XAdkProvider>\n */\n chatData?: ChatHookResult;\n\n children: React.ReactNode;\n}\n\n/**\n * XAdkProvider - AI 聊天 SDK 核心 Provider\n *\n * 采用 Compound Components 架构:\n * - 只负责数据和状态管理\n * - 不包含 UI 布局\n * - 通过 Context 向子组件提供数据\n * - 支持完全自定义的组件组合\n * - 支持协议解耦,可使用自定义 Hook\n *\n * @example\n * // 基础用法 - 标准协议\n * <XAdkProvider url=\"...\" token=\"...\" config={...}>\n * <XAdkProvider.Chatbot />\n * </XAdkProvider>\n *\n * @example\n * // 自定义协议 - GraphQL\n * function App() {\n * const chatData = useMyGraphQLChat({ endpoint: '...' });\n * return (\n * <XAdkProvider chatData={chatData}>\n * <XAdkProvider.DefaultLayout />\n * </XAdkProvider>\n * );\n * }\n *\n * @example\n * // 自定义布局\n * <XAdkProvider url=\"...\" token=\"...\">\n * <div style={{ display: 'flex' }}>\n * <XAdkProvider.Sidebar />\n * <div>\n * <XAdkProvider.Messages />\n * <XAdkProvider.Sender />\n * </div>\n * </div>\n * </XAdkProvider>\n */\nconst XAdkProviderComponent = forwardRef<\n XAdkProviderHandle,\n XAdkProviderPropsExtended\n>(\n (\n {\n url,\n token,\n config,\n chatData, // 自定义 Hook 数据\n providerId = \"defaultId\",\n onSuccess,\n onError,\n onMessage,\n onStream,\n children,\n },\n ref,\n ) => {\n // 内置 Hook 数据 (仅在没有提供 chatData 时调用)\n const internalData = useADKChat({\n url: url || \"\",\n token: token || \"\",\n config: config || {},\n onError,\n onSuccess,\n onMessage,\n onStream,\n // 仅在提供了 url 和 token 时才初始化\n enabled: !chatData && !!url && !!token,\n });\n\n // 使用外部数据或内部数据\n const data = chatData || internalData;\n\n // 解构数据\n const {\n appInfo,\n startChat,\n stopChat,\n reChat,\n clearChat,\n suggestChat,\n confirmFnCall,\n deleteSession,\n updateSession,\n currentSessionId,\n sessionPagination,\n sessionList,\n messages,\n loading,\n prologue,\n suggestions,\n initialized,\n setCurrentSessionDetail,\n setMessages,\n } = data;\n\n // 暴露 API 给 ref\n useImperativeHandle(\n ref,\n () => ({\n startChat,\n stopChat,\n reChat,\n clearChat,\n suggestChat,\n deleteSession,\n updateSession,\n getAppInfo: () => appInfo,\n getMessages: () => messages,\n getSessions: () => sessionList,\n setMessages,\n setCurrentSessionDetail,\n }),\n [\n appInfo,\n messages,\n sessionList,\n startChat,\n stopChat,\n reChat,\n clearChat,\n suggestChat,\n deleteSession,\n updateSession,\n setMessages,\n setCurrentSessionDetail,\n ],\n );\n\n // 状态 Context Value - 使用 useMemo 避免不必要的 rerender\n const chatStateValue = useMemo(\n () => ({\n messages,\n loading,\n currentSessionId,\n prologue,\n suggestions,\n appInfo,\n initialized,\n url,\n token,\n }),\n [\n messages,\n loading,\n currentSessionId,\n prologue,\n suggestions,\n appInfo,\n initialized,\n ],\n );\n\n // 动作 Context Value - 函数引用稳定,不需要每次都创建新对象\n const chatActionValue = useMemo(\n () => ({\n chat: startChat,\n stopChat,\n clearChat,\n reChat,\n suggestChat,\n confirmFnCall,\n setMessages,\n }),\n [\n startChat,\n stopChat,\n clearChat,\n reChat,\n suggestChat,\n confirmFnCall,\n setMessages,\n ],\n );\n\n // 会话 Context Value\n const sessionValue = useMemo(\n () => ({\n sessionList,\n sessionPagination,\n deleteSession,\n updateSession,\n setCurrentSessionDetail,\n }),\n [\n sessionList,\n sessionPagination,\n deleteSession,\n updateSession,\n setCurrentSessionDetail,\n ],\n );\n\n return (\n <ConfigProvider\n theme={{\n token: {\n colorPrimary: appInfo?.appTheme || primaryBlue,\n },\n }}\n >\n <XProvider>\n <ChatStateContext.Provider value={chatStateValue}>\n <ChatActionContext.Provider value={chatActionValue}>\n <SessionContext.Provider value={sessionValue}>\n <div\n style={{\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {children}\n </div>\n </SessionContext.Provider>\n </ChatActionContext.Provider>\n </ChatStateContext.Provider>\n </XProvider>\n </ConfigProvider>\n );\n },\n);\n\nXAdkProviderComponent.displayName = \"XAdkProvider\";\n\n// 导入 Compound Components\nimport Header from \"./compound/Header\";\nimport Sidebar from \"./compound/Sidebar\";\nimport Messages from \"./compound/Messages\";\nimport Sender from \"./compound/Sender\";\nimport Chatbot from \"./compound/Chatbot\";\nimport Welcome from \"./compound/Welcome\";\nimport DefaultLayout from \"./compound/DefaultLayout\";\n\n// 导出时会挂载 Compound Components\nconst XAdkProvider = XAdkProviderComponent as typeof XAdkProviderComponent & {\n Header: typeof Header;\n Sidebar: typeof Sidebar;\n Messages: typeof Messages;\n Sender: typeof Sender;\n Chatbot: typeof Chatbot;\n Welcome: typeof Welcome;\n DefaultLayout: typeof DefaultLayout;\n};\n\n// 挂载 Compound Components\nXAdkProvider.Header = Header;\nXAdkProvider.Sidebar = Sidebar;\nXAdkProvider.Messages = Messages;\nXAdkProvider.Sender = Sender;\nXAdkProvider.Chatbot = Chatbot;\nXAdkProvider.DefaultLayout = DefaultLayout;\nXAdkProvider.Welcome = Welcome;\n\nexport default XAdkProvider;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useImperativeHandle","useMemo","ConfigProvider","XProvider","ChatStateContext","ChatActionContext","SessionContext","useADKChat","primaryBlue","XAdkProviderComponent","_ref","ref","_config$showFeedback","url","token","config","chatData","_ref$providerId","providerId","onSuccess","onError","onMessage","onStream","children","internalData","enabled","data","appInfo","startChat","stopChat","reChat","clearChat","suggestChat","confirmFnCall","deleteSession","updateSession","currentSessionId","sessionPagination","sessionList","messages","loading","prologue","suggestions","initialized","setCurrentSessionDetail","setMessages","_data$likeMessage","likeMessage","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","abrupt","stop","showFeedback","getAppInfo","getMessages","getSessions","chatStateValue","chatActionValue","chat","sessionValue","_jsx","theme","colorPrimary","appTheme","Provider","value","style","display","height","width","position","displayName","Header","Sidebar","Messages","Sender","Chatbot","Welcome","DefaultLayout","jsx","XAdkProvider"],"sources":["../../../../src/components/XAdkProvider/index.tsx"],"sourcesContent":["import React, { forwardRef, useImperativeHandle, useMemo } from \"react\";\nimport { ConfigProvider } from \"antd\";\nimport { XProvider } from \"@ant-design/x\";\nimport { ChatStateContext } from \"./context/ChatStateContext\";\nimport { ChatActionContext } from \"./context/ChatActionContext\";\nimport { SessionContext } from \"./context/SessionContext\";\nimport useADKChat from \"@/hooks/useADKChat\";\nimport { primaryBlue } from \"@/styles/common\";\nimport type {\n XAdkProviderProps,\n XAdkProviderHandle,\n} from \"@/types/XAdkProvider\";\nimport type { ChatHookResult } from \"@/types/ChatHook\";\n\n/**\n * XAdkProvider Props (扩展版)\n *\n * 支持两种使用方式:\n * 1. 标准协议: 提供 url/token/config,使用内置 useADKChat\n * 2. 自定义协议: 提供 chatData,使用自己的 Hook\n */\nexport interface XAdkProviderPropsExtended extends Omit<\n XAdkProviderProps,\n \"url\" | \"token\" | \"config\"\n> {\n /**\n * 选项 A: 使用标准协议 (内置 useADKChat)\n */\n url: string;\n token: string;\n config?: any;\n\n /**\n * 选项 B: 使用自定义 Hook 数据\n * 如果提供此参数,将忽略 url/token/config\n *\n * @example\n * // GraphQL 协议\n * const chatData = useMyGraphQLChat({ endpoint: '...' });\n * <XAdkProvider chatData={chatData}>\n * <XAdkProvider.DefaultLayout />\n * </XAdkProvider>\n *\n * @example\n * // WebSocket 协议\n * const chatData = useWebSocketChat({ url: 'ws://...' });\n * <XAdkProvider chatData={chatData}>\n * <XAdkProvider.DefaultLayout />\n * </XAdkProvider>\n */\n chatData?: ChatHookResult;\n\n children: React.ReactNode;\n}\n\n/**\n * XAdkProvider - AI 聊天 SDK 核心 Provider\n *\n * 采用 Compound Components 架构:\n * - 只负责数据和状态管理\n * - 不包含 UI 布局\n * - 通过 Context 向子组件提供数据\n * - 支持完全自定义的组件组合\n * - 支持协议解耦,可使用自定义 Hook\n *\n * @example\n * // 基础用法 - 标准协议\n * <XAdkProvider url=\"...\" token=\"...\" config={...}>\n * <XAdkProvider.Chatbot />\n * </XAdkProvider>\n *\n * @example\n * // 自定义协议 - GraphQL\n * function App() {\n * const chatData = useMyGraphQLChat({ endpoint: '...' });\n * return (\n * <XAdkProvider chatData={chatData}>\n * <XAdkProvider.DefaultLayout />\n * </XAdkProvider>\n * );\n * }\n *\n * @example\n * // 自定义布局\n * <XAdkProvider url=\"...\" token=\"...\">\n * <div style={{ display: 'flex' }}>\n * <XAdkProvider.Sidebar />\n * <div>\n * <XAdkProvider.Messages />\n * <XAdkProvider.Sender />\n * </div>\n * </div>\n * </XAdkProvider>\n */\nconst XAdkProviderComponent = forwardRef<\n XAdkProviderHandle,\n XAdkProviderPropsExtended\n>(\n (\n {\n url,\n token,\n config,\n chatData, // 自定义 Hook 数据\n providerId = \"defaultId\",\n onSuccess,\n onError,\n onMessage,\n onStream,\n children,\n },\n ref,\n ) => {\n // 内置 Hook 数据 (仅在没有提供 chatData 时调用)\n const internalData = useADKChat({\n url: url || \"\",\n token: token || \"\",\n config: config || {},\n onError,\n onSuccess,\n onMessage,\n onStream,\n // 仅在提供了 url 和 token 时才初始化\n enabled: !chatData && !!url && !!token,\n });\n\n // 使用外部数据或内部数据\n const data = chatData || internalData;\n\n // 解构数据\n const {\n appInfo,\n startChat,\n stopChat,\n reChat,\n clearChat,\n suggestChat,\n confirmFnCall,\n deleteSession,\n updateSession,\n currentSessionId,\n sessionPagination,\n sessionList,\n messages,\n loading,\n prologue,\n suggestions,\n initialized,\n setCurrentSessionDetail,\n setMessages,\n likeMessage = async () => false,\n } = data;\n\n const showFeedback = config?.showFeedback ?? true;\n\n // 暴露 API 给 ref\n useImperativeHandle(\n ref,\n () => ({\n startChat,\n stopChat,\n reChat,\n clearChat,\n suggestChat,\n deleteSession,\n updateSession,\n getAppInfo: () => appInfo,\n getMessages: () => messages,\n getSessions: () => sessionList,\n setMessages,\n setCurrentSessionDetail,\n }),\n [\n appInfo,\n messages,\n sessionList,\n startChat,\n stopChat,\n reChat,\n clearChat,\n suggestChat,\n deleteSession,\n updateSession,\n setMessages,\n setCurrentSessionDetail,\n ],\n );\n\n // 状态 Context Value - 使用 useMemo 避免不必要的 rerender\n const chatStateValue = useMemo(\n () => ({\n messages,\n loading,\n currentSessionId,\n prologue,\n suggestions,\n appInfo,\n initialized,\n url,\n token,\n showFeedback,\n }),\n [\n messages,\n loading,\n currentSessionId,\n prologue,\n suggestions,\n appInfo,\n initialized,\n showFeedback,\n ],\n );\n\n // 动作 Context Value - 函数引用稳定,不需要每次都创建新对象\n const chatActionValue = useMemo(\n () => ({\n chat: startChat,\n stopChat,\n clearChat,\n reChat,\n suggestChat,\n confirmFnCall,\n setMessages,\n likeMessage,\n }),\n [\n startChat,\n stopChat,\n clearChat,\n reChat,\n suggestChat,\n confirmFnCall,\n setMessages,\n likeMessage,\n ],\n );\n\n // 会话 Context Value\n const sessionValue = useMemo(\n () => ({\n sessionList,\n sessionPagination,\n deleteSession,\n updateSession,\n setCurrentSessionDetail,\n }),\n [\n sessionList,\n sessionPagination,\n deleteSession,\n updateSession,\n setCurrentSessionDetail,\n ],\n );\n\n return (\n <ConfigProvider\n theme={{\n token: {\n colorPrimary: appInfo?.appTheme || primaryBlue,\n },\n }}\n >\n <XProvider>\n <ChatStateContext.Provider value={chatStateValue}>\n <ChatActionContext.Provider value={chatActionValue}>\n <SessionContext.Provider value={sessionValue}>\n <div\n style={{\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {children}\n </div>\n </SessionContext.Provider>\n </ChatActionContext.Provider>\n </ChatStateContext.Provider>\n </XProvider>\n </ConfigProvider>\n );\n },\n);\n\nXAdkProviderComponent.displayName = \"XAdkProvider\";\n\n// 导入 Compound Components\nimport Header from \"./compound/Header\";\nimport Sidebar from \"./compound/Sidebar\";\nimport Messages from \"./compound/Messages\";\nimport Sender from \"./compound/Sender\";\nimport Chatbot from \"./compound/Chatbot\";\nimport Welcome from \"./compound/Welcome\";\nimport DefaultLayout from \"./compound/DefaultLayout\";\n\n// 导出时会挂载 Compound Components\nconst XAdkProvider = XAdkProviderComponent as typeof XAdkProviderComponent & {\n Header: typeof Header;\n Sidebar: typeof Sidebar;\n Messages: typeof Messages;\n Sender: typeof Sender;\n Chatbot: typeof Chatbot;\n Welcome: typeof Welcome;\n DefaultLayout: typeof DefaultLayout;\n};\n\n// 挂载 Compound Components\nXAdkProvider.Header = Header;\nXAdkProvider.Sidebar = Sidebar;\nXAdkProvider.Messages = Messages;\nXAdkProvider.Sender = Sender;\nXAdkProvider.Chatbot = Chatbot;\nXAdkProvider.DefaultLayout = DefaultLayout;\nXAdkProvider.Welcome = Welcome;\n\nexport default XAdkProvider;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from
|
|
2
|
-
import XAdkSender from
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import XAdkSender from ".";
|
|
3
3
|
declare const meta: Meta<typeof XAdkSender>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
2
2
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
-
import { useState } from
|
|
5
|
-
import XAdkSender from
|
|
4
|
+
import { useState } from "react";
|
|
5
|
+
import XAdkSender from ".";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
var meta = {
|
|
8
|
-
title:
|
|
8
|
+
title: "AI组件/XAdkSender 输入框",
|
|
9
9
|
component: XAdkSender,
|
|
10
10
|
parameters: {
|
|
11
|
-
layout:
|
|
11
|
+
layout: "centered"
|
|
12
12
|
},
|
|
13
|
-
tags: [
|
|
13
|
+
tags: ["autodocs"],
|
|
14
14
|
argTypes: {}
|
|
15
15
|
};
|
|
16
16
|
export default meta;
|
|
@@ -20,7 +20,7 @@ var BasicUsageStory = function BasicUsageStory() {
|
|
|
20
20
|
_useState2 = _slicedToArray(_useState, 2),
|
|
21
21
|
files = _useState2[0],
|
|
22
22
|
setFiles = _useState2[1];
|
|
23
|
-
var _useState3 = useState(
|
|
23
|
+
var _useState3 = useState(""),
|
|
24
24
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
25
25
|
content = _useState4[0],
|
|
26
26
|
setContent = _useState4[1];
|
|
@@ -31,15 +31,15 @@ var BasicUsageStory = function BasicUsageStory() {
|
|
|
31
31
|
|
|
32
32
|
// 模拟清空数据
|
|
33
33
|
var handleSubmit = function handleSubmit(data) {
|
|
34
|
-
console.info(
|
|
34
|
+
console.info("submit", data);
|
|
35
35
|
};
|
|
36
36
|
var handleClear = function handleClear() {
|
|
37
|
-
console.info(
|
|
37
|
+
console.info("clear");
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
// 模拟停止发送
|
|
41
41
|
var handleStop = function handleStop() {
|
|
42
|
-
console.info(
|
|
42
|
+
console.info("stop");
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
// 模拟输入
|
|
@@ -51,7 +51,7 @@ var BasicUsageStory = function BasicUsageStory() {
|
|
|
51
51
|
var handleSendMessage = function handleSendMessage(obj) {
|
|
52
52
|
setLoading(true);
|
|
53
53
|
setTimeout(function () {
|
|
54
|
-
setContent(
|
|
54
|
+
setContent("");
|
|
55
55
|
setFiles([]);
|
|
56
56
|
setLoading(false);
|
|
57
57
|
}, 2000);
|
|
@@ -59,7 +59,7 @@ var BasicUsageStory = function BasicUsageStory() {
|
|
|
59
59
|
return /*#__PURE__*/_jsx("div", {
|
|
60
60
|
style: {
|
|
61
61
|
width: 800,
|
|
62
|
-
border:
|
|
62
|
+
border: "1px solid #eee",
|
|
63
63
|
padding: 20
|
|
64
64
|
},
|
|
65
65
|
children: /*#__PURE__*/_jsx(XAdkSender, {
|
|
@@ -76,7 +76,7 @@ var BasicUsageStory = function BasicUsageStory() {
|
|
|
76
76
|
try {
|
|
77
77
|
// 创建 FormData
|
|
78
78
|
formData = new FormData();
|
|
79
|
-
formData.append(
|
|
79
|
+
formData.append("file", file);
|
|
80
80
|
|
|
81
81
|
// 模拟上传进度
|
|
82
82
|
progress = 0;
|
|
@@ -94,7 +94,7 @@ var BasicUsageStory = function BasicUsageStory() {
|
|
|
94
94
|
fileId: Math.floor(Math.random() * 1000) + 1,
|
|
95
95
|
tempUrl: "https://example.com/uploads/".concat(file.name),
|
|
96
96
|
fileName: file.name,
|
|
97
|
-
fileType: file.name.split(
|
|
97
|
+
fileType: file.name.split(".").pop() || ""
|
|
98
98
|
}
|
|
99
99
|
};
|
|
100
100
|
onSuccess === null || onSuccess === void 0 || onSuccess(mockResponse);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","XAdkSender","jsx","_jsx","meta","title","component","parameters","layout","tags","argTypes","BasicUsageStory","_useState","_useState2","_slicedToArray","files","setFiles","_useState3","_useState4","content","setContent","_useState5","_useState6","loading","setLoading","handleSubmit","data","console","info","handleClear","handleStop","handleChange","text","handleSendMessage","obj","setTimeout","style","width","border","padding","children","clearBtnShow","allowUpload","uploadRequest","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","file","onProgress","onSuccess","onError","formData","progress","interval","wrap","_callee$","_context","prev","next","FormData","append","setInterval","percent","clearInterval","mockResponse","code","fileId","Math","floor","random","tempUrl","concat","name","fileName","fileType","split","pop","error","stop","_x","apply","arguments","onSubmit","onClear","onStop","基础用法","render","args"],"sources":["../../../../src/components/XAdkSender/XAdkSender.stories.tsx"],"sourcesContent":["import { useState } from
|
|
1
|
+
{"version":3,"names":["useState","XAdkSender","jsx","_jsx","meta","title","component","parameters","layout","tags","argTypes","BasicUsageStory","_useState","_useState2","_slicedToArray","files","setFiles","_useState3","_useState4","content","setContent","_useState5","_useState6","loading","setLoading","handleSubmit","data","console","info","handleClear","handleStop","handleChange","text","handleSendMessage","obj","setTimeout","style","width","border","padding","children","clearBtnShow","allowUpload","uploadRequest","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref","file","onProgress","onSuccess","onError","formData","progress","interval","wrap","_callee$","_context","prev","next","FormData","append","setInterval","percent","clearInterval","mockResponse","code","fileId","Math","floor","random","tempUrl","concat","name","fileName","fileType","split","pop","error","stop","_x","apply","arguments","onSubmit","onClear","onStop","基础用法","render","args"],"sources":["../../../../src/components/XAdkSender/XAdkSender.stories.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport type { Attachment } from \"@ant-design/x/es/attachments\";\nimport XAdkSender from \".\";\n\nconst meta: Meta<typeof XAdkSender> = {\n title: \"AI组件/XAdkSender 输入框\",\n component: XAdkSender,\n parameters: {\n layout: \"centered\",\n },\n tags: [\"autodocs\"],\n argTypes: {},\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// 基础用法\nconst BasicUsageStory = () => {\n const [files, setFiles] = useState<Attachment[]>([]);\n const [content, setContent] = useState(\"\");\n const [loading, setLoading] = useState(false);\n\n // 模拟清空数据\n const handleSubmit = (data: any) => {\n console.info(\"submit\", data);\n };\n\n const handleClear = () => {\n console.info(\"clear\");\n };\n\n // 模拟停止发送\n const handleStop = () => {\n console.info(\"stop\");\n };\n\n // 模拟输入\n const handleChange = (text: string) => {\n setContent(text);\n };\n\n // 模拟快捷短语点击\n const handleSendMessage = (obj: any) => {\n setLoading(true);\n setTimeout(() => {\n setContent(\"\");\n setFiles([]);\n setLoading(false);\n }, 2000);\n };\n\n return (\n <div style={{ width: 800, border: \"1px solid #eee\", padding: 20 }}>\n <XAdkSender\n loading={loading}\n clearBtnShow={true}\n allowUpload={true}\n uploadRequest={async ({ file, onProgress, onSuccess, onError }) => {\n try {\n // 创建 FormData\n const formData = new FormData();\n formData.append(\"file\", file);\n\n // 模拟上传进度\n let progress = 0;\n const interval = setInterval(() => {\n progress += 10;\n onProgress?.({ percent: progress });\n\n if (progress >= 100) {\n clearInterval(interval);\n // 模拟成功响应\n const mockResponse = {\n code: 200,\n data: {\n fileId: Math.floor(Math.random() * 1000) + 1,\n tempUrl: `https://example.com/uploads/${file.name}`,\n fileName: file.name,\n fileType: file.name.split(\".\").pop() || \"\",\n },\n };\n onSuccess?.(mockResponse);\n }\n }, 100);\n } catch (error) {\n onError?.(error as Error);\n }\n }}\n onSubmit={handleSubmit}\n onClear={handleClear}\n onStop={handleStop}\n />\n </div>\n );\n};\n\nexport const 基础用法: Story = {\n render: BasicUsageStory,\n args: {},\n};\n"],"mappings":"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"}
|
|
@@ -31,5 +31,9 @@ onError, onMessage, onSuccess, onStream, }: DebugOptions): {
|
|
|
31
31
|
setMessages: import("react").Dispatch<import("react").SetStateAction<IMessage[]>>;
|
|
32
32
|
storeEvents: (part: Part | null, event: any) => void;
|
|
33
33
|
storeMessage: (part: Part | null, event: Event, role: "user" | "bot") => void;
|
|
34
|
+
likeMessage: (invocationId: string, isLike: 1 | -1, feedbackData?: {
|
|
35
|
+
feedbackTags?: string;
|
|
36
|
+
feedbackDescription?: string;
|
|
37
|
+
}) => Promise<boolean>;
|
|
34
38
|
};
|
|
35
39
|
export default useADKChat;
|
|
@@ -10,7 +10,7 @@ import { message } from "antd";
|
|
|
10
10
|
import { v4 } from "uuid";
|
|
11
11
|
import { SESSION_PAGE_SIZE, API_SUCCESS_CODE } from "../constants";
|
|
12
12
|
import { SuccessCode, ErrorCode } from "../types";
|
|
13
|
-
import { fetchAppConfig, fetchSessionList, fetchSessionDetail, closeSession, updateSessionTitle } from "../services/api";
|
|
13
|
+
import { fetchAppConfig, fetchSessionList, fetchSessionDetail, closeSession, updateSessionTitle, addFeedback } from "../services/api";
|
|
14
14
|
import { safeJsonParse } from "../utils";
|
|
15
15
|
var combineTextParts = function combineTextParts(parts) {
|
|
16
16
|
var result = [];
|
|
@@ -43,7 +43,8 @@ var combineTextParts = function combineTextParts(parts) {
|
|
|
43
43
|
return result;
|
|
44
44
|
};
|
|
45
45
|
function useADKChat(_ref) {
|
|
46
|
-
var url = _ref.url,
|
|
46
|
+
var _ref$url = _ref.url,
|
|
47
|
+
url = _ref$url === void 0 ? window.location.origin : _ref$url,
|
|
47
48
|
token = _ref.token,
|
|
48
49
|
_ref$config = _ref.config,
|
|
49
50
|
config = _ref$config === void 0 ? {} : _ref$config,
|
|
@@ -873,20 +874,69 @@ function useADKChat(_ref) {
|
|
|
873
874
|
};
|
|
874
875
|
}();
|
|
875
876
|
|
|
876
|
-
//
|
|
877
|
-
var
|
|
878
|
-
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(
|
|
879
|
-
var _yield$
|
|
877
|
+
// 点赞/点踩
|
|
878
|
+
var likeMessage = /*#__PURE__*/function () {
|
|
879
|
+
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(invocationId, isLike, feedbackData) {
|
|
880
|
+
var _yield$addFeedback, result;
|
|
880
881
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
881
882
|
while (1) switch (_context6.prev = _context6.next) {
|
|
882
883
|
case 0:
|
|
883
|
-
if (!(!
|
|
884
|
+
if (!(!appNo || !invocationId)) {
|
|
884
885
|
_context6.next = 2;
|
|
885
886
|
break;
|
|
886
887
|
}
|
|
887
|
-
return _context6.abrupt("return");
|
|
888
|
+
return _context6.abrupt("return", false);
|
|
888
889
|
case 2:
|
|
889
890
|
_context6.next = 4;
|
|
891
|
+
return addFeedback(_objectSpread({
|
|
892
|
+
url: url,
|
|
893
|
+
appNo: appNo,
|
|
894
|
+
token: token,
|
|
895
|
+
requestId: invocationId,
|
|
896
|
+
isLike: isLike
|
|
897
|
+
}, feedbackData));
|
|
898
|
+
case 4:
|
|
899
|
+
_yield$addFeedback = _context6.sent;
|
|
900
|
+
result = _yield$addFeedback.result;
|
|
901
|
+
if (!((result === null || result === void 0 ? void 0 : result.code) === API_SUCCESS_CODE)) {
|
|
902
|
+
_context6.next = 9;
|
|
903
|
+
break;
|
|
904
|
+
}
|
|
905
|
+
setMessages(function (prev) {
|
|
906
|
+
return prev.map(function (m) {
|
|
907
|
+
return m.invocationId === invocationId ? _objectSpread(_objectSpread({}, m), {}, {
|
|
908
|
+
isLike: isLike
|
|
909
|
+
}) : m;
|
|
910
|
+
});
|
|
911
|
+
});
|
|
912
|
+
return _context6.abrupt("return", true);
|
|
913
|
+
case 9:
|
|
914
|
+
return _context6.abrupt("return", false);
|
|
915
|
+
case 10:
|
|
916
|
+
case "end":
|
|
917
|
+
return _context6.stop();
|
|
918
|
+
}
|
|
919
|
+
}, _callee6);
|
|
920
|
+
}));
|
|
921
|
+
return function likeMessage(_x4, _x5, _x6) {
|
|
922
|
+
return _ref8.apply(this, arguments);
|
|
923
|
+
};
|
|
924
|
+
}();
|
|
925
|
+
|
|
926
|
+
// 更新会话名称
|
|
927
|
+
var updateSession = /*#__PURE__*/function () {
|
|
928
|
+
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(sessionId, title) {
|
|
929
|
+
var _yield$updateSessionT, result;
|
|
930
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
931
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
932
|
+
case 0:
|
|
933
|
+
if (!(!sessionId && !title)) {
|
|
934
|
+
_context7.next = 2;
|
|
935
|
+
break;
|
|
936
|
+
}
|
|
937
|
+
return _context7.abrupt("return");
|
|
938
|
+
case 2:
|
|
939
|
+
_context7.next = 4;
|
|
890
940
|
return updateSessionTitle({
|
|
891
941
|
url: url,
|
|
892
942
|
appNo: appNo,
|
|
@@ -895,7 +945,7 @@ function useADKChat(_ref) {
|
|
|
895
945
|
token: token
|
|
896
946
|
});
|
|
897
947
|
case 4:
|
|
898
|
-
_yield$updateSessionT =
|
|
948
|
+
_yield$updateSessionT = _context7.sent;
|
|
899
949
|
result = _yield$updateSessionT.result;
|
|
900
950
|
if ((result === null || result === void 0 ? void 0 : result.code) === API_SUCCESS_CODE) {
|
|
901
951
|
// 编辑成功后,重新获取会话列表
|
|
@@ -905,31 +955,31 @@ function useADKChat(_ref) {
|
|
|
905
955
|
}
|
|
906
956
|
case 7:
|
|
907
957
|
case "end":
|
|
908
|
-
return
|
|
958
|
+
return _context7.stop();
|
|
909
959
|
}
|
|
910
|
-
},
|
|
960
|
+
}, _callee7);
|
|
911
961
|
}));
|
|
912
|
-
return function updateSession(
|
|
913
|
-
return
|
|
962
|
+
return function updateSession(_x7, _x8) {
|
|
963
|
+
return _ref9.apply(this, arguments);
|
|
914
964
|
};
|
|
915
965
|
}();
|
|
916
966
|
|
|
917
967
|
// 初始化应用
|
|
918
968
|
var initConfig = /*#__PURE__*/function () {
|
|
919
|
-
var
|
|
969
|
+
var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
920
970
|
var _yield$fetchAppConfig, data, result;
|
|
921
|
-
return _regeneratorRuntime().wrap(function
|
|
922
|
-
while (1) switch (
|
|
971
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
972
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
923
973
|
case 0:
|
|
924
|
-
|
|
974
|
+
_context8.prev = 0;
|
|
925
975
|
setLoading(true);
|
|
926
|
-
|
|
976
|
+
_context8.next = 4;
|
|
927
977
|
return fetchAppConfig({
|
|
928
978
|
url: url,
|
|
929
979
|
appNo: appNo
|
|
930
980
|
});
|
|
931
981
|
case 4:
|
|
932
|
-
_yield$fetchAppConfig =
|
|
982
|
+
_yield$fetchAppConfig = _context8.sent;
|
|
933
983
|
data = _yield$fetchAppConfig.data;
|
|
934
984
|
result = _yield$fetchAppConfig.result;
|
|
935
985
|
if (result.code === API_SUCCESS_CODE) {
|
|
@@ -945,27 +995,27 @@ function useADKChat(_ref) {
|
|
|
945
995
|
message: result.message || "获取应用配置失败"
|
|
946
996
|
});
|
|
947
997
|
}
|
|
948
|
-
|
|
998
|
+
_context8.next = 13;
|
|
949
999
|
break;
|
|
950
1000
|
case 10:
|
|
951
|
-
|
|
952
|
-
|
|
1001
|
+
_context8.prev = 10;
|
|
1002
|
+
_context8.t0 = _context8["catch"](0);
|
|
953
1003
|
onError === null || onError === void 0 || onError({
|
|
954
1004
|
code: ErrorCode.API_ERROR,
|
|
955
1005
|
message: "获取应用配置失败"
|
|
956
1006
|
});
|
|
957
1007
|
case 13:
|
|
958
|
-
|
|
1008
|
+
_context8.prev = 13;
|
|
959
1009
|
setLoading(false);
|
|
960
|
-
return
|
|
1010
|
+
return _context8.finish(13);
|
|
961
1011
|
case 16:
|
|
962
1012
|
case "end":
|
|
963
|
-
return
|
|
1013
|
+
return _context8.stop();
|
|
964
1014
|
}
|
|
965
|
-
},
|
|
1015
|
+
}, _callee8, null, [[0, 10, 13, 16]]);
|
|
966
1016
|
}));
|
|
967
1017
|
return function initConfig() {
|
|
968
|
-
return
|
|
1018
|
+
return _ref10.apply(this, arguments);
|
|
969
1019
|
};
|
|
970
1020
|
}();
|
|
971
1021
|
|
|
@@ -1007,7 +1057,8 @@ function useADKChat(_ref) {
|
|
|
1007
1057
|
setCurrentSessionDetail: setCurrentSessionDetail,
|
|
1008
1058
|
setMessages: setMessages,
|
|
1009
1059
|
storeEvents: storeEvents,
|
|
1010
|
-
storeMessage: storeMessage
|
|
1060
|
+
storeMessage: storeMessage,
|
|
1061
|
+
likeMessage: likeMessage
|
|
1011
1062
|
};
|
|
1012
1063
|
}
|
|
1013
1064
|
export default useADKChat;
|