@ai-group/chat-sdk 0.2.5 → 0.2.8
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/README.md +93 -214
- package/dist/cjs/assets/arrow-down.png +0 -0
- package/dist/cjs/assets/arrow-up.png +0 -0
- package/dist/cjs/assets/chatKnowledge.png +0 -0
- package/dist/cjs/assets/completed-black.png +0 -0
- package/dist/cjs/assets/completed.png +0 -0
- package/dist/cjs/assets/document-black.png +0 -0
- package/dist/cjs/assets/document.png +0 -0
- package/dist/cjs/assets/document.svg +16 -0
- package/dist/cjs/assets/empty.png +0 -0
- package/dist/cjs/assets/group.png +0 -0
- package/dist/cjs/assets/qa-black.png +0 -0
- package/dist/cjs/assets/qa.png +0 -0
- package/dist/cjs/assets/skillNo-black.png +0 -0
- package/dist/cjs/assets/skillNo.png +0 -0
- package/dist/cjs/assets/tools-black.png +0 -0
- package/dist/cjs/assets/tools.png +0 -0
- package/dist/cjs/assets/user.png +0 -0
- package/dist/cjs/client/base.d.ts +9 -0
- package/dist/cjs/client/base.js +18 -0
- package/dist/cjs/client/base.js.map +7 -0
- package/dist/cjs/client/restClient.d.ts +0 -0
- package/dist/cjs/client/restClient.js +1 -0
- package/dist/cjs/client/restClient.js.map +7 -0
- package/dist/cjs/client/wsClient.d.ts +0 -0
- package/dist/cjs/client/wsClient.js +1 -0
- package/dist/cjs/client/wsClient.js.map +7 -0
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.d.ts +10 -0
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js +484 -0
- package/dist/cjs/components/XAiChatbot/XAiChatbot.stories.js.map +7 -0
- package/dist/cjs/components/XAiChatbot/index.d.ts +12 -0
- package/dist/cjs/components/XAiChatbot/index.js +365 -0
- package/dist/cjs/components/XAiChatbot/index.js.map +7 -0
- package/dist/cjs/components/XAiChatbot/styles.d.ts +72 -0
- package/dist/cjs/components/XAiChatbot/styles.js +426 -0
- package/dist/cjs/components/XAiChatbot/styles.js.map +7 -0
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.d.ts +7 -0
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +127 -0
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +7 -0
- package/dist/cjs/components/XAiProvider/index.d.ts +4 -0
- package/dist/cjs/components/XAiProvider/index.js +115 -0
- package/dist/cjs/components/XAiProvider/index.js.map +7 -0
- package/dist/cjs/components/XAiSDK.d.ts +10 -0
- package/dist/cjs/components/XAiSDK.js +53 -0
- package/dist/cjs/components/XAiSDK.js.map +7 -0
- package/dist/cjs/components/XAiWebSDKWrapper.d.ts +9 -0
- package/dist/cjs/components/XAiWebSDKWrapper.js +70 -0
- package/dist/cjs/components/XAiWebSDKWrapper.js.map +7 -0
- package/dist/cjs/context/AiProviderContext.d.ts +12 -0
- package/dist/cjs/context/AiProviderContext.js +74 -0
- package/dist/cjs/context/AiProviderContext.js.map +7 -0
- package/dist/cjs/context/ThemeContext.d.ts +20 -0
- package/dist/cjs/context/ThemeContext.js +37 -0
- package/dist/cjs/context/ThemeContext.js.map +7 -0
- package/dist/cjs/hooks/useAgentGenerator.d.ts +72 -0
- package/dist/cjs/hooks/useAgentGenerator.js +487 -0
- package/dist/cjs/hooks/useAgentGenerator.js.map +7 -0
- package/dist/cjs/hooks/useEventStreamRequest.d.ts +30 -0
- package/dist/cjs/hooks/useEventStreamRequest.js +188 -0
- package/dist/cjs/hooks/useEventStreamRequest.js.map +7 -0
- package/dist/cjs/hooks/useProviderContext.d.ts +33 -0
- package/dist/cjs/hooks/useProviderContext.js +105 -0
- package/dist/cjs/hooks/useProviderContext.js.map +7 -0
- package/dist/cjs/hooks/useXAiSDK.d.ts +14 -0
- package/dist/cjs/hooks/useXAiSDK.js +75 -0
- package/dist/cjs/hooks/useXAiSDK.js.map +7 -0
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.js +61 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/services/api.d.ts +69 -0
- package/dist/cjs/services/api.js +49 -0
- package/dist/cjs/services/api.js.map +7 -0
- package/dist/cjs/styles/common.d.ts +64 -0
- package/dist/cjs/styles/common.js +144 -0
- package/dist/cjs/styles/common.js.map +7 -0
- package/dist/cjs/styles/markdown.d.ts +3 -0
- package/dist/cjs/styles/markdown.js +193 -0
- package/dist/cjs/styles/markdown.js.map +7 -0
- package/dist/cjs/types/XAiChatbot.d.ts +159 -0
- package/dist/cjs/types/XAiChatbot.js +18 -0
- package/dist/cjs/types/XAiChatbot.js.map +7 -0
- package/dist/cjs/types/XAiMessage.d.ts +121 -0
- package/dist/cjs/types/XAiMessage.js +55 -0
- package/dist/cjs/types/XAiMessage.js.map +7 -0
- package/dist/cjs/types/XAiProvider.d.ts +46 -0
- package/dist/cjs/types/XAiProvider.js +50 -0
- package/dist/cjs/types/XAiProvider.js.map +7 -0
- package/dist/cjs/types/index.d.ts +3 -0
- package/dist/cjs/types/index.js +28 -0
- package/dist/cjs/types/index.js.map +7 -0
- package/dist/cjs/types/mdx.d.ts +18 -0
- package/dist/cjs/utils/chat.d.ts +34 -0
- package/dist/cjs/utils/chat.js +1 -0
- package/dist/cjs/utils/chat.js.map +7 -0
- package/dist/cjs/utils/index.d.ts +2 -0
- package/dist/cjs/utils/index.js +49 -0
- package/dist/cjs/utils/index.js.map +7 -0
- package/dist/cjs/utils/providerManager.d.ts +22 -0
- package/dist/cjs/utils/providerManager.js +73 -0
- package/dist/cjs/utils/providerManager.js.map +7 -0
- package/dist/cjs/utils/request.d.ts +78 -0
- package/dist/cjs/utils/request.example.d.ts +39 -0
- package/dist/cjs/utils/request.example.js +211 -0
- package/dist/cjs/utils/request.example.js.map +7 -0
- package/dist/cjs/utils/request.js +231 -0
- package/dist/cjs/utils/request.js.map +7 -0
- package/dist/cjs/utils/umdEntry.d.ts +14 -0
- package/dist/cjs/utils/umdEntry.js +97 -0
- package/dist/cjs/utils/umdEntry.js.map +7 -0
- package/dist/esm/assets/user.png +0 -0
- package/dist/esm/client/base.d.ts +9 -0
- package/dist/esm/client/restClient.d.ts +0 -0
- package/dist/esm/client/wsClient.d.ts +0 -0
- package/dist/esm/components/XAiChatbot/XAiChatbot.stories.d.ts +10 -0
- package/dist/esm/components/XAiChatbot/index.d.ts +12 -0
- package/dist/esm/components/XAiChatbot/index.js +17 -11
- package/dist/esm/components/XAiChatbot/index.js.map +1 -1
- package/dist/esm/components/XAiChatbot/styles.d.ts +72 -0
- package/dist/esm/components/XAiChatbot/styles.js +37 -38
- package/dist/esm/components/XAiChatbot/styles.js.map +1 -1
- package/dist/esm/components/XAiProvider/XAiProvider.stories.d.ts +7 -0
- package/dist/esm/components/XAiProvider/index.d.ts +4 -0
- package/dist/esm/components/XAiProvider/index.js +8 -1
- package/dist/esm/components/XAiProvider/index.js.map +1 -1
- package/dist/esm/components/XAiSDK.d.ts +10 -0
- package/dist/esm/components/XAiWebSDKWrapper.d.ts +9 -0
- package/dist/esm/components/XAiWebSDKWrapper.js +4 -1
- package/dist/esm/components/XAiWebSDKWrapper.js.map +1 -1
- package/dist/esm/context/AiProviderContext.d.ts +12 -0
- package/dist/esm/context/ThemeContext.d.ts +20 -0
- package/dist/esm/hooks/useAgentGenerator.d.ts +72 -0
- package/dist/esm/hooks/useAgentGenerator.js +113 -39
- package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
- package/dist/esm/hooks/useEventStreamRequest.d.ts +30 -0
- package/dist/esm/hooks/useProviderContext.d.ts +33 -0
- package/dist/esm/hooks/useXAiSDK.d.ts +14 -0
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/services/api.d.ts +69 -0
- package/dist/esm/services/api.js.map +1 -1
- package/dist/esm/styles/common.d.ts +64 -0
- package/dist/esm/styles/markdown.d.ts +3 -0
- package/dist/esm/types/XAiChatbot.d.ts +159 -0
- package/dist/esm/types/XAiMessage.d.ts +121 -0
- package/dist/esm/types/XAiProvider.d.ts +46 -0
- package/dist/esm/types/XAiProvider.js +7 -0
- package/dist/esm/types/XAiProvider.js.map +1 -1
- package/dist/esm/types/index.d.ts +3 -0
- package/dist/esm/utils/chat.d.ts +34 -0
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/providerManager.d.ts +22 -0
- package/dist/esm/utils/request.d.ts +78 -0
- package/dist/esm/utils/request.example.d.ts +39 -0
- package/dist/esm/utils/umdEntry.d.ts +14 -0
- package/dist/esm/utils/umdEntry.js +22 -18
- package/dist/esm/utils/umdEntry.js.map +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/components/XAiProvider/index.tsx
|
|
30
|
+
var XAiProvider_exports = {};
|
|
31
|
+
__export(XAiProvider_exports, {
|
|
32
|
+
default: () => XAiProvider_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(XAiProvider_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_antd = require("antd");
|
|
37
|
+
var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
|
|
38
|
+
var import_x = require("@ant-design/x");
|
|
39
|
+
var import_AiProviderContext = require("../../context/AiProviderContext");
|
|
40
|
+
var import_useAgentGenerator = __toESM(require("../../hooks/useAgentGenerator"));
|
|
41
|
+
var import_user = __toESM(require("../../assets/user.png"));
|
|
42
|
+
var XAiProvider = ({
|
|
43
|
+
url,
|
|
44
|
+
token,
|
|
45
|
+
config,
|
|
46
|
+
providerId = "defaultId",
|
|
47
|
+
onSuccess,
|
|
48
|
+
onError,
|
|
49
|
+
children
|
|
50
|
+
}) => {
|
|
51
|
+
const { appInfo, chat, stopChat, reChat, messages, loading, setMessages } = (0, import_useAgentGenerator.default)({ url, token, config, onError, onSuccess });
|
|
52
|
+
const { appName, icon } = appInfo || {};
|
|
53
|
+
const handleSendMessage = (_type, content) => {
|
|
54
|
+
chat(content);
|
|
55
|
+
};
|
|
56
|
+
const handleClearMessage = () => {
|
|
57
|
+
stopChat();
|
|
58
|
+
setMessages([]);
|
|
59
|
+
};
|
|
60
|
+
const handleActions = (index, actionData) => {
|
|
61
|
+
const { content, id } = actionData || {};
|
|
62
|
+
const { text = "" } = content;
|
|
63
|
+
switch (index) {
|
|
64
|
+
case 0:
|
|
65
|
+
reChat();
|
|
66
|
+
break;
|
|
67
|
+
case 1:
|
|
68
|
+
(0, import_copy_to_clipboard.default)(text);
|
|
69
|
+
import_antd.message.success("复制成功");
|
|
70
|
+
break;
|
|
71
|
+
case 2:
|
|
72
|
+
setMessages((prev) => prev.filter((item) => item.id !== id));
|
|
73
|
+
import_antd.message.success("删除成功");
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
const handleSuggestMessageClick = (_item, id) => {
|
|
78
|
+
setMessages((prev) => prev.filter((m) => m.id !== id));
|
|
79
|
+
};
|
|
80
|
+
const ToolTip = (messageData) => {
|
|
81
|
+
const finalResult = ((messageData == null ? void 0 : messageData.think) || []).find((item) => item.actionName === "FINISHED");
|
|
82
|
+
if (!finalResult)
|
|
83
|
+
return null;
|
|
84
|
+
const { cost, token: tokenCount } = finalResult.extra || {};
|
|
85
|
+
if (!cost && !token)
|
|
86
|
+
return null;
|
|
87
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { style: { display: "flex", alignItems: "center", fontSize: "12px", color: "#949494", flex: 1, paddingRight: "40px" } }, cost !== void 0 && cost !== null && /* @__PURE__ */ import_react.default.createElement("div", null, cost, "s"), tokenCount && /* @__PURE__ */ import_react.default.createElement(import_antd.Divider, { type: "vertical" }), tokenCount && /* @__PURE__ */ import_react.default.createElement("div", null, tokenCount, " tokens"));
|
|
88
|
+
};
|
|
89
|
+
return /* @__PURE__ */ import_react.default.createElement(import_x.XProvider, null, /* @__PURE__ */ import_react.default.createElement(
|
|
90
|
+
import_AiProviderContext.XAiContext.Provider,
|
|
91
|
+
{
|
|
92
|
+
value: {
|
|
93
|
+
avatar: icon,
|
|
94
|
+
userAvatar: import_user.default,
|
|
95
|
+
emptyStateImage: icon,
|
|
96
|
+
emptyStateText: appName,
|
|
97
|
+
providerId,
|
|
98
|
+
token,
|
|
99
|
+
messages,
|
|
100
|
+
loading,
|
|
101
|
+
error: null,
|
|
102
|
+
messageTooltip: ToolTip,
|
|
103
|
+
onSend: handleSendMessage,
|
|
104
|
+
onClear: handleClearMessage,
|
|
105
|
+
onStop: stopChat,
|
|
106
|
+
onSuggestMessageClick: handleSuggestMessageClick,
|
|
107
|
+
onMessagesActionsCallback: handleActions,
|
|
108
|
+
isInProvider: true
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
children
|
|
112
|
+
));
|
|
113
|
+
};
|
|
114
|
+
var XAiProvider_default = XAiProvider;
|
|
115
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/XAiProvider/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { message, Divider } from 'antd';\nimport copy from 'copy-to-clipboard';\nimport { XProvider } from '@ant-design/x';\nimport { XAiContext } from '@/context/AiProviderContext';\nimport { XAiProviderProps } from '@/types/XAiProvider';\nimport useAgentGenerator from '@/hooks/useAgentGenerator';\nimport userIcon from '@/assets/user.png';\n\nconst XAiProvider: React.FC<XAiProviderProps> = ({\n url,\n token,\n config,\n providerId = 'defaultId',\n onSuccess,\n onError,\n children,\n}: XAiProviderProps) => {\n // 使用 useAgentGenerator Hook 管理消息状态\n const { appInfo, chat, stopChat, reChat, messages, loading, setMessages } = useAgentGenerator({ url, token, config, onError, onSuccess });\n\n const { appName, icon } = appInfo || {};\n\n // 发送消息\n const handleSendMessage = (_type: string, content: string) => {\n chat(content);\n };\n\n // 清空消息\n const handleClearMessage = () => {\n stopChat();\n setMessages([]);\n };\n\n // 工具栏按钮点击\n const handleActions = (index: number, actionData: any) => {\n const { content, id } = actionData || {};\n const { text = '' } = content;\n switch (index) {\n case 0:\n reChat();\n break;\n case 1:\n copy(text);\n message.success('复制成功');\n break;\n case 2:\n setMessages((prev: any[]) => prev.filter((item: any) => item.id !== id));\n message.success('删除成功');\n break;\n }\n };\n\n // 建议消息点击\n const handleSuggestMessageClick = (_item: any, id: string) => {\n setMessages((prev: any[]) => prev.filter((m: any) => m.id !== id));\n };\n\n const ToolTip = (messageData: any) => {\n const finalResult = (messageData?.think || []).find((item: any) => item.actionName === 'FINISHED');\n if (!finalResult) return null;\n const { cost, token: tokenCount } = finalResult.extra || {};\n if (!cost && !token) return null;\n return (\n <div style={{ display: 'flex', alignItems: 'center', fontSize: '12px', color: '#949494', flex: 1, paddingRight: '40px' }}>\n { (cost !== undefined && cost !== null) && <div>{cost}s</div> }\n { tokenCount && <Divider type=\"vertical\" /> }\n { tokenCount && <div>{ tokenCount } tokens</div> }\n </div>\n );\n };\n\n return (\n <XProvider>\n <XAiContext.Provider value={{\n avatar: icon,\n userAvatar: userIcon,\n emptyStateImage: icon,\n emptyStateText: appName,\n providerId,\n token,\n messages,\n loading,\n error: null,\n messageTooltip: ToolTip,\n onSend: handleSendMessage,\n onClear: handleClearMessage,\n onStop: stopChat,\n onSuggestMessageClick: handleSuggestMessageClick,\n onMessagesActionsCallback: handleActions,\n isInProvider: true,\n }}\n >\n {children}\n </XAiContext.Provider>\n </XProvider>\n );\n};\n\nexport default XAiProvider;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,kBAAiC;AACjC,+BAAiB;AACjB,eAA0B;AAC1B,+BAA2B;AAE3B,+BAA8B;AAC9B,kBAAqB;AAErB,IAAM,cAA0C,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AAEtB,QAAM,EAAE,SAAS,MAAM,UAAU,QAAQ,UAAU,SAAS,YAAY,QAAI,yBAAAA,SAAkB,EAAE,KAAK,OAAO,QAAQ,SAAS,UAAU,CAAC;AAExI,QAAM,EAAE,SAAS,KAAK,IAAI,WAAW,CAAC;AAGtC,QAAM,oBAAoB,CAAC,OAAe,YAAoB;AAC5D,SAAK,OAAO;AAAA,EACd;AAGA,QAAM,qBAAqB,MAAM;AAC/B,aAAS;AACT,gBAAY,CAAC,CAAC;AAAA,EAChB;AAGA,QAAM,gBAAgB,CAAC,OAAe,eAAoB;AACxD,UAAM,EAAE,SAAS,GAAG,IAAI,cAAc,CAAC;AACvC,UAAM,EAAE,OAAO,GAAG,IAAI;AACtB,YAAQ,OAAO;AAAA,MACb,KAAK;AACH,eAAO;AACP;AAAA,MACF,KAAK;AACH,qCAAAC,SAAK,IAAI;AACT,4BAAQ,QAAQ,MAAM;AACtB;AAAA,MACF,KAAK;AACH,oBAAY,CAAC,SAAgB,KAAK,OAAO,CAAC,SAAc,KAAK,OAAO,EAAE,CAAC;AACvE,4BAAQ,QAAQ,MAAM;AACtB;AAAA,IACJ;AAAA,EACF;AAGA,QAAM,4BAA4B,CAAC,OAAY,OAAe;AAC5D,gBAAY,CAAC,SAAgB,KAAK,OAAO,CAAC,MAAW,EAAE,OAAO,EAAE,CAAC;AAAA,EACnE;AAEA,QAAM,UAAU,CAAC,gBAAqB;AACpC,UAAM,gBAAe,2CAAa,UAAS,CAAC,GAAG,KAAK,CAAC,SAAc,KAAK,eAAe,UAAU;AACjG,QAAI,CAAC;AAAa,aAAO;AACzB,UAAM,EAAE,MAAM,OAAO,WAAW,IAAI,YAAY,SAAS,CAAC;AAC1D,QAAI,CAAC,QAAQ,CAAC;AAAO,aAAO;AAC5B,WACE,6BAAAC,QAAA,cAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,YAAY,UAAU,UAAU,QAAQ,OAAO,WAAW,MAAM,GAAG,cAAc,OAAO,KAClH,SAAS,UAAa,SAAS,QAAS,6BAAAA,QAAA,cAAC,aAAK,MAAK,GAAC,GACrD,cAAc,6BAAAA,QAAA,cAAC,uBAAQ,MAAK,YAAW,GACvC,cAAc,6BAAAA,QAAA,cAAC,aAAM,YAAY,SAAO,CAC5C;AAAA,EAEJ;AAEA,SACE,6BAAAA,QAAA,cAAC,0BACC,6BAAAA,QAAA;AAAA,IAAC,oCAAW;AAAA,IAAX;AAAA,MAAoB,OAAO;AAAA,QAC1B,QAAQ;AAAA,QACR,YAAY,YAAAC;AAAA,QACZ,iBAAiB;AAAA,QACjB,gBAAgB;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP,gBAAgB;AAAA,QAChB,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,uBAAuB;AAAA,QACvB,2BAA2B;AAAA,QAC3B,cAAc;AAAA,MAChB;AAAA;AAAA,IAEG;AAAA,EACH,CACF;AAEJ;AAEA,IAAO,sBAAQ;",
|
|
6
|
+
"names": ["useAgentGenerator", "copy", "React", "userIcon"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { XAiProviderProps } from "../types/XAiProvider";
|
|
3
|
+
export interface XAiSDKProps extends XAiProviderProps {
|
|
4
|
+
width?: string | number;
|
|
5
|
+
height?: string | number;
|
|
6
|
+
className?: string;
|
|
7
|
+
style?: React.CSSProperties;
|
|
8
|
+
}
|
|
9
|
+
declare const XAiSDK: React.FC<XAiSDKProps>;
|
|
10
|
+
export default XAiSDK;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/components/XAiSDK.tsx
|
|
30
|
+
var XAiSDK_exports = {};
|
|
31
|
+
__export(XAiSDK_exports, {
|
|
32
|
+
default: () => XAiSDK_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(XAiSDK_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_XAiProvider = __toESM(require("./XAiProvider"));
|
|
37
|
+
var import_XAiChatbot = __toESM(require("./XAiChatbot"));
|
|
38
|
+
var XAiSDK = ({
|
|
39
|
+
width = "400px",
|
|
40
|
+
height = "600px",
|
|
41
|
+
className,
|
|
42
|
+
style,
|
|
43
|
+
...providerProps
|
|
44
|
+
}) => {
|
|
45
|
+
const containerStyle = {
|
|
46
|
+
width: typeof width === "number" ? `${width}px` : width,
|
|
47
|
+
height: typeof height === "number" ? `${height}px` : height,
|
|
48
|
+
...style
|
|
49
|
+
};
|
|
50
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { className, style: containerStyle }, /* @__PURE__ */ import_react.default.createElement(import_XAiProvider.default, { ...providerProps }, /* @__PURE__ */ import_react.default.createElement(import_XAiChatbot.default, null)));
|
|
51
|
+
};
|
|
52
|
+
var XAiSDK_default = XAiSDK;
|
|
53
|
+
//# sourceMappingURL=XAiSDK.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/XAiSDK.tsx"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { XAiProviderProps } from '@/types/XAiProvider';\nimport XAiProvider from '@/components/XAiProvider';\nimport XAiChatbot from '@/components/XAiChatbot';\n\nexport interface XAiSDKProps extends XAiProviderProps {\n width?: string | number;\n height?: string | number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst XAiSDK: React.FC<XAiSDKProps> = ({\n width = '400px',\n height = '600px',\n className,\n style,\n ...providerProps\n}) => {\n const containerStyle: React.CSSProperties = {\n width: typeof width === 'number' ? `${width}px` : width,\n height: typeof height === 'number' ? `${height}px` : height,\n ...style,\n };\n\n return (\n <div className={className} style={containerStyle}>\n <XAiProvider {...providerProps}>\n <XAiChatbot />\n </XAiProvider>\n </div>\n );\n};\n\nexport default XAiSDK;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,yBAAwB;AACxB,wBAAuB;AASvB,IAAM,SAAgC,CAAC;AAAA,EACrC,QAAQ;AAAA,EACR,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,iBAAsC;AAAA,IAC1C,OAAO,OAAO,UAAU,WAAW,GAAG,YAAY;AAAA,IAClD,QAAQ,OAAO,WAAW,WAAW,GAAG,aAAa;AAAA,IACrD,GAAG;AAAA,EACL;AAEA,SACE,6BAAAA,QAAA,cAAC,SAAI,WAAsB,OAAO,kBAChC,6BAAAA,QAAA,cAAC,mBAAAC,SAAA,EAAa,GAAG,iBACf,6BAAAD,QAAA,cAAC,kBAAAE,SAAA,IAAW,CACd,CACF;AAEJ;AAEA,IAAO,iBAAQ;",
|
|
6
|
+
"names": ["React", "XAiProvider", "XAiChatbot"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { XAiSDKProps } from "../types/XAiProvider";
|
|
3
|
+
import XAiWebSDK from "../utils/umdEntry";
|
|
4
|
+
export interface XAiWebSDKWrapperProps extends XAiSDKProps {
|
|
5
|
+
onInit?: (sdk: XAiWebSDK) => void;
|
|
6
|
+
onDestroy?: () => void;
|
|
7
|
+
}
|
|
8
|
+
declare const XAiWebSDKWrapper: React.FC<XAiWebSDKWrapperProps>;
|
|
9
|
+
export default XAiWebSDKWrapper;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/components/XAiWebSDKWrapper.tsx
|
|
30
|
+
var XAiWebSDKWrapper_exports = {};
|
|
31
|
+
__export(XAiWebSDKWrapper_exports, {
|
|
32
|
+
default: () => XAiWebSDKWrapper_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(XAiWebSDKWrapper_exports);
|
|
35
|
+
var import_react = __toESM(require("react"));
|
|
36
|
+
var import_umdEntry = __toESM(require("../utils/umdEntry"));
|
|
37
|
+
var XAiWebSDKWrapper = ({
|
|
38
|
+
onInit,
|
|
39
|
+
onDestroy,
|
|
40
|
+
...sdkProps
|
|
41
|
+
}) => {
|
|
42
|
+
const sdkRef = (0, import_react.useRef)(null);
|
|
43
|
+
const containerRef = (0, import_react.useRef)(null);
|
|
44
|
+
(0, import_react.useEffect)(() => {
|
|
45
|
+
if (containerRef.current && !sdkRef.current) {
|
|
46
|
+
sdkRef.current = import_umdEntry.default.initChatbot({
|
|
47
|
+
...sdkProps,
|
|
48
|
+
componentProps: {
|
|
49
|
+
...sdkProps.componentProps || {}
|
|
50
|
+
// 保证容器 id 唯一或传递其它样式
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
if (onInit && sdkRef.current) {
|
|
54
|
+
onInit(sdkRef.current);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return () => {
|
|
58
|
+
if (sdkRef.current) {
|
|
59
|
+
sdkRef.current.unmount();
|
|
60
|
+
sdkRef.current = null;
|
|
61
|
+
if (onDestroy) {
|
|
62
|
+
onDestroy();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}, []);
|
|
67
|
+
return /* @__PURE__ */ import_react.default.createElement("div", { ref: containerRef });
|
|
68
|
+
};
|
|
69
|
+
var XAiWebSDKWrapper_default = XAiWebSDKWrapper;
|
|
70
|
+
//# sourceMappingURL=XAiWebSDKWrapper.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/components/XAiWebSDKWrapper.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { useEffect, useRef } from 'react';\nimport { XAiSDKProps } from '@/types/XAiProvider';\nimport XAiWebSDK from '@/utils/umdEntry';\n\nexport interface XAiWebSDKWrapperProps extends XAiSDKProps {\n onInit?: (sdk: XAiWebSDK) => void;\n onDestroy?: () => void;\n}\n\nconst XAiWebSDKWrapper: React.FC<XAiWebSDKWrapperProps> = ({\n onInit,\n onDestroy,\n ...sdkProps\n}) => {\n const sdkRef = useRef<XAiWebSDK | null>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (containerRef.current && !sdkRef.current) {\n // 创建 SDK 实例\n sdkRef.current = XAiWebSDK.initChatbot({\n ...sdkProps,\n componentProps: {\n ...(sdkProps.componentProps || {}),\n // 保证容器 id 唯一或传递其它样式\n },\n });\n\n // 调用初始化回调\n if (onInit && sdkRef.current) {\n onInit(sdkRef.current);\n }\n }\n\n // 清理函数\n return () => {\n if (sdkRef.current) {\n sdkRef.current.unmount();\n sdkRef.current = null;\n\n // 调用销毁回调\n if (onDestroy) {\n onDestroy();\n }\n }\n };\n }, []); // 只在组件挂载时初始化\n\n return <div ref={containerRef} />;\n};\n\nexport default XAiWebSDKWrapper;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyC;AAEzC,sBAAsB;AAOtB,IAAM,mBAAoD,CAAC;AAAA,EACzD;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,aAAS,qBAAyB,IAAI;AAC5C,QAAM,mBAAe,qBAAuB,IAAI;AAEhD,8BAAU,MAAM;AACd,QAAI,aAAa,WAAW,CAAC,OAAO,SAAS;AAE3C,aAAO,UAAU,gBAAAA,QAAU,YAAY;AAAA,QACrC,GAAG;AAAA,QACH,gBAAgB;AAAA,UACd,GAAI,SAAS,kBAAkB,CAAC;AAAA;AAAA,QAElC;AAAA,MACF,CAAC;AAGD,UAAI,UAAU,OAAO,SAAS;AAC5B,eAAO,OAAO,OAAO;AAAA,MACvB;AAAA,IACF;AAGA,WAAO,MAAM;AACX,UAAI,OAAO,SAAS;AAClB,eAAO,QAAQ,QAAQ;AACvB,eAAO,UAAU;AAGjB,YAAI,WAAW;AACb,oBAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO,6BAAAC,QAAA,cAAC,SAAI,KAAK,cAAc;AACjC;AAEA,IAAO,2BAAQ;",
|
|
6
|
+
"names": ["XAiWebSDK", "React"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { XAiChatbotProps } from "../types/XAiChatbot";
|
|
3
|
+
export interface XAiContextType extends XAiChatbotProps {
|
|
4
|
+
providerId?: string;
|
|
5
|
+
token: string;
|
|
6
|
+
error: string | null;
|
|
7
|
+
isInProvider?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare const XAiContext: React.Context<XAiContextType>;
|
|
10
|
+
export { XAiContext };
|
|
11
|
+
export declare const useXAi: () => XAiContextType | undefined;
|
|
12
|
+
export declare const useXAiProviders: () => string[];
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/context/AiProviderContext.tsx
|
|
20
|
+
var AiProviderContext_exports = {};
|
|
21
|
+
__export(AiProviderContext_exports, {
|
|
22
|
+
XAiContext: () => XAiContext,
|
|
23
|
+
useXAi: () => useXAi,
|
|
24
|
+
useXAiProviders: () => useXAiProviders
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(AiProviderContext_exports);
|
|
27
|
+
var import_react = require("react");
|
|
28
|
+
var defaultContextValue = {
|
|
29
|
+
providerId: void 0,
|
|
30
|
+
token: "",
|
|
31
|
+
messages: [],
|
|
32
|
+
loading: false,
|
|
33
|
+
error: null,
|
|
34
|
+
emptyStateImage: "",
|
|
35
|
+
emptyStateText: "",
|
|
36
|
+
isInProvider: false
|
|
37
|
+
};
|
|
38
|
+
var XAiContext = (() => {
|
|
39
|
+
try {
|
|
40
|
+
return (0, import_react.createContext)(defaultContextValue);
|
|
41
|
+
} catch {
|
|
42
|
+
const fallback = {};
|
|
43
|
+
return fallback;
|
|
44
|
+
}
|
|
45
|
+
})();
|
|
46
|
+
var useXAi = () => {
|
|
47
|
+
try {
|
|
48
|
+
const context = (0, import_react.useContext)(XAiContext);
|
|
49
|
+
if (!(context == null ? void 0 : context.isInProvider)) {
|
|
50
|
+
return void 0;
|
|
51
|
+
}
|
|
52
|
+
return context;
|
|
53
|
+
} catch {
|
|
54
|
+
return void 0;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var useXAiProviders = () => {
|
|
58
|
+
try {
|
|
59
|
+
const context = (0, import_react.useContext)(XAiContext);
|
|
60
|
+
if (!(context == null ? void 0 : context.isInProvider)) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
return context.providerId ? [context.providerId] : [];
|
|
64
|
+
} catch {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
69
|
+
0 && (module.exports = {
|
|
70
|
+
XAiContext,
|
|
71
|
+
useXAi,
|
|
72
|
+
useXAiProviders
|
|
73
|
+
});
|
|
74
|
+
//# sourceMappingURL=AiProviderContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/context/AiProviderContext.tsx"],
|
|
4
|
+
"sourcesContent": ["import { createContext, useContext } from 'react';\nimport type { XAiChatbotProps } from '@/types/XAiChatbot';\n\n// 定义 context 的类型\nexport interface XAiContextType extends XAiChatbotProps {\n providerId?: string;\n token: string;\n error: string | null;\n // 标识是否在真实的 Provider 中\n isInProvider?: boolean;\n}\n\n// 默认 context 值\nconst defaultContextValue: XAiContextType = {\n providerId: undefined,\n token: '',\n messages: [],\n loading: false,\n error: null,\n emptyStateImage: '',\n emptyStateText: '',\n\n isInProvider: false,\n};\n\n// 安全地创建 context,避免 React 为 null 的情况\nconst XAiContext: React.Context<XAiContextType> = (() => {\n try {\n return createContext<XAiContextType>(defaultContextValue);\n } catch {\n // 如果 React 不可用,创建一个 fallback\n // eslint-disable-next-line\n const fallback: React.Context<XAiContextType> = {} as React.Context<XAiContextType>;\n return fallback;\n }\n})();\n\nexport { XAiContext };\n\n// 改进的 useXAi hook\nexport const useXAi = () => {\n try {\n const context = useContext(XAiContext);\n\n // 如果没有在 Provider 中,返回 undefined\n if (!context?.isInProvider) {\n return undefined;\n }\n\n return context;\n } catch {\n // 如果 useContext 失败,返回 undefined\n return undefined;\n }\n};\n\n// 获取所有可用的 Provider ID\nexport const useXAiProviders = () => {\n try {\n const context = useContext(XAiContext);\n\n // 如果没有在 Provider 中,返回空数组\n if (!context?.isInProvider) {\n return [];\n }\n\n // 返回当前 Provider 的 ID(如果有的话)\n return context.providerId ? [context.providerId] : [];\n } catch {\n return [];\n }\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0C;AAa1C,IAAM,sBAAsC;AAAA,EAC1C,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,UAAU,CAAC;AAAA,EACX,SAAS;AAAA,EACT,OAAO;AAAA,EACP,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAEhB,cAAc;AAChB;AAGA,IAAM,cAA6C,MAAM;AACvD,MAAI;AACF,eAAO,4BAA8B,mBAAmB;AAAA,EAC1D,QAAE;AAGA,UAAM,WAA0C,CAAC;AACjD,WAAO;AAAA,EACT;AACF,GAAG;AAKI,IAAM,SAAS,MAAM;AAC1B,MAAI;AACF,UAAM,cAAU,yBAAW,UAAU;AAGrC,QAAI,EAAC,mCAAS,eAAc;AAC1B,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT,QAAE;AAEA,WAAO;AAAA,EACT;AACF;AAGO,IAAM,kBAAkB,MAAM;AACnC,MAAI;AACF,UAAM,cAAU,yBAAW,UAAU;AAGrC,QAAI,EAAC,mCAAS,eAAc;AAC1B,aAAO,CAAC;AAAA,IACV;AAGA,WAAO,QAAQ,aAAa,CAAC,QAAQ,UAAU,IAAI,CAAC;AAAA,EACtD,QAAE;AACA,WAAO,CAAC;AAAA,EACV;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface XThemeConfig {
|
|
3
|
+
mode?: 'light' | 'dark';
|
|
4
|
+
primaryColor?: string;
|
|
5
|
+
bubble?: {
|
|
6
|
+
className?: string;
|
|
7
|
+
style?: React.CSSProperties;
|
|
8
|
+
classNames?: Record<string, string>;
|
|
9
|
+
styles?: Record<string, React.CSSProperties>;
|
|
10
|
+
};
|
|
11
|
+
sender?: {
|
|
12
|
+
className?: string;
|
|
13
|
+
style?: React.CSSProperties;
|
|
14
|
+
classNames?: Record<string, string>;
|
|
15
|
+
styles?: Record<string, React.CSSProperties>;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare const ThemeContext: React.Context<XThemeConfig>;
|
|
19
|
+
export declare const useTheme: () => XThemeConfig;
|
|
20
|
+
export declare const ThemeProvider: React.Provider<XThemeConfig>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// src/context/ThemeContext.tsx
|
|
20
|
+
var ThemeContext_exports = {};
|
|
21
|
+
__export(ThemeContext_exports, {
|
|
22
|
+
ThemeContext: () => ThemeContext,
|
|
23
|
+
ThemeProvider: () => ThemeProvider,
|
|
24
|
+
useTheme: () => useTheme
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(ThemeContext_exports);
|
|
27
|
+
var import_react = require("react");
|
|
28
|
+
var ThemeContext = (0, import_react.createContext)({});
|
|
29
|
+
var useTheme = () => (0, import_react.useContext)(ThemeContext);
|
|
30
|
+
var ThemeProvider = ThemeContext.Provider;
|
|
31
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
+
0 && (module.exports = {
|
|
33
|
+
ThemeContext,
|
|
34
|
+
ThemeProvider,
|
|
35
|
+
useTheme
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=ThemeContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/context/ThemeContext.tsx"],
|
|
4
|
+
"sourcesContent": ["// src/context/ThemeContext.tsx\nimport React, { createContext, useContext } from 'react';\n\nexport interface XThemeConfig {\n mode?: 'light' | 'dark';\n primaryColor?: string;\n bubble?: {\n className?: string;\n style?: React.CSSProperties;\n classNames?: Record<string, string>;\n styles?: Record<string, React.CSSProperties>;\n };\n sender?: {\n className?: string;\n style?: React.CSSProperties;\n classNames?: Record<string, string>;\n styles?: Record<string, React.CSSProperties>;\n };\n // ...其它组件配置\n}\n\nexport const ThemeContext = createContext<XThemeConfig>({});\n\nexport const useTheme = () => useContext(ThemeContext);\n\nexport const ThemeProvider = ThemeContext.Provider;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAiD;AAoB1C,IAAM,mBAAe,4BAA4B,CAAC,CAAC;AAEnD,IAAM,WAAW,UAAM,yBAAW,YAAY;AAE9C,IAAM,gBAAgB,aAAa;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Messages } from "../types/XAiMessage";
|
|
3
|
+
import { Error } from "../types/XAiProvider";
|
|
4
|
+
export type ContentType = 'TEXT' | 'IMAGE' | 'FILE';
|
|
5
|
+
export interface ImageUrl {
|
|
6
|
+
url: string;
|
|
7
|
+
name: string;
|
|
8
|
+
}
|
|
9
|
+
export interface FileUrl {
|
|
10
|
+
url: string;
|
|
11
|
+
fileName: string;
|
|
12
|
+
suffix: string;
|
|
13
|
+
}
|
|
14
|
+
export interface Content {
|
|
15
|
+
text?: string;
|
|
16
|
+
imageUrl?: ImageUrl;
|
|
17
|
+
fileUrl?: FileUrl;
|
|
18
|
+
}
|
|
19
|
+
export interface ContentDef {
|
|
20
|
+
description: string;
|
|
21
|
+
contentType: ContentType;
|
|
22
|
+
content: Content;
|
|
23
|
+
}
|
|
24
|
+
export type Contents = ContentDef[];
|
|
25
|
+
export declare enum ActionType {
|
|
26
|
+
recallKnowledgeStart = "RECALL_KNOWLEDGE_START",// 知识库召回开始
|
|
27
|
+
recallKnowledgeEnd = "RECALL_KNOWLEDGE_END",// 知识库召回结束
|
|
28
|
+
invokeToolStart = "INVOKE_AGENT_TOOL_START",// 开始调用工具
|
|
29
|
+
invokeToolEnd = "INVOKE_AGENT_TOOL_END",// 调用工具完成
|
|
30
|
+
suggest = "FOLLOW_UP",// 用户提示
|
|
31
|
+
response = "RESPONSE",// 响应
|
|
32
|
+
finish = "FINISHED"
|
|
33
|
+
}
|
|
34
|
+
export declare enum ProcessStatus {
|
|
35
|
+
start = "START",
|
|
36
|
+
end = "END"
|
|
37
|
+
}
|
|
38
|
+
export declare enum ActionAvailability {
|
|
39
|
+
disabled = "disabled",// 不可用
|
|
40
|
+
enabled = "enabled",// 可用
|
|
41
|
+
remote = "remote"
|
|
42
|
+
}
|
|
43
|
+
export type ThinkStep = any;
|
|
44
|
+
/**
|
|
45
|
+
* 工具/动作定义
|
|
46
|
+
*/
|
|
47
|
+
export interface Action {
|
|
48
|
+
name: string;
|
|
49
|
+
description: string;
|
|
50
|
+
jsonSchema: string;
|
|
51
|
+
available?: ActionAvailability;
|
|
52
|
+
error?: Error;
|
|
53
|
+
}
|
|
54
|
+
export interface UseAgentGeneratorProps {
|
|
55
|
+
url: string;
|
|
56
|
+
token: string;
|
|
57
|
+
config: any;
|
|
58
|
+
onError?: (error: Error) => void;
|
|
59
|
+
onSuccess?: (appInfo: any) => void;
|
|
60
|
+
}
|
|
61
|
+
declare const useAgentGenerator: ({ url, token, config, onError, onSuccess, }: UseAgentGeneratorProps) => {
|
|
62
|
+
appInfo: any;
|
|
63
|
+
messages: Messages[];
|
|
64
|
+
loading: boolean;
|
|
65
|
+
content: any;
|
|
66
|
+
reChat: () => void;
|
|
67
|
+
chat: (content: any) => Promise<void>;
|
|
68
|
+
setMessage: (messageType: string, content: any) => Promise<void>;
|
|
69
|
+
setMessages: import("react").Dispatch<import("react").SetStateAction<Messages[]>>;
|
|
70
|
+
stopChat: () => void;
|
|
71
|
+
};
|
|
72
|
+
export default useAgentGenerator;
|