@ai-group/chat-sdk 2.0.2 → 2.0.3

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 (64) hide show
  1. package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js +44 -4
  2. package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js.map +2 -2
  3. package/dist/cjs/components/XAiChatbot/index.js +15 -9
  4. package/dist/cjs/components/XAiChatbot/index.js.map +2 -2
  5. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +1 -1
  6. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +2 -2
  7. package/dist/cjs/components/XAiProvider/index.js +1 -1
  8. package/dist/cjs/components/XAiProvider/index.js.map +2 -2
  9. package/dist/cjs/components/XAiSender/XAiSender.stories.js +3 -2
  10. package/dist/cjs/components/XAiSender/XAiSender.stories.js.map +2 -2
  11. package/dist/cjs/components/XAiSender/index.js +13 -3
  12. package/dist/cjs/components/XAiSender/index.js.map +2 -2
  13. package/dist/cjs/hooks/useAgentGenerator.d.ts +3 -3
  14. package/dist/cjs/hooks/useAgentGenerator.js +5 -5
  15. package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
  16. package/dist/cjs/hooks/useProviderContext.d.ts +2 -1
  17. package/dist/cjs/hooks/useProviderContext.js.map +2 -2
  18. package/dist/cjs/types/XAiChatbot.d.ts +8 -6
  19. package/dist/cjs/types/XAiChatbot.js.map +1 -1
  20. package/dist/cjs/types/XAiConversations.d.ts +2 -2
  21. package/dist/cjs/types/XAiConversations.js.map +1 -1
  22. package/dist/cjs/types/XAiMessage.d.ts +2 -1
  23. package/dist/cjs/types/XAiMessage.js.map +2 -2
  24. package/dist/cjs/types/XAiProvider.d.ts +3 -3
  25. package/dist/cjs/types/XAiProvider.js.map +2 -2
  26. package/dist/cjs/types/XAiSender.d.ts +5 -1
  27. package/dist/cjs/types/XAiSender.js.map +1 -1
  28. package/dist/cjs/types/index.js.map +1 -1
  29. package/dist/cjs/utils/umdEntry.d.ts +3 -2
  30. package/dist/cjs/utils/umdEntry.js +2 -2
  31. package/dist/cjs/utils/umdEntry.js.map +2 -2
  32. package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js +60 -6
  33. package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js.map +1 -1
  34. package/dist/esm/components/XAiChatbot/index.js +76 -64
  35. package/dist/esm/components/XAiChatbot/index.js.map +1 -1
  36. package/dist/esm/components/XAiProvider/XAiProvider.stories.js +3 -1
  37. package/dist/esm/components/XAiProvider/XAiProvider.stories.js.map +1 -1
  38. package/dist/esm/components/XAiProvider/index.js +1 -1
  39. package/dist/esm/components/XAiProvider/index.js.map +1 -1
  40. package/dist/esm/components/XAiSender/XAiSender.stories.js +3 -2
  41. package/dist/esm/components/XAiSender/XAiSender.stories.js.map +1 -1
  42. package/dist/esm/components/XAiSender/index.js +16 -4
  43. package/dist/esm/components/XAiSender/index.js.map +1 -1
  44. package/dist/esm/hooks/useAgentGenerator.d.ts +3 -3
  45. package/dist/esm/hooks/useAgentGenerator.js +7 -8
  46. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  47. package/dist/esm/hooks/useProviderContext.d.ts +2 -1
  48. package/dist/esm/hooks/useProviderContext.js.map +1 -1
  49. package/dist/esm/types/XAiChatbot.d.ts +8 -6
  50. package/dist/esm/types/XAiChatbot.js.map +1 -1
  51. package/dist/esm/types/XAiConversations.d.ts +2 -2
  52. package/dist/esm/types/XAiConversations.js.map +1 -1
  53. package/dist/esm/types/XAiMessage.d.ts +2 -1
  54. package/dist/esm/types/XAiMessage.js.map +1 -1
  55. package/dist/esm/types/XAiProvider.d.ts +3 -3
  56. package/dist/esm/types/XAiProvider.js.map +1 -1
  57. package/dist/esm/types/XAiSender.d.ts +5 -1
  58. package/dist/esm/types/XAiSender.js.map +1 -1
  59. package/dist/esm/types/index.js.map +1 -1
  60. package/dist/esm/utils/umdEntry.d.ts +3 -2
  61. package/dist/esm/utils/umdEntry.js +2 -2
  62. package/dist/esm/utils/umdEntry.js.map +1 -1
  63. package/dist/umd/chat-sdk.min.js +1 -1
  64. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","ErrorCodeNum","ErrorCode","ErrorCodeMap","client_50017","code","APP_NOT_ENABLE","message","client_50054","API_ERROR","SuccessCode","XAiContext","createContext"],"sources":["../../../src/types/XAiProvider.ts"],"sourcesContent":["// context/ProviderContext.ts\nimport React, { ReactNode } from 'react';\nimport { AiClient } from 'src/client/base';\nimport type { ChatbotMessageFields } from './XAiChatbot';\nimport { Messages, sessionData } from '@/types';\n\n/**\n * 主题类型\n * @type {'default'}\n * @version 1.0.0\n */\nexport type ThemeType = 'default';\n\n/**\n * 错误码枚举(数字格式)\n * @enum {string}\n * @version 1.0.0\n */\nexport enum ErrorCodeNum {\n /** 应用下架 */\n APP_NOT_ENABLE = 'client_50017',\n /** 应用删除 */\n APP_DELETED = 'client_50017',\n /** 无该应用 */\n APP_NOT_FOUND = 'client_59999',\n /** 接口报错 */\n API_ERROR = 'client_50054',\n}\n\n/**\n * 错误码枚举\n * @enum {string}\n * @version 1.0.0\n */\nexport enum ErrorCode {\n /** 应用未启用 */\n APP_NOT_ENABLE = 'APP_NOT_ENABLE',\n /** 应用已删除 */\n APP_DELETED = 'APP_DELETED',\n /** 应用未找到 */\n APP_NOT_FOUND = 'APP_NOT_FOUND',\n /** API 错误 */\n API_ERROR = 'API_ERROR',\n}\n\n/**\n * 错误码映射表\n * @type {Record<string, {code: ErrorCode, message: string}>}\n * @version 1.0.0\n */\nexport const ErrorCodeMap = {\n client_50017: {\n code: ErrorCode.APP_NOT_ENABLE,\n message: '该应用已删除或已下架',\n },\n client_50054: {\n code: ErrorCode.API_ERROR,\n message: '应用服务端出错',\n },\n};\n\n/**\n * 成功状态码枚举\n * @enum {string}\n * @version 1.0.0\n */\nexport enum SuccessCode {\n /** 应用配置初始化成功 */\n APP_CONFIG_INIT_SUCCESS = 'APP_CONFIG_INIT_SUCCESS',\n /** 应用消息初始化成功 */\n APP_MESSAGES_INIT_SUCCESS = 'APP_MESSAGES_INIT_SUCCESS',\n}\n\n/**\n * 错误信息接口\n * @interface Error\n * @version 1.0.0\n */\nexport interface Error {\n /** 错误码 */\n code: ErrorCode;\n /** 错误信息 */\n message: string;\n}\n\n/**\n * 成功信息接口\n * @interface Success\n * @version 1.0.0\n */\nexport interface Success {\n /** 成功状态码 */\n code: SuccessCode;\n /** 成功信息 */\n message: string;\n}\n\n/**\n * XAiProvider 操作句柄接口\n * @interface XAiProviderHandle\n * @version 1.0.0\n */\nexport interface XAiProviderHandle {\n /**\n * 发送聊天消息\n * @param content - 消息内容\n * @type {(content: string) => void}\n * @version 1.0.0\n */\n chat: (content: string) => void;\n \n /**\n * 停止聊天\n * @type {() => void}\n * @version 1.0.0\n */\n stopChat: () => void;\n \n /**\n * 重新发送聊天\n * @type {() => void}\n * @version 1.0.0\n */\n reChat: () => void;\n \n /**\n * 获取应用信息\n * @returns {any} 应用信息对象\n * @type {() => any}\n * @version 1.0.0\n */\n getAppInfo: () => any;\n \n /**\n * 获取消息列表\n * @returns {Messages[]} 消息数组\n * @type {() => Messages[]}\n * @version 1.0.0\n */\n getMessages: () => Messages[];\n\n /**\n * 获取会话列表\n * @returns {}\n */\n getSessions: () => sessionData[];\n \n /**\n * 重新设置当前会话\n * @param id - 会话ID\n * @type {(id: string) => void}\n * @version 1.0.0\n */\n setCurrentSessionDetail: (id: string) => void;\n}\n\nexport interface sessionConfig {\n /**\n * 是否展示会话列表\n * @type {boolean}\n * @default false\n */\n showSessionList?: boolean;\n}\n\nexport interface ChatConfig {\n /**\n * 是否展示清空按钮\n * @type {boolean}\n * @default false\n */\n clearBtnShow?: boolean;\n /**\n * 是否展示输入框\n * @type {boolean}\n * @default true\n */\n inputShow?: boolean;\n /**\n * 打字机效果速度(单位:毫秒)\n * @type {number}\n * @default 60\n * @version 1.0.0\n */\n textSpeed?: number;\n}\n\n/**\n * XAiProvider 配置接口\n * @interface XAiProviderConfig\n * @version 1.0.0\n */\nexport interface XAiProviderConfig {\n /**\n * 应用唯一编号\n * @type {string}\n * @default undefined\n * @version 1.0.0\n */\n appNo?: string;\n\n /**\n * 会话配置\n * @type {sessionConfig}\n */\n session?: sessionConfig;\n\n /**\n * 对话框配置\n * @type {ChatConfig}\n */\n chatProps?: ChatConfig;\n\n \n /**\n * 是否启用调试模式\n * @type {boolean}\n * @default false\n * @version 1.0.0\n */\n debug?: boolean;\n}\n\n/**\n * XAiProvider 组件属性接口\n * @interface XAiProviderProps\n * @version 1.0.0\n */\nexport interface XAiProviderProps {\n /**\n * AI 服务地址\n * @type {string}\n * @version 1.0.0\n */\n url: string;\n \n /**\n * 认证 token\n * @type {string}\n * @version 1.0.0\n */\n token: string;\n \n /**\n * 配置信息\n * @type {XAiProviderConfig}\n * @default undefined\n * @version 1.0.0\n */\n config?: XAiProviderConfig;\n \n /**\n * Provider 唯一标识,用于区分多个 Provider 实例\n * @type {string}\n * @default undefined\n * @version 1.0.0\n */\n providerId?: string;\n \n /**\n * Token 刷新回调\n * @type {() => Promise<string>}\n * @default undefined\n * @version 1.0.0\n */\n onRefreshToken?: () => Promise<string>;\n \n /**\n * 应用无法正常渲染回调\n * @type {(error: Error) => void}\n * @default undefined\n * @version 1.0.0\n */\n onError?: (error: Error) => void;\n \n /**\n * 应用正常渲染回调\n * @type {(success: Success) => void}\n * @default undefined\n * @version 1.0.0\n */\n onSuccess?: (success: Success) => void;\n \n /**\n * 消息返回回调\n * @type {(data: Messages) => void}\n * @default undefined\n * @version 1.0.0\n */\n onMessage?: (content: string, data: Messages) => void;\n \n /**\n * 子组件\n * @type {ReactNode}\n * @version 1.0.0\n */\n children: ReactNode;\n}\n\n/**\n * XAiSDK 组件属性接口\n * @interface XAiSDKProps\n * @extends XAiProviderProps\n * @version 1.0.0\n */\nexport interface XAiSDKProps extends XAiProviderProps {\n /**\n * 主题类型\n * @type {ThemeType}\n * @default 'default'\n * @version 1.0.0\n */\n theme?: ThemeType;\n \n /**\n * 组件属性配置\n * @type {object}\n * @default undefined\n * @version 1.0.0\n */\n componentProps?: {\n /**\n * 组件ID\n * @type {string}\n * @default undefined\n * @version 1.0.0\n */\n id?: string;\n /** 支持任意 CSS 属性 */\n [key: string]: any;\n };\n}\n\n/**\n * XAi 上下文类型接口\n * @interface XAiContextType\n * @extends Required<ChatbotMessageFields>\n * @version 1.0.0\n */\nexport interface XAiContextType extends Required<ChatbotMessageFields> {\n /**\n * AI 客户端实例\n * @type {AiClient | null}\n * @default null\n * @version 1.0.0\n */\n client: AiClient | null;\n \n /**\n * 认证令牌\n * @type {string}\n * @version 1.0.0\n */\n token: string;\n \n /**\n * 加载状态\n * @type {boolean}\n * @default false\n * @version 1.0.0\n */\n loading: boolean;\n \n /**\n * 错误信息\n * @type {string | null}\n * @default null\n * @version 1.0.0\n */\n error: string | null;\n}\n\n/**\n * XAi 上下文对象\n * @type {React.Context<XAiContextType | null>}\n * @version 1.0.0\n */\nexport const XAiContext = React.createContext<XAiContextType | null>(null);\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,MAAqB,OAAO;;AAKxC;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;;AAWxB;AACA;AACA;AACA;AACA;AACA,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;;AAWrB;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,YAAY,GAAG;EAC1BC,YAAY,EAAE;IACZC,IAAI,EAAEH,SAAS,CAACI,cAAc;IAC9BC,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAE;IACZH,IAAI,EAAEH,SAAS,CAACO,SAAS;IACzBF,OAAO,EAAE;EACX;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAYG,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;;AAOvB;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;;AAsFA;AACA;AACA;AACA;AACA;;AAgCA;AACA;AACA;AACA;AACA;;AAwEA;AACA;AACA;AACA;AACA;AACA;;AA6BA;AACA;AACA;AACA;AACA;AACA;;AAkCA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,gBAAGX,KAAK,CAACY,aAAa,CAAwB,IAAI,CAAC"}
