@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.
@@ -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 && setShowContent(!showContent);
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 _useState3 = useState(false),
58
- _useState4 = _slicedToArray(_useState3, 2),
59
- showContent = _useState4[0],
60
- setShowContent = _useState4[1];
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 _React$useState3 = React.useState(''),
146
- _React$useState4 = _slicedToArray(_React$useState3, 2),
147
- inputValue = _React$useState4[0],
148
- setInputValue = _React$useState4[1];
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
@@ -24,7 +24,6 @@ export interface ToolItem {
24
24
  * PARTIAL:部分同意;
25
25
  */
26
26
  confirmStatus?: "PENDING" | "CONFIRMED" | "REJECTED" | "PARTIAL";
27
- workflowAskResult?: any;
28
27
  }
29
28
  /**
30
29
  * 聊天消息主接口