@ai-group/chat-sdk 2.1.3 → 2.1.5

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.
Files changed (91) hide show
  1. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +2 -2
  2. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +5 -6
  3. package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
  4. package/dist/cjs/components/XAdkChatbot/index.js +13 -1
  5. package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
  6. package/dist/cjs/components/XAdkSender/XAdkSender.stories.js +28 -2
  7. package/dist/cjs/components/XAdkSender/XAdkSender.stories.js.map +2 -2
  8. package/dist/cjs/components/XAdkSender/index.js +36 -50
  9. package/dist/cjs/components/XAdkSender/index.js.map +2 -2
  10. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +8 -8
  11. package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +2 -2
  12. package/dist/cjs/components/XAdkWebProvider/index.js +6 -3
  13. package/dist/cjs/components/XAdkWebProvider/index.js.map +2 -2
  14. package/dist/cjs/components/XAiSender/XAiSender.stories.js +1 -1
  15. package/dist/cjs/components/XAiSender/XAiSender.stories.js.map +2 -2
  16. package/dist/cjs/hooks/useADKChat.d.ts +6 -15
  17. package/dist/cjs/hooks/useADKChat.js +113 -38
  18. package/dist/cjs/hooks/useADKChat.js.map +2 -2
  19. package/dist/cjs/hooks/useAgentGenerator.js +1 -1
  20. package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
  21. package/dist/cjs/services/api.d.ts +5 -5
  22. package/dist/cjs/services/api.js +6 -9
  23. package/dist/cjs/services/api.js.map +2 -2
  24. package/dist/cjs/types/XAdkChatbot.d.ts +17 -4
  25. package/dist/cjs/types/XAdkChatbot.js.map +1 -1
  26. package/dist/cjs/types/XAdkProvider.d.ts +34 -9
  27. package/dist/cjs/types/XAdkProvider.js.map +1 -1
  28. package/dist/cjs/types/XAdkSender.d.ts +13 -2
  29. package/dist/cjs/types/XAdkSender.js.map +1 -1
  30. package/dist/cjs/types/XAiProvider.d.ts +1 -28
  31. package/dist/cjs/types/XAiProvider.js.map +2 -2
  32. package/dist/cjs/types/XAiSender.d.ts +2 -0
  33. package/dist/cjs/types/XAiSender.js.map +1 -1
  34. package/dist/cjs/types/common.d.ts +6 -0
  35. package/dist/cjs/types/common.js +18 -0
  36. package/dist/cjs/types/common.js.map +7 -0
  37. package/dist/cjs/types/index.d.ts +2 -0
  38. package/dist/cjs/types/index.js +5 -1
  39. package/dist/cjs/types/index.js.map +2 -2
  40. package/dist/cjs/utils/chat.d.ts +1 -1
  41. package/dist/cjs/utils/umdEntry.d.ts +9 -9
  42. package/dist/cjs/utils/umdEntry.js +1 -0
  43. package/dist/cjs/utils/umdEntry.js.map +2 -2
  44. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +2 -2
  45. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +5 -5
  46. package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
  47. package/dist/esm/components/XAdkChatbot/index.js +14 -1
  48. package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
  49. package/dist/esm/components/XAdkSender/XAdkSender.stories.js +51 -2
  50. package/dist/esm/components/XAdkSender/XAdkSender.stories.js.map +1 -1
  51. package/dist/esm/components/XAdkSender/index.js +53 -75
  52. package/dist/esm/components/XAdkSender/index.js.map +1 -1
  53. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +13 -14
  54. package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +1 -1
  55. package/dist/esm/components/XAdkWebProvider/index.js +30 -22
  56. package/dist/esm/components/XAdkWebProvider/index.js.map +1 -1
  57. package/dist/esm/components/XAiSender/XAiSender.stories.js +1 -1
  58. package/dist/esm/components/XAiSender/XAiSender.stories.js.map +1 -1
  59. package/dist/esm/hooks/useADKChat.d.ts +6 -15
  60. package/dist/esm/hooks/useADKChat.js +189 -73
  61. package/dist/esm/hooks/useADKChat.js.map +1 -1
  62. package/dist/esm/hooks/useAgentGenerator.js +1 -1
  63. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  64. package/dist/esm/services/api.d.ts +5 -5
  65. package/dist/esm/services/api.js +8 -11
  66. package/dist/esm/services/api.js.map +1 -1
  67. package/dist/esm/types/XAdkChatbot.d.ts +17 -4
  68. package/dist/esm/types/XAdkChatbot.js.map +1 -1
  69. package/dist/esm/types/XAdkProvider.d.ts +34 -9
  70. package/dist/esm/types/XAdkProvider.js.map +1 -1
  71. package/dist/esm/types/XAdkSender.d.ts +13 -2
  72. package/dist/esm/types/XAdkSender.js.map +1 -1
  73. package/dist/esm/types/XAiProvider.d.ts +1 -28
  74. package/dist/esm/types/XAiProvider.js +0 -7
  75. package/dist/esm/types/XAiProvider.js.map +1 -1
  76. package/dist/esm/types/XAiSender.d.ts +2 -0
  77. package/dist/esm/types/XAiSender.js.map +1 -1
  78. package/dist/esm/types/common.d.ts +6 -0
  79. package/dist/esm/types/common.js +2 -0
  80. package/dist/esm/types/common.js.map +1 -0
  81. package/dist/esm/types/index.d.ts +2 -0
  82. package/dist/esm/types/index.js +2 -0
  83. package/dist/esm/types/index.js.map +1 -1
  84. package/dist/esm/utils/chat.d.ts +1 -1
  85. package/dist/esm/utils/chat.js +4 -4
  86. package/dist/esm/utils/chat.js.map +1 -1
  87. package/dist/esm/utils/umdEntry.d.ts +9 -9
  88. package/dist/esm/utils/umdEntry.js +1 -1
  89. package/dist/esm/utils/umdEntry.js.map +1 -1
  90. package/dist/umd/chat-sdk.min.js +1 -1
  91. package/package.json +15 -13