1
+ {"version":3,"names":["React","ErrorCodeNum","ErrorCode","ErrorCodeMap","client_50017","code","APP_NOT_ENABLE","message","client_50054","API_ERROR","SuccessCode","XAiContext","createContext"],"sources":["../../../src/types/XAiProvider.ts"],"sourcesContent":["// context/ProviderContext.ts\nimport React, { ReactNode } from 'react';\nimport { AiClient } from 'src/client/base';\nimport type { ChatbotMessageFields } from './XAiChatbot';\nimport type { Messages, SendContent, SessionData } from '@/types';\n\n/**\n * 主题类型\n * @type {'default'}\n * @version 1.0.0\n */\nexport type ThemeType = 'default';\n\n/**\n * 错误码枚举(数字格式)\n * @enum {string}\n * @version 1.0.0\n */\nexport enum ErrorCodeNum {\n /** 应用下架 */\n APP_NOT_ENABLE = 'client_50017',\n /** 应用删除 */\n APP_DELETED = 'client_50017',\n /** 无该应用 */\n APP_NOT_FOUND = 'client_59999',\n /** 接口报错 */\n API_ERROR = 'client_50054',\n}\n\n/**\n * 错误码枚举\n * @enum {string}\n * @version 1.0.0\n */\nexport enum ErrorCode {\n /** 应用未启用 */\n APP_NOT_ENABLE = 'APP_NOT_ENABLE',\n /** 应用已删除 */\n APP_DELETED = 'APP_DELETED',\n /** 应用未找到 */\n APP_NOT_FOUND = 'APP_NOT_FOUND',\n /** API 错误 */\n API_ERROR = 'API_ERROR',\n}\n\n/**\n * 错误码映射表\n * @type {Record<string, {code: ErrorCode, message: string}>}\n * @version 1.0.0\n */\nexport const ErrorCodeMap = {\n client_50017: {\n code: ErrorCode.APP_NOT_ENABLE,\n message: '该应用已删除或已下架',\n },\n client_50054: {\n code: ErrorCode.API_ERROR,\n message: '应用服务端出错',\n },\n};\n\n/**\n * 成功状态码枚举\n * @enum {string}\n * @version 1.0.0\n */\nexport enum SuccessCode {\n /** 应用配置初始化成功 */\n APP_CONFIG_INIT_SUCCESS = 'APP_CONFIG_INIT_SUCCESS',\n /** 应用消息初始化成功 */\n APP_MESSAGES_INIT_SUCCESS = 'APP_MESSAGES_INIT_SUCCESS',\n}\n\n/**\n * 错误信息接口\n * @interface Error\n * @version 1.0.0\n */\nexport interface Error {\n /** 错误码 */\n code: ErrorCode;\n /** 错误信息 */\n message: string;\n}\n\n/**\n * 成功信息接口\n * @interface Success\n * @version 1.0.0\n */\nexport interface Success {\n /** 成功状态码 */\n code: SuccessCode;\n /** 成功信息 */\n message: string;\n}\n\n/**\n * XAiProvider 操作句柄接口\n * @interface XAiProviderHandle\n * @version 1.0.0\n */\nexport interface XAiProviderHandle {\n /**\n * 发送聊天消息\n * @param content - 消息内容\n * @type {(content: string) => void}\n * @version 1.0.0\n */\n chat: (content: SendContent) => void;\n\n /**\n * 停止聊天\n * @type {() => void}\n * @version 1.0.0\n */\n stopChat: () => void;\n\n /**\n * 重新发送聊天\n * @type {() => void}\n * @version 1.0.0\n */\n reChat: () => void;\n\n /**\n * 获取应用信息\n * @returns {any} 应用信息对象\n * @type {() => any}\n * @version 1.0.0\n */\n getAppInfo: () => any;\n\n /**\n * 获取消息列表\n * @returns {Messages[]} 消息数组\n * @type {() => Messages[]}\n * @version 1.0.0\n */\n getMessages: () => Messages[];\n\n /**\n * 获取会话列表\n * @returns {}\n */\n getSessions: () => SessionData[];\n\n /**\n * 重新设置当前会话\n * @param id - 会话ID\n * @type {(id: string) => void}\n * @version 1.0.0\n */\n setCurrentSessionDetail: (id: string) => void;\n}\n\nexport interface sessionConfig {\n /**\n * 是否展示会话列表\n * @type {boolean}\n * @default false\n */\n showSessionList?: boolean;\n}\n\nexport interface ChatConfig {\n /**\n * 是否展示清空按钮\n * @type {boolean}\n * @default false\n */\n clearBtnShow?: boolean;\n /**\n * 是否展示输入框\n * @type {boolean}\n * @default true\n */\n inputShow?: boolean;\n /**\n * 打字机效果速度(单位:毫秒)\n * @type {number}\n * @default 60\n * @version 1.0.0\n */\n textSpeed?: number;\n}\n\n/**\n * XAiProvider 配置接口\n * @interface XAiProviderConfig\n * @version 1.0.0\n */\nexport interface XAiProviderConfig {\n /**\n * 应用唯一编号\n * @type {string}\n * @default undefined\n * @version 1.0.0\n */\n appNo?: string;\n\n /**\n * 会话配置\n * @type {sessionConfig}\n */\n session?: sessionConfig;\n\n /**\n * 对话框配置\n * @type {ChatConfig}\n */\n chatProps?: ChatConfig;\n\n /**\n * 是否启用调试模式\n * @type {boolean}\n * @default false\n * @version 1.0.0\n */\n debug?: boolean;\n}\n\n/**\n * XAiProvider 组件属性接口\n * @interface XAiProviderProps\n * @version 1.0.0\n */\nexport interface XAiProviderProps {\n /**\n * AI 服务地址\n * @type {string}\n * @version 1.0.0\n */\n url: string;\n\n /**\n * 认证 token\n * @type {string}\n * @version 1.0.0\n */\n token: string;\n\n /**\n * 配置信息\n * @type {XAiProviderConfig}\n * @default undefined\n * @version 1.0.0\n */\n config?: XAiProviderConfig;\n\n /**\n * Provider 唯一标识,用于区分多个 Provider 实例\n * @type {string}\n * @default undefined\n * @version 1.0.0\n */\n providerId?: string;\n\n /**\n * Token 刷新回调\n * @type {() => Promise<string>}\n * @default undefined\n * @version 1.0.0\n */\n onRefreshToken?: () => Promise<string>;\n\n /**\n * 应用无法正常渲染回调\n * @type {(error: Error) => void}\n * @default undefined\n * @version 1.0.0\n */\n onError?: (error: Error) => void;\n\n /**\n * 应用正常渲染回调\n * @type {(success: Success) => void}\n * @default undefined\n * @version 1.0.0\n */\n onSuccess?: (success: Success) => void;\n\n /**\n * 消息返回回调\n * @type {(data: Messages) => void}\n * @default undefined\n * @version 1.0.0\n */\n onMessage?: (content: string, data: Messages) => void;\n\n /**\n * 子组件\n * @type {ReactNode}\n * @version 1.0.0\n */\n children: ReactNode;\n}\n\n/**\n * XAiSDK 组件属性接口\n * @interface XAiSDKProps\n * @extends XAiProviderProps\n * @version 1.0.0\n */\nexport interface XAiSDKProps extends XAiProviderProps {\n /**\n * 主题类型\n * @type {ThemeType}\n * @default 'default'\n * @version 1.0.0\n */\n theme?: ThemeType;\n\n /**\n * 组件属性配置\n * @type {object}\n * @default undefined\n * @version 1.0.0\n */\n componentProps?: {\n /**\n * 组件ID\n * @type {string}\n * @default undefined\n * @version 1.0.0\n */\n id?: string;\n /** 支持任意 CSS 属性 */\n [key: string]: any;\n };\n}\n\n/**\n * XAi 上下文类型接口\n * @interface XAiContextType\n * @extends Required<ChatbotMessageFields>\n * @version 1.0.0\n */\nexport interface XAiContextType extends Required<ChatbotMessageFields> {\n /**\n * AI 客户端实例\n * @type {AiClient | null}\n * @default null\n * @version 1.0.0\n */\n client: AiClient | null;\n\n /**\n * 认证令牌\n * @type {string}\n * @version 1.0.0\n */\n token: string;\n\n /**\n * 加载状态\n * @type {boolean}\n * @default false\n * @version 1.0.0\n */\n loading: boolean;\n\n /**\n * 错误信息\n * @type {string | null}\n * @default null\n * @version 1.0.0\n */\n error: string | null;\n}\n\n/**\n * XAi 上下文对象\n * @type {React.Context<XAiContextType | null>}\n * @version 1.0.0\n */\nexport const XAiContext = React.createContext<XAiContextType | null>(null);\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,MAAqB,OAAO;;AAKxC;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA,WAAYC,YAAY,0BAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;;AAWxB;AACA;AACA;AACA;AACA;AACA,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;;AAWrB;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,YAAY,GAAG;EAC1BC,YAAY,EAAE;IACZC,IAAI,EAAEH,SAAS,CAACI,cAAc;IAC9BC,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAE;IACZH,IAAI,EAAEH,SAAS,CAACO,SAAS;IACzBF,OAAO,EAAE;EACX;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,WAAYG,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;;AAOvB;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;;AAsFA;AACA;AACA;AACA;AACA;;AA+BA;AACA;AACA;AACA;AACA;;AAwEA;AACA;AACA;AACA;AACA;AACA;;AA6BA;AACA;AACA;AACA;AACA;AACA;;AAkCA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,UAAU,gBAAGX,KAAK,CAACY,aAAa,CAAwB,IAAI,CAAC"}
@@ -1,6 +1,10 @@
1
1
  import type { SenderProps } from '@ant-design/x';
2
2
  import type { Attachment } from '@ant-design/x/es/attachments';
3
3
  import { UploadProps } from 'antd';
4
+ export interface SendContent {
5
+ text?: string;
6
+ files?: Attachment[] | any[];
7
+ }
4
8
  export interface XAiSenderProps extends Omit<SenderProps, 'onSubmit' | 'onCancel'> {
5
9
  /** 是否展示清空按钮 */
6
10
  clearBtnShow?: boolean;
@@ -11,7 +15,7 @@ export interface XAiSenderProps extends Omit<SenderProps, 'onSubmit' | 'onCancel
11
15
  /** 加载中,点击停止生成按钮回调 */
12
16
  onStop?: () => void;
13
17
  /** 点击发送按钮的回调 */
14
- onSubmit?: (type: string, content: string) => void;
18
+ onSubmit?: (content: SendContent) => void;
15
19
  /** 显示上传按钮 */
16
20
  enableUpload?: boolean;
17
21
  /** 文件列表 */
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/XAiSender.ts"],"sourcesContent":["import type { SenderProps } from '@ant-design/x';\nimport type { Attachment } from '@ant-design/x/es/attachments';\nimport { UploadProps } from 'antd';\n\nexport interface XAiSenderProps extends Omit<SenderProps, 'onSubmit' | 'onCancel'> {\n /** 是否展示清空按钮 */\n clearBtnShow? : boolean;\n /** 底部文案 */\n footerTips?: string;\n /** 清空对话框按钮回调 */\n onClear?: () => void;\n /** 加载中,点击停止生成按钮回调 */\n onStop?: () => void;\n /** 点击发送按钮的回调 */\n onSubmit?: (type: string, content: string) => void;\n /** 显示上传按钮 */\n enableUpload?: boolean;\n /** 文件列表 */\n files?: Attachment[];\n /** 文件列表变化 */\n onChangeFiles?: (files: Attachment[]) => void;\n /** 文件上传 */\n uploadRequest?: UploadProps['customRequest'];\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["../../../src/types/XAiSender.ts"],"sourcesContent":["import type { SenderProps } from '@ant-design/x';\nimport type { Attachment } from '@ant-design/x/es/attachments';\nimport { UploadProps } from 'antd';\n\nexport interface SendContent {\n text?: string;\n files?: Attachment[] | any[];\n}\n\nexport interface XAiSenderProps extends Omit<SenderProps, 'onSubmit' | 'onCancel'> {\n /** 是否展示清空按钮 */\n clearBtnShow? : boolean;\n /** 底部文案 */\n footerTips?: string;\n /** 清空对话框按钮回调 */\n onClear?: () => void;\n /** 加载中,点击停止生成按钮回调 */\n onStop?: () => void;\n /** 点击发送按钮的回调 */\n onSubmit?: (content: SendContent) => void;\n /** 显示上传按钮 */\n enableUpload?: boolean;\n /** 文件列表 */\n files?: Attachment[];\n /** 文件列表变化 */\n onChangeFiles?: (files: Attachment[]) => void;\n /** 文件上传 */\n uploadRequest?: UploadProps['customRequest'];\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './XAiChatbot';\nexport * from './XAiMessage';\nexport * from './XAiProvider';\nexport * from './XAiSender';\nexport * from './XAiConversations';"],"mappings":"AAAA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"names":[],"sources":["../../../src/types/index.ts"],"sourcesContent":["export * from './XAiChatbot';\nexport * from './XAiMessage';\nexport * from './XAiProvider';\nexport * from './XAiSender';\nexport * from './XAiConversations';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA"}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { XAiSDKProps, XAiProviderHandle } from "../types/XAiProvider";
3
3
  import { Messages } from "../types/XAiMessage";
4
+ import type { SendContent } from "../types";
4
5
  declare class XAiWebSDK {
5
6
  container: HTMLElement;
6
7
  props: XAiSDKProps;
@@ -17,9 +18,9 @@ declare class XAiWebSDK {
17
18
  getData(): {
18
19
  appInfo: any;
19
20
  messages: Messages[] | undefined;
20
- sessions: import("../types").sessionData[] | undefined;
21
+ sessions: import("../types").SessionData[] | undefined;
21
22
  };
22
- chat(text: string): void;
23
+ chat(content: SendContent): void;
23
24
  stop(): void;
24
25
  reChat(): void;
25
26
  }
@@ -99,9 +99,9 @@ var XAiWebSDK = /*#__PURE__*/function () {
99
99
  }
100
100
  }, {
101
101
  key: "chat",
102
- value: function chat(text) {
102
+ value: function chat(content) {
103
103
  var _this$providerRef$cur4;
104
- (_this$providerRef$cur4 = this.providerRef.current) === null || _this$providerRef$cur4 === void 0 || _this$providerRef$cur4.chat(text);
104
+ (_this$providerRef$cur4 = this.providerRef.current) === null || _this$providerRef$cur4 === void 0 || _this$providerRef$cur4.chat(content);
105
105
  }
106
106
  }, {
107
107
  key: "stop",
@@ -1 +1 @@
1
- {"version":3,"names":["React","createRef","ReactDOM","XAiProvider","XAiChatbot","XAiConversations","jsx","_jsx","jsxs","_jsxs","XAiWebSDK","container","props","_classCallCheck","_defineProperty","onError","onSuccess","onMessage","mount","_createClass","key","value","createRoot","_this$props$config","root","render","style","width","height","children","_objectSpread","ref","providerRef","config","session","showSessionList","display","justifyContent","flex","_this$props$config2","unmount","getData","_this$providerRef$cur","_this$providerRef$cur2","_this$providerRef$cur3","appInfo","current","getAppInfo","messages","getMessages","sessions","getSessions","chat","text","_this$providerRef$cur4","stop","_this$providerRef$cur5","stopChat","reChat","_this$providerRef$cur6","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 React, { createRef } from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { XAiSDKProps, XAiProviderHandle } from '@/types/XAiProvider';\nimport { Messages } from '@/types/XAiMessage';\nimport XAiProvider from '@/components/XAiProvider';\nimport XAiChatbot from '@/components/XAiChatbot';\nimport XAiConversations from '@/components/XAiConversations';\n\nclass XAiWebSDK {\n container: HTMLElement;\n\n props: XAiSDKProps;\n\n root: any;\n\n providerRef = createRef<XAiProviderHandle>();\n\n // ———— hook ————\n onError?: (error: any) => void;\n\n onSuccess?: (appInfo: any) => void;\n\n onMessage?: (content: string, data: Messages) => void;\n\n constructor(container: HTMLElement, props: XAiSDKProps) {\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 if (ReactDOM.createRoot) {\n this.root = ReactDOM.createRoot(this.container);\n this.root.render(\n <div style={{ width: '100%', height: '100%' }}>\n <XAiProvider ref={this.providerRef} {...this.props}>\n { this.props.config?.session?.showSessionList && <XAiConversations />}\n <div style={{ display: 'flex', justifyContent: 'center', flex: 1 }}>\n <XAiChatbot />\n </div>\n </XAiProvider>\n </div>,\n );\n } else {\n // @ts-ignore\n ReactDOM.render(\n <div style={{ width: '100%', height: '100%' }}>\n <XAiProvider ref={this.providerRef} {...this.props}>\n { this.props.config?.session?.showSessionList && <XAiConversations />}\n <div style={{ display: 'flex', justifyContent: 'center', flex: 1 }}>\n <XAiChatbot />\n </div>\n </XAiProvider>\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 // 支持 Coze 风格的语法:new XAiWebSDK.initChatbot()\n static initChatbot(props: XAiSDKProps): XAiWebSDK {\n let container: HTMLElement;\n\n // 检查是否有指定的 componentProps.id\n if (props.componentProps?.id) {\n const existingContainer = document.getElementById(props.componentProps.id);\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 static create(props: XAiSDKProps): XAiWebSDK {\n return this.initChatbot(props);\n }\n\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 chat(text: string) {\n this.providerRef.current?.chat(text);\n }\n\n stop() {\n this.providerRef.current?.stopChat();\n }\n\n reChat() {\n this.providerRef.current?.reChat();\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":["React","createRef","ReactDOM","XAiProvider","XAiChatbot","XAiConversations","jsx","_jsx","jsxs","_jsxs","XAiWebSDK","container","props","_classCallCheck","_defineProperty","onError","onSuccess","onMessage","mount","_createClass","key","value","createRoot","_this$props$config","root","render","style","width","height","children","_objectSpread","ref","providerRef","config","session","showSessionList","display","justifyContent","flex","_this$props$config2","unmount","getData","_this$providerRef$cur","_this$providerRef$cur2","_this$providerRef$cur3","appInfo","current","getAppInfo","messages","getMessages","sessions","getSessions","chat","content","_this$providerRef$cur4","stop","_this$providerRef$cur5","stopChat","reChat","_this$providerRef$cur6","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 React, { createRef } from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { XAiSDKProps, XAiProviderHandle } from '@/types/XAiProvider';\nimport { Messages } from '@/types/XAiMessage';\nimport XAiProvider from '@/components/XAiProvider';\nimport XAiChatbot from '@/components/XAiChatbot';\nimport XAiConversations from '@/components/XAiConversations';\nimport type { SendContent } from '@/types';\n\nclass XAiWebSDK {\n container: HTMLElement;\n\n props: XAiSDKProps;\n\n root: any;\n\n providerRef = createRef<XAiProviderHandle>();\n\n // ———— hook ————\n onError?: (error: any) => void;\n\n onSuccess?: (appInfo: any) => void;\n\n onMessage?: (content: string, data: Messages) => void;\n\n constructor(container: HTMLElement, props: XAiSDKProps) {\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 if (ReactDOM.createRoot) {\n this.root = ReactDOM.createRoot(this.container);\n this.root.render(\n <div style={{ width: '100%', height: '100%' }}>\n <XAiProvider ref={this.providerRef} {...this.props}>\n { this.props.config?.session?.showSessionList && <XAiConversations />}\n <div style={{ display: 'flex', justifyContent: 'center', flex: 1 }}>\n <XAiChatbot />\n </div>\n </XAiProvider>\n </div>,\n );\n } else {\n // @ts-ignore\n ReactDOM.render(\n <div style={{ width: '100%', height: '100%' }}>\n <XAiProvider ref={this.providerRef} {...this.props}>\n { this.props.config?.session?.showSessionList && <XAiConversations />}\n <div style={{ display: 'flex', justifyContent: 'center', flex: 1 }}>\n <XAiChatbot />\n </div>\n </XAiProvider>\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 // 支持 Coze 风格的语法:new XAiWebSDK.initChatbot()\n static initChatbot(props: XAiSDKProps): XAiWebSDK {\n let container: HTMLElement;\n\n // 检查是否有指定的 componentProps.id\n if (props.componentProps?.id) {\n const existingContainer = document.getElementById(props.componentProps.id);\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 static create(props: XAiSDKProps): XAiWebSDK {\n return this.initChatbot(props);\n }\n\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 chat(content: SendContent) {\n this.providerRef.current?.chat(content);\n }\n\n stop() {\n this.providerRef.current?.stopChat();\n }\n\n reChat() {\n this.providerRef.current?.reChat();\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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"}