@ai-group/chat-sdk 3.1.1 → 3.2.0

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.
Files changed (58) hide show
  1. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js +3 -3
  2. package/dist/cjs/components/XAdkProvider/compound/Sidebar.js.map +2 -2
  3. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.d.ts +6 -0
  4. package/dist/cjs/components/XAdkProvider/context/ChatActionContext.js.map +2 -2
  5. package/dist/cjs/components/XAdkProvider/context/SessionContext.d.ts +1 -1
  6. package/dist/cjs/components/XAdkProvider/context/SessionContext.js.map +1 -1
  7. package/dist/cjs/components/XAdkProvider/index.d.ts +2 -2
  8. package/dist/cjs/components/XAdkProvider/index.js +14 -8
  9. package/dist/cjs/components/XAdkProvider/index.js.map +2 -2
  10. package/dist/cjs/components/XAdkSender/index.js +1 -1
  11. package/dist/cjs/components/XAdkSender/index.js.map +1 -1
  12. package/dist/cjs/components/XAiProvider/index.js +4 -4
  13. package/dist/cjs/components/XAiProvider/index.js.map +2 -2
  14. package/dist/cjs/hooks/useADKChat.d.ts +2 -1
  15. package/dist/cjs/hooks/useADKChat.js +23 -6
  16. package/dist/cjs/hooks/useADKChat.js.map +2 -2
  17. package/dist/cjs/hooks/useAgentGenerator.d.ts +1 -1
  18. package/dist/cjs/hooks/useAgentGenerator.js +3 -3
  19. package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
  20. package/dist/cjs/types/ChatHook.d.ts +7 -1
  21. package/dist/cjs/types/ChatHook.js.map +1 -1
  22. package/dist/cjs/types/XAdkProvider.d.ts +16 -1
  23. package/dist/cjs/types/XAdkProvider.js.map +1 -1
  24. package/dist/cjs/types/XAiProvider.d.ts +1 -1
  25. package/dist/cjs/types/XAiProvider.js.map +1 -1
  26. package/dist/cjs/utils/umdEntry.d.ts +38 -8
  27. package/dist/cjs/utils/umdEntry.js +57 -9
  28. package/dist/cjs/utils/umdEntry.js.map +2 -2
  29. package/dist/esm/components/XAdkProvider/compound/Sidebar.js +3 -3
  30. package/dist/esm/components/XAdkProvider/compound/Sidebar.js.map +1 -1
  31. package/dist/esm/components/XAdkProvider/context/ChatActionContext.d.ts +6 -0
  32. package/dist/esm/components/XAdkProvider/context/ChatActionContext.js.map +1 -1
  33. package/dist/esm/components/XAdkProvider/context/SessionContext.d.ts +1 -1
  34. package/dist/esm/components/XAdkProvider/context/SessionContext.js.map +1 -1
  35. package/dist/esm/components/XAdkProvider/index.d.ts +2 -2
  36. package/dist/esm/components/XAdkProvider/index.js +12 -8
  37. package/dist/esm/components/XAdkProvider/index.js.map +1 -1
  38. package/dist/esm/components/XAdkSender/index.js +1 -1
  39. package/dist/esm/components/XAdkSender/index.js.map +1 -1
  40. package/dist/esm/components/XAiProvider/index.js +4 -4
  41. package/dist/esm/components/XAiProvider/index.js.map +1 -1
  42. package/dist/esm/hooks/useADKChat.d.ts +2 -1
  43. package/dist/esm/hooks/useADKChat.js +35 -15
  44. package/dist/esm/hooks/useADKChat.js.map +1 -1
  45. package/dist/esm/hooks/useAgentGenerator.d.ts +1 -1
  46. package/dist/esm/hooks/useAgentGenerator.js +4 -4
  47. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  48. package/dist/esm/types/ChatHook.d.ts +7 -1
  49. package/dist/esm/types/ChatHook.js.map +1 -1
  50. package/dist/esm/types/XAdkProvider.d.ts +16 -1
  51. package/dist/esm/types/XAdkProvider.js.map +1 -1
  52. package/dist/esm/types/XAiProvider.d.ts +1 -1
  53. package/dist/esm/types/XAiProvider.js.map +1 -1
  54. package/dist/esm/utils/umdEntry.d.ts +38 -8
  55. package/dist/esm/utils/umdEntry.js +90 -24
  56. package/dist/esm/utils/umdEntry.js.map +1 -1
  57. package/dist/umd/chat-sdk.min.js +1 -1
  58. package/package.json +14 -12
