@myun/gimi-chat 0.9.74 → 0.9.75
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/components/answer-item/component/tool-list/index.js +29 -17
- package/dist/hooks/useChatStream.js +26 -13
- package/dist/hooks/useCommonChatAPI.js +1 -2
- package/dist/interfaces/chatMessage.d.ts +0 -1
- package/dist/umd/index.min.js +1 -1
- package/dist/utils/tools.js +12 -5
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
8
8
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9
9
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
|
-
import React, { useMemo, useState } from "react";
|
|
11
|
+
import React, { useEffect, useMemo, useState } from "react";
|
|
12
12
|
import { MMarkdown } from '@myun/gimi-design';
|
|
13
13
|
import IconFont from "../../../iconfont-com";
|
|
14
14
|
import FileUpload from "../../../file-upload";
|
|
@@ -24,12 +24,28 @@ var ThinkingToolItem = function ThinkingToolItem(_ref) {
|
|
|
24
24
|
_useState2 = _slicedToArray(_useState, 2),
|
|
25
25
|
showContent = _useState2[0],
|
|
26
26
|
setShowContent = _useState2[1];
|
|
27
|
+
var _useState3 = useState(false),
|
|
28
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
29
|
+
manual = _useState4[0],
|
|
30
|
+
setManual = _useState4[1]; // 用户是否手动操作过,手动后不再被状态覆盖
|
|
31
|
+
|
|
32
|
+
useEffect(function () {
|
|
33
|
+
if (!manual) {
|
|
34
|
+
setShowContent(item.status !== "COMPLETED");
|
|
35
|
+
}
|
|
36
|
+
}, [item.status, manual]);
|
|
37
|
+
var handleToggle = function handleToggle() {
|
|
38
|
+
setManual(true);
|
|
39
|
+
setShowContent(function (v) {
|
|
40
|
+
return !v;
|
|
41
|
+
});
|
|
42
|
+
};
|
|
27
43
|
return /*#__PURE__*/React.createElement("div", {
|
|
28
44
|
className: styles.toolItem
|
|
29
45
|
}, /*#__PURE__*/React.createElement("div", {
|
|
30
46
|
className: styles.toolItemLabel,
|
|
31
47
|
onClick: function onClick() {
|
|
32
|
-
return item.content &&
|
|
48
|
+
return item.content && handleToggle();
|
|
33
49
|
}
|
|
34
50
|
}, item.status === "COMPLETED" && /*#__PURE__*/React.createElement("img", {
|
|
35
51
|
className: styles.toolIcon,
|
|
@@ -54,10 +70,10 @@ var ThinkingToolItem = function ThinkingToolItem(_ref) {
|
|
|
54
70
|
var ToolItemCom = function ToolItemCom(_ref2) {
|
|
55
71
|
var item = _ref2.item,
|
|
56
72
|
customRender = _ref2.customRender;
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
showContent =
|
|
60
|
-
setShowContent =
|
|
73
|
+
var _useState5 = useState(false),
|
|
74
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
75
|
+
showContent = _useState6[0],
|
|
76
|
+
setShowContent = _useState6[1];
|
|
61
77
|
var content = useMemo(function () {
|
|
62
78
|
var result = item.content || '';
|
|
63
79
|
for (var depth = 0; depth < 2 && typeof result === 'string'; depth++) {
|
|
@@ -78,7 +94,7 @@ var ToolItemCom = function ToolItemCom(_ref2) {
|
|
|
78
94
|
onClick: function onClick() {
|
|
79
95
|
return item.content && setShowContent(!showContent);
|
|
80
96
|
}
|
|
81
|
-
}, item.status === "COMPLETED" && /*#__PURE__*/React.createElement("img", {
|
|
97
|
+
}, (item.status === "COMPLETED" || item.status === "FAILED") && /*#__PURE__*/React.createElement("img", {
|
|
82
98
|
className: styles.toolIcon,
|
|
83
99
|
src: "https://simg01.gaodunwangxiao.com/uploadfiles/tmp/upload/202609/07/e5347_20260907085700.png"
|
|
84
100
|
}), /*#__PURE__*/React.createElement("div", {
|
|
@@ -142,19 +158,15 @@ var AskToolItem = function AskToolItem(_ref4) {
|
|
|
142
158
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
143
159
|
disabled = _React$useState2[0],
|
|
144
160
|
setDisabled = _React$useState2[1];
|
|
145
|
-
var
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
var _useState5 = useState(false),
|
|
150
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
151
|
-
showContent = _useState6[0],
|
|
152
|
-
setShowContent = _useState6[1];
|
|
161
|
+
var _useState7 = useState(false),
|
|
162
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
163
|
+
showContent = _useState8[0],
|
|
164
|
+
setShowContent = _useState8[1];
|
|
153
165
|
var _useTranslation = useTranslation(),
|
|
154
166
|
t = _useTranslation.t;
|
|
155
167
|
var askTextMap = {
|
|
156
|
-
RUNNING: "
|
|
157
|
-
COMPLETED: "
|
|
168
|
+
RUNNING: "等待人工确认",
|
|
169
|
+
COMPLETED: "用户已确认"
|
|
158
170
|
};
|
|
159
171
|
var _React$useMemo = React.useMemo(function () {
|
|
160
172
|
var _item$data2, _detailInfo$questionC, _item$data3;
|
|
@@ -57,67 +57,80 @@ var NODE_STATUS_TEXTS = {
|
|
|
57
57
|
'thinking': {
|
|
58
58
|
'STARTED': '开始分析问题',
|
|
59
59
|
'RUNNING': '正在分析问题',
|
|
60
|
-
'COMPLETED': '已完成分析'
|
|
60
|
+
'COMPLETED': '已完成分析',
|
|
61
|
+
'FAILED': '分析问题失败'
|
|
61
62
|
},
|
|
62
63
|
'knowledge': {
|
|
63
64
|
'STARTED': '开始调用知识库检索',
|
|
64
65
|
'RUNNING': '正在调用知识库检索',
|
|
65
|
-
'COMPLETED': '已调用知识库检索'
|
|
66
|
+
'COMPLETED': '已调用知识库检索',
|
|
67
|
+
'FAILED': '调用知识库检索失败'
|
|
66
68
|
},
|
|
67
69
|
"esKnowledge": {
|
|
68
70
|
'STARTED': '开始调用知识库检索',
|
|
69
71
|
'RUNNING': '正在调用知识库检索',
|
|
70
|
-
'COMPLETED': '已调用知识库检索'
|
|
72
|
+
'COMPLETED': '已调用知识库检索',
|
|
73
|
+
'FAILED': '调用知识库检索失败'
|
|
71
74
|
},
|
|
72
75
|
"mcp": {
|
|
73
76
|
'STARTED': '开始调用技能',
|
|
74
77
|
'RUNNING': '正在调用技能',
|
|
75
|
-
'COMPLETED': '已调用技能'
|
|
78
|
+
'COMPLETED': '已调用技能',
|
|
79
|
+
'FAILED': '调用技能失败'
|
|
76
80
|
},
|
|
77
81
|
"skillBase": {
|
|
78
82
|
'STARTED': '开始调用技能',
|
|
79
83
|
'RUNNING': '正在调用技能',
|
|
80
|
-
'COMPLETED': '已调用技能'
|
|
84
|
+
'COMPLETED': '已调用技能',
|
|
85
|
+
'FAILED': '调用技能失败'
|
|
81
86
|
},
|
|
82
87
|
"http": {
|
|
83
88
|
'STARTED': '开始调用处理数据',
|
|
84
89
|
'RUNNING': '正在调用处理数据',
|
|
85
|
-
'COMPLETED': '已调用处理数据'
|
|
90
|
+
'COMPLETED': '已调用处理数据',
|
|
91
|
+
'FAILED': '调用处理数据失败'
|
|
86
92
|
},
|
|
87
93
|
"loop": {
|
|
88
94
|
'STARTED': '开始处理任务',
|
|
89
95
|
'RUNNING': '正在处理任务',
|
|
90
|
-
'COMPLETED': '已处理任务'
|
|
96
|
+
'COMPLETED': '已处理任务',
|
|
97
|
+
'FAILED': '处理任务失败'
|
|
91
98
|
},
|
|
92
99
|
"intent": {
|
|
93
100
|
'STARTED': '开始规划下一步处理方式',
|
|
94
101
|
'RUNNING': '正在规划下一步处理方式',
|
|
95
|
-
'COMPLETED': '已规划下一步处理方式'
|
|
102
|
+
'COMPLETED': '已规划下一步处理方式',
|
|
103
|
+
'FAILED': '规划下一步处理方式失败'
|
|
96
104
|
},
|
|
97
105
|
"video": {
|
|
98
106
|
'STARTED': '开始处理任务',
|
|
99
107
|
'RUNNING': '正在处理任务',
|
|
100
|
-
'COMPLETED': '已处理任务'
|
|
108
|
+
'COMPLETED': '已处理任务',
|
|
109
|
+
'FAILED': '处理任务失败'
|
|
101
110
|
},
|
|
102
111
|
"talk": {
|
|
103
112
|
'STARTED': '开始处理任务',
|
|
104
113
|
'RUNNING': '正在处理任务',
|
|
105
|
-
'COMPLETED': '已处理任务'
|
|
114
|
+
'COMPLETED': '已处理任务',
|
|
115
|
+
'FAILED': '处理任务失败'
|
|
106
116
|
},
|
|
107
117
|
"image-text": {
|
|
108
118
|
'STARTED': '开始处理任务',
|
|
109
119
|
'RUNNING': '正在处理任务',
|
|
110
|
-
'COMPLETED': '已处理任务'
|
|
120
|
+
'COMPLETED': '已处理任务',
|
|
121
|
+
'FAILED': '处理任务失败'
|
|
111
122
|
},
|
|
112
123
|
"text": {
|
|
113
124
|
'STARTED': '开始调用处理数据',
|
|
114
125
|
'RUNNING': '正在调用处理数据',
|
|
115
|
-
'COMPLETED': '已调用处理数据'
|
|
126
|
+
'COMPLETED': '已调用处理数据',
|
|
127
|
+
'FAILED': '调用处理数据失败'
|
|
116
128
|
},
|
|
117
129
|
"llm": {
|
|
118
130
|
'STARTED': '开始分析问题',
|
|
119
131
|
'RUNNING': '正在分析问题',
|
|
120
|
-
'COMPLETED': '已完成分析'
|
|
132
|
+
'COMPLETED': '已完成分析',
|
|
133
|
+
'FAILED': '分析问题失败'
|
|
121
134
|
}
|
|
122
135
|
|
|
123
136
|
// 其他节点可继续添加自定义文案
|
|
@@ -557,7 +557,7 @@ var useCommonChatAPI = function useCommonChatAPI(props) {
|
|
|
557
557
|
var lastToolList = _toConsumableArray(currentMessageList[currentMessageList.length - 1].toolList || []);
|
|
558
558
|
if (lastToolList.findIndex(function (v) {
|
|
559
559
|
return v.moduleType === 'end';
|
|
560
|
-
}) < 0) {
|
|
560
|
+
}) < 0 && type === 'content') {
|
|
561
561
|
lastToolList.push({
|
|
562
562
|
moduleType: 'end',
|
|
563
563
|
content: '',
|
|
@@ -1357,7 +1357,6 @@ var useCommonChatAPI = function useCommonChatAPI(props) {
|
|
|
1357
1357
|
var uploadFile = fileList[0];
|
|
1358
1358
|
var isLastMessageEmptyUserChat = (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.moduleType) === 'ask'; // 空内容
|
|
1359
1359
|
if (!isLastMessageEmptyUserChat) {
|
|
1360
|
-
console.log('isLastMessageEmptyUserChat', isLastMessageEmptyUserChat);
|
|
1361
1360
|
var shouldEnableUpload = uploadFile.status === FileStatus.UPLOAD_FAILED || uploadFile.status === FileStatus.ANALYSE_FAILED;
|
|
1362
1361
|
var newMessageList = [].concat(_toConsumableArray(messageList.slice(0, -2)), [_objectSpread(_objectSpread({}, messageList[messageList.length - 2]), {}, {
|
|
1363
1362
|
disableUploadFile: !shouldEnableUpload
|