@ai-group/chat-sdk 2.1.11 → 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 +25 -7
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +2 -2
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +3 -3
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +1 -1
- 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 +235 -181
- package/dist/cjs/hooks/useADKChat.js.map +2 -2
- package/dist/cjs/types/XAdkProvider.d.ts +6 -0
- package/dist/cjs/types/XAdkProvider.js.map +1 -1
- 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 -39
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +1 -1
- package/dist/esm/components/XAiProvider/XAiProvider.stories.js +3 -3
- package/dist/esm/components/XAiProvider/XAiProvider.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 +68 -58
- package/dist/esm/hooks/useADKChat.js.map +1 -1
- package/dist/esm/types/XAdkProvider.d.ts +6 -0
- package/dist/esm/types/XAdkProvider.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 +13 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["css","withBasicStyles","useStyles","wrapper","_templateObject","_taggedTemplateLiteral","fnCall","_templateObject2","confirm","_templateObject3","
|
|
1
|
+
{"version":3,"names":["css","withBasicStyles","useStyles","wrapper","_templateObject","_taggedTemplateLiteral","fnCall","_templateObject2","confirm","_templateObject3","confirmText","_templateObject4","alert","_templateObject5"],"sources":["../../../../../../src/components/XAdkChatbot/components/FunctionCallRender/styles.tsx"],"sourcesContent":["import { css } from \"@emotion/css\";\nimport { withBasicStyles } from \"@/styles/common\";\n\nexport const useStyles = withBasicStyles(() => ({\n wrapper: css`\n display: flex;\n justify-content: flex-end;\n margin-bottom: 12px;\n `,\n\n fnCall: css`\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 7px 12px;\n border-radius: 8px;\n line-height: 16px;\n border: 1px solid #e7e7e7;\n cursor: pointer;\n\n &:hover {\n box-shadow: 0 2px 6px rgba(22, 119, 255, 0.15);\n }\n `,\n\n confirm: css`\n padding: 12px;\n border-radius: 12px;\n background: #fffbe6;\n color: #d48806;\n border: 1px solid #ffe58f;\n max-width: 400px;\n flex: 1;\n `,\n\n confirmText: css`\n margin-bottom: 8px;\n `,\n\n alert: css`\n line-height: 1;\n border-radius: 24px;\n `,\n}));\n\nexport default useStyles;\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,eAAe;AAExB,OAAO,IAAMC,SAAS,GAAGD,eAAe,CAAC;EAAA,OAAO;IAC9CE,OAAO,EAAEH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,sBAAA,0FAIX;IAEDC,MAAM,EAAEN,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,uRAaV;IAEDG,OAAO,EAAER,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,sBAAA,8KAQX;IAEDK,WAAW,EAAEV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,sBAAA,qCAEf;IAEDO,KAAK,EAAEZ,GAAG,CAAAa,gBAAA,KAAAA,gBAAA,GAAAR,sBAAA;EAIZ,CAAC;AAAA,CAAC,CAAC;AAEH,eAAeH,SAAS"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
2
|
-
import React, { useMemo, useCallback, useEffect, useRef } from
|
|
3
|
-
import { Button } from
|
|
4
|
-
import { SwapRightOutlined } from
|
|
2
|
+
import React, { useMemo, useCallback, useEffect, useRef } from "react";
|
|
3
|
+
import { Button } from "antd";
|
|
4
|
+
import { SwapRightOutlined } from "@ant-design/icons";
|
|
5
5
|
import { useStyles } from "./styles";
|
|
6
6
|
import MarkdownRender from "./components/MarkdownRender";
|
|
7
7
|
import FunctionCallRender from "./components/FunctionCallRender";
|
|
@@ -42,7 +42,7 @@ var XAdkChatbot = function XAdkChatbot(_ref) {
|
|
|
42
42
|
if (!loading) return;
|
|
43
43
|
if (userHasScrolledRef.current) return;
|
|
44
44
|
(_messagesEndRef$curre = messagesEndRef.current) === null || _messagesEndRef$curre === void 0 || _messagesEndRef$curre.scrollIntoView({
|
|
45
|
-
behavior:
|
|
45
|
+
behavior: "smooth"
|
|
46
46
|
});
|
|
47
47
|
}, [loading, messages]);
|
|
48
48
|
|
|
@@ -69,9 +69,9 @@ var XAdkChatbot = function XAdkChatbot(_ref) {
|
|
|
69
69
|
useEffect(function () {
|
|
70
70
|
var listElement = listRef.current;
|
|
71
71
|
if (!listElement) return;
|
|
72
|
-
listElement.addEventListener(
|
|
72
|
+
listElement.addEventListener("scroll", handleScroll);
|
|
73
73
|
return function () {
|
|
74
|
-
listElement.removeEventListener(
|
|
74
|
+
listElement.removeEventListener("scroll", handleScroll);
|
|
75
75
|
};
|
|
76
76
|
}, []);
|
|
77
77
|
|
|
@@ -89,7 +89,7 @@ var XAdkChatbot = function XAdkChatbot(_ref) {
|
|
|
89
89
|
queueMicrotask(function () {
|
|
90
90
|
var _messagesEndRef$curre2;
|
|
91
91
|
(_messagesEndRef$curre2 = messagesEndRef.current) === null || _messagesEndRef$curre2 === void 0 || _messagesEndRef$curre2.scrollIntoView({
|
|
92
|
-
behavior:
|
|
92
|
+
behavior: "instant"
|
|
93
93
|
});
|
|
94
94
|
});
|
|
95
95
|
// 重置用户滚动状态
|
|
@@ -105,7 +105,7 @@ var XAdkChatbot = function XAdkChatbot(_ref) {
|
|
|
105
105
|
try {
|
|
106
106
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
107
107
|
var msg = _step.value;
|
|
108
|
-
if (msg.role ===
|
|
108
|
+
if (msg.role === "bot" && msg.invocationId) {
|
|
109
109
|
map.set(msg.invocationId, msg.id);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -121,11 +121,13 @@ var XAdkChatbot = function XAdkChatbot(_ref) {
|
|
|
121
121
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
122
122
|
className: styles.list,
|
|
123
123
|
ref: listRef,
|
|
124
|
-
children: [/*#__PURE__*/_jsx("div", {
|
|
124
|
+
children: [prologue && /*#__PURE__*/_jsx("div", {
|
|
125
125
|
className: styles.prologue,
|
|
126
|
-
children:
|
|
126
|
+
children: /*#__PURE__*/_jsx(MarkdownRender, {
|
|
127
|
+
text: prologue
|
|
128
|
+
})
|
|
127
129
|
}), messages.map(function (msg, i) {
|
|
128
|
-
if (msg.role ===
|
|
130
|
+
if (msg.role === "user") {
|
|
129
131
|
if (msg.text) {
|
|
130
132
|
return /*#__PURE__*/_jsx("div", {
|
|
131
133
|
className: styles.userMsg,
|
|
@@ -148,7 +150,7 @@ var XAdkChatbot = function XAdkChatbot(_ref) {
|
|
|
148
150
|
}
|
|
149
151
|
var isLast = i === lastIndex;
|
|
150
152
|
var isLoading = isLast && loading;
|
|
151
|
-
var isLastBotMsg = lastMessageMap.get((msg === null || msg === void 0 ? void 0 : msg.invocationId) ||
|
|
153
|
+
var isLastBotMsg = lastMessageMap.get((msg === null || msg === void 0 ? void 0 : msg.invocationId) || "") === msg.id;
|
|
152
154
|
if (msg.text) {
|
|
153
155
|
if (msg.thought) {
|
|
154
156
|
return /*#__PURE__*/_jsxs("div", {
|
|
@@ -212,12 +214,12 @@ var XAdkChatbot = function XAdkChatbot(_ref) {
|
|
|
212
214
|
onSuggest === null || onSuggest === void 0 || onSuggest(item);
|
|
213
215
|
},
|
|
214
216
|
style: {
|
|
215
|
-
whiteSpace:
|
|
216
|
-
height:
|
|
217
|
-
wordWrap:
|
|
218
|
-
textAlign:
|
|
219
|
-
padding:
|
|
220
|
-
lineHeight:
|
|
217
|
+
whiteSpace: "normal",
|
|
218
|
+
height: "auto",
|
|
219
|
+
wordWrap: "break-word",
|
|
220
|
+
textAlign: "left",
|
|
221
|
+
padding: "4px 15px",
|
|
222
|
+
lineHeight: "1.5"
|
|
221
223
|
},
|
|
222
224
|
children: item
|
|
223
225
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","useCallback","useEffect","useRef","Button","SwapRightOutlined","useStyles","MarkdownRender","FunctionCallRender","ThinkRender","XAdkSender","jsx","_jsx","jsxs","_jsxs","scrollThreshold","XAdkChatbot","_ref","_ref$allowUpload","allowUpload","_ref$uploadRequest","uploadRequest","_ref$loading","loading","prologue","suggestions","messages","_ref$initialized","initialized","footer","showFnCallDetail","_ref$clearBtnShow","clearBtnShow","onConfirm","onSubmit","onSuggest","onStop","onClear","styles","listRef","lastScrollTopRef","userHasScrolledRef","messagesEndRef","_messagesEndRef$curre","current","scrollIntoView","behavior","handleScroll","el","currentTop","scrollTop","isAtBottom","Math","abs","scrollHeight","clientHeight","listElement","addEventListener","removeEventListener","handleSubmit","_ref2","text","files","trim","queueMicrotask","_messagesEndRef$curre2","setTimeout","lastIndex","length","lastMessageMap","map","Map","_iterator","_createForOfIteratorHelper","_step","s","n","done","msg","value","role","invocationId","set","id","err","e","f","className","wrapper","children","list","ref","i","userMsg","card","concat","functionResponse","showDetail","isLast","isLoading","isLastBotMsg","get","thought","botMsg","message","isLastMsg","fnCall","functionCall","item","suggestion","suggestContent","type","icon","iconPosition","onClick","style","whiteSpace","height","wordWrap","textAlign","padding","lineHeight"],"sources":["../../../../src/components/XAdkChatbot/index.tsx"],"sourcesContent":["import React, { useMemo, useCallback, useEffect, useRef } from 'react';\nimport { Button } from 'antd';\nimport { SwapRightOutlined } from '@ant-design/icons';\nimport { useStyles } from './styles';\nimport MarkdownRender from './components/MarkdownRender';\nimport FunctionCallRender from './components/FunctionCallRender';\nimport ThinkRender from './components/ThinkRender';\nimport XAdkSender from '../XAdkSender';\nimport type { IMessage, XAdkChatbotProps, SendContent } from '@/types';\n\nconst scrollThreshold = 10; // 滚动阈值\n\n\nconst XAdkChatbot: React.FC<XAdkChatbotProps> = ({ \n allowUpload = false,\n uploadRequest = () => {},\n loading = false,\n prologue,\n suggestions,\n messages,\n initialized = true,\n footer,\n showFnCallDetail,\n clearBtnShow = true,\n onConfirm,\n onSubmit,\n onSuggest,\n onStop,\n onClear,\n }) => {\n const styles = useStyles();\n const listRef = useRef<HTMLDivElement>(null);\n const lastScrollTopRef = useRef(0);\n const userHasScrolledRef = useRef(false);\n const messagesEndRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!loading) return;\n if (userHasScrolledRef.current) return;\n messagesEndRef.current?.scrollIntoView({\n behavior: 'smooth',\n });\n }, [loading, messages]);\n\n // 处理滚动事件 - 检测用户是否手动滚动\n const handleScroll = useCallback(() => {\n const el = listRef.current;\n if (!el) return;\n const currentTop = el.scrollTop;\n // 如果向上滚动,说明是手动干预\n if (currentTop < lastScrollTopRef.current) {\n userHasScrolledRef.current = true;\n }\n // 如果向下并且已经到了底部,则恢复自动\n const isAtBottom = \n Math.abs(el.scrollHeight - currentTop - el.clientHeight) <= scrollThreshold;\n\n if (isAtBottom) {\n userHasScrolledRef.current = false;\n }\n\n // 更新上次位置\n lastScrollTopRef.current = currentTop;\n }, []);\n\n // 监听滚动事件\n useEffect(() => {\n const listElement = listRef.current\n if (!listElement) return;\n\n listElement.addEventListener('scroll', handleScroll);\n return () => {\n listElement.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n // 发送消息\n const handleSubmit = ({ text, files }: SendContent) => {\n if (loading) return;\n if (!text?.trim()) return;\n onSubmit?.({ text, files });\n // 滚动\n queueMicrotask(() => {\n messagesEndRef.current?.scrollIntoView({ behavior: 'instant' });\n });\n // 重置用户滚动状态\n setTimeout(() => {\n userHasScrolledRef.current = false;\n }, 0);\n };\n\n const lastIndex = messages.length - 1;\n\n const lastMessageMap = useMemo(() => {\n const map = new Map<string, string>();\n for (const msg of messages) {\n if (msg.role === 'bot' && msg.invocationId) {\n map.set(msg.invocationId, msg.id);\n }\n }\n return map;\n }, [messages]);\n\n return (\n <div className={styles.wrapper}>\n <div className={styles.list} ref={listRef}>\n <div className={styles.prologue}>\n {prologue}\n </div>\n {messages.map((msg, i) => {\n if (msg.role === 'user') {\n if (msg.text) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.userMsg}>\n <div className={styles.card}>{msg.text}</div>\n </div>\n );\n }\n if (msg.functionResponse) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.userMsg}>\n <FunctionCallRender msg={msg} showDetail={showFnCallDetail} />\n </div>\n );\n }\n return null;\n }\n const isLast = i === lastIndex;\n const isLoading = isLast && loading;\n const isLastBotMsg = lastMessageMap.get(msg?.invocationId || '') === msg.id;\n \n if (msg.text) {\n if (msg.thought) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n <ThinkRender\n msg={msg}\n loading={isLoading}\n />\n {!isLoading && footer?.({ message: msg as IMessage, isLastMsg: isLast, isLastBotMsg })}\n </div>\n );\n }\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n <MarkdownRender text={msg.text} />\n {!isLoading && footer?.({ message: msg as IMessage, isLastMsg: isLast, isLastBotMsg })}\n </div>\n );\n }\n const fnCall = msg.functionCall;\n if (fnCall) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n <FunctionCallRender msg={msg} showDetail={showFnCallDetail} onConfirm={onConfirm}/>\n {!isLoading && footer?.({ message: msg as IMessage, isLastMsg: isLast, isLastBotMsg })}\n </div>\n );\n }\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n {!isLoading && footer?.({ message: msg as IMessage, isLastMsg: isLast, isLastBotMsg })}\n </div>\n );\n })}\n <div>\n {suggestions?.map((item) => (\n <div key={item} className={styles.suggestion}>\n <div className={styles.suggestContent}>\n <Button\n type=\"text\"\n icon={<SwapRightOutlined />}\n iconPosition='end'\n onClick={() => {\n if (!item) return;\n onSuggest?.(item);\n }}\n style={{ \n whiteSpace: 'normal',\n height: 'auto',\n wordWrap: 'break-word',\n textAlign: 'left',\n padding: '4px 15px',\n lineHeight: '1.5'\n }}\n >\n {item}\n </Button>\n </div>\n </div>\n ))}\n </div>\n <div ref={messagesEndRef} />\n </div>\n <XAdkSender\n allowUpload={allowUpload}\n uploadRequest={uploadRequest}\n loading={loading}\n clearBtnShow={clearBtnShow}\n onSubmit={handleSubmit}\n onClear={onClear}\n onStop={onStop}\n />\n </div>\n );\n};\n\nexport default XAdkChatbot;"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","useMemo","useCallback","useEffect","useRef","Button","SwapRightOutlined","useStyles","MarkdownRender","FunctionCallRender","ThinkRender","XAdkSender","jsx","_jsx","jsxs","_jsxs","scrollThreshold","XAdkChatbot","_ref","_ref$allowUpload","allowUpload","_ref$uploadRequest","uploadRequest","_ref$loading","loading","prologue","suggestions","messages","_ref$initialized","initialized","footer","showFnCallDetail","_ref$clearBtnShow","clearBtnShow","onConfirm","onSubmit","onSuggest","onStop","onClear","styles","listRef","lastScrollTopRef","userHasScrolledRef","messagesEndRef","_messagesEndRef$curre","current","scrollIntoView","behavior","handleScroll","el","currentTop","scrollTop","isAtBottom","Math","abs","scrollHeight","clientHeight","listElement","addEventListener","removeEventListener","handleSubmit","_ref2","text","files","trim","queueMicrotask","_messagesEndRef$curre2","setTimeout","lastIndex","length","lastMessageMap","map","Map","_iterator","_createForOfIteratorHelper","_step","s","n","done","msg","value","role","invocationId","set","id","err","e","f","className","wrapper","children","list","ref","i","userMsg","card","concat","functionResponse","showDetail","isLast","isLoading","isLastBotMsg","get","thought","botMsg","message","isLastMsg","fnCall","functionCall","item","suggestion","suggestContent","type","icon","iconPosition","onClick","style","whiteSpace","height","wordWrap","textAlign","padding","lineHeight"],"sources":["../../../../src/components/XAdkChatbot/index.tsx"],"sourcesContent":["import React, { useMemo, useCallback, useEffect, useRef } from \"react\";\nimport { Button } from \"antd\";\nimport { SwapRightOutlined } from \"@ant-design/icons\";\nimport { useStyles } from \"./styles\";\nimport MarkdownRender from \"./components/MarkdownRender\";\nimport FunctionCallRender from \"./components/FunctionCallRender\";\nimport ThinkRender from \"./components/ThinkRender\";\nimport XAdkSender from \"../XAdkSender\";\nimport type { IMessage, XAdkChatbotProps, SendContent } from \"@/types\";\n\nconst scrollThreshold = 10; // 滚动阈值\n\nconst XAdkChatbot: React.FC<XAdkChatbotProps> = ({\n allowUpload = false,\n uploadRequest = () => {},\n loading = false,\n prologue,\n suggestions,\n messages,\n initialized = true,\n footer,\n showFnCallDetail,\n clearBtnShow = true,\n onConfirm,\n onSubmit,\n onSuggest,\n onStop,\n onClear,\n}) => {\n const styles = useStyles();\n const listRef = useRef<HTMLDivElement>(null);\n const lastScrollTopRef = useRef(0);\n const userHasScrolledRef = useRef(false);\n const messagesEndRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!loading) return;\n if (userHasScrolledRef.current) return;\n messagesEndRef.current?.scrollIntoView({\n behavior: \"smooth\",\n });\n }, [loading, messages]);\n\n // 处理滚动事件 - 检测用户是否手动滚动\n const handleScroll = useCallback(() => {\n const el = listRef.current;\n if (!el) return;\n const currentTop = el.scrollTop;\n // 如果向上滚动,说明是手动干预\n if (currentTop < lastScrollTopRef.current) {\n userHasScrolledRef.current = true;\n }\n // 如果向下并且已经到了底部,则恢复自动\n const isAtBottom =\n Math.abs(el.scrollHeight - currentTop - el.clientHeight) <=\n scrollThreshold;\n\n if (isAtBottom) {\n userHasScrolledRef.current = false;\n }\n\n // 更新上次位置\n lastScrollTopRef.current = currentTop;\n }, []);\n\n // 监听滚动事件\n useEffect(() => {\n const listElement = listRef.current;\n if (!listElement) return;\n\n listElement.addEventListener(\"scroll\", handleScroll);\n return () => {\n listElement.removeEventListener(\"scroll\", handleScroll);\n };\n }, []);\n\n // 发送消息\n const handleSubmit = ({ text, files }: SendContent) => {\n if (loading) return;\n if (!text?.trim()) return;\n onSubmit?.({ text, files });\n // 滚动\n queueMicrotask(() => {\n messagesEndRef.current?.scrollIntoView({ behavior: \"instant\" });\n });\n // 重置用户滚动状态\n setTimeout(() => {\n userHasScrolledRef.current = false;\n }, 0);\n };\n\n const lastIndex = messages.length - 1;\n\n const lastMessageMap = useMemo(() => {\n const map = new Map<string, string>();\n for (const msg of messages) {\n if (msg.role === \"bot\" && msg.invocationId) {\n map.set(msg.invocationId, msg.id);\n }\n }\n return map;\n }, [messages]);\n\n return (\n <div className={styles.wrapper}>\n <div className={styles.list} ref={listRef}>\n {prologue && (\n <div className={styles.prologue}>\n <MarkdownRender text={prologue} />\n </div>\n )}\n {messages.map((msg, i) => {\n if (msg.role === \"user\") {\n if (msg.text) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.userMsg}>\n <div className={styles.card}>{msg.text}</div>\n </div>\n );\n }\n if (msg.functionResponse) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.userMsg}>\n <FunctionCallRender msg={msg} showDetail={showFnCallDetail} />\n </div>\n );\n }\n return null;\n }\n const isLast = i === lastIndex;\n const isLoading = isLast && loading;\n const isLastBotMsg =\n lastMessageMap.get(msg?.invocationId || \"\") === msg.id;\n\n if (msg.text) {\n if (msg.thought) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n <ThinkRender msg={msg} loading={isLoading} />\n {!isLoading &&\n footer?.({\n message: msg as IMessage,\n isLastMsg: isLast,\n isLastBotMsg,\n })}\n </div>\n );\n }\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n <MarkdownRender text={msg.text} />\n {!isLoading &&\n footer?.({\n message: msg as IMessage,\n isLastMsg: isLast,\n isLastBotMsg,\n })}\n </div>\n );\n }\n const fnCall = msg.functionCall;\n if (fnCall) {\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n <FunctionCallRender\n msg={msg}\n showDetail={showFnCallDetail}\n onConfirm={onConfirm}\n />\n {!isLoading &&\n footer?.({\n message: msg as IMessage,\n isLastMsg: isLast,\n isLastBotMsg,\n })}\n </div>\n );\n }\n return (\n <div key={`${msg.id}-${i}`} className={styles.botMsg}>\n {!isLoading &&\n footer?.({\n message: msg as IMessage,\n isLastMsg: isLast,\n isLastBotMsg,\n })}\n </div>\n );\n })}\n <div>\n {suggestions?.map((item) => (\n <div key={item} className={styles.suggestion}>\n <div className={styles.suggestContent}>\n <Button\n type=\"text\"\n icon={<SwapRightOutlined />}\n iconPosition=\"end\"\n onClick={() => {\n if (!item) return;\n onSuggest?.(item);\n }}\n style={{\n whiteSpace: \"normal\",\n height: \"auto\",\n wordWrap: \"break-word\",\n textAlign: \"left\",\n padding: \"4px 15px\",\n lineHeight: \"1.5\",\n }}\n >\n {item}\n </Button>\n </div>\n </div>\n ))}\n </div>\n <div ref={messagesEndRef} />\n </div>\n <XAdkSender\n allowUpload={allowUpload}\n uploadRequest={uploadRequest}\n loading={loading}\n clearBtnShow={clearBtnShow}\n onSubmit={handleSubmit}\n onClear={onClear}\n onStop={onStop}\n />\n </div>\n );\n};\n\nexport default XAdkChatbot;\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from
|
|
2
|
-
import XAdkWebProvider from
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
import XAdkWebProvider from "./index";
|
|
3
3
|
declare const meta: Meta<typeof XAdkWebProvider>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
import React from
|
|
3
|
-
import { Button } from
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Button } from "antd";
|
|
4
4
|
import XAdkWebProvider from "./index";
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
6
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
7
|
var meta = {
|
|
8
|
-
title:
|
|
8
|
+
title: "AI组件/XAdkWebProvider AI容器",
|
|
9
9
|
component: XAdkWebProvider,
|
|
10
10
|
parameters: {
|
|
11
|
-
layout:
|
|
11
|
+
layout: "centered",
|
|
12
12
|
docs: {
|
|
13
13
|
description: {
|
|
14
|
-
component:
|
|
14
|
+
component: "AI 聊天机器人容器组件,提供全局上下文和消息管理功能。"
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
|
-
tags: [
|
|
18
|
+
tags: ["autodocs"],
|
|
19
19
|
argTypes: {
|
|
20
20
|
config: {
|
|
21
|
-
description:
|
|
21
|
+
description: "配置信息",
|
|
22
22
|
table: {
|
|
23
23
|
type: {
|
|
24
|
-
summary:
|
|
24
|
+
summary: "XAdkWebProviderConfig",
|
|
25
25
|
detail: "{\n appNo?: string; // \u5E94\u7528\u552F\u4E00\u7F16\u53F7\n }"
|
|
26
26
|
},
|
|
27
|
-
category:
|
|
27
|
+
category: "配置选项"
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
},
|
|
@@ -32,7 +32,7 @@ var meta = {
|
|
|
32
32
|
decorators: [function (Story) {
|
|
33
33
|
return /*#__PURE__*/_jsx("div", {
|
|
34
34
|
style: {
|
|
35
|
-
padding:
|
|
35
|
+
padding: "20px"
|
|
36
36
|
},
|
|
37
37
|
children: /*#__PURE__*/_jsx(Story, {})
|
|
38
38
|
});
|
|
@@ -47,23 +47,23 @@ export var 单聊天窗口实例 = {
|
|
|
47
47
|
var _providerRef$current;
|
|
48
48
|
if ((_providerRef$current = providerRef.current) !== null && _providerRef$current !== void 0 && _providerRef$current.chat) {
|
|
49
49
|
providerRef.current.chat({
|
|
50
|
-
text:
|
|
50
|
+
text: "你好,AI!"
|
|
51
51
|
});
|
|
52
52
|
} else {
|
|
53
|
-
console.log(
|
|
53
|
+
console.log("XAdkWebProvider ref 未准备好或 chat 方法不存在");
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
return /*#__PURE__*/_jsxs("div", {
|
|
57
57
|
style: {
|
|
58
|
-
display:
|
|
58
|
+
display: "flex"
|
|
59
59
|
},
|
|
60
60
|
children: [/*#__PURE__*/_jsx("div", {
|
|
61
61
|
style: {
|
|
62
|
-
display:
|
|
63
|
-
flexDirection:
|
|
64
|
-
gap:
|
|
65
|
-
marginRight:
|
|
66
|
-
justifyContent:
|
|
62
|
+
display: "flex",
|
|
63
|
+
flexDirection: "column",
|
|
64
|
+
gap: "12px",
|
|
65
|
+
marginRight: "24px",
|
|
66
|
+
justifyContent: "center"
|
|
67
67
|
},
|
|
68
68
|
children: /*#__PURE__*/_jsx(Button, {
|
|
69
69
|
type: "primary",
|
|
@@ -72,8 +72,8 @@ export var 单聊天窗口实例 = {
|
|
|
72
72
|
})
|
|
73
73
|
}), /*#__PURE__*/_jsx("div", {
|
|
74
74
|
style: {
|
|
75
|
-
maxWidth:
|
|
76
|
-
height:
|
|
75
|
+
maxWidth: "350px",
|
|
76
|
+
height: "600px"
|
|
77
77
|
},
|
|
78
78
|
children: /*#__PURE__*/_jsx(XAdkWebProvider, _objectSpread({
|
|
79
79
|
ref: providerRef
|
|
@@ -82,12 +82,12 @@ export var 单聊天窗口实例 = {
|
|
|
82
82
|
});
|
|
83
83
|
},
|
|
84
84
|
args: {
|
|
85
|
-
url:
|
|
86
|
-
token:
|
|
85
|
+
url: "https://m-poc-dev.zaxline.com",
|
|
86
|
+
token: "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiVjRTT0htSm8zWmVhNFJOdWc3WFgyQT09Iiwic2NvcGUiOlsiTUZYNVR4bGhlSUtiZWtaSEtvZU9WTmxvIl0sImV4cCI6MTc2Nzk1MjM0NywianRpIjoiSHpLMll4cVdjSTA3QWtmOHlsQXYwV0w0aE5jIiwiY2xpZW50X2lkIjoiTUZYNVR4bGhlSUtiZWtaSEtvZU9WTmxvIn0.AjABoyZFxAACkfy-ywLlfaJd6YY0Ir3pBGx_-HzW9di9p_4rnptbFI4adk9pktSVtlLB0cs45SU6uzp6VCJUj9-q-MP8QBqL6i7u2HV9e-kuBJgyIZD4t0PsazpJNu4rDlBAymYzw73ptLPjCwsUkckUz4Xhy1WmR8mpmuG0nuSWzlDlWKiaPgeMhA0Cnp4BV47zplvQ-r60VkarCg9JGHQNmIkQfG3llcjc-ZK4UKVkrFZynXhcCsp1ry7TwfRnwtXwQ1kZXDmeQxWFudhVaHwthraFF-fkHmYZpyTDrZQJY2Rn9nWO59ZHNh3I6-KiKdsNzv8Jl5T_dCUVPj7l3w",
|
|
87
87
|
config: {
|
|
88
|
-
appNo:
|
|
88
|
+
appNo: "MFX5TxlheIKbekZHKoeOVNlo"
|
|
89
89
|
},
|
|
90
|
-
providerId:
|
|
90
|
+
providerId: "demo-provider"
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
93
|
|
|
@@ -97,34 +97,38 @@ export var 携带历史记录实例 = {
|
|
|
97
97
|
var providerRef = React.useRef(null);
|
|
98
98
|
var handleSendMessage = function handleSendMessage() {
|
|
99
99
|
var _providerRef$current2;
|
|
100
|
-
if ((_providerRef$current2 = providerRef.current) !== null && _providerRef$current2 !== void 0 && _providerRef$current2.
|
|
101
|
-
providerRef.current.
|
|
102
|
-
text:
|
|
100
|
+
if ((_providerRef$current2 = providerRef.current) !== null && _providerRef$current2 !== void 0 && _providerRef$current2.startChat) {
|
|
101
|
+
providerRef.current.startChat({
|
|
102
|
+
text: "你好,AI!",
|
|
103
103
|
// 上传文案
|
|
104
104
|
files: [] // 如果需要上传附件
|
|
105
105
|
});
|
|
106
106
|
} else {
|
|
107
|
-
console.log(
|
|
107
|
+
console.log("XAdkWebProvider ref 未准备好或 chat 方法不存在");
|
|
108
108
|
}
|
|
109
109
|
};
|
|
110
110
|
var handleOnEvent = function handleOnEvent(event) {
|
|
111
111
|
var code = event.code,
|
|
112
112
|
data = event.data;
|
|
113
113
|
console.warn(code);
|
|
114
|
-
if (code ===
|
|
114
|
+
if (code === "SESSION_SWITCH") {
|
|
115
115
|
console.log(providerRef.current.getMessages());
|
|
116
|
-
} else if (code ===
|
|
116
|
+
} else if (code === "APP_MESSAGES_INIT_SUCCESS") {
|
|
117
117
|
console.log(code, data);
|
|
118
|
+
} else if (code === "APP_CONFIG_INIT_SUCCESS") {
|
|
119
|
+
setTimeout(function () {
|
|
120
|
+
handleSendMessage();
|
|
121
|
+
}, 2000);
|
|
118
122
|
}
|
|
119
123
|
};
|
|
120
124
|
return /*#__PURE__*/_jsx("div", {
|
|
121
125
|
style: {
|
|
122
|
-
display:
|
|
126
|
+
display: "flex"
|
|
123
127
|
},
|
|
124
128
|
children: /*#__PURE__*/_jsx("div", {
|
|
125
129
|
style: {
|
|
126
|
-
height:
|
|
127
|
-
width:
|
|
130
|
+
height: "600px",
|
|
131
|
+
width: "100vw"
|
|
128
132
|
},
|
|
129
133
|
children: /*#__PURE__*/_jsx(XAdkWebProvider, _objectSpread(_objectSpread({
|
|
130
134
|
ref: providerRef
|
|
@@ -142,16 +146,18 @@ export var 携带历史记录实例 = {
|
|
|
142
146
|
});
|
|
143
147
|
},
|
|
144
148
|
args: {
|
|
145
|
-
url:
|
|
146
|
-
token:
|
|
149
|
+
url: "https://m-poc-dev.zaxline.com",
|
|
150
|
+
token: "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzanQyWWJEamV3Vm4yUEhSS2FEZkpFZ08iLCJhdWQiOiIzanQyWWJEamV3Vm4yUEhSS2FEZkpFZ08iLCJuYmYiOjE3NzI3MDA1MzcsInVzZXJfaWQiOiJWNFNPSG1KbzNaZWE0Uk51ZzdYWDJBPT0iLCJzY29wZSI6WyIzanQyWWJEamV3Vm4yUEhSS2FEZkpFZ08iXSwiaXNzIjoiaHR0cDovL2htLWF1dGgtc2VydmVyLnhsaW5lLWRldi50ZXN0LnhpbmtlLmJpeiIsImV4cCI6MTc3MjcwNzczNywiaWF0IjoxNzcyNzAwNTM3LCJqdGkiOiJlZWM3NzA2Mi01YmNjLTRlOTgtYTExZC1hOThjN2Q3NmZlZjIiLCJjbGllbnRfaWQiOiIzanQyWWJEamV3Vm4yUEhSS2FEZkpFZ08ifQ.eDF_7XsgyAehFXTfB-6FcJglLDacEQz-UGLYGuI3lv-QQnSLekK5DvHBBA9T56OZ6DlQLMC3vhtvJV10lQwigWLE-b4fYTM205mhrtcBQFTUu0EBRTm0g_5sItw-0qaR9E6729H4s8Ty8zyst_nwGhxHWGMjg80cZM47UXhzEpL18wr2JDEWZmq7ZrvxFxqGiR2kjHMB1MOqIEIqGdwBmIDWkZus1qOFJzKN2tSd5Rd4hcLW3pdXmcEJZnVQfAwjqUTu5Peq7mSS0jXh_CIie8tJMOBX7-Fy3N10GSuYZSPCm3Aw0SPnRKgqzh2l4_401yw0lbX36QHBrTOxlXu_Zw",
|
|
147
151
|
config: {
|
|
148
|
-
appNo:
|
|
152
|
+
appNo: "3jt2YbDjewVn2PHRKaDfJEgO",
|
|
153
|
+
chatProps: {
|
|
154
|
+
clearBtnShow: false
|
|
155
|
+
},
|
|
149
156
|
session: {
|
|
150
157
|
showSessionList: true
|
|
151
|
-
}
|
|
152
|
-
allowUpload: true
|
|
158
|
+
}
|
|
153
159
|
},
|
|
154
|
-
providerId:
|
|
160
|
+
providerId: "demo-provider"
|
|
155
161
|
}
|
|
156
162
|
};
|
|
157
163
|
//# sourceMappingURL=XAdkWebProvider.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Button","XAdkWebProvider","jsx","_jsx","jsxs","_jsxs","meta","title","component","parameters","layout","docs","description","tags","argTypes","config","table","type","summary","detail","category","decorators","Story","style","padding","children","单聊天窗口实例","render","args","providerRef","useRef","handleSendMessage","_providerRef$current","current","chat","text","console","log","display","flexDirection","gap","marginRight","justifyContent","onClick","maxWidth","height","_objectSpread","ref","url","token","appNo","providerId","携带历史记录实例","_providerRef$current2","files","handleOnEvent","event","code","data","warn","getMessages","width","onError","providerError","onSuccess","onStream","onEvent","
|
|
1
|
+
{"version":3,"names":["React","Button","XAdkWebProvider","jsx","_jsx","jsxs","_jsxs","meta","title","component","parameters","layout","docs","description","tags","argTypes","config","table","type","summary","detail","category","decorators","Story","style","padding","children","单聊天窗口实例","render","args","providerRef","useRef","handleSendMessage","_providerRef$current","current","chat","text","console","log","display","flexDirection","gap","marginRight","justifyContent","onClick","maxWidth","height","_objectSpread","ref","url","token","appNo","providerId","携带历史记录实例","_providerRef$current2","startChat","files","handleOnEvent","event","code","data","warn","getMessages","setTimeout","width","onError","providerError","onSuccess","onStream","onEvent","chatProps","clearBtnShow","session","showSessionList"],"sources":["../../../../src/components/XAdkWebProvider/XAdkWebProvider.stories.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport type { Meta, StoryObj } from \"@storybook/react-vite\";\nimport { Button } from \"antd\";\nimport XAdkWebProvider from \"./index\";\n\nconst meta: Meta<typeof XAdkWebProvider> = {\n title: \"AI组件/XAdkWebProvider AI容器\",\n component: XAdkWebProvider,\n parameters: {\n layout: \"centered\",\n docs: {\n description: {\n component: \"AI 聊天机器人容器组件,提供全局上下文和消息管理功能。\",\n },\n },\n },\n tags: [\"autodocs\"],\n argTypes: {\n config: {\n description: \"配置信息\",\n table: {\n type: {\n summary: \"XAdkWebProviderConfig\",\n detail: `{\n appNo?: string; // 应用唯一编号\n }`,\n },\n category: \"配置选项\",\n },\n },\n },\n // 添加装饰器,确保组件有必要的上下文\n decorators: [\n (Story) => (\n <div style={{ padding: \"20px\" }}>\n <Story />\n </div>\n ),\n ],\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// 使用 Provider 的 XAiChatbot\nexport const 单聊天窗口实例: Story = {\n render: (args) => {\n const providerRef = React.useRef<any>(null);\n\n const handleSendMessage = () => {\n if (providerRef.current?.chat) {\n providerRef.current.chat({ text: \"你好,AI!\" });\n } else {\n console.log(\"XAdkWebProvider ref 未准备好或 chat 方法不存在\");\n }\n };\n\n return (\n <div style={{ display: \"flex\" }}>\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"12px\",\n marginRight: \"24px\",\n justifyContent: \"center\",\n }}\n >\n <Button type=\"primary\" onClick={handleSendMessage}>\n 发送消息\n </Button>\n </div>\n <div style={{ maxWidth: \"350px\", height: \"600px\" }}>\n <XAdkWebProvider\n ref={providerRef}\n {...args}\n // onError={(providerError) => console.log(providerError)}\n // onMessage={(data) => console.log(data)}\n ></XAdkWebProvider>\n </div>\n </div>\n );\n },\n args: {\n url: \"https://m-poc-dev.zaxline.com\",\n token:\n \"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiVjRTT0htSm8zWmVhNFJOdWc3WFgyQT09Iiwic2NvcGUiOlsiTUZYNVR4bGhlSUtiZWtaSEtvZU9WTmxvIl0sImV4cCI6MTc2Nzk1MjM0NywianRpIjoiSHpLMll4cVdjSTA3QWtmOHlsQXYwV0w0aE5jIiwiY2xpZW50X2lkIjoiTUZYNVR4bGhlSUtiZWtaSEtvZU9WTmxvIn0.AjABoyZFxAACkfy-ywLlfaJd6YY0Ir3pBGx_-HzW9di9p_4rnptbFI4adk9pktSVtlLB0cs45SU6uzp6VCJUj9-q-MP8QBqL6i7u2HV9e-kuBJgyIZD4t0PsazpJNu4rDlBAymYzw73ptLPjCwsUkckUz4Xhy1WmR8mpmuG0nuSWzlDlWKiaPgeMhA0Cnp4BV47zplvQ-r60VkarCg9JGHQNmIkQfG3llcjc-ZK4UKVkrFZynXhcCsp1ry7TwfRnwtXwQ1kZXDmeQxWFudhVaHwthraFF-fkHmYZpyTDrZQJY2Rn9nWO59ZHNh3I6-KiKdsNzv8Jl5T_dCUVPj7l3w\",\n config: {\n appNo: \"MFX5TxlheIKbekZHKoeOVNlo\",\n },\n providerId: \"demo-provider\",\n },\n};\n\n// 使用 Provider 的 XAiChatbot\nexport const 携带历史记录实例: Story = {\n render: (args) => {\n const providerRef = React.useRef<any>(null);\n\n const handleSendMessage = () => {\n if (providerRef.current?.startChat) {\n providerRef.current.startChat({\n text: \"你好,AI!\", // 上传文案\n files: [], // 如果需要上传附件\n });\n } else {\n console.log(\"XAdkWebProvider ref 未准备好或 chat 方法不存在\");\n }\n };\n\n const handleOnEvent = (event: any) => {\n const { code, data } = event;\n console.warn(code);\n if (code === \"SESSION_SWITCH\") {\n console.log(providerRef.current.getMessages());\n } else if (code === \"APP_MESSAGES_INIT_SUCCESS\") {\n console.log(code, data);\n } else if (code === \"APP_CONFIG_INIT_SUCCESS\") {\n setTimeout(() => {\n handleSendMessage();\n }, 2000);\n }\n };\n\n return (\n <div style={{ display: \"flex\" }}>\n <div style={{ height: \"600px\", width: \"100vw\" }}>\n <XAdkWebProvider\n ref={providerRef}\n {...args}\n onError={(providerError) => console.log(providerError)}\n onSuccess={handleOnEvent}\n onStream={(data) => console.log(data)}\n onEvent={handleOnEvent}\n />\n </div>\n </div>\n );\n },\n args: {\n url: \"https://m-poc-dev.zaxline.com\",\n token:\n \"eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzanQyWWJEamV3Vm4yUEhSS2FEZkpFZ08iLCJhdWQiOiIzanQyWWJEamV3Vm4yUEhSS2FEZkpFZ08iLCJuYmYiOjE3NzI3MDA1MzcsInVzZXJfaWQiOiJWNFNPSG1KbzNaZWE0Uk51ZzdYWDJBPT0iLCJzY29wZSI6WyIzanQyWWJEamV3Vm4yUEhSS2FEZkpFZ08iXSwiaXNzIjoiaHR0cDovL2htLWF1dGgtc2VydmVyLnhsaW5lLWRldi50ZXN0LnhpbmtlLmJpeiIsImV4cCI6MTc3MjcwNzczNywiaWF0IjoxNzcyNzAwNTM3LCJqdGkiOiJlZWM3NzA2Mi01YmNjLTRlOTgtYTExZC1hOThjN2Q3NmZlZjIiLCJjbGllbnRfaWQiOiIzanQyWWJEamV3Vm4yUEhSS2FEZkpFZ08ifQ.eDF_7XsgyAehFXTfB-6FcJglLDacEQz-UGLYGuI3lv-QQnSLekK5DvHBBA9T56OZ6DlQLMC3vhtvJV10lQwigWLE-b4fYTM205mhrtcBQFTUu0EBRTm0g_5sItw-0qaR9E6729H4s8Ty8zyst_nwGhxHWGMjg80cZM47UXhzEpL18wr2JDEWZmq7ZrvxFxqGiR2kjHMB1MOqIEIqGdwBmIDWkZus1qOFJzKN2tSd5Rd4hcLW3pdXmcEJZnVQfAwjqUTu5Peq7mSS0jXh_CIie8tJMOBX7-Fy3N10GSuYZSPCm3Aw0SPnRKgqzh2l4_401yw0lbX36QHBrTOxlXu_Zw\",\n config: {\n appNo: \"3jt2YbDjewVn2PHRKaDfJEgO\",\n chatProps: {\n clearBtnShow: false,\n },\n session: {\n showSessionList: true,\n },\n },\n providerId: \"demo-provider\",\n },\n};\n"],"mappings":"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"}
|
|
@@ -194,10 +194,10 @@ export var 携带历史记录示例 = {
|
|
|
194
194
|
});
|
|
195
195
|
},
|
|
196
196
|
args: {
|
|
197
|
-
url: 'https://m-poc
|
|
198
|
-
token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.
|
|
197
|
+
url: 'https://m-poc.zaxline.com',
|
|
198
|
+
token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiU0tUYkp6MDE5bWFVdnFqcC9OUGJEQT09Iiwic2NvcGUiOlsiMGhic2RXYkZVYktZRXkxMEsxNDM3WFhtIl0sImV4cCI6MTc2OTE2MzE5MCwianRpIjoiV1B4QTJrTzB0dlV5eW84MWdxSVlldlZRWUFRIiwiY2xpZW50X2lkIjoiMGhic2RXYkZVYktZRXkxMEsxNDM3WFhtIn0.f8tEHi-1Gokv09ce2YjO17yD4SL-KFNCiyFmVOLMvHnHltDh9g2BsxSEB9IreaEvqT70-nl9qgWjb8V2As9QTBNPvfdStXmvc1X4HYsWPDdX0YeLWBAgJ0clJufL62SzwRLNb-torvuLvQfqohF3Aqr7QUXt2x_ZOUA1G5jkG8K9_FZPYBBfUMf6JV8CejogqCSe-yjIKPhbh9dDcCGO6ibexTT1x8C1f2LwP-sMyYmPOIdEqelmzk5-m32yy2fINKz9zG8NWMRx8G4Sr1l-pZzxSGOQ3v6EKUe3M_I-W3pZc6G9gzIXb2Wq_lE7q_l91ee5dU8ex1To8X_PtFd8_g',
|
|
199
199
|
config: {
|
|
200
|
-
appNo: '
|
|
200
|
+
appNo: '0hbsdWbFUbKYEy10K1437XXm',
|
|
201
201
|
chatProps: {
|
|
202
202
|
clearBtnShow: false
|
|
203
203
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Button","XAiProvider","XAiChatbot","XAiConversations","jsx","_jsx","jsxs","_jsxs","meta","title","component","parameters","layout","docs","description","tags","argTypes","config","table","type","summary","detail","category","decorators","Story","style","padding","children","单聊天窗口实例","render","args","providerRef","useRef","handleSendMessage","_providerRef$current","current","chat","text","console","log","display","flexDirection","gap","marginRight","justifyContent","onClick","maxWidth","height","_objectSpread","ref","onError","providerError","onMessage","data","navbarShow","navbar","subtitle","avatar","url","token","appNo","providerId","多容器示例","width","携带历史记录示例","overflow","flex","chatProps","clearBtnShow"],"sources":["../../../../src/components/XAiProvider/XAiProvider.stories.tsx"],"sourcesContent":["import React from 'react';\nimport type { Meta, StoryObj } from '@storybook/react-vite';\nimport { Button } from 'antd';\nimport XAiProvider from './index';\nimport XAiChatbot from '../XAiChatbot';\nimport XAiConversations from '../XAiConversations';\n\nconst meta: Meta<typeof XAiProvider> = {\n title: 'AI组件/XAiProvider AI容器',\n component: XAiProvider,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: 'AI 聊天机器人容器组件,提供全局上下文和消息管理功能。',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n config: {\n description: '配置信息',\n table: {\n type: {\n summary: 'XAiProviderConfig',\n detail: `{\n appNo?: string; // 应用唯一编号\n }`,\n },\n category: '配置选项',\n },\n },\n },\n // 添加装饰器,确保组件有必要的上下文\n decorators: [\n (Story) => (\n <div style={{ padding: '20px' }}>\n <Story />\n </div>\n ),\n ],\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// 使用 Provider 的 XAiChatbot\nexport const 单聊天窗口实例: Story = {\n render: (args) => {\n const providerRef = React.useRef<any>(null);\n\n const handleSendMessage = () => {\n if (providerRef.current?.chat) {\n providerRef.current.chat({ text: '你好,AI!' });\n } else {\n console.log('XAiProvider ref 未准备好或 chat 方法不存在');\n }\n };\n\n return (\n <div style={{ display: 'flex' }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '12px', marginRight: '24px', justifyContent: 'center' }}>\n <Button type=\"primary\" onClick={handleSendMessage}>发送消息</Button>\n </div>\n <div style={{ maxWidth: '800px', height: '600px' }}>\n <XAiProvider\n ref={providerRef}\n {...args}\n onError={(providerError) => console.log(providerError)}\n onMessage={(data) => console.log(data)}\n >\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 聊天机器人',\n subtitle: '由 Provider 管理消息',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </XAiProvider>\n </div>\n </div>\n );\n },\n args: {\n url: 'https://m-poc-dev.zaxline.com',\n token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiVjRTT0htSm8zWmVhNFJOdWc3WFgyQT09Iiwic2NvcGUiOlsiZ2JWemZPVjhTa1oxdGRMT3BYNWZyVXpMIl0sImV4cCI6MTc2NDY3MTc2MSwianRpIjoiRl9Zb0JBXzhIN01XempDZUxQenEzNTBXRnNrIiwiY2xpZW50X2lkIjoiZ2JWemZPVjhTa1oxdGRMT3BYNWZyVXpMIn0.mtGBQfwNtIkhcOumsOvzMj2BdYUxAPwZ9GcvNLuCNGVzFkqkLkfy_LALjYR2B-RaNj11_Cx7DcewtmLceG31KfnCiFY24BD_CbwoahdFh40SYRTFnjDf8XQI22E63h5NxTuldPx0itYLUPaUO6NAubnRON40eQPGZKygM0i72ULsQQAyRpJLYAaTjUxyPIW3JmMzQmYiRx641JeAYAup4-ZNw-Fqmd-8_xK3kN-a832xM-M_eqXgn8yMttn0uFv95lxPdJ1_-mp2zx8N4TBCYVkHo3u_PjM65S3_p4u1dFGXBDAsxtVMgmVGeUvubTLFuDM153rz9MZ7aOuu_c8K7w',\n config: {\n appNo: 'PGlA63A1Gt9oZpxa6YCWMciH',\n },\n providerId: 'demo-provider',\n },\n};\n\n// 多个 Provider 示例\nexport const 多容器示例: Story = {\n render: (args) => (\n <div style={{ display: 'flex', gap: '20px' }}>\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args} providerId=\"provider-1\">\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 1',\n subtitle: '第一个聊天机器人',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </XAiProvider>\n </div>\n\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args} providerId=\"provider-2\">\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 2',\n subtitle: '第二个聊天机器人',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </XAiProvider>\n </div>\n </div>\n ),\n args: {\n url: 'https://api.example.com/ai',\n token: 'your-token-here',\n },\n};\n\n// 使用 Provider 的 XAiChatbot\nexport const 携带历史记录示例: Story = {\n render: (args) => {\n const providerRef = React.useRef<any>(null);\n\n return (\n <div style={{ width: '1080px', height: '600px', overflow: 'hidden' }}>\n <XAiProvider\n ref={providerRef}\n {...args}\n onError={(providerError) => console.log(providerError)}\n onMessage={(data) => console.log(data)}\n >\n <XAiConversations />\n <div style={{ flex: 1, display: 'flex', justifyContent: 'center' }}>\n <XAiChatbot\n navbar={{\n title: 'Provider 聊天机器人',\n subtitle: '由 Provider 管理消息',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </div>\n </XAiProvider>\n </div>\n );\n },\n args: {\n url: 'https://m-poc-dev.zaxline.com',\n token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiVjRTT0htSm8zWmVhNFJOdWc3WFgyQT09Iiwic2NvcGUiOlsicmN4anBibU44VVgxVVRRbTU0b0ZNTEtwIl0sImV4cCI6MTc2NTI3ODg4NiwianRpIjoiNFRTcWdfV3NJOHlqSEdZUmRRVEtuT0dPbjU4IiwiY2xpZW50X2lkIjoicmN4anBibU44VVgxVVRRbTU0b0ZNTEtwIn0.duUIEPpHmyMwaZYtvM5BlAs1e1ZEco_DaD2NI-Ht2m0OE8khQBe284vRSPxgvxKm7aHOcAo_Kla9DE0YBPUxKeN1c0qgRepIacLB7AvTWFZtb59OjdGMfMHQbbZiuy4wu5W81dVoOpZWCjIkOomCtvCsIZpUQY7vdIZBCB9sygmwTJ7S_9oF10iUtK90AdZHX-_9jdlKNJC-Fulg9ab88Z33rnmW8jhhqpEkYYzGnccXNQuomxswMo_MgyplV_B9wpfs90tEnPWC623dcdfJHcRJZBtC-NU6RomkPLewdz3dEM-LaWBkP6FMI60C0VQW-fvwWkWC1GKBrUeaXzbgWg',\n config: {\n appNo: 'rcxjpbmN8UX1UTQm54oFMLKp',\n chatProps: {\n clearBtnShow: false,\n },\n },\n providerId: 'demo-provider',\n },\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Button","XAiProvider","XAiChatbot","XAiConversations","jsx","_jsx","jsxs","_jsxs","meta","title","component","parameters","layout","docs","description","tags","argTypes","config","table","type","summary","detail","category","decorators","Story","style","padding","children","单聊天窗口实例","render","args","providerRef","useRef","handleSendMessage","_providerRef$current","current","chat","text","console","log","display","flexDirection","gap","marginRight","justifyContent","onClick","maxWidth","height","_objectSpread","ref","onError","providerError","onMessage","data","navbarShow","navbar","subtitle","avatar","url","token","appNo","providerId","多容器示例","width","携带历史记录示例","overflow","flex","chatProps","clearBtnShow"],"sources":["../../../../src/components/XAiProvider/XAiProvider.stories.tsx"],"sourcesContent":["import React from 'react';\nimport type { Meta, StoryObj } from '@storybook/react-vite';\nimport { Button } from 'antd';\nimport XAiProvider from './index';\nimport XAiChatbot from '../XAiChatbot';\nimport XAiConversations from '../XAiConversations';\n\nconst meta: Meta<typeof XAiProvider> = {\n title: 'AI组件/XAiProvider AI容器',\n component: XAiProvider,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: 'AI 聊天机器人容器组件,提供全局上下文和消息管理功能。',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n config: {\n description: '配置信息',\n table: {\n type: {\n summary: 'XAiProviderConfig',\n detail: `{\n appNo?: string; // 应用唯一编号\n }`,\n },\n category: '配置选项',\n },\n },\n },\n // 添加装饰器,确保组件有必要的上下文\n decorators: [\n (Story) => (\n <div style={{ padding: '20px' }}>\n <Story />\n </div>\n ),\n ],\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// 使用 Provider 的 XAiChatbot\nexport const 单聊天窗口实例: Story = {\n render: (args) => {\n const providerRef = React.useRef<any>(null);\n\n const handleSendMessage = () => {\n if (providerRef.current?.chat) {\n providerRef.current.chat({ text: '你好,AI!' });\n } else {\n console.log('XAiProvider ref 未准备好或 chat 方法不存在');\n }\n };\n\n return (\n <div style={{ display: 'flex' }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '12px', marginRight: '24px', justifyContent: 'center' }}>\n <Button type=\"primary\" onClick={handleSendMessage}>发送消息</Button>\n </div>\n <div style={{ maxWidth: '800px', height: '600px' }}>\n <XAiProvider\n ref={providerRef}\n {...args}\n onError={(providerError) => console.log(providerError)}\n onMessage={(data) => console.log(data)}\n >\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 聊天机器人',\n subtitle: '由 Provider 管理消息',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </XAiProvider>\n </div>\n </div>\n );\n },\n args: {\n url: 'https://m-poc-dev.zaxline.com',\n token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiVjRTT0htSm8zWmVhNFJOdWc3WFgyQT09Iiwic2NvcGUiOlsiZ2JWemZPVjhTa1oxdGRMT3BYNWZyVXpMIl0sImV4cCI6MTc2NDY3MTc2MSwianRpIjoiRl9Zb0JBXzhIN01XempDZUxQenEzNTBXRnNrIiwiY2xpZW50X2lkIjoiZ2JWemZPVjhTa1oxdGRMT3BYNWZyVXpMIn0.mtGBQfwNtIkhcOumsOvzMj2BdYUxAPwZ9GcvNLuCNGVzFkqkLkfy_LALjYR2B-RaNj11_Cx7DcewtmLceG31KfnCiFY24BD_CbwoahdFh40SYRTFnjDf8XQI22E63h5NxTuldPx0itYLUPaUO6NAubnRON40eQPGZKygM0i72ULsQQAyRpJLYAaTjUxyPIW3JmMzQmYiRx641JeAYAup4-ZNw-Fqmd-8_xK3kN-a832xM-M_eqXgn8yMttn0uFv95lxPdJ1_-mp2zx8N4TBCYVkHo3u_PjM65S3_p4u1dFGXBDAsxtVMgmVGeUvubTLFuDM153rz9MZ7aOuu_c8K7w',\n config: {\n appNo: 'PGlA63A1Gt9oZpxa6YCWMciH',\n },\n providerId: 'demo-provider',\n },\n};\n\n// 多个 Provider 示例\nexport const 多容器示例: Story = {\n render: (args) => (\n <div style={{ display: 'flex', gap: '20px' }}>\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args} providerId=\"provider-1\">\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 1',\n subtitle: '第一个聊天机器人',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </XAiProvider>\n </div>\n\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args} providerId=\"provider-2\">\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 2',\n subtitle: '第二个聊天机器人',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </XAiProvider>\n </div>\n </div>\n ),\n args: {\n url: 'https://api.example.com/ai',\n token: 'your-token-here',\n },\n};\n\n// 使用 Provider 的 XAiChatbot\nexport const 携带历史记录示例: Story = {\n render: (args) => {\n const providerRef = React.useRef<any>(null);\n\n return (\n <div style={{ width: '1080px', height: '600px', overflow: 'hidden' }}>\n <XAiProvider\n ref={providerRef}\n {...args}\n onError={(providerError) => console.log(providerError)}\n onMessage={(data) => console.log(data)}\n >\n <XAiConversations />\n <div style={{ flex: 1, display: 'flex', justifyContent: 'center' }}>\n <XAiChatbot\n navbar={{\n title: 'Provider 聊天机器人',\n subtitle: '由 Provider 管理消息',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </div>\n </XAiProvider>\n </div>\n );\n },\n args: {\n url: 'https://m-poc.zaxline.com',\n token: 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiU0tUYkp6MDE5bWFVdnFqcC9OUGJEQT09Iiwic2NvcGUiOlsiMGhic2RXYkZVYktZRXkxMEsxNDM3WFhtIl0sImV4cCI6MTc2OTE2MzE5MCwianRpIjoiV1B4QTJrTzB0dlV5eW84MWdxSVlldlZRWUFRIiwiY2xpZW50X2lkIjoiMGhic2RXYkZVYktZRXkxMEsxNDM3WFhtIn0.f8tEHi-1Gokv09ce2YjO17yD4SL-KFNCiyFmVOLMvHnHltDh9g2BsxSEB9IreaEvqT70-nl9qgWjb8V2As9QTBNPvfdStXmvc1X4HYsWPDdX0YeLWBAgJ0clJufL62SzwRLNb-torvuLvQfqohF3Aqr7QUXt2x_ZOUA1G5jkG8K9_FZPYBBfUMf6JV8CejogqCSe-yjIKPhbh9dDcCGO6ibexTT1x8C1f2LwP-sMyYmPOIdEqelmzk5-m32yy2fINKz9zG8NWMRx8G4Sr1l-pZzxSGOQ3v6EKUe3M_I-W3pZc6G9gzIXb2Wq_lE7q_l91ee5dU8ex1To8X_PtFd8_g',\n config: {\n appNo: '0hbsdWbFUbKYEy10K1437XXm',\n chatProps: {\n clearBtnShow: false,\n },\n },\n providerId: 'demo-provider',\n },\n};\n"],"mappings":"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"}
|