@@ -28,6 +28,8 @@ var XAdkWebProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
28
28
  _ref$providerId = _ref.providerId,
29
29
  providerId = _ref$providerId === void 0 ? 'defaultId' : _ref$providerId,
30
30
  onSuccess = _ref.onSuccess,
31
+ onStream = _ref.onStream,
32
+ onMessage = _ref.onMessage,
31
33
  onError = _ref.onError;
32
34
  // 使用 useAgentGenerator Hook 管理消息状态
33
35
  var styles = useStyles();
@@ -38,7 +40,9 @@ var XAdkWebProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
38
40
  config: config,
39
41
  token: token,
40
42
  onSuccess: onSuccess,
41
- onError: onError
43
+ onError: onError,
44
+ onStream: onStream,
45
+ onMessage: onMessage
42
46
  }),
43
47
  appInfo = _useADKChat.appInfo,
44
48
  loading = _useADKChat.loading,
@@ -53,12 +57,13 @@ var XAdkWebProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
53
57
  stopChat = _useADKChat.stopChat,
54
58
  clearChat = _useADKChat.clearChat,
55
59
  suggestChat = _useADKChat.suggestChat,
60
+ confirmFnCall = _useADKChat.confirmFnCall,
56
61
  deleteSession = _useADKChat.deleteSession,
57
62
  updateSession = _useADKChat.updateSession,
58
63
  setCurrentSessionDetail = _useADKChat.setCurrentSessionDetail;
59
- var _ref2 = appInfo || {},
60
- appName = _ref2.appName,
61
- icon = _ref2.icon;
64
+
65
+ // const { appName, icon } = appInfo || {};
66
+
62
67
  useImperativeHandle(ref, function () {
63
68
  return {
64
69
  startChat: startChat,
@@ -124,14 +129,16 @@ var XAdkWebProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
124
129
 
125
130
  // 发送消息
126
131
  var handleSendMessage = /*#__PURE__*/function () {
127
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref3) {
128
- var _ref3$text, text;
132
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2) {
133
+ var _ref2$text, text;
129
134
  return _regeneratorRuntime().wrap(function _callee$(_context) {
130
135
  while (1) switch (_context.prev = _context.next) {
131
136
  case 0:
132
- _ref3$text = _ref3.text, text = _ref3$text === void 0 ? '' : _ref3$text;
137
+ _ref2$text = _ref2.text, text = _ref2$text === void 0 ? '' : _ref2$text;
133
138
  _context.next = 3;
134
- return startChat(text);
139
+ return startChat({
140
+ text: text
141
+ });
135
142
  case 3:
136
143
  case "end":
137
144
  return _context.stop();
@@ -139,19 +146,19 @@ var XAdkWebProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
139
146
  }, _callee);
140
147
  }));
141
148
  return function handleSendMessage(_x) {
142
- return _ref4.apply(this, arguments);
149
+ return _ref3.apply(this, arguments);
143
150
  };
144
151
  }();
145
152
 
146
153
  // 处理添加反馈
147
154
  var handleAddFeedback = /*#__PURE__*/function () {
148
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(data) {
155
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(data) {
149
156
  var _data$raw$isLike, _data$raw;
150
- var _ref6, appNo, isLike, _yield$addFeedback, result;
157
+ var _ref5, appNo, isLike, _yield$addFeedback, result;
151
158
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
152
159
  while (1) switch (_context2.prev = _context2.next) {
153
160
  case 0:
154
- _ref6 = config || {}, appNo = _ref6.appNo;
161
+ _ref5 = config || {}, appNo = _ref5.appNo;
155
162
  isLike = (_data$raw$isLike = data === null || data === void 0 || (_data$raw = data.raw) === null || _data$raw === void 0 ? void 0 : _data$raw.isLike) !== null && _data$raw$isLike !== void 0 ? _data$raw$isLike : 0;
156
163
  if (!(isLike !== 0)) {
157
164
  _context2.next = 5;
@@ -199,16 +206,16 @@ var XAdkWebProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
199
206
  }, _callee2);
200
207
  }));
201
208
  return function handleAddFeedback(_x2) {
202
- return _ref5.apply(this, arguments);
209
+ return _ref4.apply(this, arguments);
203
210
  };
204
211
  }();
