@ai-group/chat-sdk 2.1.13 → 2.1.14
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/components/FunctionCallRender/index.d.ts +1 -1
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +41 -5
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +14 -3
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/index.d.ts +1 -1
- package/dist/cjs/components/XAdkChatbot/index.js +30 -13
- package/dist/cjs/components/XAdkChatbot/index.js.map +3 -3
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +2 -2
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +26 -9
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +2 -2
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js +180 -0
- package/dist/cjs/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +7 -0
- package/dist/cjs/components/XAiThoughtChain/index.d.ts +4 -0
- package/dist/cjs/components/XAiThoughtChain/index.js +155 -0
- package/dist/cjs/components/XAiThoughtChain/index.js.map +7 -0
- package/dist/cjs/components/XAiThoughtChain/styles.d.ts +60 -0
- package/dist/cjs/components/XAiThoughtChain/styles.js +195 -0
- package/dist/cjs/components/XAiThoughtChain/styles.js.map +7 -0
- package/dist/cjs/hooks/useADKChat.d.ts +2 -2
- package/dist/cjs/hooks/useADKChat.js +228 -180
- package/dist/cjs/hooks/useADKChat.js.map +2 -2
- package/dist/cjs/types/XAiThoughtChain.d.ts +25 -0
- package/dist/cjs/types/XAiThoughtChain.js +18 -0
- package/dist/cjs/types/XAiThoughtChain.js.map +7 -0
- package/dist/cjs/types/index.d.ts +9 -8
- package/dist/cjs/types/index.js +2 -0
- package/dist/cjs/types/index.js.map +2 -2
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +7 -0
- package/dist/cjs/utils/index.js.map +2 -2
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +1 -1
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +17 -15
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +1 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +7 -6
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/index.d.ts +1 -1
- package/dist/esm/components/XAdkChatbot/index.js +20 -18
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +2 -2
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +45 -40
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +1 -1
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.d.ts +6 -0
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js +159 -0
- package/dist/esm/components/XAiThoughtChain/XAiThoughtChain.stories.js.map +1 -0
- package/dist/esm/components/XAiThoughtChain/index.d.ts +4 -0
- package/dist/esm/components/XAiThoughtChain/index.js +180 -0
- package/dist/esm/components/XAiThoughtChain/index.js.map +1 -0
- package/dist/esm/components/XAiThoughtChain/styles.d.ts +60 -0
- package/dist/esm/components/XAiThoughtChain/styles.js +40 -0
- package/dist/esm/components/XAiThoughtChain/styles.js.map +1 -0
- package/dist/esm/hooks/useADKChat.d.ts +2 -2
- package/dist/esm/hooks/useADKChat.js +59 -57
- package/dist/esm/hooks/useADKChat.js.map +1 -1
- package/dist/esm/types/XAiThoughtChain.d.ts +25 -0
- package/dist/esm/types/XAiThoughtChain.js +2 -0
- package/dist/esm/types/XAiThoughtChain.js.map +1 -0
- package/dist/esm/types/index.d.ts +9 -8
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +4 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React, { useState, useEffect } from "react";
|
|
3
|
+
import { CheckCircleFilled, SyncOutlined, ThunderboltOutlined, PartitionOutlined, CaretRightOutlined, RightOutlined, DownOutlined } from "@ant-design/icons";
|
|
4
|
+
import MarkdownRender from "../XAdkChatbot/components/MarkdownRender";
|
|
5
|
+
import FunctionCallRender from "../XAdkChatbot/components/FunctionCallRender";
|
|
6
|
+
import { useStyles } from "./styles";
|
|
7
|
+
import { cleanProcessText } from "../../utils";
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
var TimelineItem = function TimelineItem(_ref) {
|
|
11
|
+
var icon = _ref.icon,
|
|
12
|
+
title = _ref.title,
|
|
13
|
+
children = _ref.children,
|
|
14
|
+
_ref$collapsible = _ref.collapsible,
|
|
15
|
+
collapsible = _ref$collapsible === void 0 ? true : _ref$collapsible,
|
|
16
|
+
_ref$defaultOpen = _ref.defaultOpen,
|
|
17
|
+
defaultOpen = _ref$defaultOpen === void 0 ? true : _ref$defaultOpen;
|
|
18
|
+
var _useState = useState(defaultOpen),
|
|
19
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
20
|
+
isOpen = _useState2[0],
|
|
21
|
+
setIsOpen = _useState2[1];
|
|
22
|
+
var styles = useStyles();
|
|
23
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
24
|
+
className: styles.timelineItem,
|
|
25
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
26
|
+
className: styles.timelineLeft,
|
|
27
|
+
children: [icon, /*#__PURE__*/_jsx("div", {
|
|
28
|
+
className: styles.timelineConnector
|
|
29
|
+
})]
|
|
30
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
31
|
+
className: styles.timelineRight,
|
|
32
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
33
|
+
className: styles.collapsibleHeader,
|
|
34
|
+
onClick: function onClick() {
|
|
35
|
+
return collapsible ? setIsOpen(!isOpen) : undefined;
|
|
36
|
+
},
|
|
37
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
38
|
+
children: title
|
|
39
|
+
}), collapsible && /*#__PURE__*/_jsx("span", {
|
|
40
|
+
className: styles.arrowIcon,
|
|
41
|
+
children: isOpen ? /*#__PURE__*/_jsx(DownOutlined, {}) : /*#__PURE__*/_jsx(RightOutlined, {})
|
|
42
|
+
})]
|
|
43
|
+
}), isOpen && /*#__PURE__*/_jsx("div", {
|
|
44
|
+
className: styles.stepContent,
|
|
45
|
+
children: children
|
|
46
|
+
})]
|
|
47
|
+
})]
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
var TimelineTextItem = function TimelineTextItem(_ref2) {
|
|
51
|
+
var item = _ref2.item;
|
|
52
|
+
return /*#__PURE__*/_jsx(TimelineItem, {
|
|
53
|
+
icon: /*#__PURE__*/_jsx("span", {
|
|
54
|
+
className: useStyles().timelineIcon,
|
|
55
|
+
children: /*#__PURE__*/_jsx(PartitionOutlined, {})
|
|
56
|
+
}),
|
|
57
|
+
title: /*#__PURE__*/_jsx("span", {
|
|
58
|
+
className: useStyles().titleText,
|
|
59
|
+
children: item.title
|
|
60
|
+
}),
|
|
61
|
+
children: /*#__PURE__*/_jsx(MarkdownRender, {
|
|
62
|
+
text: cleanProcessText(item.content)
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
var TimelineToolItem = function TimelineToolItem(_ref3) {
|
|
67
|
+
var _msg$functionCall, _msg$functionCall2, _msg$functionResponse, _msg$functionResponse2;
|
|
68
|
+
var msg = _ref3.msg,
|
|
69
|
+
collapsible = _ref3.collapsible,
|
|
70
|
+
onConfirm = _ref3.onConfirm,
|
|
71
|
+
showFnCallDetail = _ref3.showFnCallDetail;
|
|
72
|
+
var styles = useStyles();
|
|
73
|
+
var needsConfirm = msg.functionCall && !msg.functionResponse;
|
|
74
|
+
var isDone = !!msg.functionResponse;
|
|
75
|
+
var toolName = ((_msg$functionCall = msg.functionCall) === null || _msg$functionCall === void 0 || (_msg$functionCall = _msg$functionCall.args) === null || _msg$functionCall === void 0 ? void 0 : _msg$functionCall.componentName) || ((_msg$functionCall2 = msg.functionCall) === null || _msg$functionCall2 === void 0 ? void 0 : _msg$functionCall2.name) || "组件执行";
|
|
76
|
+
var statusInfo = ((_msg$functionResponse = msg.functionResponse) === null || _msg$functionResponse === void 0 || (_msg$functionResponse = _msg$functionResponse.response) === null || _msg$functionResponse === void 0 ? void 0 : _msg$functionResponse.processData) || ((_msg$functionResponse2 = msg.functionResponse) === null || _msg$functionResponse2 === void 0 || (_msg$functionResponse2 = _msg$functionResponse2.response) === null || _msg$functionResponse2 === void 0 ? void 0 : _msg$functionResponse2.output);
|
|
77
|
+
var titleNode = /*#__PURE__*/_jsxs("div", {
|
|
78
|
+
className: styles.toolTitleGroup,
|
|
79
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
80
|
+
className: styles.toolName,
|
|
81
|
+
children: toolName
|
|
82
|
+
}), isDone && /*#__PURE__*/_jsx("span", {
|
|
83
|
+
className: styles.toolStatusTag,
|
|
84
|
+
children: "\u6267\u884C\u6210\u529F"
|
|
85
|
+
})]
|
|
86
|
+
});
|
|
87
|
+
return /*#__PURE__*/_jsxs(TimelineItem, {
|
|
88
|
+
icon: /*#__PURE__*/_jsx("span", {
|
|
89
|
+
className: styles.timelineIconTool,
|
|
90
|
+
children: /*#__PURE__*/_jsx(ThunderboltOutlined, {})
|
|
91
|
+
}),
|
|
92
|
+
title: titleNode,
|
|
93
|
+
collapsible: collapsible,
|
|
94
|
+
defaultOpen: needsConfirm,
|
|
95
|
+
children: [statusInfo && typeof statusInfo === "string" && /*#__PURE__*/_jsx("div", {
|
|
96
|
+
className: styles.statusInfo,
|
|
97
|
+
children: statusInfo
|
|
98
|
+
}), /*#__PURE__*/_jsx(FunctionCallRender, {
|
|
99
|
+
msg: msg,
|
|
100
|
+
showDetail: showFnCallDetail,
|
|
101
|
+
onConfirm: onConfirm
|
|
102
|
+
})]
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
var XAiThoughtChain = function XAiThoughtChain(_ref4) {
|
|
106
|
+
var _ref4$defaultOpen = _ref4.defaultOpen,
|
|
107
|
+
defaultOpen = _ref4$defaultOpen === void 0 ? false : _ref4$defaultOpen,
|
|
108
|
+
_ref4$showFnCallDetai = _ref4.showFnCallDetail,
|
|
109
|
+
showFnCallDetail = _ref4$showFnCallDetai === void 0 ? false : _ref4$showFnCallDetai,
|
|
110
|
+
_ref4$title = _ref4.title,
|
|
111
|
+
title = _ref4$title === void 0 ? "思维链已完成" : _ref4$title,
|
|
112
|
+
_ref4$items = _ref4.items,
|
|
113
|
+
items = _ref4$items === void 0 ? [] : _ref4$items,
|
|
114
|
+
loading = _ref4.loading,
|
|
115
|
+
onConfirm = _ref4.onConfirm;
|
|
116
|
+
var styles = useStyles();
|
|
117
|
+
var _useState3 = useState(defaultOpen),
|
|
118
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
119
|
+
isOpen = _useState4[0],
|
|
120
|
+
setIsOpen = _useState4[1];
|
|
121
|
+
useEffect(function () {
|
|
122
|
+
if (loading) Promise.resolve().then(function () {
|
|
123
|
+
return setIsOpen(true);
|
|
124
|
+
});
|
|
125
|
+
}, [loading]);
|
|
126
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
127
|
+
className: styles.thoughtChainBlock,
|
|
128
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
129
|
+
className: styles.thoughtHeader,
|
|
130
|
+
onClick: function onClick() {
|
|
131
|
+
return setIsOpen(!isOpen);
|
|
132
|
+
},
|
|
133
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
134
|
+
className: styles.headerLeft,
|
|
135
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
136
|
+
className: "".concat(styles.caret, " ").concat(isOpen ? "open" : ""),
|
|
137
|
+
children: /*#__PURE__*/_jsx(CaretRightOutlined, {})
|
|
138
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
139
|
+
className: styles.statusIcon,
|
|
140
|
+
children: loading ? /*#__PURE__*/_jsx(SyncOutlined, {
|
|
141
|
+
spin: true,
|
|
142
|
+
style: {
|
|
143
|
+
color: "#1677ff"
|
|
144
|
+
}
|
|
145
|
+
}) : /*#__PURE__*/_jsx(CheckCircleFilled, {
|
|
146
|
+
style: {
|
|
147
|
+
color: "#52c41a"
|
|
148
|
+
}
|
|
149
|
+
})
|
|
150
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
151
|
+
className: styles.headerTitle,
|
|
152
|
+
children: loading ? "深度思考与执行中..." : title
|
|
153
|
+
})]
|
|
154
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
155
|
+
className: styles.headerRight,
|
|
156
|
+
children: items.length > 0 && /*#__PURE__*/_jsxs("span", {
|
|
157
|
+
className: styles.stepCount,
|
|
158
|
+
children: [items.length, " \u4E2A\u6B65\u9AA4"]
|
|
159
|
+
})
|
|
160
|
+
})]
|
|
161
|
+
}), isOpen && /*#__PURE__*/_jsx("div", {
|
|
162
|
+
className: styles.thinkingBody,
|
|
163
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
164
|
+
className: styles.timeline,
|
|
165
|
+
children: items.map(function (item, i) {
|
|
166
|
+
return item.type === "text" ? /*#__PURE__*/_jsx(TimelineTextItem, {
|
|
167
|
+
item: item
|
|
168
|
+
}, item.key || i) : /*#__PURE__*/_jsx(TimelineToolItem, {
|
|
169
|
+
msg: item.msg,
|
|
170
|
+
collapsible: item.collapsible,
|
|
171
|
+
showFnCallDetail: showFnCallDetail,
|
|
172
|
+
onConfirm: onConfirm
|
|
173
|
+
}, "tool-".concat(item.key || i));
|
|
174
|
+
})
|
|
175
|
+
})
|
|
176
|
+
})]
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
export default XAiThoughtChain;
|
|
180
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","CheckCircleFilled","SyncOutlined","ThunderboltOutlined","PartitionOutlined","CaretRightOutlined","RightOutlined","DownOutlined","MarkdownRender","FunctionCallRender","useStyles","cleanProcessText","jsx","_jsx","jsxs","_jsxs","TimelineItem","_ref","icon","title","children","_ref$collapsible","collapsible","_ref$defaultOpen","defaultOpen","_useState","_useState2","_slicedToArray","isOpen","setIsOpen","styles","className","timelineItem","timelineLeft","timelineConnector","timelineRight","collapsibleHeader","onClick","undefined","arrowIcon","stepContent","TimelineTextItem","_ref2","item","timelineIcon","titleText","text","content","TimelineToolItem","_ref3","_msg$functionCall","_msg$functionCall2","_msg$functionResponse","_msg$functionResponse2","msg","onConfirm","showFnCallDetail","needsConfirm","functionCall","functionResponse","isDone","toolName","args","componentName","name","statusInfo","response","processData","output","titleNode","toolTitleGroup","toolStatusTag","timelineIconTool","showDetail","XAiThoughtChain","_ref4","_ref4$defaultOpen","_ref4$showFnCallDetai","_ref4$title","_ref4$items","items","loading","_useState3","_useState4","Promise","resolve","then","thoughtChainBlock","thoughtHeader","headerLeft","concat","caret","statusIcon","spin","style","color","headerTitle","headerRight","length","stepCount","thinkingBody","timeline","map","i","type","key"],"sources":["../../../../src/components/XAiThoughtChain/index.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport {\n CheckCircleFilled,\n SyncOutlined,\n ThunderboltOutlined,\n PartitionOutlined,\n CaretRightOutlined,\n RightOutlined,\n DownOutlined,\n} from \"@ant-design/icons\";\nimport MarkdownRender from \"@/components/XAdkChatbot/components/MarkdownRender\";\nimport FunctionCallRender from \"@/components/XAdkChatbot/components/FunctionCallRender\";\nimport { useStyles } from \"./styles\";\nimport {\n XAiThoughtChainProps,\n ThoughtChainItemType,\n TimelineItemProps,\n FunctionCall,\n IMessage,\n} from \"@/types\";\nimport { cleanProcessText } from \"@/utils\";\n\nconst TimelineItem = ({\n icon,\n title,\n children,\n collapsible = true,\n defaultOpen = true,\n}: TimelineItemProps) => {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const styles = useStyles();\n\n return (\n <div className={styles.timelineItem}>\n <div className={styles.timelineLeft}>\n {icon}\n <div className={styles.timelineConnector} />\n </div>\n <div className={styles.timelineRight}>\n <div\n className={styles.collapsibleHeader}\n onClick={() => (collapsible ? setIsOpen(!isOpen) : undefined)}\n >\n <div>{title}</div>\n {collapsible && (\n <span className={styles.arrowIcon}>\n {isOpen ? <DownOutlined /> : <RightOutlined />}\n </span>\n )}\n </div>\n\n {isOpen && <div className={styles.stepContent}>{children}</div>}\n </div>\n </div>\n );\n};\n\nconst TimelineTextItem: React.FC<{\n item: ThoughtChainItemType;\n}> = ({ item }) => {\n return (\n <TimelineItem\n icon={\n <span className={useStyles().timelineIcon}>\n <PartitionOutlined />\n </span>\n }\n title={<span className={useStyles().titleText}>{item.title}</span>}\n >\n <MarkdownRender text={cleanProcessText(item.content)} />\n </TimelineItem>\n );\n};\n\nconst TimelineToolItem: React.FC<{\n msg: IMessage;\n collapsible?: boolean;\n showFnCallDetail: boolean;\n onConfirm?: (fnCall: FunctionCall, confirmed: boolean) => void;\n}> = ({ msg, collapsible, onConfirm, showFnCallDetail }) => {\n const styles = useStyles();\n const needsConfirm = msg.functionCall && !msg.functionResponse;\n const isDone = !!msg.functionResponse;\n\n const toolName =\n msg.functionCall?.args?.componentName ||\n msg.functionCall?.name ||\n \"组件执行\";\n\n const statusInfo =\n msg.functionResponse?.response?.processData ||\n msg.functionResponse?.response?.output;\n\n const titleNode = (\n <div className={styles.toolTitleGroup}>\n <span className={styles.toolName}>{toolName}</span>\n {isDone && <span className={styles.toolStatusTag}>执行成功</span>}\n </div>\n );\n\n return (\n <TimelineItem\n icon={\n <span className={styles.timelineIconTool}>\n <ThunderboltOutlined />\n </span>\n }\n title={titleNode}\n collapsible={collapsible}\n defaultOpen={needsConfirm}\n >\n {statusInfo && typeof statusInfo === \"string\" && (\n <div className={styles.statusInfo}>{statusInfo}</div>\n )}\n <FunctionCallRender\n msg={msg}\n showDetail={showFnCallDetail}\n onConfirm={onConfirm}\n />\n </TimelineItem>\n );\n};\n\nconst XAiThoughtChain: React.FC<XAiThoughtChainProps> = ({\n defaultOpen = false,\n showFnCallDetail = false,\n title = \"思维链已完成\",\n items = [],\n loading,\n onConfirm,\n}) => {\n const styles = useStyles();\n const [isOpen, setIsOpen] = useState(defaultOpen);\n useEffect(() => {\n if (loading) Promise.resolve().then(() => setIsOpen(true));\n }, [loading]);\n return (\n <div className={styles.thoughtChainBlock}>\n <div className={styles.thoughtHeader} onClick={() => setIsOpen(!isOpen)}>\n <div className={styles.headerLeft}>\n <div className={`${styles.caret} ${isOpen ? \"open\" : \"\"}`}>\n <CaretRightOutlined />\n </div>\n <div className={styles.statusIcon}>\n {loading ? (\n <SyncOutlined spin style={{ color: \"#1677ff\" }} />\n ) : (\n <CheckCircleFilled style={{ color: \"#52c41a\" }} />\n )}\n </div>\n <span className={styles.headerTitle}>\n {loading ? \"深度思考与执行中...\" : title}\n </span>\n </div>\n <div className={styles.headerRight}>\n {items.length > 0 && (\n <span className={styles.stepCount}>{items.length} 个步骤</span>\n )}\n </div>\n </div>\n {isOpen && (\n <div className={styles.thinkingBody}>\n <div className={styles.timeline}>\n {items.map((item, i) =>\n item.type === \"text\" ? (\n <TimelineTextItem key={item.key || i} item={item} />\n ) : (\n <TimelineToolItem\n key={`tool-${item.key || i}`}\n msg={item.msg!}\n collapsible={item.collapsible}\n showFnCallDetail={showFnCallDetail}\n onConfirm={onConfirm}\n />\n ),\n )}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default XAiThoughtChain;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export declare const useStyles: () => {
|
|
2
|
+
thoughtChainBlock: string;
|
|
3
|
+
thoughtHeader: string;
|
|
4
|
+
headerLeft: string;
|
|
5
|
+
caret: string;
|
|
6
|
+
statusIcon: string;
|
|
7
|
+
headerTitle: string;
|
|
8
|
+
headerRight: string;
|
|
9
|
+
stepCount: string;
|
|
10
|
+
thinkingBody: string;
|
|
11
|
+
timeline: string;
|
|
12
|
+
timelineItem: string;
|
|
13
|
+
timelineLeft: string;
|
|
14
|
+
timelineIcon: string;
|
|
15
|
+
timelineIconTool: string;
|
|
16
|
+
timelineConnector: string;
|
|
17
|
+
timelineItemLastConnector: string;
|
|
18
|
+
timelineRight: string;
|
|
19
|
+
collapsibleHeader: string;
|
|
20
|
+
titleText: string;
|
|
21
|
+
toolTitleGroup: string;
|
|
22
|
+
toolName: string;
|
|
23
|
+
toolStatusTag: string;
|
|
24
|
+
arrowIcon: string;
|
|
25
|
+
stepContent: string;
|
|
26
|
+
statusInfo: string;
|
|
27
|
+
} & {
|
|
28
|
+
w: (width: string | number) => string;
|
|
29
|
+
h: (height: string | number) => string;
|
|
30
|
+
p: (padding: string) => string;
|
|
31
|
+
pb: (padding: string | number) => string;
|
|
32
|
+
pt: (padding: string | number) => string;
|
|
33
|
+
pl: (padding: string | number) => string;
|
|
34
|
+
pr: (padding: string | number) => string;
|
|
35
|
+
m: (margin: string) => string;
|
|
36
|
+
mb: (margin: string | number) => string;
|
|
37
|
+
mt: (margin: string | number) => string;
|
|
38
|
+
ml: (margin: string | number) => string;
|
|
39
|
+
mr: (margin: string | number) => string;
|
|
40
|
+
text: (size: string | number) => string;
|
|
41
|
+
weight: (size: number) => string;
|
|
42
|
+
textColor: (c: string) => string;
|
|
43
|
+
bg: (c: string) => string;
|
|
44
|
+
rs: (radius: string | number) => string;
|
|
45
|
+
gap: (g: string | number) => string;
|
|
46
|
+
flex: string;
|
|
47
|
+
flexCenter: string;
|
|
48
|
+
flexBetween: string;
|
|
49
|
+
flexColumn: string;
|
|
50
|
+
flex1: string;
|
|
51
|
+
cursor: (type: string) => string;
|
|
52
|
+
border: (color: string, width?: string) => string;
|
|
53
|
+
boxShadow: (shadow: string) => string;
|
|
54
|
+
transition: (property?: string, duration?: string) => string;
|
|
55
|
+
overflow: (type: string) => string;
|
|
56
|
+
position: (type: string) => string;
|
|
57
|
+
zIndex: (index: number) => string;
|
|
58
|
+
flexCenterGap2: string;
|
|
59
|
+
flexCenterGap4: string;
|
|
60
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25;
|
|
3
|
+
/* eslint-disable import/prefer-default-export */
|
|
4
|
+
import { css } from "@emotion/css";
|
|
5
|
+
import { withBasicStyles } from "../../styles/common";
|
|
6
|
+
export var useStyles = withBasicStyles(function () {
|
|
7
|
+
return {
|
|
8
|
+
/* --- ThoughtChain --- */
|
|
9
|
+
|
|
10
|
+
thoughtChainBlock: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-bottom: 16px;\n background: #f9f9f9;\n border-radius: 8px;\n border: 1px solid #eee;\n overflow: hidden;\n "]))),
|
|
11
|
+
thoughtHeader: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 14px;\n cursor: pointer;\n user-select: none;\n background: #f5f5f5;\n transition: background 0.2s;\n &:hover {\n background: #f0f0f0;\n border-color: #ccc;\n }\n "]))),
|
|
12
|
+
headerLeft: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n "]))),
|
|
13
|
+
caret: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-size: 12px;\n color: #999;\n transition: transform 0.2s;\n &.open {\n transform: rotate(90deg);\n }\n "]))),
|
|
14
|
+
statusIcon: css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n font-size: 14px;\n display: flex;\n align-items: center;\n "]))),
|
|
15
|
+
headerTitle: css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n font-size: 13px;\n color: #666;\n font-weight: 500;\n "]))),
|
|
16
|
+
headerRight: css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([""]))),
|
|
17
|
+
stepCount: css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n font-size: 12px;\n color: #bbb;\n background: #fff;\n padding: 2px 6px;\n border-radius: 4px;\n border: 1px solid #e0e0e0;\n "]))),
|
|
18
|
+
thinkingBody: css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n background: #fff;\n border-top: 1px solid #eee;\n padding: 12px 16px;\n animation: fadeIn 0.2s ease-in-out;\n "]))),
|
|
19
|
+
/* --- Timeline --- */
|
|
20
|
+
|
|
21
|
+
timeline: css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n width: 100%;\n "]))),
|
|
22
|
+
timelineItem: css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: flex;\n gap: 12px;\n position: relative;\n "]))),
|
|
23
|
+
timelineLeft: css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 20px;\n flex-shrink: 0;\n "]))),
|
|
24
|
+
timelineIcon: css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["\n color: #8c8c8c;\n font-size: 16px;\n margin-top: 6px;\n "]))),
|
|
25
|
+
timelineIconTool: css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["\n color: #faad14;\n font-size: 16px;\n margin-top: 6px;\n "]))),
|
|
26
|
+
timelineConnector: css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["\n flex: 1;\n width: 1px;\n background-color: #e5e5e5;\n margin: 4px 0;\n min-height: 12px;\n "]))),
|
|
27
|
+
/* Hide connector on last item */
|
|
28
|
+
timelineItemLastConnector: css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["\n display: none;\n "]))),
|
|
29
|
+
timelineRight: css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["\n flex: 1;\n padding-bottom: 16px;\n min-width: 0;\n "]))),
|
|
30
|
+
collapsibleHeader: css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 5px 8px;\n margin: 0 -8px 4px -8px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n user-select: none;\n\n &:hover {\n background: #f5f5f5;\n }\n "]))),
|
|
31
|
+
titleText: css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["\n font-size: 13px;\n font-weight: 600;\n color: #595959;\n "]))),
|
|
32
|
+
toolTitleGroup: css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n overflow: hidden;\n "]))),
|
|
33
|
+
toolName: css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n font-size: 13px;\n font-weight: 600;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n "]))),
|
|
34
|
+
toolStatusTag: css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n font-size: 11px;\n color: #52c41a;\n background: #f6ffed;\n border: 1px solid #b7eb8f;\n padding: 0 6px;\n border-radius: 4px;\n flex-shrink: 0;\n "]))),
|
|
35
|
+
arrowIcon: css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n font-size: 10px;\n color: #bbb;\n margin-left: 8px;\n "]))),
|
|
36
|
+
stepContent: css(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["\n font-size: 13px;\n color: #595959;\n line-height: 1.6;\n padding-left: 4px;\n "]))),
|
|
37
|
+
statusInfo: css(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["\n font-size: 12px;\n color: #bfbfbf;\n margin-bottom: 4px;\n font-style: italic;\n "])))
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["css","withBasicStyles","useStyles","thoughtChainBlock","_templateObject","_taggedTemplateLiteral","thoughtHeader","_templateObject2","headerLeft","_templateObject3","caret","_templateObject4","statusIcon","_templateObject5","headerTitle","_templateObject6","headerRight","_templateObject7","stepCount","_templateObject8","thinkingBody","_templateObject9","timeline","_templateObject10","timelineItem","_templateObject11","timelineLeft","_templateObject12","timelineIcon","_templateObject13","timelineIconTool","_templateObject14","timelineConnector","_templateObject15","timelineItemLastConnector","_templateObject16","timelineRight","_templateObject17","collapsibleHeader","_templateObject18","titleText","_templateObject19","toolTitleGroup","_templateObject20","toolName","_templateObject21","toolStatusTag","_templateObject22","arrowIcon","_templateObject23","stepContent","_templateObject24","statusInfo","_templateObject25"],"sources":["../../../../src/components/XAiThoughtChain/styles.tsx"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nimport { css } from \"@emotion/css\";\nimport { withBasicStyles, lightBlue, primaryBlue } from \"@/styles/common\";\n\nexport const useStyles = withBasicStyles(() => ({\n /* --- ThoughtChain --- */\n\n thoughtChainBlock: css`\n margin-bottom: 16px;\n background: #f9f9f9;\n border-radius: 8px;\n border: 1px solid #eee;\n overflow: hidden;\n `,\n\n thoughtHeader: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 10px 14px;\n cursor: pointer;\n user-select: none;\n background: #f5f5f5;\n transition: background 0.2s;\n &:hover {\n background: #f0f0f0;\n border-color: #ccc;\n }\n `,\n\n headerLeft: css`\n display: flex;\n align-items: center;\n gap: 8px;\n `,\n\n caret: css`\n font-size: 12px;\n color: #999;\n transition: transform 0.2s;\n &.open {\n transform: rotate(90deg);\n }\n `,\n\n statusIcon: css`\n font-size: 14px;\n display: flex;\n align-items: center;\n `,\n\n headerTitle: css`\n font-size: 13px;\n color: #666;\n font-weight: 500;\n `,\n\n headerRight: css``,\n\n stepCount: css`\n font-size: 12px;\n color: #bbb;\n background: #fff;\n padding: 2px 6px;\n border-radius: 4px;\n border: 1px solid #e0e0e0;\n `,\n\n thinkingBody: css`\n background: #fff;\n border-top: 1px solid #eee;\n padding: 12px 16px;\n animation: fadeIn 0.2s ease-in-out;\n `,\n\n /* --- Timeline --- */\n\n timeline: css`\n width: 100%;\n `,\n\n timelineItem: css`\n display: flex;\n gap: 12px;\n position: relative;\n `,\n\n timelineLeft: css`\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 20px;\n flex-shrink: 0;\n `,\n\n timelineIcon: css`\n color: #8c8c8c;\n font-size: 16px;\n margin-top: 6px;\n `,\n\n timelineIconTool: css`\n color: #faad14;\n font-size: 16px;\n margin-top: 6px;\n `,\n\n timelineConnector: css`\n flex: 1;\n width: 1px;\n background-color: #e5e5e5;\n margin: 4px 0;\n min-height: 12px;\n `,\n\n /* Hide connector on last item */\n timelineItemLastConnector: css`\n display: none;\n `,\n\n timelineRight: css`\n flex: 1;\n padding-bottom: 16px;\n min-width: 0;\n `,\n\n collapsibleHeader: css`\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 5px 8px;\n margin: 0 -8px 4px -8px;\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n user-select: none;\n\n &:hover {\n background: #f5f5f5;\n }\n `,\n\n titleText: css`\n font-size: 13px;\n font-weight: 600;\n color: #595959;\n `,\n\n toolTitleGroup: css`\n display: flex;\n align-items: center;\n gap: 8px;\n overflow: hidden;\n `,\n\n toolName: css`\n font-size: 13px;\n font-weight: 600;\n color: #333;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n `,\n\n toolStatusTag: css`\n font-size: 11px;\n color: #52c41a;\n background: #f6ffed;\n border: 1px solid #b7eb8f;\n padding: 0 6px;\n border-radius: 4px;\n flex-shrink: 0;\n `,\n\n arrowIcon: css`\n font-size: 10px;\n color: #bbb;\n margin-left: 8px;\n `,\n\n stepContent: css`\n font-size: 13px;\n color: #595959;\n line-height: 1.6;\n padding-left: 4px;\n `,\n\n statusInfo: css`\n font-size: 12px;\n color: #bfbfbf;\n margin-bottom: 4px;\n font-style: italic;\n `,\n}));\n"],"mappings":";;AAAA;AACA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,eAAe;AAExB,OAAO,IAAMC,SAAS,GAAGD,eAAe,CAAC;EAAA,OAAO;IAC9C;;IAEAE,iBAAiB,EAAEH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,sBAAA,6IAMrB;IAEDC,aAAa,EAAEN,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,+SAajB;IAEDG,UAAU,EAAER,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,sBAAA,yEAId;IAEDK,KAAK,EAAEV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,sBAAA,2IAOT;IAEDO,UAAU,EAAEZ,GAAG,CAAAa,gBAAA,KAAAA,gBAAA,GAAAR,sBAAA,gFAId;IAEDS,WAAW,EAAEd,GAAG,CAAAe,gBAAA,KAAAA,gBAAA,GAAAV,sBAAA,2EAIf;IAEDW,WAAW,EAAEhB,GAAG,CAAAiB,gBAAA,KAAAA,gBAAA,GAAAZ,sBAAA,QAAE;IAElBa,SAAS,EAAElB,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAd,sBAAA,2JAOb;IAEDe,YAAY,EAAEpB,GAAG,CAAAqB,gBAAA,KAAAA,gBAAA,GAAAhB,sBAAA,sIAKhB;IAED;;IAEAiB,QAAQ,EAAEtB,GAAG,CAAAuB,iBAAA,KAAAA,iBAAA,GAAAlB,sBAAA,8BAEZ;IAEDmB,YAAY,EAAExB,GAAG,CAAAyB,iBAAA,KAAAA,iBAAA,GAAApB,sBAAA,yEAIhB;IAEDqB,YAAY,EAAE1B,GAAG,CAAA2B,iBAAA,KAAAA,iBAAA,GAAAtB,sBAAA,8HAMhB;IAEDuB,YAAY,EAAE5B,GAAG,CAAA6B,iBAAA,KAAAA,iBAAA,GAAAxB,sBAAA,6EAIhB;IAEDyB,gBAAgB,EAAE9B,GAAG,CAAA+B,iBAAA,KAAAA,iBAAA,GAAA1B,sBAAA,6EAIpB;IAED2B,iBAAiB,EAAEhC,GAAG,CAAAiC,iBAAA,KAAAA,iBAAA,GAAA5B,sBAAA,sHAMrB;IAED;IACA6B,yBAAyB,EAAElC,GAAG,CAAAmC,iBAAA,KAAAA,iBAAA,GAAA9B,sBAAA,gCAE7B;IAED+B,aAAa,EAAEpC,GAAG,CAAAqC,iBAAA,KAAAA,iBAAA,GAAAhC,sBAAA,wEAIjB;IAEDiC,iBAAiB,EAAEtC,GAAG,CAAAuC,iBAAA,KAAAA,iBAAA,GAAAlC,sBAAA,0SAcrB;IAEDmC,SAAS,EAAExC,GAAG,CAAAyC,iBAAA,KAAAA,iBAAA,GAAApC,sBAAA,8EAIb;IAEDqC,cAAc,EAAE1C,GAAG,CAAA2C,iBAAA,KAAAA,iBAAA,GAAAtC,sBAAA,gGAKlB;IAEDuC,QAAQ,EAAE5C,GAAG,CAAA6C,iBAAA,KAAAA,iBAAA,GAAAxC,sBAAA,0JAOZ;IAEDyC,aAAa,EAAE9C,GAAG,CAAA+C,iBAAA,KAAAA,iBAAA,GAAA1C,sBAAA,oLAQjB;IAED2C,SAAS,EAAEhD,GAAG,CAAAiD,iBAAA,KAAAA,iBAAA,GAAA5C,sBAAA,2EAIb;IAED6C,WAAW,EAAElD,GAAG,CAAAmD,iBAAA,KAAAA,iBAAA,GAAA9C,sBAAA,sGAKf;IAED+C,UAAU,EAAEpD,GAAG,CAAAqD,iBAAA,KAAAA,iBAAA,GAAAhD,sBAAA;EAMjB,CAAC;AAAA,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { DebugOptions, FunctionCall, SendContent, SessionData, Event, IMessage,
|
|
|
3
3
|
import { type ChatConfig } from "../services/api";
|
|
4
4
|
declare function useADKChat({ url, token, config, type, onError, onMessage, onSuccess, onStream, }: DebugOptions): {
|
|
5
5
|
appInfo: ChatConfig | null;
|
|
6
|
-
startChat: ({ text, files, functionResponse }: SendContent) => Promise<void>;
|
|
6
|
+
startChat: ({ text, files, functionResponse, }: SendContent) => Promise<void>;
|
|
7
7
|
reChat: () => void;
|
|
8
8
|
stopChat: () => void;
|
|
9
9
|
clearChat: () => void;
|
|
@@ -24,6 +24,6 @@ declare function useADKChat({ url, token, config, type, onError, onMessage, onSu
|
|
|
24
24
|
setCurrentSessionDetail: (sessionId: string) => Promise<void>;
|
|
25
25
|
setMessages: import("react").Dispatch<import("react").SetStateAction<IMessage[]>>;
|
|
26
26
|
storeEvents: (part: Part | null, event: any) => void;
|
|
27
|
-
storeMessage: (part: Part | null, event: Event, role:
|
|
27
|
+
storeMessage: (part: Part | null, event: Event, role: "user" | "bot") => void;
|
|
28
28
|
};
|
|
29
29
|
export default useADKChat;
|