@ai-group/chat-sdk 0.2.5

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 (80) hide show
  1. package/README.md +239 -0
  2. package/dist/esm/assets/arrow-down.png +0 -0
  3. package/dist/esm/assets/arrow-up.png +0 -0
  4. package/dist/esm/assets/chatKnowledge.png +0 -0
  5. package/dist/esm/assets/completed-black.png +0 -0
  6. package/dist/esm/assets/completed.png +0 -0
  7. package/dist/esm/assets/document-black.png +0 -0
  8. package/dist/esm/assets/document.png +0 -0
  9. package/dist/esm/assets/document.svg +16 -0
  10. package/dist/esm/assets/empty.png +0 -0
  11. package/dist/esm/assets/group.png +0 -0
  12. package/dist/esm/assets/qa-black.png +0 -0
  13. package/dist/esm/assets/qa.png +0 -0
  14. package/dist/esm/assets/skillNo-black.png +0 -0
  15. package/dist/esm/assets/skillNo.png +0 -0
  16. package/dist/esm/assets/tools-black.png +0 -0
  17. package/dist/esm/assets/tools.png +0 -0
  18. package/dist/esm/client/base.js +2 -0
  19. package/dist/esm/client/base.js.map +1 -0
  20. package/dist/esm/client/restClient.js +2 -0
  21. package/dist/esm/client/restClient.js.map +1 -0
  22. package/dist/esm/client/wsClient.js +2 -0
  23. package/dist/esm/client/wsClient.js.map +1 -0
  24. package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js +562 -0
  25. package/dist/esm/components/XAiChatbot/XAiChatbot.stories.js.map +1 -0
  26. package/dist/esm/components/XAiChatbot/index.js +586 -0
  27. package/dist/esm/components/XAiChatbot/index.js.map +1 -0
  28. package/dist/esm/components/XAiChatbot/styles.js +62 -0
  29. package/dist/esm/components/XAiChatbot/styles.js.map +1 -0
  30. package/dist/esm/components/XAiProvider/XAiProvider.stories.js +297 -0
  31. package/dist/esm/components/XAiProvider/XAiProvider.stories.js.map +1 -0
  32. package/dist/esm/components/XAiProvider/index.js +128 -0
  33. package/dist/esm/components/XAiProvider/index.js.map +1 -0
  34. package/dist/esm/components/XAiSDK.js +29 -0
  35. package/dist/esm/components/XAiSDK.js.map +1 -0
  36. package/dist/esm/components/XAiWebSDKWrapper.js +42 -0
  37. package/dist/esm/components/XAiWebSDKWrapper.js.map +1 -0
  38. package/dist/esm/context/AiProviderContext.js +62 -0
  39. package/dist/esm/context/AiProviderContext.js.map +1 -0
  40. package/dist/esm/context/ThemeContext.js +8 -0
  41. package/dist/esm/context/ThemeContext.js.map +1 -0
  42. package/dist/esm/hooks/useAgentGenerator.js +536 -0
  43. package/dist/esm/hooks/useAgentGenerator.js.map +1 -0
  44. package/dist/esm/hooks/useEventStreamRequest.js +229 -0
  45. package/dist/esm/hooks/useEventStreamRequest.js.map +1 -0
  46. package/dist/esm/hooks/useProviderContext.js +115 -0
  47. package/dist/esm/hooks/useProviderContext.js.map +1 -0
  48. package/dist/esm/hooks/useXAiSDK.js +49 -0
  49. package/dist/esm/hooks/useXAiSDK.js.map +1 -0
  50. package/dist/esm/index.js +11 -0
  51. package/dist/esm/index.js.map +1 -0
  52. package/dist/esm/services/api.js +73 -0
  53. package/dist/esm/services/api.js.map +1 -0
  54. package/dist/esm/styles/common.js +106 -0
  55. package/dist/esm/styles/common.js.map +1 -0
  56. package/dist/esm/styles/markdown.js +12 -0
  57. package/dist/esm/styles/markdown.js.map +1 -0
  58. package/dist/esm/types/XAiChatbot.js +2 -0
  59. package/dist/esm/types/XAiChatbot.js.map +1 -0
  60. package/dist/esm/types/XAiMessage.js +65 -0
  61. package/dist/esm/types/XAiMessage.js.map +1 -0
  62. package/dist/esm/types/XAiProvider.js +4 -0
  63. package/dist/esm/types/XAiProvider.js.map +1 -0
  64. package/dist/esm/types/index.js +4 -0
  65. package/dist/esm/types/index.js.map +1 -0
  66. package/dist/esm/types/mdx.d.ts +18 -0
  67. package/dist/esm/utils/chat.js +976 -0
  68. package/dist/esm/utils/chat.js.map +1 -0
  69. package/dist/esm/utils/index.js +19 -0
  70. package/dist/esm/utils/index.js.map +1 -0
  71. package/dist/esm/utils/providerManager.js +70 -0
  72. package/dist/esm/utils/providerManager.js.map +1 -0
  73. package/dist/esm/utils/request.example.js +379 -0
  74. package/dist/esm/utils/request.example.js.map +1 -0
  75. package/dist/esm/utils/request.js +491 -0
  76. package/dist/esm/utils/request.js.map +1 -0
  77. package/dist/esm/utils/umdEntry.js +109 -0
  78. package/dist/esm/utils/umdEntry.js.map +1 -0
  79. package/dist/umd/chat-sdk.min.js +1 -0
  80. package/package.json +71 -0
