@ai-group/chat-sdk 3.4.5 → 3.5.0-alpha1
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/FolderTree/styles.js +2 -1
- package/dist/cjs/components/FolderTree/styles.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/index.d.ts +2 -2
- package/dist/cjs/components/XAdkChatbot/index.js +433 -389
- package/dist/cjs/components/XAdkChatbot/index.js.map +2 -2
- package/dist/cjs/components/XAdkSender/index.js +22 -3
- package/dist/cjs/components/XAdkSender/index.js.map +2 -2
- package/dist/cjs/components/XAdkThoughtChain/styles.d.ts +0 -1
- package/dist/cjs/components/XAdkThoughtChain/styles.js +0 -9
- package/dist/cjs/components/XAdkThoughtChain/styles.js.map +2 -2
- package/dist/cjs/hooks/useADKChat.js +2 -0
- package/dist/cjs/hooks/useADKChat.js.map +2 -2
- package/dist/cjs/presets/xGroupAdk.js +0 -1
- package/dist/cjs/presets/xGroupAdk.js.map +2 -2
- package/dist/cjs/types/XAdkChatbot.d.ts +12 -0
- package/dist/cjs/types/XAdkChatbot.js.map +1 -1
- package/dist/cjs/types/XAdkSender.d.ts +6 -0
- package/dist/cjs/types/XAdkSender.js.map +1 -1
- package/dist/cjs/utils/umdEntry.d.ts +25 -1
- package/dist/cjs/utils/umdEntry.js +126 -41
- package/dist/cjs/utils/umdEntry.js.map +3 -3
- package/dist/esm/components/FolderTree/styles.js +1 -1
- package/dist/esm/components/FolderTree/styles.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/index.d.ts +2 -2
- package/dist/esm/components/XAdkChatbot/index.js +69 -14
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -1
- package/dist/esm/components/XAdkSender/index.js +28 -5
- package/dist/esm/components/XAdkSender/index.js.map +1 -1
- package/dist/esm/components/XAdkThoughtChain/styles.d.ts +0 -1
- package/dist/esm/components/XAdkThoughtChain/styles.js +19 -20
- package/dist/esm/components/XAdkThoughtChain/styles.js.map +1 -1
- package/dist/esm/hooks/useADKChat.js +10 -6
- package/dist/esm/hooks/useADKChat.js.map +1 -1
- package/dist/esm/presets/xGroupAdk.js +0 -1
- package/dist/esm/presets/xGroupAdk.js.map +1 -1
- package/dist/esm/types/XAdkChatbot.d.ts +12 -0
- package/dist/esm/types/XAdkChatbot.js.map +1 -1
- package/dist/esm/types/XAdkSender.d.ts +6 -0
- package/dist/esm/types/XAdkSender.js.map +1 -1
- package/dist/esm/utils/umdEntry.d.ts +25 -1
- package/dist/esm/utils/umdEntry.js +162 -70
- package/dist/esm/utils/umdEntry.js.map +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +1 -1
|
@@ -76,6 +76,10 @@ export interface SenderUIProps {
|
|
|
76
76
|
draggable?: boolean;
|
|
77
77
|
loading?: boolean;
|
|
78
78
|
disabled?: boolean;
|
|
79
|
+
/** 受控:输入框的值 */
|
|
80
|
+
value?: string;
|
|
81
|
+
/** 非受控:输入框默认值 */
|
|
82
|
+
defaultValue?: string;
|
|
79
83
|
onClear?: () => void;
|
|
80
84
|
onChange?: (value: string) => void;
|
|
81
85
|
onSubmit?: (data: {
|
|
@@ -87,6 +91,8 @@ export interface SenderUIProps {
|
|
|
87
91
|
sendButtonRender?: (info: {
|
|
88
92
|
loading: boolean;
|
|
89
93
|
disabled: boolean;
|
|
94
|
+
/** 当前是否可以发送(文本非空或有已上传的文件) */
|
|
95
|
+
canSend: boolean;
|
|
90
96
|
onSend: () => void;
|
|
91
97
|
onStop?: () => void;
|
|
92
98
|
}) => React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/types/XAdkSender.ts"],"sourcesContent":["// types/XAdkSender.ts\nimport React from \"react\";\n\nexport interface UploadFileResult {\n fileName?: string;\n fileId?: string | number;\n tempUrl?: string;\n url?: string;\n fileUrl?: string;\n fileType?: string;\n fileSize?: number;\n mimeType?: string;\n [key: string]: any;\n}\n\nexport interface UploadSuccessResponse {\n data?: UploadFileResult | UploadFileResult[];\n [key: string]: any;\n}\n\ninterface uploadRequestProps {\n (options: {\n file: File;\n onProgress?: (e: { percent: number }) => void;\n onSuccess?: (\n response: UploadFileResult | UploadFileResult[] | UploadSuccessResponse,\n ) => void;\n onError?: (error: Error) => void;\n }): Promise<void> | void;\n}\n\nexport type UploadRequestFn = uploadRequestProps;\n\nexport interface ServerFile {\n fileName: string;\n fileId: string | number;\n tempUrl: string;\n type: string;\n size?: number;\n mimeType: string;\n raw?: UploadFileResult;\n}\n\nexport interface LocalFile {\n id: string;\n uid: string;\n name: string;\n file: File;\n size: number;\n type: string;\n progress: number;\n status: \"pending\" | \"uploading\" | \"success\" | \"error\";\n // 服务器返回字段\n fileId?: string | number;\n tempUrl?: string;\n response?: any;\n errorMessage?: string; // 上传错误信息\n}\n\nexport type FileValidator = (\n file: File,\n context: { files: LocalFile[] },\n) => string | null;\n\nexport interface ActionsComponents {\n SendButton: React.ComponentType<any>;\n UploadButton: React.ComponentType<any>;\n ClearButton: React.ComponentType<any>;\n}\n\nexport type SlotRenderFunction = (\n oriNode: React.ReactNode,\n info: { components: ActionsComponents },\n) => React.ReactNode | false;\n\n// 上传相关\nexport interface UploaderCoreProps {\n uploadRequest?: uploadRequestProps;\n\n maxFileSize?: number;\n allowedFileTypes?: string[];\n maxFiles?: number;\n\n validators?: FileValidator[];\n\n // 数据层回调\n onFilesChange?: (files: LocalFile[]) => void;\n onUploadSuccess?: (file: LocalFile) => void;\n onUploadError?: (file: LocalFile, error: Error) => void;\n}\n\n// UI 相关\nexport interface SenderUIProps {\n clearBtnShow?: boolean;\n allowUpload?: boolean;\n /** 是否启用 Sender 自身的拖拽上传,设为 false 时由外层(如 DefaultLayout)管理拖拽 */\n draggable?: boolean;\n loading?: boolean;\n disabled?: boolean; // 只读状态\n onClear?: () => void;\n onChange?: (value: string) => void;\n onSubmit?: (data: { text: string; files: ServerFile[] }) => void;\n onStop?: () => void;\n\n /** 自定义发送按钮渲染 */\n sendButtonRender?: (info: {\n loading: boolean;\n disabled: boolean;\n onSend: () => void;\n onStop?: () => void;\n }) => React.ReactNode;\n\n // UI插槽功能\n /** 后缀内容,默认展示操作按钮,设为 false 时不显示 */\n suffix?: React.ReactNode | false | SlotRenderFunction;\n /** 头部面板 */\n header?: React.ReactNode | false | SlotRenderFunction;\n /** 前缀内容 */\n prefix?: React.ReactNode | false | SlotRenderFunction;\n /** 底部内容 */\n footer?: React.ReactNode | false | SlotRenderFunction;\n}\n\nexport type XAdkSenderProps = SenderUIProps & UploaderCoreProps;\n\nexport interface XAdkSenderHandle {\n addFiles: (files: File[]) => void;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/types/XAdkSender.ts"],"sourcesContent":["// types/XAdkSender.ts\nimport React from \"react\";\n\nexport interface UploadFileResult {\n fileName?: string;\n fileId?: string | number;\n tempUrl?: string;\n url?: string;\n fileUrl?: string;\n fileType?: string;\n fileSize?: number;\n mimeType?: string;\n [key: string]: any;\n}\n\nexport interface UploadSuccessResponse {\n data?: UploadFileResult | UploadFileResult[];\n [key: string]: any;\n}\n\ninterface uploadRequestProps {\n (options: {\n file: File;\n onProgress?: (e: { percent: number }) => void;\n onSuccess?: (\n response: UploadFileResult | UploadFileResult[] | UploadSuccessResponse,\n ) => void;\n onError?: (error: Error) => void;\n }): Promise<void> | void;\n}\n\nexport type UploadRequestFn = uploadRequestProps;\n\nexport interface ServerFile {\n fileName: string;\n fileId: string | number;\n tempUrl: string;\n type: string;\n size?: number;\n mimeType: string;\n raw?: UploadFileResult;\n}\n\nexport interface LocalFile {\n id: string;\n uid: string;\n name: string;\n file: File;\n size: number;\n type: string;\n progress: number;\n status: \"pending\" | \"uploading\" | \"success\" | \"error\";\n // 服务器返回字段\n fileId?: string | number;\n tempUrl?: string;\n response?: any;\n errorMessage?: string; // 上传错误信息\n}\n\nexport type FileValidator = (\n file: File,\n context: { files: LocalFile[] },\n) => string | null;\n\nexport interface ActionsComponents {\n SendButton: React.ComponentType<any>;\n UploadButton: React.ComponentType<any>;\n ClearButton: React.ComponentType<any>;\n}\n\nexport type SlotRenderFunction = (\n oriNode: React.ReactNode,\n info: { components: ActionsComponents },\n) => React.ReactNode | false;\n\n// 上传相关\nexport interface UploaderCoreProps {\n uploadRequest?: uploadRequestProps;\n\n maxFileSize?: number;\n allowedFileTypes?: string[];\n maxFiles?: number;\n\n validators?: FileValidator[];\n\n // 数据层回调\n onFilesChange?: (files: LocalFile[]) => void;\n onUploadSuccess?: (file: LocalFile) => void;\n onUploadError?: (file: LocalFile, error: Error) => void;\n}\n\n// UI 相关\nexport interface SenderUIProps {\n clearBtnShow?: boolean;\n allowUpload?: boolean;\n /** 是否启用 Sender 自身的拖拽上传,设为 false 时由外层(如 DefaultLayout)管理拖拽 */\n draggable?: boolean;\n loading?: boolean;\n disabled?: boolean; // 只读状态\n /** 受控:输入框的值 */\n value?: string;\n /** 非受控:输入框默认值 */\n defaultValue?: string;\n onClear?: () => void;\n onChange?: (value: string) => void;\n onSubmit?: (data: { text: string; files: ServerFile[] }) => void;\n onStop?: () => void;\n\n /** 自定义发送按钮渲染 */\n sendButtonRender?: (info: {\n loading: boolean;\n disabled: boolean;\n /** 当前是否可以发送(文本非空或有已上传的文件) */\n canSend: boolean;\n onSend: () => void;\n onStop?: () => void;\n }) => React.ReactNode;\n\n // UI插槽功能\n /** 后缀内容,默认展示操作按钮,设为 false 时不显示 */\n suffix?: React.ReactNode | false | SlotRenderFunction;\n /** 头部面板 */\n header?: React.ReactNode | false | SlotRenderFunction;\n /** 前缀内容 */\n prefix?: React.ReactNode | false | SlotRenderFunction;\n /** 底部内容 */\n footer?: React.ReactNode | false | SlotRenderFunction;\n}\n\nexport type XAdkSenderProps = SenderUIProps & UploaderCoreProps;\n\nexport interface XAdkSenderHandle {\n addFiles: (files: File[]) => void;\n}\n"],"mappings":""}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { XAdkSDKProps, XAdkProviderHandle, IMessage } from "../types";
|
|
3
3
|
import { SendContent } from "../types";
|
|
4
|
+
/**
|
|
5
|
+
* 内部包装组件:管理 token 状态,支持运行时动态更新
|
|
6
|
+
*/
|
|
7
|
+
interface WrapperHandle extends XAdkProviderHandle {
|
|
8
|
+
setToken: (token: string) => void;
|
|
9
|
+
}
|
|
4
10
|
/**
|
|
5
11
|
* XAiWebSDK - UMD 入口类
|
|
6
12
|
*
|
|
@@ -20,6 +26,9 @@ import { SendContent } from "../types";
|
|
|
20
26
|
* }
|
|
21
27
|
* }
|
|
22
28
|
* });
|
|
29
|
+
*
|
|
30
|
+
* // token 过期后动态更新
|
|
31
|
+
* sdk.setToken('new-token');
|
|
23
32
|
* </script>
|
|
24
33
|
* ```
|
|
25
34
|
*/
|
|
@@ -27,7 +36,7 @@ declare class XAiWebSDK {
|
|
|
27
36
|
container: HTMLElement;
|
|
28
37
|
props: XAdkSDKProps;
|
|
29
38
|
root: any;
|
|
30
|
-
|
|
39
|
+
wrapperRef: import("react").RefObject<WrapperHandle | null>;
|
|
31
40
|
onError?: (error: any) => void;
|
|
32
41
|
onSuccess?: (appInfo: any) => void;
|
|
33
42
|
onMessage?: (content: string, data: IMessage) => void;
|
|
@@ -69,6 +78,21 @@ declare class XAiWebSDK {
|
|
|
69
78
|
* @deprecated 使用 initChatbot 替代
|
|
70
79
|
*/
|
|
71
80
|
static create(props: XAdkSDKProps): XAiWebSDK;
|
|
81
|
+
/**
|
|
82
|
+
* 动态更新认证 token
|
|
83
|
+
*
|
|
84
|
+
* 用于 token 过期后刷新,更新后后续的 API 请求将使用新 token,无需重新初始化 SDK。
|
|
85
|
+
*
|
|
86
|
+
* @param token - 新的认证 token
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```javascript
|
|
90
|
+
* // 监听到 token 过期后
|
|
91
|
+
* const newToken = await refreshToken();
|
|
92
|
+
* sdk.setToken(newToken);
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
setToken(token: string): void;
|
|
72
96
|
/**
|
|
73
97
|
* 获取当前数据(聚合方法)
|
|
74
98
|
* @returns 应用信息、消息列表、会话列表
|
|
@@ -1,13 +1,99 @@
|
|
|
1
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
|
-
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
1
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
4
2
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
5
3
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
6
|
-
|
|
7
|
-
import
|
|
4
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
5
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
6
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
7
|
+
var _excluded = ["token", "showSessionList", "allowUpload", "draggable", "clearBtnShow"],
|
|
8
|
+
_excluded2 = ["id"];
|
|
9
|
+
import { createRef, useState, useImperativeHandle, forwardRef } from "react";
|
|
8
10
|
import ReactDOM from "react-dom/client";
|
|
9
11
|
import XAdkProvider from "../components/XAdkProvider";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 内部包装组件:管理 token 状态,支持运行时动态更新
|
|
15
|
+
*/
|
|
10
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
+
var SDKWrapper = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
18
|
+
var initialToken = _ref.token,
|
|
19
|
+
showSessionList = _ref.showSessionList,
|
|
20
|
+
allowUpload = _ref.allowUpload,
|
|
21
|
+
draggable = _ref.draggable,
|
|
22
|
+
clearBtnShow = _ref.clearBtnShow,
|
|
23
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
24
|
+
var _useState = useState(initialToken),
|
|
25
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
26
|
+
token = _useState2[0],
|
|
27
|
+
setToken = _useState2[1];
|
|
28
|
+
var providerRef = /*#__PURE__*/createRef();
|
|
29
|
+
useImperativeHandle(ref, function () {
|
|
30
|
+
return {
|
|
31
|
+
setToken: setToken,
|
|
32
|
+
startChat: function startChat(content) {
|
|
33
|
+
var _providerRef$current;
|
|
34
|
+
return (_providerRef$current = providerRef.current) === null || _providerRef$current === void 0 ? void 0 : _providerRef$current.startChat(content);
|
|
35
|
+
},
|
|
36
|
+
stopChat: function stopChat() {
|
|
37
|
+
var _providerRef$current2;
|
|
38
|
+
return (_providerRef$current2 = providerRef.current) === null || _providerRef$current2 === void 0 ? void 0 : _providerRef$current2.stopChat();
|
|
39
|
+
},
|
|
40
|
+
reChat: function reChat() {
|
|
41
|
+
var _providerRef$current3;
|
|
42
|
+
return (_providerRef$current3 = providerRef.current) === null || _providerRef$current3 === void 0 ? void 0 : _providerRef$current3.reChat();
|
|
43
|
+
},
|
|
44
|
+
clearChat: function clearChat() {
|
|
45
|
+
var _providerRef$current4;
|
|
46
|
+
return (_providerRef$current4 = providerRef.current) === null || _providerRef$current4 === void 0 ? void 0 : _providerRef$current4.clearChat();
|
|
47
|
+
},
|
|
48
|
+
deleteSession: function deleteSession(id) {
|
|
49
|
+
var _providerRef$current5;
|
|
50
|
+
return (_providerRef$current5 = providerRef.current) === null || _providerRef$current5 === void 0 ? void 0 : _providerRef$current5.deleteSession(id);
|
|
51
|
+
},
|
|
52
|
+
updateSession: function updateSession(id, title) {
|
|
53
|
+
var _providerRef$current6;
|
|
54
|
+
return (_providerRef$current6 = providerRef.current) === null || _providerRef$current6 === void 0 ? void 0 : _providerRef$current6.updateSession(id, title);
|
|
55
|
+
},
|
|
56
|
+
getAppInfo: function getAppInfo() {
|
|
57
|
+
var _providerRef$current7;
|
|
58
|
+
return (_providerRef$current7 = providerRef.current) === null || _providerRef$current7 === void 0 ? void 0 : _providerRef$current7.getAppInfo();
|
|
59
|
+
},
|
|
60
|
+
getMessages: function getMessages() {
|
|
61
|
+
var _providerRef$current$, _providerRef$current8;
|
|
62
|
+
return (_providerRef$current$ = (_providerRef$current8 = providerRef.current) === null || _providerRef$current8 === void 0 ? void 0 : _providerRef$current8.getMessages()) !== null && _providerRef$current$ !== void 0 ? _providerRef$current$ : [];
|
|
63
|
+
},
|
|
64
|
+
getSessions: function getSessions() {
|
|
65
|
+
var _providerRef$current$2, _providerRef$current9;
|
|
66
|
+
return (_providerRef$current$2 = (_providerRef$current9 = providerRef.current) === null || _providerRef$current9 === void 0 ? void 0 : _providerRef$current9.getSessions()) !== null && _providerRef$current$2 !== void 0 ? _providerRef$current$2 : [];
|
|
67
|
+
},
|
|
68
|
+
setMessages: function setMessages(msgs) {
|
|
69
|
+
var _providerRef$current10;
|
|
70
|
+
return (_providerRef$current10 = providerRef.current) === null || _providerRef$current10 === void 0 ? void 0 : _providerRef$current10.setMessages(msgs);
|
|
71
|
+
},
|
|
72
|
+
setCurrentSession: function setCurrentSession(id) {
|
|
73
|
+
var _providerRef$current11;
|
|
74
|
+
return (_providerRef$current11 = providerRef.current) === null || _providerRef$current11 === void 0 ? void 0 : _providerRef$current11.setCurrentSession(id);
|
|
75
|
+
},
|
|
76
|
+
setStateDelta: function setStateDelta(delta) {
|
|
77
|
+
var _providerRef$current12;
|
|
78
|
+
return (_providerRef$current12 = providerRef.current) === null || _providerRef$current12 === void 0 ? void 0 : _providerRef$current12.setStateDelta(delta);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}, [providerRef]);
|
|
82
|
+
return /*#__PURE__*/_jsx(XAdkProvider, _objectSpread(_objectSpread({
|
|
83
|
+
ref: providerRef
|
|
84
|
+
}, rest), {}, {
|
|
85
|
+
token: token,
|
|
86
|
+
children: /*#__PURE__*/_jsx(XAdkProvider.DefaultLayout, {
|
|
87
|
+
showSessionList: showSessionList,
|
|
88
|
+
allowUpload: allowUpload,
|
|
89
|
+
draggable: draggable,
|
|
90
|
+
clearBtnShow: clearBtnShow,
|
|
91
|
+
showFnCallDetail: true
|
|
92
|
+
})
|
|
93
|
+
}));
|
|
94
|
+
});
|
|
95
|
+
SDKWrapper.displayName = "SDKWrapper";
|
|
96
|
+
|
|
11
97
|
/**
|
|
12
98
|
* XAiWebSDK - UMD 入口类
|
|
13
99
|
*
|
|
@@ -27,6 +113,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
27
113
|
* }
|
|
28
114
|
* }
|
|
29
115
|
* });
|
|
116
|
+
*
|
|
117
|
+
* // token 过期后动态更新
|
|
118
|
+
* sdk.setToken('new-token');
|
|
30
119
|
* </script>
|
|
31
120
|
* ```
|
|
32
121
|
*/
|
|
@@ -36,7 +125,7 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
36
125
|
_defineProperty(this, "container", void 0);
|
|
37
126
|
_defineProperty(this, "props", void 0);
|
|
38
127
|
_defineProperty(this, "root", void 0);
|
|
39
|
-
_defineProperty(this, "
|
|
128
|
+
_defineProperty(this, "wrapperRef", /*#__PURE__*/createRef());
|
|
40
129
|
// ———— hook ————
|
|
41
130
|
_defineProperty(this, "onError", void 0);
|
|
42
131
|
_defineProperty(this, "onSuccess", void 0);
|
|
@@ -59,45 +148,27 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
59
148
|
var allowUpload = (_config$allowUpload = config.allowUpload) !== null && _config$allowUpload !== void 0 ? _config$allowUpload : false;
|
|
60
149
|
var draggable = (_config$draggable = config.draggable) !== null && _config$draggable !== void 0 ? _config$draggable : true;
|
|
61
150
|
var clearBtnShow = (_config$chatProps$cle = (_config$chatProps = config.chatProps) === null || _config$chatProps === void 0 ? void 0 : _config$chatProps.clearBtnShow) !== null && _config$chatProps$cle !== void 0 ? _config$chatProps$cle : true;
|
|
151
|
+
var element = /*#__PURE__*/_jsx("div", {
|
|
152
|
+
style: {
|
|
153
|
+
width: "100%",
|
|
154
|
+
height: "100%"
|
|
155
|
+
},
|
|
156
|
+
children: /*#__PURE__*/_jsx(SDKWrapper, _objectSpread(_objectSpread({
|
|
157
|
+
ref: this.wrapperRef
|
|
158
|
+
}, this.props), {}, {
|
|
159
|
+
showSessionList: showSessionList,
|
|
160
|
+
allowUpload: allowUpload,
|
|
161
|
+
draggable: draggable,
|
|
162
|
+
clearBtnShow: clearBtnShow
|
|
163
|
+
}))
|
|
164
|
+
});
|
|
62
165
|
if (ReactDOM.createRoot) {
|
|
63
166
|
this.root = ReactDOM.createRoot(this.container);
|
|
64
|
-
this.root.render(
|
|
65
|
-
style: {
|
|
66
|
-
width: "100%",
|
|
67
|
-
height: "100%"
|
|
68
|
-
},
|
|
69
|
-
children: /*#__PURE__*/_jsx(XAdkProvider, _objectSpread(_objectSpread({
|
|
70
|
-
ref: this.providerRef
|
|
71
|
-
}, this.props), {}, {
|
|
72
|
-
children: /*#__PURE__*/_jsx(XAdkProvider.DefaultLayout, {
|
|
73
|
-
showSessionList: showSessionList,
|
|
74
|
-
allowUpload: allowUpload,
|
|
75
|
-
draggable: draggable,
|
|
76
|
-
clearBtnShow: clearBtnShow,
|
|
77
|
-
showFnCallDetail: true
|
|
78
|
-
})
|
|
79
|
-
}))
|
|
80
|
-
}));
|
|
167
|
+
this.root.render(element);
|
|
81
168
|
} else {
|
|
82
169
|
// 兼容 React 17
|
|
83
170
|
// @ts-ignore
|
|
84
|
-
ReactDOM.render(
|
|
85
|
-
style: {
|
|
86
|
-
width: "100%",
|
|
87
|
-
height: "100%"
|
|
88
|
-
},
|
|
89
|
-
children: /*#__PURE__*/_jsx(XAdkProvider, _objectSpread(_objectSpread({
|
|
90
|
-
ref: this.providerRef
|
|
91
|
-
}, this.props), {}, {
|
|
92
|
-
children: /*#__PURE__*/_jsx(XAdkProvider.DefaultLayout, {
|
|
93
|
-
showSessionList: showSessionList,
|
|
94
|
-
allowUpload: allowUpload,
|
|
95
|
-
draggable: draggable,
|
|
96
|
-
clearBtnShow: clearBtnShow,
|
|
97
|
-
showFnCallDetail: true
|
|
98
|
-
})
|
|
99
|
-
}))
|
|
100
|
-
}), this.container);
|
|
171
|
+
ReactDOM.render(element, this.container);
|
|
101
172
|
}
|
|
102
173
|
}
|
|
103
174
|
}, {
|
|
@@ -138,20 +209,41 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
138
209
|
* ```
|
|
139
210
|
*/
|
|
140
211
|
}, {
|
|
141
|
-
key: "
|
|
212
|
+
key: "setToken",
|
|
142
213
|
value:
|
|
143
214
|
// ————对外暴露的方法————
|
|
144
215
|
|
|
216
|
+
/**
|
|
217
|
+
* 动态更新认证 token
|
|
218
|
+
*
|
|
219
|
+
* 用于 token 过期后刷新,更新后后续的 API 请求将使用新 token,无需重新初始化 SDK。
|
|
220
|
+
*
|
|
221
|
+
* @param token - 新的认证 token
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* ```javascript
|
|
225
|
+
* // 监听到 token 过期后
|
|
226
|
+
* const newToken = await refreshToken();
|
|
227
|
+
* sdk.setToken(newToken);
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
function setToken(token) {
|
|
231
|
+
var _this$wrapperRef$curr;
|
|
232
|
+
(_this$wrapperRef$curr = this.wrapperRef.current) === null || _this$wrapperRef$curr === void 0 || _this$wrapperRef$curr.setToken(token);
|
|
233
|
+
}
|
|
234
|
+
|
|
145
235
|
/**
|
|
146
236
|
* 获取当前数据(聚合方法)
|
|
147
237
|
* @returns 应用信息、消息列表、会话列表
|
|
148
238
|
*/
|
|
149
|
-
|
|
150
|
-
|
|
239
|
+
}, {
|
|
240
|
+
key: "getData",
|
|
241
|
+
value: function getData() {
|
|
242
|
+
var _this$wrapperRef$curr2, _this$wrapperRef$curr3, _this$wrapperRef$curr4;
|
|
151
243
|
return {
|
|
152
|
-
appInfo: (_this$
|
|
153
|
-
messages: (_this$
|
|
154
|
-
sessions: (_this$
|
|
244
|
+
appInfo: (_this$wrapperRef$curr2 = this.wrapperRef.current) === null || _this$wrapperRef$curr2 === void 0 ? void 0 : _this$wrapperRef$curr2.getAppInfo(),
|
|
245
|
+
messages: (_this$wrapperRef$curr3 = this.wrapperRef.current) === null || _this$wrapperRef$curr3 === void 0 ? void 0 : _this$wrapperRef$curr3.getMessages(),
|
|
246
|
+
sessions: (_this$wrapperRef$curr4 = this.wrapperRef.current) === null || _this$wrapperRef$curr4 === void 0 ? void 0 : _this$wrapperRef$curr4.getSessions()
|
|
155
247
|
};
|
|
156
248
|
}
|
|
157
249
|
|
|
@@ -162,8 +254,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
162
254
|
}, {
|
|
163
255
|
key: "getAppInfo",
|
|
164
256
|
value: function getAppInfo() {
|
|
165
|
-
var _this$
|
|
166
|
-
return (_this$
|
|
257
|
+
var _this$wrapperRef$curr5;
|
|
258
|
+
return (_this$wrapperRef$curr5 = this.wrapperRef.current) === null || _this$wrapperRef$curr5 === void 0 ? void 0 : _this$wrapperRef$curr5.getAppInfo();
|
|
167
259
|
}
|
|
168
260
|
|
|
169
261
|
/**
|
|
@@ -173,8 +265,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
173
265
|
}, {
|
|
174
266
|
key: "getMessages",
|
|
175
267
|
value: function getMessages() {
|
|
176
|
-
var _this$
|
|
177
|
-
return (_this$
|
|
268
|
+
var _this$wrapperRef$curr6;
|
|
269
|
+
return (_this$wrapperRef$curr6 = this.wrapperRef.current) === null || _this$wrapperRef$curr6 === void 0 ? void 0 : _this$wrapperRef$curr6.getMessages();
|
|
178
270
|
}
|
|
179
271
|
|
|
180
272
|
/**
|
|
@@ -184,8 +276,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
184
276
|
}, {
|
|
185
277
|
key: "getSessions",
|
|
186
278
|
value: function getSessions() {
|
|
187
|
-
var _this$
|
|
188
|
-
return (_this$
|
|
279
|
+
var _this$wrapperRef$curr7;
|
|
280
|
+
return (_this$wrapperRef$curr7 = this.wrapperRef.current) === null || _this$wrapperRef$curr7 === void 0 ? void 0 : _this$wrapperRef$curr7.getSessions();
|
|
189
281
|
}
|
|
190
282
|
|
|
191
283
|
/**
|
|
@@ -195,8 +287,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
195
287
|
}, {
|
|
196
288
|
key: "setMessages",
|
|
197
289
|
value: function setMessages(msgs) {
|
|
198
|
-
var _this$
|
|
199
|
-
(_this$
|
|
290
|
+
var _this$wrapperRef$curr8;
|
|
291
|
+
(_this$wrapperRef$curr8 = this.wrapperRef.current) === null || _this$wrapperRef$curr8 === void 0 || _this$wrapperRef$curr8.setMessages(msgs);
|
|
200
292
|
}
|
|
201
293
|
|
|
202
294
|
/**
|
|
@@ -211,8 +303,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
211
303
|
}, {
|
|
212
304
|
key: "startChat",
|
|
213
305
|
value: function startChat(content) {
|
|
214
|
-
var _this$
|
|
215
|
-
(_this$
|
|
306
|
+
var _this$wrapperRef$curr9;
|
|
307
|
+
(_this$wrapperRef$curr9 = this.wrapperRef.current) === null || _this$wrapperRef$curr9 === void 0 || _this$wrapperRef$curr9.startChat(content);
|
|
216
308
|
}
|
|
217
309
|
|
|
218
310
|
/**
|
|
@@ -221,8 +313,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
221
313
|
}, {
|
|
222
314
|
key: "stopChat",
|
|
223
315
|
value: function stopChat() {
|
|
224
|
-
var _this$
|
|
225
|
-
(_this$
|
|
316
|
+
var _this$wrapperRef$curr10;
|
|
317
|
+
(_this$wrapperRef$curr10 = this.wrapperRef.current) === null || _this$wrapperRef$curr10 === void 0 || _this$wrapperRef$curr10.stopChat();
|
|
226
318
|
}
|
|
227
319
|
|
|
228
320
|
/**
|
|
@@ -231,8 +323,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
231
323
|
}, {
|
|
232
324
|
key: "reChat",
|
|
233
325
|
value: function reChat() {
|
|
234
|
-
var _this$
|
|
235
|
-
(_this$
|
|
326
|
+
var _this$wrapperRef$curr11;
|
|
327
|
+
(_this$wrapperRef$curr11 = this.wrapperRef.current) === null || _this$wrapperRef$curr11 === void 0 || _this$wrapperRef$curr11.reChat();
|
|
236
328
|
}
|
|
237
329
|
|
|
238
330
|
/**
|
|
@@ -241,8 +333,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
241
333
|
}, {
|
|
242
334
|
key: "clearChat",
|
|
243
335
|
value: function clearChat() {
|
|
244
|
-
var _this$
|
|
245
|
-
(_this$
|
|
336
|
+
var _this$wrapperRef$curr12;
|
|
337
|
+
(_this$wrapperRef$curr12 = this.wrapperRef.current) === null || _this$wrapperRef$curr12 === void 0 || _this$wrapperRef$curr12.clearChat();
|
|
246
338
|
}
|
|
247
339
|
|
|
248
340
|
/**
|
|
@@ -252,8 +344,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
252
344
|
}, {
|
|
253
345
|
key: "setCurrentSession",
|
|
254
346
|
value: function setCurrentSession(sessionId) {
|
|
255
|
-
var _this$
|
|
256
|
-
(_this$
|
|
347
|
+
var _this$wrapperRef$curr13;
|
|
348
|
+
(_this$wrapperRef$curr13 = this.wrapperRef.current) === null || _this$wrapperRef$curr13 === void 0 || _this$wrapperRef$curr13.setCurrentSession(sessionId);
|
|
257
349
|
}
|
|
258
350
|
|
|
259
351
|
/**
|
|
@@ -263,8 +355,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
263
355
|
}, {
|
|
264
356
|
key: "deleteSession",
|
|
265
357
|
value: function deleteSession(sessionId) {
|
|
266
|
-
var _this$
|
|
267
|
-
(_this$
|
|
358
|
+
var _this$wrapperRef$curr14;
|
|
359
|
+
(_this$wrapperRef$curr14 = this.wrapperRef.current) === null || _this$wrapperRef$curr14 === void 0 || _this$wrapperRef$curr14.deleteSession(sessionId);
|
|
268
360
|
}
|
|
269
361
|
|
|
270
362
|
/**
|
|
@@ -275,8 +367,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
275
367
|
}, {
|
|
276
368
|
key: "updateSession",
|
|
277
369
|
value: function updateSession(sessionId, title) {
|
|
278
|
-
var _this$
|
|
279
|
-
(_this$
|
|
370
|
+
var _this$wrapperRef$curr15;
|
|
371
|
+
(_this$wrapperRef$curr15 = this.wrapperRef.current) === null || _this$wrapperRef$curr15 === void 0 || _this$wrapperRef$curr15.updateSession(sessionId, title);
|
|
280
372
|
}
|
|
281
373
|
|
|
282
374
|
/**
|
|
@@ -287,8 +379,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
287
379
|
}, {
|
|
288
380
|
key: "setStateDelta",
|
|
289
381
|
value: function setStateDelta(delta) {
|
|
290
|
-
var _this$
|
|
291
|
-
(_this$
|
|
382
|
+
var _this$wrapperRef$curr16;
|
|
383
|
+
(_this$wrapperRef$curr16 = this.wrapperRef.current) === null || _this$wrapperRef$curr16 === void 0 || _this$wrapperRef$curr16.setStateDelta(delta);
|
|
292
384
|
}
|
|
293
385
|
}], [{
|
|
294
386
|
key: "initChatbot",
|
|
@@ -316,7 +408,7 @@ var XAiWebSDK = /*#__PURE__*/function () {
|
|
|
316
408
|
if (props.componentProps) {
|
|
317
409
|
var _props$componentProps2 = props.componentProps,
|
|
318
410
|
id = _props$componentProps2.id,
|
|
319
|
-
styleProps = _objectWithoutProperties(_props$componentProps2,
|
|
411
|
+
styleProps = _objectWithoutProperties(_props$componentProps2, _excluded2);
|
|
320
412
|
Object.assign(container.style, styleProps);
|
|
321
413
|
}
|
|
322
414
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createRef","ReactDOM","XAdkProvider","jsx","_jsx","XAiWebSDK","container","props","_classCallCheck","_defineProperty","onError","onSuccess","onMessage","mount","_createClass","key","value","_config$session$showS","_config$session","_config$allowUpload","_config$draggable","_config$chatProps$cle","_config$chatProps","_this$props$config","config","showSessionList","session","allowUpload","draggable","clearBtnShow","chatProps","createRoot","root","render","style","width","height","children","_objectSpread","ref","providerRef","DefaultLayout","showFnCallDetail","unmount","getData","_this$providerRef$cur","_this$providerRef$cur2","_this$providerRef$cur3","appInfo","current","getAppInfo","messages","getMessages","sessions","getSessions","_this$providerRef$cur4","_this$providerRef$cur5","_this$providerRef$cur6","setMessages","msgs","_this$providerRef$cur7","startChat","content","_this$providerRef$cur8","stopChat","_this$providerRef$cur9","reChat","_this$providerRef$cur10","clearChat","_this$providerRef$cur11","setCurrentSession","sessionId","_this$providerRef$cur12","deleteSession","_this$providerRef$cur13","updateSession","title","_this$providerRef$cur14","setStateDelta","delta","_this$providerRef$cur15","initChatbot","_props$componentProps","componentProps","id","existingContainer","document","getElementById","createElement","_props$componentProps2","styleProps","_objectWithoutProperties","_excluded","Object","assign","parentNode","body","appendChild","create","window"],"sources":["../../../src/utils/umdEntry.tsx"],"sourcesContent":["import { createRef } from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { XAdkSDKProps, XAdkProviderHandle, IMessage } from \"@/types\";\nimport XAdkProvider from \"@/components/XAdkProvider\";\nimport { SendContent } from \"@/types\";\n\n/**\n * XAiWebSDK - UMD 入口类\n *\n * 用于通过 <script> 标签引入 SDK 的场景\n *\n * @example\n * ```html\n * <script src=\"chat-sdk.min.js\"></script>\n * <script>\n * const sdk = XAiWebSDK.initChatbot({\n * url: 'https://api.example.com',\n * token: 'your-token',\n * config: {\n * appNo: 'your-app-no',\n * session: {\n * showSessionList: true\n * }\n * }\n * });\n * </script>\n * ```\n */\nclass XAiWebSDK {\n container: HTMLElement;\n\n props: XAdkSDKProps;\n\n root: any;\n\n providerRef = createRef<XAdkProviderHandle>();\n\n // ———— hook ————\n onError?: (error: any) => void;\n\n onSuccess?: (appInfo: any) => void;\n\n onMessage?: (content: string, data: IMessage) => void;\n\n constructor(container: HTMLElement, props: XAdkSDKProps) {\n this.container = container;\n this.props = props;\n this.onError = props.onError;\n this.onSuccess = props.onSuccess;\n this.onMessage = props.onMessage;\n this.mount();\n }\n\n mount() {\n // 提取配置\n const { config = {} } = this.props;\n const showSessionList = config.session?.showSessionList ?? false;\n const allowUpload = config.allowUpload ?? false;\n const draggable = config.draggable ?? true;\n const clearBtnShow = config.chatProps?.clearBtnShow ?? true;\n\n if (ReactDOM.createRoot) {\n this.root = ReactDOM.createRoot(this.container);\n this.root.render(\n <div style={{ width: \"100%\", height: \"100%\" }}>\n <XAdkProvider ref={this.providerRef} {...this.props}>\n {/* 使用 DefaultLayout 作为默认布局 */}\n <XAdkProvider.DefaultLayout\n showSessionList={showSessionList}\n allowUpload={allowUpload}\n draggable={draggable}\n clearBtnShow={clearBtnShow}\n showFnCallDetail={true}\n />\n </XAdkProvider>\n </div>,\n );\n } else {\n // 兼容 React 17\n // @ts-ignore\n ReactDOM.render(\n <div style={{ width: \"100%\", height: \"100%\" }}>\n <XAdkProvider ref={this.providerRef} {...this.props}>\n <XAdkProvider.DefaultLayout\n showSessionList={showSessionList}\n allowUpload={allowUpload}\n draggable={draggable}\n clearBtnShow={clearBtnShow}\n showFnCallDetail={true}\n />\n </XAdkProvider>\n </div>,\n this.container,\n );\n }\n }\n\n unmount() {\n if (this.root && this.root.unmount) {\n this.root.unmount();\n }\n }\n\n /**\n * 初始化聊天机器人(推荐方式)\n *\n * @param props - SDK 配置参数\n * @returns XAiWebSDK 实例\n *\n * @example\n * ```javascript\n * const sdk = XAiWebSDK.initChatbot({\n * url: 'https://api.example.com',\n * token: 'your-token',\n * config: {\n * appNo: 'your-app-no',\n * session: {\n * showSessionList: true // 显示会话列表\n * },\n * allowUpload: true, // 允许文件上传\n * chatProps: {\n * clearBtnShow: false // 隐藏清空按钮\n * }\n * },\n * componentProps: {\n * id: 'my-chatbot', // 容器 ID\n * width: '100%',\n * height: '600px'\n * }\n * });\n * ```\n */\n static initChatbot(props: XAdkSDKProps): XAiWebSDK {\n let container: HTMLElement;\n\n // 检查是否有指定的 componentProps.id\n if (props.componentProps?.id) {\n const existingContainer = document.getElementById(\n props.componentProps.id,\n );\n if (existingContainer) {\n container = existingContainer;\n } else {\n // 如果指定的 ID 不存在,创建新元素\n container = document.createElement(\"div\");\n container.id = props.componentProps.id;\n }\n } else {\n // 没有指定 ID,创建默认容器\n container = document.createElement(\"div\");\n container.id = \"xai-chatbot-container\";\n }\n\n // 设置容器样式 - 将除了 id 以外的所有属性都应用到容器\n if (props.componentProps) {\n const { id, ...styleProps } = props.componentProps;\n Object.assign(container.style, styleProps);\n }\n\n // 如果容器不在 DOM 中,添加到 body\n if (!container.parentNode) {\n document.body.appendChild(container);\n }\n\n return new XAiWebSDK(container, props);\n }\n\n /**\n * 兼容旧版本的静态方法\n * @deprecated 使用 initChatbot 替代\n */\n static create(props: XAdkSDKProps): XAiWebSDK {\n return this.initChatbot(props);\n }\n\n // ————对外暴露的方法————\n\n /**\n * 获取当前数据(聚合方法)\n * @returns 应用信息、消息列表、会话列表\n */\n getData() {\n return {\n appInfo: this.providerRef.current?.getAppInfo(),\n messages: this.providerRef.current?.getMessages(),\n sessions: this.providerRef.current?.getSessions(),\n };\n }\n\n /**\n * 获取应用信息\n * @returns 应用信息\n */\n getAppInfo() {\n return this.providerRef.current?.getAppInfo();\n }\n\n /**\n * 获取当前会话的消息列表\n * @returns 消息列表\n */\n getMessages() {\n return this.providerRef.current?.getMessages();\n }\n\n /**\n * 获取会话列表\n * @returns 会话列表\n */\n getSessions() {\n return this.providerRef.current?.getSessions();\n }\n\n /**\n * 设置消息列表\n * @param msgs - 要设置的消息数组\n */\n setMessages(msgs: IMessage[]) {\n this.providerRef.current?.setMessages(msgs);\n }\n\n /**\n * 发送消息\n * @param content - 消息内容\n *\n * @example\n * ```javascript\n * sdk.startChat({ text: 'Hello!' });\n * ```\n */\n startChat(content: SendContent) {\n this.providerRef.current?.startChat(content);\n }\n\n /**\n * 停止当前消息生成\n */\n stopChat() {\n this.providerRef.current?.stopChat();\n }\n\n /**\n * 重新生成最后一条回复\n */\n reChat() {\n this.providerRef.current?.reChat();\n }\n\n /**\n * 清空当前会话\n */\n clearChat() {\n this.providerRef.current?.clearChat();\n }\n\n /**\n * 切换到指定会话\n * @param sessionId - 会话 ID\n */\n setCurrentSession(sessionId: string) {\n this.providerRef.current?.setCurrentSession(sessionId);\n }\n\n /**\n * 删除指定会话\n * @param sessionId - 会话 ID\n */\n deleteSession(sessionId: string) {\n this.providerRef.current?.deleteSession(sessionId);\n }\n\n /**\n * 更新会话标题\n * @param sessionId - 会话 ID\n * @param title - 新标题\n */\n updateSession(sessionId: string, title: string) {\n this.providerRef.current?.updateSession(sessionId, title);\n }\n\n /**\n * 设置自定义业务参数 (stateDelta)\n * 设置后每次发送消息时会自动携带至后端\n * @param delta - 自定义参数,传入 undefined 可清除\n */\n setStateDelta(delta: Record<string, any> | undefined) {\n this.providerRef.current?.setStateDelta(delta);\n }\n}\n\n// 兼容 window 方式,也支持 new\n// @ts-ignore\nwindow.XAiWebSDK = XAiWebSDK;\n\n// 支持 ESModule/UMD 直接 import\nexport default XAiWebSDK;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["createRef","useState","useImperativeHandle","forwardRef","ReactDOM","XAdkProvider","jsx","_jsx","SDKWrapper","_ref","ref","initialToken","token","showSessionList","allowUpload","draggable","clearBtnShow","rest","_objectWithoutProperties","_excluded","_useState","_useState2","_slicedToArray","setToken","providerRef","startChat","content","_providerRef$current","current","stopChat","_providerRef$current2","reChat","_providerRef$current3","clearChat","_providerRef$current4","deleteSession","id","_providerRef$current5","updateSession","title","_providerRef$current6","getAppInfo","_providerRef$current7","getMessages","_providerRef$current$","_providerRef$current8","getSessions","_providerRef$current$2","_providerRef$current9","setMessages","msgs","_providerRef$current10","setCurrentSession","_providerRef$current11","setStateDelta","delta","_providerRef$current12","_objectSpread","children","DefaultLayout","showFnCallDetail","displayName","XAiWebSDK","container","props","_classCallCheck","_defineProperty","onError","onSuccess","onMessage","mount","_createClass","key","value","_config$session$showS","_config$session","_config$allowUpload","_config$draggable","_config$chatProps$cle","_config$chatProps","_this$props$config","config","session","chatProps","element","style","width","height","wrapperRef","createRoot","root","render","unmount","_this$wrapperRef$curr","getData","_this$wrapperRef$curr2","_this$wrapperRef$curr3","_this$wrapperRef$curr4","appInfo","messages","sessions","_this$wrapperRef$curr5","_this$wrapperRef$curr6","_this$wrapperRef$curr7","_this$wrapperRef$curr8","_this$wrapperRef$curr9","_this$wrapperRef$curr10","_this$wrapperRef$curr11","_this$wrapperRef$curr12","sessionId","_this$wrapperRef$curr13","_this$wrapperRef$curr14","_this$wrapperRef$curr15","_this$wrapperRef$curr16","initChatbot","_props$componentProps","componentProps","existingContainer","document","getElementById","createElement","_props$componentProps2","styleProps","_excluded2","Object","assign","parentNode","body","appendChild","create","window"],"sources":["../../../src/utils/umdEntry.tsx"],"sourcesContent":["import { createRef, useState, useImperativeHandle, forwardRef } from \"react\";\nimport ReactDOM from \"react-dom/client\";\nimport { XAdkSDKProps, XAdkProviderHandle, IMessage } from \"@/types\";\nimport XAdkProvider from \"@/components/XAdkProvider\";\nimport { SendContent } from \"@/types\";\n\n/**\n * 内部包装组件:管理 token 状态,支持运行时动态更新\n */\ninterface WrapperHandle extends XAdkProviderHandle {\n setToken: (token: string) => void;\n}\n\ninterface WrapperProps extends Omit<XAdkSDKProps, \"children\"> {\n showSessionList: boolean;\n allowUpload: boolean;\n draggable: boolean;\n clearBtnShow: boolean;\n}\n\nconst SDKWrapper = forwardRef<WrapperHandle, WrapperProps>(\n (\n {\n token: initialToken,\n showSessionList,\n allowUpload,\n draggable,\n clearBtnShow,\n ...rest\n },\n ref,\n ) => {\n const [token, setToken] = useState(initialToken);\n const providerRef = createRef<XAdkProviderHandle>();\n\n useImperativeHandle(\n ref,\n () => ({\n setToken,\n startChat: (content: SendContent) =>\n providerRef.current?.startChat(content),\n stopChat: () => providerRef.current?.stopChat(),\n reChat: () => providerRef.current?.reChat(),\n clearChat: () => providerRef.current?.clearChat(),\n deleteSession: (id: string) =>\n providerRef.current?.deleteSession(id),\n updateSession: (id: string, title: string) =>\n providerRef.current?.updateSession(id, title),\n getAppInfo: () => providerRef.current?.getAppInfo(),\n getMessages: () => providerRef.current?.getMessages() ?? [],\n getSessions: () => providerRef.current?.getSessions() ?? [],\n setMessages: (msgs: IMessage[]) =>\n providerRef.current?.setMessages(msgs),\n setCurrentSession: (id: string) =>\n providerRef.current?.setCurrentSession(id),\n setStateDelta: (delta: Record<string, any> | undefined) =>\n providerRef.current?.setStateDelta(delta),\n }),\n [providerRef],\n );\n\n return (\n <XAdkProvider ref={providerRef} {...rest} token={token}>\n <XAdkProvider.DefaultLayout\n showSessionList={showSessionList}\n allowUpload={allowUpload}\n draggable={draggable}\n clearBtnShow={clearBtnShow}\n showFnCallDetail={true}\n />\n </XAdkProvider>\n );\n },\n);\n\nSDKWrapper.displayName = \"SDKWrapper\";\n\n/**\n * XAiWebSDK - UMD 入口类\n *\n * 用于通过 <script> 标签引入 SDK 的场景\n *\n * @example\n * ```html\n * <script src=\"chat-sdk.min.js\"></script>\n * <script>\n * const sdk = XAiWebSDK.initChatbot({\n * url: 'https://api.example.com',\n * token: 'your-token',\n * config: {\n * appNo: 'your-app-no',\n * session: {\n * showSessionList: true\n * }\n * }\n * });\n *\n * // token 过期后动态更新\n * sdk.setToken('new-token');\n * </script>\n * ```\n */\nclass XAiWebSDK {\n container: HTMLElement;\n\n props: XAdkSDKProps;\n\n root: any;\n\n wrapperRef = createRef<WrapperHandle>();\n\n // ———— hook ————\n onError?: (error: any) => void;\n\n onSuccess?: (appInfo: any) => void;\n\n onMessage?: (content: string, data: IMessage) => void;\n\n constructor(container: HTMLElement, props: XAdkSDKProps) {\n this.container = container;\n this.props = props;\n this.onError = props.onError;\n this.onSuccess = props.onSuccess;\n this.onMessage = props.onMessage;\n this.mount();\n }\n\n mount() {\n // 提取配置\n const { config = {} } = this.props;\n const showSessionList = config.session?.showSessionList ?? false;\n const allowUpload = config.allowUpload ?? false;\n const draggable = config.draggable ?? true;\n const clearBtnShow = config.chatProps?.clearBtnShow ?? true;\n\n const element = (\n <div style={{ width: \"100%\", height: \"100%\" }}>\n <SDKWrapper\n ref={this.wrapperRef}\n {...this.props}\n showSessionList={showSessionList}\n allowUpload={allowUpload}\n draggable={draggable}\n clearBtnShow={clearBtnShow}\n />\n </div>\n );\n\n if (ReactDOM.createRoot) {\n this.root = ReactDOM.createRoot(this.container);\n this.root.render(element);\n } else {\n // 兼容 React 17\n // @ts-ignore\n ReactDOM.render(element, this.container);\n }\n }\n\n unmount() {\n if (this.root && this.root.unmount) {\n this.root.unmount();\n }\n }\n\n /**\n * 初始化聊天机器人(推荐方式)\n *\n * @param props - SDK 配置参数\n * @returns XAiWebSDK 实例\n *\n * @example\n * ```javascript\n * const sdk = XAiWebSDK.initChatbot({\n * url: 'https://api.example.com',\n * token: 'your-token',\n * config: {\n * appNo: 'your-app-no',\n * session: {\n * showSessionList: true // 显示会话列表\n * },\n * allowUpload: true, // 允许文件上传\n * chatProps: {\n * clearBtnShow: false // 隐藏清空按钮\n * }\n * },\n * componentProps: {\n * id: 'my-chatbot', // 容器 ID\n * width: '100%',\n * height: '600px'\n * }\n * });\n * ```\n */\n static initChatbot(props: XAdkSDKProps): XAiWebSDK {\n let container: HTMLElement;\n\n // 检查是否有指定的 componentProps.id\n if (props.componentProps?.id) {\n const existingContainer = document.getElementById(\n props.componentProps.id,\n );\n if (existingContainer) {\n container = existingContainer;\n } else {\n // 如果指定的 ID 不存在,创建新元素\n container = document.createElement(\"div\");\n container.id = props.componentProps.id;\n }\n } else {\n // 没有指定 ID,创建默认容器\n container = document.createElement(\"div\");\n container.id = \"xai-chatbot-container\";\n }\n\n // 设置容器样式 - 将除了 id 以外的所有属性都应用到容器\n if (props.componentProps) {\n const { id, ...styleProps } = props.componentProps;\n Object.assign(container.style, styleProps);\n }\n\n // 如果容器不在 DOM 中,添加到 body\n if (!container.parentNode) {\n document.body.appendChild(container);\n }\n\n return new XAiWebSDK(container, props);\n }\n\n /**\n * 兼容旧版本的静态方法\n * @deprecated 使用 initChatbot 替代\n */\n static create(props: XAdkSDKProps): XAiWebSDK {\n return this.initChatbot(props);\n }\n\n // ————对外暴露的方法————\n\n /**\n * 动态更新认证 token\n *\n * 用于 token 过期后刷新,更新后后续的 API 请求将使用新 token,无需重新初始化 SDK。\n *\n * @param token - 新的认证 token\n *\n * @example\n * ```javascript\n * // 监听到 token 过期后\n * const newToken = await refreshToken();\n * sdk.setToken(newToken);\n * ```\n */\n setToken(token: string) {\n this.wrapperRef.current?.setToken(token);\n }\n\n /**\n * 获取当前数据(聚合方法)\n * @returns 应用信息、消息列表、会话列表\n */\n getData() {\n return {\n appInfo: this.wrapperRef.current?.getAppInfo(),\n messages: this.wrapperRef.current?.getMessages(),\n sessions: this.wrapperRef.current?.getSessions(),\n };\n }\n\n /**\n * 获取应用信息\n * @returns 应用信息\n */\n getAppInfo() {\n return this.wrapperRef.current?.getAppInfo();\n }\n\n /**\n * 获取当前会话的消息列表\n * @returns 消息列表\n */\n getMessages() {\n return this.wrapperRef.current?.getMessages();\n }\n\n /**\n * 获取会话列表\n * @returns 会话列表\n */\n getSessions() {\n return this.wrapperRef.current?.getSessions();\n }\n\n /**\n * 设置消息列表\n * @param msgs - 要设置的消息数组\n */\n setMessages(msgs: IMessage[]) {\n this.wrapperRef.current?.setMessages(msgs);\n }\n\n /**\n * 发送消息\n * @param content - 消息内容\n *\n * @example\n * ```javascript\n * sdk.startChat({ text: 'Hello!' });\n * ```\n */\n startChat(content: SendContent) {\n this.wrapperRef.current?.startChat(content);\n }\n\n /**\n * 停止当前消息生成\n */\n stopChat() {\n this.wrapperRef.current?.stopChat();\n }\n\n /**\n * 重新生成最后一条回复\n */\n reChat() {\n this.wrapperRef.current?.reChat();\n }\n\n /**\n * 清空当前会话\n */\n clearChat() {\n this.wrapperRef.current?.clearChat();\n }\n\n /**\n * 切换到指定会话\n * @param sessionId - 会话 ID\n */\n setCurrentSession(sessionId: string) {\n this.wrapperRef.current?.setCurrentSession(sessionId);\n }\n\n /**\n * 删除指定会话\n * @param sessionId - 会话 ID\n */\n deleteSession(sessionId: string) {\n this.wrapperRef.current?.deleteSession(sessionId);\n }\n\n /**\n * 更新会话标题\n * @param sessionId - 会话 ID\n * @param title - 新标题\n */\n updateSession(sessionId: string, title: string) {\n this.wrapperRef.current?.updateSession(sessionId, title);\n }\n\n /**\n * 设置自定义业务参数 (stateDelta)\n * 设置后每次发送消息时会自动携带至后端\n * @param delta - 自定义参数,传入 undefined 可清除\n */\n setStateDelta(delta: Record<string, any> | undefined) {\n this.wrapperRef.current?.setStateDelta(delta);\n }\n}\n\n// 兼容 window 方式,也支持 new\n// @ts-ignore\nwindow.XAiWebSDK = XAiWebSDK;\n\n// 支持 ESModule/UMD 直接 import\nexport default XAiWebSDK;\n"],"mappings":"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"}
|