/// import { XAdkSDKProps, XAdkProviderHandle, IMessage } from "../types"; import { SendContent } from "../types"; import * as protocol from "../core/protocol"; /** * 内部包装组件:管理 token 状态,支持运行时动态更新 */ interface WrapperHandle extends XAdkProviderHandle { setToken: (token: string) => void; } /** * XAiWebSDK - UMD 入口类 * * 用于通过 * * ``` */ declare class XAiWebSDK { /** UMD 场景下暴露协议工具,方便无构建环境复用 ADK event/message 转换能力。 */ static protocol: typeof protocol; /** UMD 场景下创建 headless 对话控制器,不强制渲染默认聊天模板。 */ static createAdkController: (options: import("../core/runtime").AdkConversationOptions) => import("../core/runtime").AdkConversationController; /** UMD 场景下创建众安信科默认 openApi transport。 */ static createXGroupOpenApiTransport: ({ url, appNo, token, pageSize, onAuthError, }: import("../presets/xgroup").XGroupOpenApiTransportOptions) => import("../core/runtime").AdkChatTransport; container: HTMLElement; props: XAdkSDKProps; root: any; wrapperRef: import("react").RefObject; onError?: (error: any) => void; onSuccess?: (appInfo: any) => void; onMessage?: (content: string, data: IMessage) => void; constructor(container: HTMLElement, props: XAdkSDKProps); mount(): void; unmount(): void; /** * 初始化聊天机器人(推荐方式) * * @param props - SDK 配置参数 * @returns XAiWebSDK 实例 * * @example * ```javascript * const sdk = XAiWebSDK.initChatbot({ * url: 'https://api.example.com', * token: 'your-token', * config: { * appNo: 'your-app-no', * session: { * showSessionList: true // 显示会话列表 * }, * allowUpload: true, // 允许文件上传 * chatProps: { * clearBtnShow: false // 隐藏清空按钮 * } * }, * componentProps: { * id: 'my-chatbot', // 容器 ID * width: '100%', * height: '600px' * } * }); * ``` */ static initChatbot(props: XAdkSDKProps): XAiWebSDK; /** * 兼容旧版本的静态方法 * @deprecated 使用 initChatbot 替代 */ static create(props: XAdkSDKProps): XAiWebSDK; /** * 动态更新认证 token * * 用于 token 过期后刷新,更新后后续的 API 请求将使用新 token,无需重新初始化 SDK。 * * @param token - 新的认证 token * * @example * ```javascript * // 监听到 token 过期后 * const newToken = await refreshToken(); * sdk.setToken(newToken); * ``` */ setToken(token: string): void; /** * 获取当前数据(聚合方法) * @returns 应用信息、消息列表、会话列表 */ getData(): { appInfo: any; messages: IMessage[] | undefined; sessions: any[] | undefined; }; /** * 获取应用信息 * @returns 应用信息 */ getAppInfo(): any; /** * 获取当前会话的消息列表 * @returns 消息列表 */ getMessages(): IMessage[] | undefined; /** * 获取会话列表 * @returns 会话列表 */ getSessions(): any[] | undefined; /** * 设置消息列表 * @param msgs - 要设置的消息数组 */ setMessages(msgs: IMessage[]): void; /** * 发送消息 * @param content - 消息内容 * * @example * ```javascript * sdk.startChat({ text: 'Hello!' }); * ``` */ startChat(content: SendContent): void; /** * 停止当前消息生成 */ stopChat(): void; /** * 重新生成最后一条回复 */ reChat(): void; /** * 清空当前会话 */ clearChat(): void; /** * 切换到指定会话 * @param sessionId - 会话 ID */ setCurrentSession(sessionId: string): void; /** * 删除指定会话 * @param sessionId - 会话 ID */ deleteSession(sessionId: string): void; /** * 更新会话标题 * @param sessionId - 会话 ID * @param title - 新标题 */ updateSession(sessionId: string, title: string): void; /** * 设置自定义业务参数 (stateDelta) * 设置后每次发送消息时会自动携带至后端 * @param delta - 自定义参数,传入 undefined 可清除 */ setStateDelta(delta: Record | undefined): void; } export default XAiWebSDK;