@@ -140,7 +140,7 @@ var XAiWebSDK = /*#__PURE__*/function () {
140
140
  // ————对外暴露的方法————
141
141
 
142
142
  /**
143
- * 获取当前数据
143
+ * 获取当前数据(聚合方法)
144
144
  * @returns 应用信息、消息列表、会话列表
145
145
  */
146
146
  function getData() {
@@ -152,40 +152,105 @@ var XAiWebSDK = /*#__PURE__*/function () {
152
152
  };
153
153
  }
154
154
 
155
+ /**
156
+ * 获取应用信息
157
+ * @returns 应用信息
158
+ */
159
+ }, {
160
+ key: "getAppInfo",
161
+ value: function getAppInfo() {
162
+ var _this$providerRef$cur4;
163
+ return (_this$providerRef$cur4 = this.providerRef.current) === null || _this$providerRef$cur4 === void 0 ? void 0 : _this$providerRef$cur4.getAppInfo();
164
+ }
165
+
166
+ /**
167
+ * 获取当前会话的消息列表
168
+ * @returns 消息列表
169
+ */
170
+ }, {
171
+ key: "getMessages",
172
+ value: function getMessages() {
173
+ var _this$providerRef$cur5;
174
+ return (_this$providerRef$cur5 = this.providerRef.current) === null || _this$providerRef$cur5 === void 0 ? void 0 : _this$providerRef$cur5.getMessages();
175
+ }
176
+
177
+ /**
178
+ * 获取会话列表
179
+ * @returns 会话列表
180
+ */
181
+ }, {
182
+ key: "getSessions",
183
+ value: function getSessions() {
184
+ var _this$providerRef$cur6;
185
+ return (_this$providerRef$cur6 = this.providerRef.current) === null || _this$providerRef$cur6 === void 0 ? void 0 : _this$providerRef$cur6.getSessions();
186
+ }
187
+
188
+ /**
189
+ * 设置消息列表
190
+ * @param msgs - 要设置的消息数组
191
+ */
192
+ }, {
193
+ key: "setMessages",
194
+ value: function setMessages(msgs) {
195
+ var _this$providerRef$cur7;
196
+ (_this$providerRef$cur7 = this.providerRef.current) === null || _this$providerRef$cur7 === void 0 || _this$providerRef$cur7.setMessages(msgs);
197
+ }
198
+
155
199
  /**
156
200
  * 发送消息
157
201
  * @param content - 消息内容
158
202
  *
159
203
  * @example
160
204
  * ```javascript
161
- * sdk.chat({ text: 'Hello!' });
205
+ * sdk.startChat({ text: 'Hello!' });
162
206
  * ```
163
207
  */
164
208
  }, {
165
- key: "chat",
166
- value: function chat(content) {
167
- var _this$providerRef$cur4;
168
- (_this$providerRef$cur4 = this.providerRef.current) === null || _this$providerRef$cur4 === void 0 || _this$providerRef$cur4.startChat(content);
209
+ key: "startChat",
210
+ value: function startChat(content) {
211
+ var _this$providerRef$cur8;
212
+ (_this$providerRef$cur8 = this.providerRef.current) === null || _this$providerRef$cur8 === void 0 || _this$providerRef$cur8.startChat(content);
169
213
  }
170
214
 
171
215
  /**
172
216
  * 停止当前消息生成
173
217
  */
174
218
  }, {
175
- key: "stop",
176
- value: function stop() {
177
- var _this$providerRef$cur5;
178
- (_this$providerRef$cur5 = this.providerRef.current) === null || _this$providerRef$cur5 === void 0 || _this$providerRef$cur5.stopChat();
219
+ key: "stopChat",
220
+ value: function stopChat() {
221
+ var _this$providerRef$cur9;
222
+ (_this$providerRef$cur9 = this.providerRef.current) === null || _this$providerRef$cur9 === void 0 || _this$providerRef$cur9.stopChat();
223
+ }
224
+
225
+ /**
226
+ * 重新生成最后一条回复
227
+ */
228
+ }, {
229
+ key: "reChat",
230
+ value: function reChat() {
231
+ var _this$providerRef$cur10;
232
+ (_this$providerRef$cur10 = this.providerRef.current) === null || _this$providerRef$cur10 === void 0 || _this$providerRef$cur10.reChat();
179
233
  }
180
234
 
181
235
  /**
182
236
  * 清空当前会话
183
237
  */
184
238
  }, {
185
- key: "clear",
186
- value: function clear() {
187
- var _this$providerRef$cur6;
188
- (_this$providerRef$cur6 = this.providerRef.current) === null || _this$providerRef$cur6 === void 0 || _this$providerRef$cur6.clearChat();
239
+ key: "clearChat",
240
+ value: function clearChat() {
241
+ var _this$providerRef$cur11;
242
+ (_this$providerRef$cur11 = this.providerRef.current) === null || _this$providerRef$cur11 === void 0 || _this$providerRef$cur11.clearChat();
243
+ }
244
+
245
+ /**
246
+ * 切换到指定会话
247
+ * @param sessionId - 会话 ID
248
+ */
249
+ }, {
250
+ key: "setCurrentSession",
251
+ value: function setCurrentSession(sessionId) {
252
+ var _this$providerRef$cur12;
253
+ (_this$providerRef$cur12 = this.providerRef.current) === null || _this$providerRef$cur12 === void 0 || _this$providerRef$cur12.setCurrentSession(sessionId);
189
254
  }
190
255
 
191
256
  /**
@@ -195,8 +260,8 @@ var XAiWebSDK = /*#__PURE__*/function () {
195
260
  }, {
196
261
  key: "deleteSession",
197
262
  value: function deleteSession(sessionId) {
198
- var _this$providerRef$cur7;
199
- (_this$providerRef$cur7 = this.providerRef.current) === null || _this$providerRef$cur7 === void 0 || _this$providerRef$cur7.deleteSession(sessionId);
263
+ var _this$providerRef$cur13;
264
+ (_this$providerRef$cur13 = this.providerRef.current) === null || _this$providerRef$cur13 === void 0 || _this$providerRef$cur13.deleteSession(sessionId);
200
265
  }
201
266
 
202
267
  /**
@@ -207,19 +272,20 @@ var XAiWebSDK = /*#__PURE__*/function () {
207
272
  }, {
208
273
  key: "updateSession",
209
274
  value: function updateSession(sessionId, title) {
210
- var _this$providerRef$cur8;
211
- (_this$providerRef$cur8 = this.providerRef.current) === null || _this$providerRef$cur8 === void 0 || _this$providerRef$cur8.updateSession(sessionId, title);
275
+ var _this$providerRef$cur14;
276
+ (_this$providerRef$cur14 = this.providerRef.current) === null || _this$providerRef$cur14 === void 0 || _this$providerRef$cur14.updateSession(sessionId, title);
212
277
  }
213
278
 
214
279
  /**
215
- * 切换到指定会话
216
- * @param sessionId - 会话 ID
280
+ * 设置自定义业务参数 (stateDelta)
281
+ * 设置后每次发送消息时会自动携带至后端
282
+ * @param delta - 自定义参数,传入 undefined 可清除
217
283
  */
218
284
  }, {
219
- key: "switchSession",
220
- value: function switchSession(sessionId) {
221
- var _this$providerRef$cur9;
222
- (_this$providerRef$cur9 = this.providerRef.current) === null || _this$providerRef$cur9 === void 0 || _this$providerRef$cur9.setCurrentSessionDetail(sessionId);
285
+ key: "setStateDelta",
286
+ value: function setStateDelta(delta) {
287
+ var _this$providerRef$cur15;
288
+ (_this$providerRef$cur15 = this.providerRef.current) === null || _this$providerRef$cur15 === void 0 || _this$providerRef$cur15.setStateDelta(delta);
223
289
  }
224
290
  }], [{
225
291
  key: "initChatbot",
@@ -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$chatProps$cle","_config$chatProps","_this$props$config","config","showSessionList","session","allowUpload","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","chat","content","_this$providerRef$cur4","startChat","stop","_this$providerRef$cur5","stopChat","clear","_this$providerRef$cur6","clearChat","deleteSession","sessionId","_this$providerRef$cur7","updateSession","title","_this$providerRef$cur8","switchSession","_this$providerRef$cur9","setCurrentSessionDetail","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 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 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 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 * @param content - 消息内容\n *\n * @example\n * ```javascript\n * sdk.chat({ text: 'Hello!' });\n * ```\n */\n chat(content: SendContent) {\n this.providerRef.current?.startChat(content);\n }\n\n /**\n * 停止当前消息生成\n */\n stop() {\n this.providerRef.current?.stopChat();\n }\n\n /**\n * 清空当前会话\n */\n clear() {\n this.providerRef.current?.clearChat();\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 * 切换到指定会话\n * @param sessionId - 会话 ID\n */\n switchSession(sessionId: string) {\n this.providerRef.current?.setCurrentSessionDetail(sessionId);\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","ReactDOM","XAdkProvider","jsx","_jsx","XAiWebSDK","container","props","_classCallCheck","_defineProperty","onError","onSuccess","onMessage","mount","_createClass","key","value","_config$session$showS","_config$session","_config$allowUpload","_config$chatProps$cle","_config$chatProps","_this$props$config","config","showSessionList","session","allowUpload","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 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 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 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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"}