@@ -0,0 +1,109 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
5
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
+ var _excluded = ["id"];
7
+ import React from 'react';
8
+ import ReactDOM from 'react-dom/client';
9
+ import XAiProvider from "../components/XAiProvider";
10
+ import XAiChatbot from "../components/XAiChatbot";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ var XAiWebSDK = /*#__PURE__*/function () {
13
+ function XAiWebSDK(container, props) {
14
+ _classCallCheck(this, XAiWebSDK);
15
+ _defineProperty(this, "container", void 0);
16
+ _defineProperty(this, "props", void 0);
17
+ _defineProperty(this, "root", void 0);
18
+ this.container = container;
19
+ this.props = props;
20
+ this.mount();
21
+ }
22
+ _createClass(XAiWebSDK, [{
23
+ key: "mount",
24
+ value: function mount() {
25
+ if (ReactDOM.createRoot) {
26
+ this.root = ReactDOM.createRoot(this.container);
27
+ this.root.render( /*#__PURE__*/_jsx(XAiProvider, _objectSpread(_objectSpread({}, this.props), {}, {
28
+ children: /*#__PURE__*/_jsx("div", {
29
+ style: {
30
+ width: '100%',
31
+ height: '100%'
32
+ },
33
+ children: /*#__PURE__*/_jsx(XAiChatbot, {})
34
+ })
35
+ })));
36
+ } else {
37
+ // @ts-ignore
38
+ ReactDOM.render( /*#__PURE__*/_jsx(XAiProvider, _objectSpread(_objectSpread({}, this.props), {}, {
39
+ children: /*#__PURE__*/_jsx("div", {
40
+ style: {
41
+ width: '100%',
42
+ height: '100%'
43
+ },
44
+ children: /*#__PURE__*/_jsx(XAiChatbot, {})
45
+ })
46
+ })), this.container);
47
+ }
48
+ }
49
+ }, {
50
+ key: "unmount",
51
+ value: function unmount() {
52
+ if (this.root && this.root.unmount) {
53
+ this.root.unmount();
54
+ }
55
+ }
56
+
57
+ // 支持两种调用方式
58
+ }], [{
59
+ key: "initChatbot",
60
+ value: function initChatbot(containerOrProps, props) {
61
+ var _sdkProps$componentPr;
62
+ // 如果第一个参数是 HTMLElement
63
+ if (containerOrProps instanceof HTMLElement) {
64
+ return new XAiWebSDK(containerOrProps, props);
65
+ }
66
+
67
+ // 如果第一个参数是 props
68
+ var sdkProps = containerOrProps;
69
+ var container;
70
+
71
+ // 检查是否有指定的 componentProps.id
72
+ if ((_sdkProps$componentPr = sdkProps.componentProps) !== null && _sdkProps$componentPr !== void 0 && _sdkProps$componentPr.id) {
73
+ var existingContainer = document.getElementById(sdkProps.componentProps.id);
74
+ if (existingContainer) {
75
+ container = existingContainer;
76
+ } else {
77
+ // 如果指定的 ID 不存在,创建新元素
78
+ container = document.createElement('div');
79
+ container.id = sdkProps.componentProps.id;
80
+ }
81
+ } else {
82
+ // 没有指定 ID,创建默认容器
83
+ container = document.createElement('div');
84
+ container.id = 'xai-chatbot-container';
85
+ }
86
+
87
+ // 设置容器样式 - 将除了 id 以外的所有属性都应用到容器
88
+ if (sdkProps.componentProps) {
89
+ var _sdkProps$componentPr2 = sdkProps.componentProps,
90
+ id = _sdkProps$componentPr2.id,
91
+ styleProps = _objectWithoutProperties(_sdkProps$componentPr2, _excluded);
92
+ Object.assign(container.style, styleProps);
93
+ }
94
+
95
+ // 如果容器不在 DOM 中,添加到 body
96
+ if (!container.parentNode) {
97
+ document.body.appendChild(container);
98
+ }
99
+ return new XAiWebSDK(container, sdkProps);
100
+ }
101
+ }]);
102
+ return XAiWebSDK;
103
+ }(); // 兼容 window 方式,也支持 new
104
+ // @ts-ignore
105
+ window.XAiWebSDK = XAiWebSDK;
106
+
107
+ // 支持 ESModule/UMD 直接 import
108
+ export default XAiWebSDK;
109
+ //# sourceMappingURL=umdEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ReactDOM","XAiProvider","XAiChatbot","jsx","_jsx","XAiWebSDK","container","props","_classCallCheck","_defineProperty","mount","_createClass","key","value","createRoot","root","render","_objectSpread","children","style","width","height","unmount","initChatbot","containerOrProps","_sdkProps$componentPr","HTMLElement","sdkProps","componentProps","id","existingContainer","document","getElementById","createElement","_sdkProps$componentPr2","styleProps","_objectWithoutProperties","_excluded","Object","assign","parentNode","body","appendChild","window"],"sources":["../../../src/utils/umdEntry.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { XAiSDKProps } from '@/types/XAiProvider';\nimport XAiProvider from '@/components/XAiProvider';\nimport XAiChatbot from '../components/XAiChatbot';\n\nclass XAiWebSDK {\n container: HTMLElement;\n\n props: XAiSDKProps;\n\n root: any;\n\n constructor(container: HTMLElement, props: XAiSDKProps) {\n this.container = container;\n this.props = props;\n this.mount();\n }\n\n mount() {\n if (ReactDOM.createRoot) {\n this.root = ReactDOM.createRoot(this.container);\n this.root.render(\n <XAiProvider {...this.props}>\n <div style={{ width: '100%', height: '100%' }}>\n <XAiChatbot />\n </div>\n </XAiProvider>,\n );\n } else {\n // @ts-ignore\n ReactDOM.render(\n <XAiProvider {...this.props}>\n <div style={{ width: '100%', height: '100%' }}>\n <XAiChatbot />\n </div>\n </XAiProvider>,\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 static initChatbot(containerOrProps: HTMLElement | XAiSDKProps, props?: XAiSDKProps) {\n // 如果第一个参数是 HTMLElement\n if (containerOrProps instanceof HTMLElement) {\n return new XAiWebSDK(containerOrProps, props!);\n }\n\n // 如果第一个参数是 props\n const sdkProps = containerOrProps as XAiSDKProps;\n let container: HTMLElement;\n\n // 检查是否有指定的 componentProps.id\n if (sdkProps.componentProps?.id) {\n const existingContainer = document.getElementById(sdkProps.componentProps.id);\n if (existingContainer) {\n container = existingContainer;\n } else {\n // 如果指定的 ID 不存在,创建新元素\n container = document.createElement('div');\n container.id = sdkProps.componentProps.id;\n }\n } else {\n // 没有指定 ID,创建默认容器\n container = document.createElement('div');\n container.id = 'xai-chatbot-container';\n }\n\n // 设置容器样式 - 将除了 id 以外的所有属性都应用到容器\n if (sdkProps.componentProps) {\n const { id, ...styleProps } = sdkProps.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, sdkProps);\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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"}