205
- var renderFooter = function renderFooter(_ref7) {
206
- var _ref7$message = _ref7.message,
207
- msg = _ref7$message === void 0 ? {} : _ref7$message,
208
- _ref7$isLastBotMsg = _ref7.isLastBotMsg,
209
- isLastBotMsg = _ref7$isLastBotMsg === void 0 ? false : _ref7$isLastBotMsg,
210
- _ref7$isLastMsg = _ref7.isLastMsg,
211
- isLastMsg = _ref7$isLastMsg === void 0 ? false : _ref7$isLastMsg;
212
+ var renderFooter = function renderFooter(_ref6) {
213
+ var _ref6$message = _ref6.message,
214
+ msg = _ref6$message === void 0 ? {} : _ref6$message,
215
+ _ref6$isLastBotMsg = _ref6.isLastBotMsg,
216
+ isLastBotMsg = _ref6$isLastBotMsg === void 0 ? false : _ref6$isLastBotMsg,
217
+ _ref6$isLastMsg = _ref6.isLastMsg,
218
+ isLastMsg = _ref6$isLastMsg === void 0 ? false : _ref6$isLastMsg;
212
219
  if (isLastBotMsg) {
213
220
  var _msg$raw;
214
221
  return /*#__PURE__*/_jsxs(Flex, {
@@ -253,7 +260,7 @@ var XAdkWebProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
253
260
  msg: msg,
254
261
  activeColor: (appInfo === null || appInfo === void 0 ? void 0 : appInfo.appTheme) || primaryBlue,
255
262
  onSubmit: ( /*#__PURE__*/function () {
256
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(formData) {
263
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(formData) {
257
264
  var _yield$addFeedback2, result;
258
265
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
259
266
  while (1) switch (_context3.prev = _context3.next) {
@@ -295,7 +302,7 @@ var XAdkWebProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
295
302
  }, _callee3);
296
303
  }));
297
304
  return function (_x3) {
298
- return _ref8.apply(this, arguments);
305
+ return _ref7.apply(this, arguments);
299
306
  };
300
307
  }())
301
308
  })
@@ -442,6 +449,7 @@ var XAdkWebProvider = /*#__PURE__*/forwardRef(function (_ref, ref) {
442
449
  messages: messages,
443
450
  footer: renderFooter,
444
451
  onSubmit: handleSendMessage,
452
+ onConfirm: confirmFnCall,
445
453
  onStop: stopChat,
446
454
  onClear: clearChat,
447
455
  onSuggest: suggestChat,
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useImperativeHandle","useState","useRef","useEffect","message","Flex","Tooltip","Button","Modal","Input","ConfigProvider","copy","XProvider","ExclamationCircleFilled","ReloadOutlined","CopyOutlined","LikeFilled","LikeOutlined","MOBILE_MAX_WIDTH","API_SUCCESS_CODE","XAdkChatbot","DislikeFeedback","useADKChat","addFeedback","primaryBlue","XAiConversations","useStyles","jsx","_jsx","jsxs","_jsxs","confirm","XAdkWebProvider","_ref","ref","_config$chatProps","_config$session","_config$session2","_ref$url","url","window","location","origin","token","config","_ref$providerId","providerId","onSuccess","onError","styles","_useADKChat","appInfo","loading","messages","prologue","suggestions","sessionList","currentSessionId","initialized","setMessages","startChat","stopChat","clearChat","suggestChat","deleteSession","updateSession","setCurrentSessionDetail","_ref2","appName","icon","getAppInfo","getMessages","getSessions","_useState","_useState2","_slicedToArray","_isNarrow","setIsNarrow","divRef","div","current","resizeObserver","ResizeObserver","entries","_iterator","_createForOfIteratorHelper","_step","s","n","done","entry","value","width","contentRect","err","e","f","observe","initialWidth","offsetWidth","disconnect","handleSendMessage","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref3","_ref3$text","text","wrap","_callee$","_context","prev","next","stop","_x","apply","arguments","handleAddFeedback","_ref5","_callee2","data","_data$raw$isLike","_data$raw","_ref6","appNo","isLike","_yield$addFeedback","result","_callee2$","_context2","raw","warning","abrupt","requestId","invocationId","sent","code","success","map","item","id","_objectSpread","error","_x2","renderFooter","_ref7","_ref7$message","msg","_ref7$isLastBotMsg","isLastBotMsg","_ref7$isLastMsg","isLastMsg","_msg$raw","gap","style","padding","children","title","type","size","color","onClick","lastMsg","findLast","v","role","activeColor","appTheme","onSubmit","_ref8","_callee3","formData","_yield$addFeedback2","_callee3$","_context3","_x3","msgs","filter","join","isOk","handleUpdateSession","sessionId","menuConfig","conversation","items","label","key","danger","menuInfo","domEvent","stopPropagation","inputValue","content","defaultValue","autoFocus","onChange","target","okText","cancelText","okButtonProps","background","borderColor","onOk","trim","Promise","reject","onCancel","okType","clearBtnShow","chatProps","session","showSessionList","className","providerWrapper","isNarrow","onActiveChange","onNewChat","activeKey","menu","chatbotWrapper","allowUpload","footer","onStop","onClear","onSuggest"],"sources":["../../../../src/components/XAdkWebProvider/index.tsx"],"sourcesContent":["import { forwardRef, useImperativeHandle, useState, useRef, useEffect } from 'react';\nimport { message, Flex, Tooltip, Button, Modal, Input, ConfigProvider } from 'antd';\nimport copy from 'copy-to-clipboard';\nimport { XProvider } from '@ant-design/x';\nimport type { ConversationsProps } from '@ant-design/x';\nimport { ExclamationCircleFilled, ReloadOutlined, CopyOutlined, LikeFilled, LikeOutlined } from '@ant-design/icons';\nimport { XAdkProviderProps, XAdkProviderHandle } from '@/types/XAdkProvider';\nimport { MOBILE_MAX_WIDTH, API_SUCCESS_CODE } from '@/constants';\nimport type { IMessage, SendContent } from '@/types';\nimport XAdkChatbot from '../XAdkChatbot';\nimport DislikeFeedback from '../DislikeFeedback';\nimport useADKChat from '@/hooks/useADKChat';\nimport { addFeedback } from '@/services/api';\nimport { primaryBlue } from '@/styles/common';\nimport XAiConversations from '../XAiConversations';\nimport { useStyles } from './styles';\n\nconst { confirm } = Modal;\n\nconst XAdkWebProvider = forwardRef<XAdkProviderHandle, XAdkProviderProps>(({\n url = window.location.origin,\n token,\n config,\n providerId = 'defaultId',\n onSuccess,\n onError,\n}, ref) => {\n // 使用 useAgentGenerator Hook 管理消息状态\n const styles = useStyles();\n // const { textSpeed = 55 } = config?.chatProps || {};\n\n const {\n appInfo,\n loading,\n messages,\n prologue,\n suggestions,\n sessionList,\n currentSessionId,\n initialized,\n setMessages,\n startChat,\n stopChat,\n clearChat,\n suggestChat,\n deleteSession,\n updateSession,\n setCurrentSessionDetail,\n } = useADKChat({ url, config, token, onSuccess, onError });\n\n const { appName, icon } = appInfo || {};\n\n useImperativeHandle(ref, () => ({\n startChat,\n stopChat,\n clearChat,\n suggestChat,\n deleteSession,\n updateSession,\n getAppInfo: () => appInfo,\n getMessages: () => messages,\n getSessions: () => sessionList,\n setMessages,\n setCurrentSessionDetail,\n }), [appInfo, messages, stopChat, setMessages, setCurrentSessionDetail]);\n\n const [_isNarrow, setIsNarrow] = useState<boolean>(false);\n const divRef = useRef<HTMLDivElement>(null);\n\n // 监听容器宽度变化\n useEffect(() => {\n const div = divRef.current;\n if (!div) return;\n\n // 创建监听器\n const resizeObserver = new ResizeObserver((entries) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const entry of entries) {\n const { width } = entry.contentRect;\n setIsNarrow(width <= MOBILE_MAX_WIDTH);\n }\n });\n\n // 开始监听\n resizeObserver.observe(div);\n\n // 初始化检查\n const initialWidth = div.offsetWidth;\n setIsNarrow(initialWidth <= MOBILE_MAX_WIDTH);\n\n // 清理函数\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n // 发送消息\n const handleSendMessage = async ({ text = '' }: SendContent) => {\n await startChat(text);\n };\n\n // 处理添加反馈\n const handleAddFeedback = async (data: any) => {\n const { appNo } = config || {};\n const isLike = data?.raw?.isLike ?? 0;\n if (isLike !== 0) {\n message.warning('已收到您的反馈,无需重复提交');\n return;\n }\n if (appNo) {\n const { result } = await addFeedback({\n url,\n token,\n appNo,\n requestId: data.invocationId,\n isLike: 1,\n });\n if (result?.code === API_SUCCESS_CODE) {\n message.success('感谢您的反馈');\n setMessages((prev) => {\n return prev.map((item) => {\n if (item.id === data.id) {\n return {\n ...item,\n raw: {\n ...item.raw,\n isLike: 1, \n }\n };\n }\n return item;\n });\n });\n } else {\n message.error('反馈失败,请稍后再试');\n }\n }\n };\n\n\n const renderFooter = ({ message: msg = {} as IMessage, isLastBotMsg = false, isLastMsg = false}) => {\n if (isLastBotMsg) {\n return (\n <Flex gap={4} style={{ padding: '8px 0' }}>\n {isLastMsg && (\n <Tooltip title=\"重新生成\">\n <Button\n type=\"text\"\n size=\"small\"\n style={{ color: '#949494' }}\n icon={<ReloadOutlined />}\n onClick={() => {\n const lastMsg = messages.findLast((v) => {\n return v.role === 'user' && v.text;\n });\n handleSendMessage({ text: lastMsg?.text || '' });\n }}\n />\n </Tooltip>\n )}\n <Tooltip title=\"赞\">\n <Button\n type=\"text\"\n size=\"small\"\n style={{ color: '#949494' }}\n icon={msg.raw?.isLike === 1 ? <LikeFilled /> : <LikeOutlined />}\n onClick={() => handleAddFeedback(msg)}\n />\n </Tooltip>\n <Tooltip title=\"踩\">\n <DislikeFeedback\n msg={msg}\n activeColor={appInfo?.appTheme || primaryBlue}\n onSubmit={async (formData) => {\n const { result } = await addFeedback({\n ...formData,\n requestId: msg.invocationId,\n isLike: -1,\n url,\n appNo: config?.appNo,\n token,\n });\n if (result?.code === API_SUCCESS_CODE) {\n message.success('已收到您的反馈,我们会努力做的更好');\n setMessages((prev) => {\n return prev.map((item) => {\n if (item.id === msg.id) {\n return {\n ...item,\n isLike: -1,\n };\n }\n return item;\n });\n });\n return true;\n }\n message.error('反馈失败,请稍后再试');\n return false;\n }}\n />\n </Tooltip>\n <Tooltip title=\"复制\">\n <Button\n type=\"text\"\n size=\"small\"\n style={{ color: '#949494' }}\n icon={<CopyOutlined />}\n onClick={() => {\n const msgs = messages.filter((v) => {\n return v.role === 'bot'\n && v.invocationId === msg.invocationId\n && v.text;\n });\n const text = msgs.map((v) => {\n return v.text;\n }).join('\\n');\n const isOk = copy(text);\n if (isOk) {\n message.success('复制成功');\n }\n }}\n />\n </Tooltip>\n </Flex>\n );\n }\n return null;\n };\n\n // 修改会话内容\n const handleUpdateSession = (sessionId: string, title: string) => {\n updateSession(sessionId, title);\n };\n\n // 会话操作菜单\n const menuConfig: ConversationsProps['menu'] = (conversation) => ({\n items: [\n {\n label: '重命名',\n key: 'edit',\n },\n {\n label: '删除',\n key: 'delete',\n danger: true,\n },\n ],\n onClick: (menuInfo) => {\n menuInfo.domEvent.stopPropagation();\n const { key } = menuInfo;\n switch (key) {\n case 'edit': {\n let inputValue = conversation.label as string || '';\n confirm({\n title: '编辑对话名称',\n icon: null,\n content: (\n <Input\n defaultValue={inputValue}\n autoFocus\n style={{ width: '100%' }}\n onChange={(e) => {\n inputValue = e.target.value;\n }}\n />\n ),\n okText: '确认',\n cancelText: '取消',\n okButtonProps: {\n style: { background: '#000', borderColor: '#000', color: '#fff' },\n },\n onOk: () => {\n if (!inputValue.trim()) {\n message.error('对话名称不能为空');\n return Promise.reject();\n }\n handleUpdateSession(conversation.key, inputValue);\n },\n onCancel: () => {\n // 静默处理\n },\n });\n break;\n }\n case 'delete':\n confirm({\n title: '确认删除?',\n icon: <ExclamationCircleFilled />,\n content: '该对话内容将被删除无法恢复。',\n okText: '确认删除',\n okType: 'danger',\n cancelText: '取消',\n okButtonProps: {\n style: { background: '#ff4d4f', borderColor: '#ff4d4f', color: '#fff' },\n },\n onOk() {\n deleteSession(conversation.key);\n },\n onCancel() {\n //\n },\n });\n break;\n }\n },\n });\n\n // 是否展示清空按钮\n const clearBtnShow = typeof config?.chatProps?.clearBtnShow !== 'undefined'\n ? config.chatProps.clearBtnShow\n : !config?.session?.showSessionList;\n\n return (\n <ConfigProvider>\n <XProvider>\n <div\n ref={divRef}\n className={styles.providerWrapper}\n > \n {config?.session?.showSessionList && (\n <XAiConversations\n isNarrow={false}\n sessionList={sessionList}\n onActiveChange={(key) => setCurrentSessionDetail(key)}\n onNewChat={clearChat}\n activeKey={currentSessionId}\n menu={menuConfig}\n />\n )}\n <div className={styles.chatbotWrapper}>\n <div className={styles.content}>\n <XAdkChatbot\n allowUpload={config?.allowUpload}\n initialized={initialized}\n prologue={prologue}\n suggestions={suggestions}\n loading={loading}\n messages={messages}\n footer={renderFooter}\n onSubmit={handleSendMessage}\n onStop={stopChat}\n onClear={clearChat}\n onSuggest={suggestChat}\n clearBtnShow={clearBtnShow}\n />\n </div>\n </div>\n </div>\n </XProvider>\n </ConfigProvider>\n );\n});\n\nexport default XAdkWebProvider;\n"],"mappings":"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"}
1
+ {"version":3,"names":["forwardRef","useImperativeHandle","useState","useRef","useEffect","message","Flex","Tooltip","Button","Modal","Input","ConfigProvider","copy","XProvider","ExclamationCircleFilled","ReloadOutlined","CopyOutlined","LikeFilled","LikeOutlined","MOBILE_MAX_WIDTH","API_SUCCESS_CODE","XAdkChatbot","DislikeFeedback","useADKChat","addFeedback","primaryBlue","XAiConversations","useStyles","jsx","_jsx","jsxs","_jsxs","confirm","XAdkWebProvider","_ref","ref","_config$chatProps","_config$session","_config$session2","_ref$url","url","window","location","origin","token","config","_ref$providerId","providerId","onSuccess","onStream","onMessage","onError","styles","_useADKChat","appInfo","loading","messages","prologue","suggestions","sessionList","currentSessionId","initialized","setMessages","startChat","stopChat","clearChat","suggestChat","confirmFnCall","deleteSession","updateSession","setCurrentSessionDetail","getAppInfo","getMessages","getSessions","_useState","_useState2","_slicedToArray","_isNarrow","setIsNarrow","divRef","div","current","resizeObserver","ResizeObserver","entries","_iterator","_createForOfIteratorHelper","_step","s","n","done","entry","value","width","contentRect","err","e","f","observe","initialWidth","offsetWidth","disconnect","handleSendMessage","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_ref2","_ref2$text","text","wrap","_callee$","_context","prev","next","stop","_x","apply","arguments","handleAddFeedback","_ref4","_callee2","data","_data$raw$isLike","_data$raw","_ref5","appNo","isLike","_yield$addFeedback","result","_callee2$","_context2","raw","warning","abrupt","requestId","invocationId","sent","code","success","map","item","id","_objectSpread","error","_x2","renderFooter","_ref6","_ref6$message","msg","_ref6$isLastBotMsg","isLastBotMsg","_ref6$isLastMsg","isLastMsg","_msg$raw","gap","style","padding","children","title","type","size","color","icon","onClick","lastMsg","findLast","v","role","activeColor","appTheme","onSubmit","_ref7","_callee3","formData","_yield$addFeedback2","_callee3$","_context3","_x3","msgs","filter","join","isOk","handleUpdateSession","sessionId","menuConfig","conversation","items","label","key","danger","menuInfo","domEvent","stopPropagation","inputValue","content","defaultValue","autoFocus","onChange","target","okText","cancelText","okButtonProps","background","borderColor","onOk","trim","Promise","reject","onCancel","okType","clearBtnShow","chatProps","session","showSessionList","className","providerWrapper","isNarrow","onActiveChange","onNewChat","activeKey","menu","chatbotWrapper","allowUpload","footer","onConfirm","onStop","onClear","onSuggest"],"sources":["../../../../src/components/XAdkWebProvider/index.tsx"],"sourcesContent":["import { forwardRef, useImperativeHandle, useState, useRef, useEffect } from 'react';\nimport { message, Flex, Tooltip, Button, Modal, Input, ConfigProvider } from 'antd';\nimport copy from 'copy-to-clipboard';\nimport { XProvider } from '@ant-design/x';\nimport type { ConversationsProps } from '@ant-design/x';\nimport { ExclamationCircleFilled, ReloadOutlined, CopyOutlined, LikeFilled, LikeOutlined } from '@ant-design/icons';\nimport { XAdkProviderProps, XAdkProviderHandle } from '@/types/XAdkProvider';\nimport { MOBILE_MAX_WIDTH, API_SUCCESS_CODE } from '@/constants';\nimport type { IMessage, SendContent } from '@/types';\nimport XAdkChatbot from '../XAdkChatbot';\nimport DislikeFeedback from '../DislikeFeedback';\nimport useADKChat from '@/hooks/useADKChat';\nimport { addFeedback } from '@/services/api';\nimport { primaryBlue } from '@/styles/common';\nimport XAiConversations from '../XAiConversations';\nimport { useStyles } from './styles';\n\nconst { confirm } = Modal;\n\nconst XAdkWebProvider = forwardRef<XAdkProviderHandle, XAdkProviderProps>(({\n url = window.location.origin,\n token,\n config,\n providerId = 'defaultId',\n onSuccess,\n onStream,\n onMessage,\n onError,\n}, ref) => {\n // 使用 useAgentGenerator Hook 管理消息状态\n const styles = useStyles();\n // const { textSpeed = 55 } = config?.chatProps || {};\n\n const {\n appInfo,\n loading,\n messages,\n prologue,\n suggestions,\n sessionList,\n currentSessionId,\n initialized,\n setMessages,\n startChat,\n stopChat,\n clearChat,\n suggestChat,\n confirmFnCall,\n deleteSession,\n updateSession,\n setCurrentSessionDetail,\n } = useADKChat({ url, config, token, onSuccess, onError, onStream, onMessage });\n\n // const { appName, icon } = appInfo || {};\n\n useImperativeHandle(ref, () => ({\n startChat,\n stopChat,\n clearChat,\n suggestChat,\n deleteSession,\n updateSession,\n getAppInfo: () => appInfo,\n getMessages: () => messages,\n getSessions: () => sessionList,\n setMessages,\n setCurrentSessionDetail,\n }), [appInfo, messages, stopChat, setMessages, setCurrentSessionDetail]);\n\n const [_isNarrow, setIsNarrow] = useState<boolean>(false);\n const divRef = useRef<HTMLDivElement>(null);\n\n // 监听容器宽度变化\n useEffect(() => {\n const div = divRef.current;\n if (!div) return;\n\n // 创建监听器\n const resizeObserver = new ResizeObserver((entries) => {\n // eslint-disable-next-line no-restricted-syntax\n for (const entry of entries) {\n const { width } = entry.contentRect;\n setIsNarrow(width <= MOBILE_MAX_WIDTH);\n }\n });\n\n // 开始监听\n resizeObserver.observe(div);\n\n // 初始化检查\n const initialWidth = div.offsetWidth;\n setIsNarrow(initialWidth <= MOBILE_MAX_WIDTH);\n\n // 清理函数\n return () => {\n resizeObserver.disconnect();\n };\n }, []);\n\n // 发送消息\n const handleSendMessage = async ({ text = '' }: SendContent) => {\n await startChat({ text });\n };\n\n // 处理添加反馈\n const handleAddFeedback = async (data: any) => {\n const { appNo } = config || {};\n const isLike = data?.raw?.isLike ?? 0;\n if (isLike !== 0) {\n message.warning('已收到您的反馈,无需重复提交');\n return;\n }\n if (appNo) {\n const { result } = await addFeedback({\n url,\n token,\n appNo,\n requestId: data.invocationId,\n isLike: 1,\n });\n if (result?.code === API_SUCCESS_CODE) {\n message.success('感谢您的反馈');\n setMessages((prev) => {\n return prev.map((item) => {\n if (item.id === data.id) {\n return {\n ...item,\n raw: {\n ...item.raw,\n isLike: 1, \n }\n };\n }\n return item;\n });\n });\n } else {\n message.error('反馈失败,请稍后再试');\n }\n }\n };\n\n\n const renderFooter = ({ message: msg = {} as IMessage, isLastBotMsg = false, isLastMsg = false}) => {\n if (isLastBotMsg) {\n return (\n <Flex gap={4} style={{ padding: '8px 0' }}>\n {isLastMsg && (\n <Tooltip title=\"重新生成\">\n <Button\n type=\"text\"\n size=\"small\"\n style={{ color: '#949494' }}\n icon={<ReloadOutlined />}\n onClick={() => {\n const lastMsg = messages.findLast((v) => {\n return v.role === 'user' && v.text;\n });\n handleSendMessage({ text: lastMsg?.text || '' });\n }}\n />\n </Tooltip>\n )}\n <Tooltip title=\"赞\">\n <Button\n type=\"text\"\n size=\"small\"\n style={{ color: '#949494' }}\n icon={msg.raw?.isLike === 1 ? <LikeFilled /> : <LikeOutlined />}\n onClick={() => handleAddFeedback(msg)}\n />\n </Tooltip>\n <Tooltip title=\"踩\">\n <DislikeFeedback\n msg={msg}\n activeColor={appInfo?.appTheme || primaryBlue}\n onSubmit={async (formData) => {\n const { result } = await addFeedback({\n ...formData,\n requestId: msg.invocationId,\n isLike: -1,\n url,\n appNo: config?.appNo,\n token,\n });\n if (result?.code === API_SUCCESS_CODE) {\n message.success('已收到您的反馈,我们会努力做的更好');\n setMessages((prev) => {\n return prev.map((item) => {\n if (item.id === msg.id) {\n return {\n ...item,\n isLike: -1,\n };\n }\n return item;\n });\n });\n return true;\n }\n message.error('反馈失败,请稍后再试');\n return false;\n }}\n />\n </Tooltip>\n <Tooltip title=\"复制\">\n <Button\n type=\"text\"\n size=\"small\"\n style={{ color: '#949494' }}\n icon={<CopyOutlined />}\n onClick={() => {\n const msgs = messages.filter((v) => {\n return v.role === 'bot'\n && v.invocationId === msg.invocationId\n && v.text;\n });\n const text = msgs.map((v) => {\n return v.text;\n }).join('\\n');\n const isOk = copy(text);\n if (isOk) {\n message.success('复制成功');\n }\n }}\n />\n </Tooltip>\n </Flex>\n );\n }\n return null;\n };\n\n // 修改会话内容\n const handleUpdateSession = (sessionId: string, title: string) => {\n updateSession(sessionId, title);\n };\n\n // 会话操作菜单\n const menuConfig: ConversationsProps['menu'] = (conversation) => ({\n items: [\n {\n label: '重命名',\n key: 'edit',\n },\n {\n label: '删除',\n key: 'delete',\n danger: true,\n },\n ],\n onClick: (menuInfo) => {\n menuInfo.domEvent.stopPropagation();\n const { key } = menuInfo;\n switch (key) {\n case 'edit': {\n let inputValue = conversation.label as string || '';\n confirm({\n title: '编辑对话名称',\n icon: null,\n content: (\n <Input\n defaultValue={inputValue}\n autoFocus\n style={{ width: '100%' }}\n onChange={(e) => {\n inputValue = e.target.value;\n }}\n />\n ),\n okText: '确认',\n cancelText: '取消',\n okButtonProps: {\n style: { background: '#000', borderColor: '#000', color: '#fff' },\n },\n onOk: () => {\n if (!inputValue.trim()) {\n message.error('对话名称不能为空');\n return Promise.reject();\n }\n handleUpdateSession(conversation.key, inputValue);\n },\n onCancel: () => {\n // 静默处理\n },\n });\n break;\n }\n case 'delete':\n confirm({\n title: '确认删除?',\n icon: <ExclamationCircleFilled />,\n content: '该对话内容将被删除无法恢复。',\n okText: '确认删除',\n okType: 'danger',\n cancelText: '取消',\n okButtonProps: {\n style: { background: '#ff4d4f', borderColor: '#ff4d4f', color: '#fff' },\n },\n onOk() {\n deleteSession(conversation.key);\n },\n onCancel() {\n //\n },\n });\n break;\n }\n },\n });\n\n // 是否展示清空按钮\n const clearBtnShow = typeof config?.chatProps?.clearBtnShow !== 'undefined'\n ? config.chatProps.clearBtnShow\n : !config?.session?.showSessionList;\n\n return (\n <ConfigProvider>\n <XProvider>\n <div\n ref={divRef}\n className={styles.providerWrapper}\n > \n {config?.session?.showSessionList && (\n <XAiConversations\n isNarrow={false}\n sessionList={sessionList}\n onActiveChange={(key) => setCurrentSessionDetail(key)}\n onNewChat={clearChat}\n activeKey={currentSessionId}\n menu={menuConfig}\n />\n )}\n <div className={styles.chatbotWrapper}>\n <div className={styles.content}>\n <XAdkChatbot\n allowUpload={config?.allowUpload}\n initialized={initialized}\n prologue={prologue}\n suggestions={suggestions}\n loading={loading}\n messages={messages}\n footer={renderFooter}\n onSubmit={handleSendMessage}\n onConfirm={confirmFnCall}\n onStop={stopChat}\n onClear={clearChat}\n onSuggest={suggestChat}\n clearBtnShow={clearBtnShow}\n />\n </div>\n </div>\n </div>\n </XProvider>\n </ConfigProvider>\n );\n});\n\nexport default XAdkWebProvider;\n"],"mappings":"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"}
@@ -39,8 +39,8 @@ var BasicUsageStory = function BasicUsageStory() {
39
39
 
40
40
  // 模拟快捷短语点击
41
41
  var handleSendMessage = function handleSendMessage(obj) {
42
+ console.log(obj);
42
43
  setLoading(true);
43
- console.info(obj);
44
44
  setTimeout(function () {
45
45
  setContent('');
46
46
  setFiles([]);
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","XAiSender","jsx","_jsx","meta","title","component","parameters","layout","tags","argTypes","BasicUsageStory","_useState","_useState2","_slicedToArray","files","setFiles","_useState3","_useState4","content","setContent","_useState5","_useState6","loading","setLoading","handleClear","console","info","handleChange","text","handleSendMessage","obj","setTimeout","style","width","border","padding","children","value","enableUpload","onChangeFiles","uploadRequest","_ref","file","onProgress","onSuccess","percent","onClear","onChange","onSubmit","onStop","footerTips","基础用法","render","args"],"sources":["../../../../src/components/XAiSender/XAiSender.stories.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport type { Meta, StoryObj } from '@storybook/react-vite';\nimport type { Attachment } from '@ant-design/x/es/attachments';\nimport XAiSender from '.';\n\nconst meta: Meta<typeof XAiSender> = {\n title: 'AI组件/XAiSender 输入框',\n component: XAiSender,\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 handleClear = () => {\n console.info('clear');\n };\n\n // 模拟输入\n const handleChange = (text: string) => {\n setContent(text);\n };\n\n // 模拟快捷短语点击\n const handleSendMessage = (obj: any) => {\n setLoading(true);\n console.info(obj);\n setTimeout(() => {\n setContent('');\n setFiles([]);\n setLoading(false);\n }, 2000);\n };\n\n return (\n <div style={{ width: 440, border: '1px solid #eee', padding: 20 }}>\n <XAiSender\n loading={loading}\n value={content}\n enableUpload\n files={files}\n onChangeFiles={setFiles}\n uploadRequest={({ file, onProgress, onSuccess }) => {\n console.info(file);\n onProgress?.({\n percent: 50,\n });\n setTimeout(() => {\n onSuccess?.({});\n }, 1000);\n }}\n onClear={handleClear}\n onChange={handleChange}\n onSubmit={handleSendMessage}\n onStop={handleClear}\n footerTips=\"内容由AI生成,无法确保真实准确,仅供参考\"\n />\n </div>\n );\n};\n\nexport const 基础用法: Story = {\n render: BasicUsageStory,\n args: {},\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","useState","XAiSender","jsx","_jsx","meta","title","component","parameters","layout","tags","argTypes","BasicUsageStory","_useState","_useState2","_slicedToArray","files","setFiles","_useState3","_useState4","content","setContent","_useState5","_useState6","loading","setLoading","handleClear","console","info","handleChange","text","handleSendMessage","obj","log","setTimeout","style","width","border","padding","children","value","enableUpload","onChangeFiles","uploadRequest","_ref","file","onProgress","onSuccess","percent","onClear","onChange","onSubmit","onStop","footerTips","基础用法","render","args"],"sources":["../../../../src/components/XAiSender/XAiSender.stories.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport type { Meta, StoryObj } from '@storybook/react-vite';\nimport type { Attachment } from '@ant-design/x/es/attachments';\nimport XAiSender from '.';\n\nconst meta: Meta<typeof XAiSender> = {\n title: 'AI组件/XAiSender 输入框',\n component: XAiSender,\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 handleClear = () => {\n console.info('clear');\n };\n\n // 模拟输入\n const handleChange = (text: string) => {\n setContent(text);\n };\n\n // 模拟快捷短语点击\n const handleSendMessage = (obj: any) => {\n console.log(obj);\n setLoading(true);\n setTimeout(() => {\n setContent('');\n setFiles([]);\n setLoading(false);\n }, 2000);\n };\n\n return (\n <div style={{ width: 440, border: '1px solid #eee', padding: 20 }}>\n <XAiSender\n loading={loading}\n value={content}\n enableUpload\n files={files}\n onChangeFiles={setFiles}\n uploadRequest={({ file, onProgress, onSuccess }) => {\n console.info(file);\n onProgress?.({\n percent: 50,\n });\n setTimeout(() => {\n onSuccess?.({});\n }, 1000);\n }}\n onClear={handleClear}\n onChange={handleChange}\n onSubmit={handleSendMessage}\n onStop={handleClear}\n footerTips=\"内容由AI生成,无法确保真实准确,仅供参考\"\n />\n </div>\n );\n};\n\nexport const 基础用法: Story = {\n render: BasicUsageStory,\n args: {},\n};\n"],"mappings":"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"}
@@ -1,23 +1,14 @@
1
1
  /// <reference types="react" />
2
- import type { Event, IMessage, Part } from "../types";
3
- import { type Error, type Success, type SessionData } from "../types";
2
+ import { DebugOptions, FunctionCall, SendContent, SessionData, Event, IMessage, Part } from "../types";
4
3
  import { type ChatConfig } from "../services/api";
5
- export interface DebugOptions {
6
- url: string;
7
- sessionId?: string;
8
- config: any;
9
- token: string;
10
- type?: 'agentDebug' | 'appDebug';
11
- onError?: (error: Error) => void;
12
- onSuccess?: (data: Success) => void;
13
- onMessage?: (content: string, data: IMessage) => void;
14
- }
15
- declare function useADKChat({ url, token, config, type, onError, onMessage, onSuccess, }: DebugOptions): {
16
- appInfo: ChatConfig;
17
- startChat: (text: string) => Promise<void>;
4
+ declare function useADKChat({ url, token, config, type, onError, onMessage, onSuccess, onStream, }: DebugOptions): {
5
+ appInfo: ChatConfig | null;
6
+ startChat: ({ text, files, functionResponse }: SendContent) => Promise<void>;
7
+ reChat: () => void;
18
8
  stopChat: () => void;
19
9
  clearChat: () => void;
20
10
  suggestChat: (text: string) => void;
11
+ confirmFnCall: (fnCall: FunctionCall, confirmed: boolean) => void;
21
12
  initialized: boolean;
22
13
  currentSessionId: string;
23
14
  sessionList: SessionData[];