@ai-group/chat-sdk 0.2.8 → 0.3.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.
- package/dist/cjs/components/XAiChatbot/index.js +14 -5
- package/dist/cjs/components/XAiChatbot/index.js.map +2 -2
- package/dist/cjs/components/XAiChatbot/styles.d.ts +1 -0
- package/dist/cjs/components/XAiChatbot/styles.js +13 -0
- package/dist/cjs/components/XAiChatbot/styles.js.map +2 -2
- package/dist/cjs/components/XAiConversations/XAiConversations.stories.d.ts +6 -0
- package/dist/cjs/components/XAiConversations/XAiConversations.stories.js +82 -0
- package/dist/cjs/components/XAiConversations/XAiConversations.stories.js.map +7 -0
- package/dist/cjs/components/XAiConversations/index.d.ts +4 -0
- package/dist/cjs/components/XAiConversations/index.js +59 -0
- package/dist/cjs/components/XAiConversations/index.js.map +7 -0
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.d.ts +2 -2
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +12 -12
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +2 -2
- package/dist/cjs/components/XAiProvider/demo.styles.d.ts +35 -0
- package/dist/cjs/components/XAiProvider/demo.styles.js +37 -0
- package/dist/cjs/components/XAiProvider/demo.styles.js.map +7 -0
- package/dist/cjs/components/XAiProvider/index.js +7 -4
- package/dist/cjs/components/XAiProvider/index.js.map +3 -3
- package/dist/cjs/hooks/useAgentGenerator.d.ts +3 -0
- package/dist/cjs/hooks/useAgentGenerator.js +162 -69
- package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
- package/dist/cjs/services/api.d.ts +33 -0
- package/dist/cjs/services/api.js +33 -0
- package/dist/cjs/services/api.js.map +2 -2
- package/dist/cjs/styles/markdown.js +140 -138
- package/dist/cjs/styles/markdown.js.map +2 -2
- package/dist/cjs/types/XAiChatbot.d.ts +2 -0
- package/dist/cjs/types/XAiChatbot.js.map +1 -1
- package/dist/cjs/types/XAiConversations.d.ts +4 -0
- package/dist/cjs/types/XAiConversations.js +18 -0
- package/dist/cjs/types/XAiConversations.js.map +7 -0
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +3 -1
- package/dist/cjs/types/index.js.map +2 -2
- package/dist/esm/components/XAiChatbot/index.js +22 -4
- package/dist/esm/components/XAiChatbot/index.js.map +1 -1
- package/dist/esm/components/XAiChatbot/styles.d.ts +1 -0
- package/dist/esm/components/XAiChatbot/styles.js +18 -17
- package/dist/esm/components/XAiChatbot/styles.js.map +1 -1
- package/dist/esm/components/XAiConversations/XAiConversations.stories.d.ts +6 -0
- package/dist/esm/components/XAiConversations/XAiConversations.stories.js +42 -0
- package/dist/esm/components/XAiConversations/XAiConversations.stories.js.map +1 -0
- package/dist/esm/components/XAiConversations/index.d.ts +4 -0
- package/dist/esm/components/XAiConversations/index.js +27 -0
- package/dist/esm/components/XAiConversations/index.js.map +1 -0
- package/dist/esm/components/XAiProvider/XAiProvider.stories.d.ts +2 -2
- package/dist/esm/components/XAiProvider/XAiProvider.stories.js +38 -180
- package/dist/esm/components/XAiProvider/XAiProvider.stories.js.map +1 -1
- package/dist/esm/components/XAiProvider/demo.styles.d.ts +35 -0
- package/dist/esm/components/XAiProvider/demo.styles.js +12 -0
- package/dist/esm/components/XAiProvider/demo.styles.js.map +1 -0
- package/dist/esm/components/XAiProvider/index.js +14 -3
- package/dist/esm/components/XAiProvider/index.js.map +1 -1
- package/dist/esm/hooks/useAgentGenerator.d.ts +3 -0
- package/dist/esm/hooks/useAgentGenerator.js +268 -114
- package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
- package/dist/esm/services/api.d.ts +33 -0
- package/dist/esm/services/api.js +75 -0
- package/dist/esm/services/api.js.map +1 -1
- package/dist/esm/styles/markdown.js +1 -1
- package/dist/esm/styles/markdown.js.map +1 -1
- package/dist/esm/types/XAiChatbot.d.ts +2 -0
- package/dist/esm/types/XAiChatbot.js.map +1 -1
- package/dist/esm/types/XAiConversations.d.ts +4 -0
- package/dist/esm/types/XAiConversations.js +2 -0
- package/dist/esm/types/XAiConversations.js.map +1 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/umd/chat-sdk.min.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import React, { useState } from 'react';
|
|
4
|
+
import { Conversations } from '@ant-design/x';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
var XAiConversations = function XAiConversations(props) {
|
|
7
|
+
var items = props.items,
|
|
8
|
+
style = props.style;
|
|
9
|
+
var _useState = useState(''),
|
|
10
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
11
|
+
activeKey = _useState2[0],
|
|
12
|
+
setActiveKey = _useState2[1];
|
|
13
|
+
return /*#__PURE__*/_jsx(Conversations, {
|
|
14
|
+
activeKey: activeKey,
|
|
15
|
+
onActiveChange: function onActiveChange(v) {
|
|
16
|
+
return setActiveKey(v);
|
|
17
|
+
},
|
|
18
|
+
items: items,
|
|
19
|
+
style: _objectSpread({
|
|
20
|
+
width: 256,
|
|
21
|
+
background: '#fff',
|
|
22
|
+
borderRadius: '6px'
|
|
23
|
+
}, style)
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
export default XAiConversations;
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","Conversations","jsx","_jsx","XAiConversations","props","items","style","_useState","_useState2","_slicedToArray","activeKey","setActiveKey","onActiveChange","v","_objectSpread","width","background","borderRadius"],"sources":["../../../../src/components/XAiConversations/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Conversations } from '@ant-design/x';\nimport { type XAiConversationsProps } from '@/types/XAiConversations';\n\nconst XAiConversations: React.FC<XAiConversationsProps> = (props) => {\n const {\n items,\n style,\n } = props;\n\n const [activeKey, setActiveKey] = useState('');\n\n return (\n <Conversations\n activeKey={activeKey}\n onActiveChange={(v) => setActiveKey(v)}\n items={items}\n style={{\n width: 256,\n background: '#fff',\n borderRadius: '6px',\n ...style,\n }}\n />\n );\n};\n\nexport default XAiConversations;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,aAAa,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG9C,IAAMC,gBAAiD,GAAG,SAApDA,gBAAiDA,CAAIC,KAAK,EAAK;EACnE,IACEC,KAAK,GAEHD,KAAK,CAFPC,KAAK;IACLC,KAAK,GACHF,KAAK,CADPE,KAAK;EAGP,IAAAC,SAAA,GAAkCR,QAAQ,CAAC,EAAE,CAAC;IAAAS,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAAvCG,SAAS,GAAAF,UAAA;IAAEG,YAAY,GAAAH,UAAA;EAE9B,oBACEN,IAAA,CAACF,aAAa;IACZU,SAAS,EAAEA,SAAU;IACrBE,cAAc,EAAE,SAAAA,eAACC,CAAC;MAAA,OAAKF,YAAY,CAACE,CAAC,CAAC;IAAA,CAAC;IACvCR,KAAK,EAAEA,KAAM;IACbC,KAAK,EAAAQ,aAAA;MACHC,KAAK,EAAE,GAAG;MACVC,UAAU,EAAE,MAAM;MAClBC,YAAY,EAAE;IAAK,GAChBX,KAAK;EACR,CACH,CAAC;AAEN,CAAC;AAED,eAAeH,gBAAgB"}
|
|
@@ -3,5 +3,5 @@ import XAiProvider from './index';
|
|
|
3
3
|
declare const meta: Meta<typeof XAiProvider>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
6
|
-
export declare const
|
|
7
|
-
export declare const
|
|
6
|
+
export declare const 单聊天窗口: Story;
|
|
7
|
+
export declare const 多容器示例: Story;
|
|
@@ -42,7 +42,7 @@ var meta = {
|
|
|
42
42
|
};
|
|
43
43
|
export default meta;
|
|
44
44
|
// 使用 Provider 的 XAiChatbot
|
|
45
|
-
export var
|
|
45
|
+
export var 单聊天窗口 = {
|
|
46
46
|
render: function render(args) {
|
|
47
47
|
return /*#__PURE__*/_jsx("div", {
|
|
48
48
|
style: {
|
|
@@ -55,7 +55,7 @@ export var WithProvider = {
|
|
|
55
55
|
navbar: {
|
|
56
56
|
title: 'Provider 聊天机器人',
|
|
57
57
|
subtitle: '由 Provider 管理消息',
|
|
58
|
-
avatar: 'https://
|
|
58
|
+
avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg'
|
|
59
59
|
}
|
|
60
60
|
})
|
|
61
61
|
}))
|
|
@@ -63,9 +63,9 @@ export var WithProvider = {
|
|
|
63
63
|
},
|
|
64
64
|
args: {
|
|
65
65
|
url: 'http://ai-platform.xline-dev.test.xinke.biz',
|
|
66
|
-
token: 'eyJhbGciOiJIUzUxMiJ9.
|
|
66
|
+
token: 'eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJkZGUzOTcwOS0wMDdlLTQ5YWItYjIzMy1iMTZmYzRkMDU2N2QiLCJzdWIiOiJSZXgiLCJpc3MiOiJodHRwOi8vY2hhdC10ZXN0LnpheGxpbmUuY29tIiwiYXVkIjoiTWFpblN0YXRpb24iLCJpYXQiOjE3NTQ1Njc4NTMsImV4cCI6MTc1NDU3NTA1MywidHlwZSI6ImFjY2VzcyIsImNsaWVudF9pZCI6IkFwcDE5NTAwMjA1OTQ0NTI2NjAyMjQiLCJzY29wZSI6ImFsbCIsInBsYXRmb3JtX3R5cGUiOiJNYWluU3RhdGlvbiJ9.jH9muK_MWcE9NtWxPJRqeoeGsnRf79B2oOpQjemJ6kY5_UjAT06BWlX3bszHeRbJbk1OM_kfCeugiO3Gokpj2A',
|
|
67
67
|
config: {
|
|
68
|
-
appNo: '
|
|
68
|
+
appNo: 'App1950020594452660224',
|
|
69
69
|
pt: 'MainStation',
|
|
70
70
|
tc: 'ZABX'
|
|
71
71
|
},
|
|
@@ -73,8 +73,39 @@ export var WithProvider = {
|
|
|
73
73
|
}
|
|
74
74
|
};
|
|
75
75
|
|
|
76
|
+
// export const 带历史记录聊天窗口: Story = {
|
|
77
|
+
// render: (args) => {
|
|
78
|
+
// function WithStyles(props: any) {
|
|
79
|
+
// const styles = useStyles();
|
|
80
|
+
// return (
|
|
81
|
+
// <XAiProvider {...props}>
|
|
82
|
+
// <div className={styles.wrapper}>
|
|
83
|
+
// <div>
|
|
84
|
+
// <XAiConversations />
|
|
85
|
+
// </div>
|
|
86
|
+
// <div>
|
|
87
|
+
// <XAiChatbot />
|
|
88
|
+
// </div>
|
|
89
|
+
// </div>
|
|
90
|
+
// </XAiProvider>
|
|
91
|
+
// );
|
|
92
|
+
// }
|
|
93
|
+
// return <WithStyles {...args} />;
|
|
94
|
+
// },
|
|
95
|
+
// args: {
|
|
96
|
+
// url: 'http://ai-platform.xline-dev.test.xinke.biz',
|
|
97
|
+
// token: 'eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJjYWIxYjM3Ni03MmZjLTRkNWEtOTIzMC01N2U3NmZiMGI4NmQiLCJzdWIiOiJSZXgiLCJpc3MiOiJodHRwOi8vY2hhdC10ZXN0LnpheGxpbmUuY29tIiwiYXVkIjoiTWFpblN0YXRpb24iLCJpYXQiOjE3NTQzMTc1OTAsImV4cCI6MTc1NDkyMjM5MCwidHlwZSI6InJlZnJlc2giLCJjbGllbnRfaWQiOiJBcHAxOTUwMDIwNTk0NDUyNjYwMjI0Iiwic2NvcGUiOiJhbGwiLCJwbGF0Zm9ybV90eXBlIjoiTWFpblN0YXRpb24ifQ.crZFQRycuHHA1iIIFJ5ak9kS1-04Eqro-QWWG8HZj6Dz7DkLWYuQBPCrUlCtavGu0XW5tqHZ5WW4tdST06FvEA',
|
|
98
|
+
// config: {
|
|
99
|
+
// appNo: 'App1952213101022154752',
|
|
100
|
+
// pt: 'MainStation',
|
|
101
|
+
// tc: 'ZABX',
|
|
102
|
+
// },
|
|
103
|
+
// providerId: 'demo-provider',
|
|
104
|
+
// },
|
|
105
|
+
// };
|
|
106
|
+
|
|
76
107
|
// 多个 Provider 示例
|
|
77
|
-
export var
|
|
108
|
+
export var 多容器示例 = {
|
|
78
109
|
render: function render(args) {
|
|
79
110
|
return /*#__PURE__*/_jsxs("div", {
|
|
80
111
|
style: {
|
|
@@ -93,7 +124,7 @@ export var MultipleProviders = {
|
|
|
93
124
|
navbar: {
|
|
94
125
|
title: 'Provider 1',
|
|
95
126
|
subtitle: '第一个聊天机器人',
|
|
96
|
-
avatar: 'https://
|
|
127
|
+
avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg'
|
|
97
128
|
}
|
|
98
129
|
})
|
|
99
130
|
}))
|
|
@@ -109,7 +140,7 @@ export var MultipleProviders = {
|
|
|
109
140
|
navbar: {
|
|
110
141
|
title: 'Provider 2',
|
|
111
142
|
subtitle: '第二个聊天机器人',
|
|
112
|
-
avatar: 'https://
|
|
143
|
+
avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg'
|
|
113
144
|
}
|
|
114
145
|
})
|
|
115
146
|
}))
|
|
@@ -121,177 +152,4 @@ export var MultipleProviders = {
|
|
|
121
152
|
token: 'your-token-here'
|
|
122
153
|
}
|
|
123
154
|
};
|
|
124
|
-
|
|
125
|
-
// // 自定义消息处理示例
|
|
126
|
-
// export const CustomMessageHandling: Story = {
|
|
127
|
-
// render: (args) => (
|
|
128
|
-
// <div style={{ width: '400px', height: '600px' }}>
|
|
129
|
-
// <XAiProvider {...args}>
|
|
130
|
-
// <XAiChatbot
|
|
131
|
-
// navbarShow
|
|
132
|
-
// navbar={{
|
|
133
|
-
// title: '自定义处理',
|
|
134
|
-
// subtitle: '自定义消息处理逻辑',
|
|
135
|
-
// avatar: 'https://via.placeholder.com/40',
|
|
136
|
-
// }}
|
|
137
|
-
// messageActions={[
|
|
138
|
-
// {
|
|
139
|
-
// key: 'custom',
|
|
140
|
-
// icon: <span>🔧</span>,
|
|
141
|
-
// tooltip: '自定义操作',
|
|
142
|
-
// },
|
|
143
|
-
// ]}
|
|
144
|
-
// onMessagesActionsCallback={(index, data) => {
|
|
145
|
-
// console.log('自定义操作:', index, data);
|
|
146
|
-
// }}
|
|
147
|
-
// />
|
|
148
|
-
// </XAiProvider>
|
|
149
|
-
// </div>
|
|
150
|
-
// ),
|
|
151
|
-
// args: {
|
|
152
|
-
// url: 'https://api.example.com/ai',
|
|
153
|
-
// token: 'your-token-here',
|
|
154
|
-
// providerId: 'custom-provider',
|
|
155
|
-
// },
|
|
156
|
-
// };
|
|
157
|
-
|
|
158
|
-
// // 示例 1: 使用通用 Hook 的组件
|
|
159
|
-
// const GenericComponent = React.memo<{ title: string }>(({ title }) => {
|
|
160
|
-
// const { isInProvider, getProviderValue } = useProviderContext({
|
|
161
|
-
// props: { title },
|
|
162
|
-
// });
|
|
163
|
-
|
|
164
|
-
// const providerMethods = useProviderMethods();
|
|
165
|
-
|
|
166
|
-
// const handleCustomAction = () => {
|
|
167
|
-
// if (isInProvider) {
|
|
168
|
-
// providerMethods.sendMessage?.('自定义消息');
|
|
169
|
-
// } else {
|
|
170
|
-
// console.log('独立组件动作');
|
|
171
|
-
// }
|
|
172
|
-
// };
|
|
173
|
-
|
|
174
|
-
// return (
|
|
175
|
-
// <div style={{ padding: '20px', border: '1px solid #ccc', marginBottom: '10px' }}>
|
|
176
|
-
// <h3>{title}</h3>
|
|
177
|
-
// <p>是否在 Provider 中: {isInProvider ? '是' : '否'}</p>
|
|
178
|
-
// <p>消息数量: {getProviderValue('messages')?.length || 0}</p>
|
|
179
|
-
// <button onClick={handleCustomAction}>
|
|
180
|
-
// {isInProvider ? '使用 Provider 方法' : '使用原有回调'}
|
|
181
|
-
// </button>
|
|
182
|
-
// </div>
|
|
183
|
-
// );
|
|
184
|
-
// });
|
|
185
|
-
|
|
186
|
-
// // 示例 2: 自定义聊天组件
|
|
187
|
-
// const CustomChatComponent = React.memo(() => {
|
|
188
|
-
// const { isInProvider, getProviderValue } = useProviderContext({
|
|
189
|
-
// props: {},
|
|
190
|
-
// });
|
|
191
|
-
|
|
192
|
-
// const providerMethods = useProviderMethods();
|
|
193
|
-
|
|
194
|
-
// const messageCount = getProviderValue('messages')?.length || 0;
|
|
195
|
-
// const theme = messageCount > 5 ? 'dark' : 'light';
|
|
196
|
-
|
|
197
|
-
// return (
|
|
198
|
-
// <div style={{
|
|
199
|
-
// padding: '20px',
|
|
200
|
-
// backgroundColor: theme === 'dark' ? '#333' : '#fff',
|
|
201
|
-
// color: theme === 'dark' ? '#fff' : '#333',
|
|
202
|
-
// border: '1px solid #ccc',
|
|
203
|
-
// marginBottom: '10px',
|
|
204
|
-
// }}
|
|
205
|
-
// >
|
|
206
|
-
// <h3>自定义聊天组件</h3>
|
|
207
|
-
// <p>主题: {theme}</p>
|
|
208
|
-
// <p>是否在 Provider 中: {isInProvider ? '是' : '否'}</p>
|
|
209
|
-
// <button
|
|
210
|
-
// onClick={() => providerMethods.sendMessage?.('Hello from custom component')}
|
|
211
|
-
// disabled={!isInProvider}
|
|
212
|
-
// >
|
|
213
|
-
// 发送消息
|
|
214
|
-
// </button>
|
|
215
|
-
// </div>
|
|
216
|
-
// );
|
|
217
|
-
// });
|
|
218
|
-
|
|
219
|
-
// // 展示 Hook 灵活性的示例
|
|
220
|
-
// export const HookFlexibilityExample: Story = {
|
|
221
|
-
// render: (args) => (
|
|
222
|
-
// <div style={{ width: '600px', height: '800px' }}>
|
|
223
|
-
// <XAiProvider {...args}>
|
|
224
|
-
// <div style={{ padding: '20px' }}>
|
|
225
|
-
// <h3>Hook 灵活性示例</h3>
|
|
226
|
-
// <p>展示不同组件如何使用相同的 Hook</p>
|
|
227
|
-
|
|
228
|
-
// {/* 不同的组件使用相同的 Hook */}
|
|
229
|
-
// <div style={{ marginBottom: '20px' }}>
|
|
230
|
-
// <GenericComponent title="组件 A" />
|
|
231
|
-
// <GenericComponent title="组件 B" />
|
|
232
|
-
// <CustomChatComponent />
|
|
233
|
-
// </div>
|
|
234
|
-
|
|
235
|
-
// {/* 聊天机器人 */}
|
|
236
|
-
// <XAiChatbot
|
|
237
|
-
// navbarShow
|
|
238
|
-
// navbar={{
|
|
239
|
-
// title: '灵活 Hook 示例',
|
|
240
|
-
// subtitle: '所有组件共享 Provider 状态',
|
|
241
|
-
// avatar: 'https://via.placeholder.com/40',
|
|
242
|
-
// }}
|
|
243
|
-
// />
|
|
244
|
-
// </div>
|
|
245
|
-
// </XAiProvider>
|
|
246
|
-
// </div>
|
|
247
|
-
// ),
|
|
248
|
-
// args: {
|
|
249
|
-
// url: 'https://api.example.com/ai',
|
|
250
|
-
// token: 'your-token-here',
|
|
251
|
-
// providerId: 'flexibility-example',
|
|
252
|
-
// },
|
|
253
|
-
// parameters: {
|
|
254
|
-
// docs: {
|
|
255
|
-
// description: {
|
|
256
|
-
// story: '展示如何使用 useProviderContext 和 useProviderMethods Hook 来创建可复用的组件。',
|
|
257
|
-
// },
|
|
258
|
-
// },
|
|
259
|
-
// },
|
|
260
|
-
// };
|
|
261
|
-
|
|
262
|
-
// // 展示独立组件 vs Provider 组件的对比
|
|
263
|
-
// export const ComponentComparison: Story = {
|
|
264
|
-
// render: (args) => (
|
|
265
|
-
// <div style={{ display: 'flex', gap: '20px', padding: '20px' }}>
|
|
266
|
-
// {/* 独立使用的组件 */}
|
|
267
|
-
// <div style={{ width: '300px' }}>
|
|
268
|
-
// <h4>独立组件</h4>
|
|
269
|
-
// <GenericComponent title="独立组件" />
|
|
270
|
-
// <CustomChatComponent />
|
|
271
|
-
// </div>
|
|
272
|
-
|
|
273
|
-
// {/* 在 Provider 中的组件 */}
|
|
274
|
-
// <div style={{ width: '300px' }}>
|
|
275
|
-
// <h4>Provider 中的组件</h4>
|
|
276
|
-
// <XAiProvider {...args}>
|
|
277
|
-
// <GenericComponent title="Provider 组件" />
|
|
278
|
-
// <CustomChatComponent />
|
|
279
|
-
// <XAiChatbot
|
|
280
|
-
// navbarShow
|
|
281
|
-
// navbar={{
|
|
282
|
-
// title: '示例聊天机器人',
|
|
283
|
-
// subtitle: '在 Provider 中',
|
|
284
|
-
// avatar: 'https://via.placeholder.com/40',
|
|
285
|
-
// }}
|
|
286
|
-
// />
|
|
287
|
-
// </XAiProvider>
|
|
288
|
-
// </div>
|
|
289
|
-
// </div>
|
|
290
|
-
// ),
|
|
291
|
-
// args: {
|
|
292
|
-
// url: 'https://api.example.com/ai',
|
|
293
|
-
// token: 'your-token-here',
|
|
294
|
-
// providerId: 'comparison-example',
|
|
295
|
-
// },
|
|
296
|
-
// };
|
|
297
155
|
//# sourceMappingURL=XAiProvider.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","XAiProvider","XAiChatbot","jsx","_jsx","jsxs","_jsxs","meta","title","component","parameters","layout","docs","description","tags","argTypes","url","control","token","providerId","decorators","Story","style","padding","children","WithProvider","render","args","width","height","_objectSpread","navbarShow","navbar","subtitle","avatar","config","appNo","pt","tc","MultipleProviders","display","gap"],"sources":["../../../../src/components/XAiProvider/XAiProvider.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react-vite';\nimport React from 'react';\nimport XAiProvider from './index';\nimport XAiChatbot from '../XAiChatbot';\n\nconst meta: Meta<typeof XAiProvider> = {\n title: 'AI组件/XAiProvider AI容器',\n component: XAiProvider,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: 'AI 聊天机器人容器组件,提供全局上下文和消息管理功能。',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n url: {\n control: 'text',\n description: 'AI 服务地址',\n },\n token: {\n control: 'text',\n description: '认证 token',\n },\n providerId: {\n control: 'text',\n description: 'Provider 唯一标识',\n },\n },\n // 添加装饰器,确保组件有必要的上下文\n decorators: [\n (Story) => (\n <div style={{ padding: '20px' }}>\n <Story />\n </div>\n ),\n ],\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// 使用 Provider 的 XAiChatbot\nexport const WithProvider: Story = {\n render: (args) => (\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args}>\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 聊天机器人',\n subtitle: '由 Provider 管理消息',\n avatar: 'https://via.placeholder.com/40',\n }}\n />\n </XAiProvider>\n </div>\n ),\n args: {\n url: 'http://ai-platform.xline-dev.test.xinke.biz',\n token: 'eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJjYWIxYjM3Ni03MmZjLTRkNWEtOTIzMC01N2U3NmZiMGI4NmQiLCJzdWIiOiJSZXgiLCJpc3MiOiJodHRwOi8vY2hhdC10ZXN0LnpheGxpbmUuY29tIiwiYXVkIjoiTWFpblN0YXRpb24iLCJpYXQiOjE3NTQzMTc1OTAsImV4cCI6MTc1NDkyMjM5MCwidHlwZSI6InJlZnJlc2giLCJjbGllbnRfaWQiOiJBcHAxOTUwMDIwNTk0NDUyNjYwMjI0Iiwic2NvcGUiOiJhbGwiLCJwbGF0Zm9ybV90eXBlIjoiTWFpblN0YXRpb24ifQ.crZFQRycuHHA1iIIFJ5ak9kS1-04Eqro-QWWG8HZj6Dz7DkLWYuQBPCrUlCtavGu0XW5tqHZ5WW4tdST06FvEA',\n config: {\n appNo: 'App1952213101022154752',\n pt: 'MainStation',\n tc: 'ZABX',\n },\n providerId: 'demo-provider',\n },\n};\n\n// 多个 Provider 示例\nexport const MultipleProviders: Story = {\n render: (args) => (\n <div style={{ display: 'flex', gap: '20px' }}>\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args} providerId=\"provider-1\">\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 1',\n subtitle: '第一个聊天机器人',\n avatar: 'https://via.placeholder.com/40',\n }}\n />\n </XAiProvider>\n </div>\n\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args} providerId=\"provider-2\">\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 2',\n subtitle: '第二个聊天机器人',\n avatar: 'https://via.placeholder.com/40',\n }}\n />\n </XAiProvider>\n </div>\n </div>\n ),\n args: {\n url: 'https://api.example.com/ai',\n token: 'your-token-here',\n },\n};\n\n// // 自定义消息处理示例\n// export const CustomMessageHandling: Story = {\n// render: (args) => (\n// <div style={{ width: '400px', height: '600px' }}>\n// <XAiProvider {...args}>\n// <XAiChatbot\n// navbarShow\n// navbar={{\n// title: '自定义处理',\n// subtitle: '自定义消息处理逻辑',\n// avatar: 'https://via.placeholder.com/40',\n// }}\n// messageActions={[\n// {\n// key: 'custom',\n// icon: <span>🔧</span>,\n// tooltip: '自定义操作',\n// },\n// ]}\n// onMessagesActionsCallback={(index, data) => {\n// console.log('自定义操作:', index, data);\n// }}\n// />\n// </XAiProvider>\n// </div>\n// ),\n// args: {\n// url: 'https://api.example.com/ai',\n// token: 'your-token-here',\n// providerId: 'custom-provider',\n// },\n// };\n\n// // 示例 1: 使用通用 Hook 的组件\n// const GenericComponent = React.memo<{ title: string }>(({ title }) => {\n// const { isInProvider, getProviderValue } = useProviderContext({\n// props: { title },\n// });\n\n// const providerMethods = useProviderMethods();\n\n// const handleCustomAction = () => {\n// if (isInProvider) {\n// providerMethods.sendMessage?.('自定义消息');\n// } else {\n// console.log('独立组件动作');\n// }\n// };\n\n// return (\n// <div style={{ padding: '20px', border: '1px solid #ccc', marginBottom: '10px' }}>\n// <h3>{title}</h3>\n// <p>是否在 Provider 中: {isInProvider ? '是' : '否'}</p>\n// <p>消息数量: {getProviderValue('messages')?.length || 0}</p>\n// <button onClick={handleCustomAction}>\n// {isInProvider ? '使用 Provider 方法' : '使用原有回调'}\n// </button>\n// </div>\n// );\n// });\n\n// // 示例 2: 自定义聊天组件\n// const CustomChatComponent = React.memo(() => {\n// const { isInProvider, getProviderValue } = useProviderContext({\n// props: {},\n// });\n\n// const providerMethods = useProviderMethods();\n\n// const messageCount = getProviderValue('messages')?.length || 0;\n// const theme = messageCount > 5 ? 'dark' : 'light';\n\n// return (\n// <div style={{\n// padding: '20px',\n// backgroundColor: theme === 'dark' ? '#333' : '#fff',\n// color: theme === 'dark' ? '#fff' : '#333',\n// border: '1px solid #ccc',\n// marginBottom: '10px',\n// }}\n// >\n// <h3>自定义聊天组件</h3>\n// <p>主题: {theme}</p>\n// <p>是否在 Provider 中: {isInProvider ? '是' : '否'}</p>\n// <button\n// onClick={() => providerMethods.sendMessage?.('Hello from custom component')}\n// disabled={!isInProvider}\n// >\n// 发送消息\n// </button>\n// </div>\n// );\n// });\n\n// // 展示 Hook 灵活性的示例\n// export const HookFlexibilityExample: Story = {\n// render: (args) => (\n// <div style={{ width: '600px', height: '800px' }}>\n// <XAiProvider {...args}>\n// <div style={{ padding: '20px' }}>\n// <h3>Hook 灵活性示例</h3>\n// <p>展示不同组件如何使用相同的 Hook</p>\n\n// {/* 不同的组件使用相同的 Hook */}\n// <div style={{ marginBottom: '20px' }}>\n// <GenericComponent title=\"组件 A\" />\n// <GenericComponent title=\"组件 B\" />\n// <CustomChatComponent />\n// </div>\n\n// {/* 聊天机器人 */}\n// <XAiChatbot\n// navbarShow\n// navbar={{\n// title: '灵活 Hook 示例',\n// subtitle: '所有组件共享 Provider 状态',\n// avatar: 'https://via.placeholder.com/40',\n// }}\n// />\n// </div>\n// </XAiProvider>\n// </div>\n// ),\n// args: {\n// url: 'https://api.example.com/ai',\n// token: 'your-token-here',\n// providerId: 'flexibility-example',\n// },\n// parameters: {\n// docs: {\n// description: {\n// story: '展示如何使用 useProviderContext 和 useProviderMethods Hook 来创建可复用的组件。',\n// },\n// },\n// },\n// };\n\n// // 展示独立组件 vs Provider 组件的对比\n// export const ComponentComparison: Story = {\n// render: (args) => (\n// <div style={{ display: 'flex', gap: '20px', padding: '20px' }}>\n// {/* 独立使用的组件 */}\n// <div style={{ width: '300px' }}>\n// <h4>独立组件</h4>\n// <GenericComponent title=\"独立组件\" />\n// <CustomChatComponent />\n// </div>\n\n// {/* 在 Provider 中的组件 */}\n// <div style={{ width: '300px' }}>\n// <h4>Provider 中的组件</h4>\n// <XAiProvider {...args}>\n// <GenericComponent title=\"Provider 组件\" />\n// <CustomChatComponent />\n// <XAiChatbot\n// navbarShow\n// navbar={{\n// title: '示例聊天机器人',\n// subtitle: '在 Provider 中',\n// avatar: 'https://via.placeholder.com/40',\n// }}\n// />\n// </XAiProvider>\n// </div>\n// </div>\n// ),\n// args: {\n// url: 'https://api.example.com/ai',\n// token: 'your-token-here',\n// providerId: 'comparison-example',\n// },\n// };\n"],"mappings":"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ACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"names":["React","XAiProvider","XAiChatbot","jsx","_jsx","jsxs","_jsxs","meta","title","component","parameters","layout","docs","description","tags","argTypes","url","control","token","providerId","decorators","Story","style","padding","children","单聊天窗口","render","args","width","height","_objectSpread","navbarShow","navbar","subtitle","avatar","config","appNo","pt","tc","多容器示例","display","gap"],"sources":["../../../../src/components/XAiProvider/XAiProvider.stories.tsx"],"sourcesContent":["import React from 'react';\nimport type { Meta, StoryObj } from '@storybook/react-vite';\nimport XAiProvider from './index';\nimport XAiChatbot from '../XAiChatbot';\nimport XAiConversations from '../XAiConversations';\nimport useStyles from './demo.styles';\n\nconst meta: Meta<typeof XAiProvider> = {\n title: 'AI组件/XAiProvider AI容器',\n component: XAiProvider,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: 'AI 聊天机器人容器组件,提供全局上下文和消息管理功能。',\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n url: {\n control: 'text',\n description: 'AI 服务地址',\n },\n token: {\n control: 'text',\n description: '认证 token',\n },\n providerId: {\n control: 'text',\n description: 'Provider 唯一标识',\n },\n },\n // 添加装饰器,确保组件有必要的上下文\n decorators: [\n (Story) => (\n <div style={{ padding: '20px' }}>\n <Story />\n </div>\n ),\n ],\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\n// 使用 Provider 的 XAiChatbot\nexport const 单聊天窗口: Story = {\n render: (args) => (\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args}>\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 聊天机器人',\n subtitle: '由 Provider 管理消息',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </XAiProvider>\n </div>\n ),\n args: {\n url: 'http://ai-platform.xline-dev.test.xinke.biz',\n token: 'eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJkZGUzOTcwOS0wMDdlLTQ5YWItYjIzMy1iMTZmYzRkMDU2N2QiLCJzdWIiOiJSZXgiLCJpc3MiOiJodHRwOi8vY2hhdC10ZXN0LnpheGxpbmUuY29tIiwiYXVkIjoiTWFpblN0YXRpb24iLCJpYXQiOjE3NTQ1Njc4NTMsImV4cCI6MTc1NDU3NTA1MywidHlwZSI6ImFjY2VzcyIsImNsaWVudF9pZCI6IkFwcDE5NTAwMjA1OTQ0NTI2NjAyMjQiLCJzY29wZSI6ImFsbCIsInBsYXRmb3JtX3R5cGUiOiJNYWluU3RhdGlvbiJ9.jH9muK_MWcE9NtWxPJRqeoeGsnRf79B2oOpQjemJ6kY5_UjAT06BWlX3bszHeRbJbk1OM_kfCeugiO3Gokpj2A',\n config: {\n appNo: 'App1950020594452660224',\n pt: 'MainStation',\n tc: 'ZABX',\n },\n providerId: 'demo-provider',\n },\n};\n\n// export const 带历史记录聊天窗口: Story = {\n// render: (args) => {\n// function WithStyles(props: any) {\n// const styles = useStyles();\n// return (\n// <XAiProvider {...props}>\n// <div className={styles.wrapper}>\n// <div>\n// <XAiConversations />\n// </div>\n// <div>\n// <XAiChatbot />\n// </div>\n// </div>\n// </XAiProvider>\n// );\n// }\n// return <WithStyles {...args} />;\n// },\n// args: {\n// url: 'http://ai-platform.xline-dev.test.xinke.biz',\n// token: 'eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiJjYWIxYjM3Ni03MmZjLTRkNWEtOTIzMC01N2U3NmZiMGI4NmQiLCJzdWIiOiJSZXgiLCJpc3MiOiJodHRwOi8vY2hhdC10ZXN0LnpheGxpbmUuY29tIiwiYXVkIjoiTWFpblN0YXRpb24iLCJpYXQiOjE3NTQzMTc1OTAsImV4cCI6MTc1NDkyMjM5MCwidHlwZSI6InJlZnJlc2giLCJjbGllbnRfaWQiOiJBcHAxOTUwMDIwNTk0NDUyNjYwMjI0Iiwic2NvcGUiOiJhbGwiLCJwbGF0Zm9ybV90eXBlIjoiTWFpblN0YXRpb24ifQ.crZFQRycuHHA1iIIFJ5ak9kS1-04Eqro-QWWG8HZj6Dz7DkLWYuQBPCrUlCtavGu0XW5tqHZ5WW4tdST06FvEA',\n// config: {\n// appNo: 'App1952213101022154752',\n// pt: 'MainStation',\n// tc: 'ZABX',\n// },\n// providerId: 'demo-provider',\n// },\n// };\n\n// 多个 Provider 示例\nexport const 多容器示例: Story = {\n render: (args) => (\n <div style={{ display: 'flex', gap: '20px' }}>\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args} providerId=\"provider-1\">\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 1',\n subtitle: '第一个聊天机器人',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </XAiProvider>\n </div>\n\n <div style={{ width: '400px', height: '600px' }}>\n <XAiProvider {...args} providerId=\"provider-2\">\n <XAiChatbot\n navbarShow\n navbar={{\n title: 'Provider 2',\n subtitle: '第二个聊天机器人',\n avatar: 'https://gw.alipayobjects.com/zos/bmw-prod/b874caa9-4458-412a-9ac6-a61486180a62.svg',\n }}\n />\n </XAiProvider>\n </div>\n </div>\n ),\n args: {\n url: 'https://api.example.com/ai',\n token: 'your-token-here',\n },\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
declare const useStyles: () => {
|
|
2
|
+
wrapper: string;
|
|
3
|
+
} & {
|
|
4
|
+
w: (width: string | number) => string;
|
|
5
|
+
h: (height: string | number) => string;
|
|
6
|
+
p: (padding: string) => string;
|
|
7
|
+
pb: (padding: string | number) => string;
|
|
8
|
+
pt: (padding: string | number) => string;
|
|
9
|
+
pl: (padding: string | number) => string;
|
|
10
|
+
pr: (padding: string | number) => string;
|
|
11
|
+
m: (margin: string) => string;
|
|
12
|
+
mb: (margin: string | number) => string;
|
|
13
|
+
mt: (margin: string | number) => string;
|
|
14
|
+
ml: (margin: string | number) => string;
|
|
15
|
+
mr: (margin: string | number) => string;
|
|
16
|
+
text: (size: string | number) => string;
|
|
17
|
+
weight: (size: number) => string;
|
|
18
|
+
textColor: (c: string) => string;
|
|
19
|
+
bg: (c: string) => string;
|
|
20
|
+
rs: (radius: string | number) => string;
|
|
21
|
+
gap: (g: string | number) => string;
|
|
22
|
+
flex: string;
|
|
23
|
+
flexCenter: string;
|
|
24
|
+
flexBetween: string;
|
|
25
|
+
flexColumn: string;
|
|
26
|
+
flex1: string;
|
|
27
|
+
cursor: (type: string) => string;
|
|
28
|
+
border: (color: string, width?: string) => string;
|
|
29
|
+
boxShadow: (shadow: string) => string;
|
|
30
|
+
transition: (property?: string, duration?: string) => string;
|
|
31
|
+
overflow: (type: string) => string;
|
|
32
|
+
position: (type: string) => string;
|
|
33
|
+
zIndex: (index: number) => string;
|
|
34
|
+
};
|
|
35
|
+
export default useStyles;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
2
|
+
var _templateObject;
|
|
3
|
+
import { css } from '@emotion/css';
|
|
4
|
+
import { withBasicStyles } from "../../styles/common";
|
|
5
|
+
var useStyles = withBasicStyles(function () {
|
|
6
|
+
return {
|
|
7
|
+
// 静态样式
|
|
8
|
+
wrapper: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: '100vw';\n height: '100vh';\n backgroundColor: rgb(240, 242, 245);\n display: flex;\n "])))
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
export default useStyles;
|
|
12
|
+
//# sourceMappingURL=demo.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["css","withBasicStyles","useStyles","wrapper","_templateObject","_taggedTemplateLiteral"],"sources":["../../../../src/components/XAiProvider/demo.styles.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport { withBasicStyles } from '@/styles/common';\n\nconst useStyles = withBasicStyles(() => ({\n // 静态样式\n wrapper: css`\n width: '100vw';\n height: '100vh';\n backgroundColor: rgb(240, 242, 245);\n display: flex;\n `,\n}));\n\nexport default useStyles;\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,eAAe;AAExB,IAAMC,SAAS,GAAGD,eAAe,CAAC;EAAA,OAAO;IACvC;IACAE,OAAO,EAAEH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,sBAAA;EAMd,CAAC;AAAA,CAAC,CAAC;AAEH,eAAeH,SAAS"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { message, Divider } from 'antd';
|
|
3
|
+
import { v4 as uuidV4 } from 'uuid';
|
|
3
4
|
import copy from 'copy-to-clipboard';
|
|
4
5
|
import { XProvider } from '@ant-design/x';
|
|
5
6
|
import { XAiContext } from "../../context/AiProviderContext";
|
|
@@ -30,6 +31,7 @@ var XAiProvider = function XAiProvider(_ref) {
|
|
|
30
31
|
reChat = _useAgentGenerator.reChat,
|
|
31
32
|
messages = _useAgentGenerator.messages,
|
|
32
33
|
loading = _useAgentGenerator.loading,
|
|
34
|
+
setCurrentSession = _useAgentGenerator.setCurrentSession,
|
|
33
35
|
setMessages = _useAgentGenerator.setMessages;
|
|
34
36
|
var _ref2 = appInfo || {},
|
|
35
37
|
appName = _ref2.appName,
|
|
@@ -44,6 +46,7 @@ var XAiProvider = function XAiProvider(_ref) {
|
|
|
44
46
|
var handleClearMessage = function handleClearMessage() {
|
|
45
47
|
stopChat();
|
|
46
48
|
setMessages([]);
|
|
49
|
+
setCurrentSession(uuidV4());
|
|
47
50
|
};
|
|
48
51
|
|
|
49
52
|
// 工具栏按钮点击
|
|
@@ -62,9 +65,10 @@ var XAiProvider = function XAiProvider(_ref) {
|
|
|
62
65
|
message.success('复制成功');
|
|
63
66
|
break;
|
|
64
67
|
case 2:
|
|
68
|
+
// 删除该条消息及建议类消息
|
|
65
69
|
setMessages(function (prev) {
|
|
66
70
|
return prev.filter(function (item) {
|
|
67
|
-
return item.id !== id;
|
|
71
|
+
return item.id !== id && item.type !== 'SuggestionMessage';
|
|
68
72
|
});
|
|
69
73
|
});
|
|
70
74
|
message.success('删除成功');
|
|
@@ -110,10 +114,17 @@ var XAiProvider = function XAiProvider(_ref) {
|
|
|
110
114
|
return /*#__PURE__*/_jsx(XProvider, {
|
|
111
115
|
children: /*#__PURE__*/_jsx(XAiContext.Provider, {
|
|
112
116
|
value: {
|
|
113
|
-
avatar:
|
|
114
|
-
|
|
117
|
+
avatar: /*#__PURE__*/_jsx("img", {
|
|
118
|
+
src: icon,
|
|
119
|
+
alt: "\u667A\u80FD\u4F53\u5934\u50CF"
|
|
120
|
+
}),
|
|
121
|
+
userAvatar: /*#__PURE__*/_jsx("img", {
|
|
122
|
+
src: userIcon,
|
|
123
|
+
alt: "\u7528\u6237\u5934\u50CF"
|
|
124
|
+
}),
|
|
115
125
|
emptyStateImage: icon,
|
|
116
126
|
emptyStateText: appName,
|
|
127
|
+
footerTips: '内容由AI生成,无法确保真实准确,仅供参考',
|
|
117
128
|
providerId: providerId,
|
|
118
129
|
token: token,
|
|
119
130
|
messages: messages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","message","Divider","copy","XProvider","XAiContext","useAgentGenerator","userIcon","jsxs","_jsxs","jsx","_jsx","XAiProvider","_ref","url","token","config","_ref$providerId","providerId","onSuccess","onError","children","_useAgentGenerator","appInfo","chat","stopChat","reChat","messages","loading","setMessages","_ref2","appName","icon","handleSendMessage","_type","content","handleClearMessage","handleActions","index","actionData","_ref3","id","_content$text","text","success","prev","filter","item","handleSuggestMessageClick","_item","m","ToolTip","messageData","finalResult","think","find","actionName","_ref4","extra","cost","tokenCount","style","display","alignItems","fontSize","color","flex","paddingRight","undefined","
|
|
1
|
+
{"version":3,"names":["React","message","Divider","v4","uuidV4","copy","XProvider","XAiContext","useAgentGenerator","userIcon","jsxs","_jsxs","jsx","_jsx","XAiProvider","_ref","url","token","config","_ref$providerId","providerId","onSuccess","onError","children","_useAgentGenerator","appInfo","chat","stopChat","reChat","messages","loading","setCurrentSession","setMessages","_ref2","appName","icon","handleSendMessage","_type","content","handleClearMessage","handleActions","index","actionData","_ref3","id","_content$text","text","success","prev","filter","item","type","handleSuggestMessageClick","_item","m","ToolTip","messageData","finalResult","think","find","actionName","_ref4","extra","cost","tokenCount","style","display","alignItems","fontSize","color","flex","paddingRight","undefined","Provider","value","avatar","src","alt","userAvatar","emptyStateImage","emptyStateText","footerTips","error","messageTooltip","onSend","onClear","onStop","onSuggestMessageClick","onMessagesActionsCallback","isInProvider"],"sources":["../../../../src/components/XAiProvider/index.tsx"],"sourcesContent":["import React from 'react';\nimport { message, Divider } from 'antd';\nimport { v4 as uuidV4 } from 'uuid';\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, setCurrentSession, 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 setCurrentSession(uuidV4());\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 // 删除该条消息及建议类消息\n setMessages((prev) => prev.filter((item) => item.id !== id && item.type !== 'SuggestionMessage'));\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: <img src={icon} alt=\"智能体头像\" />,\n userAvatar: <img src={userIcon} alt=\"用户头像\" />,\n emptyStateImage: icon,\n emptyStateText: appName,\n footerTips: '内容由AI生成,无法确保真实准确,仅供参考',\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"],"mappings":"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"}
|
|
@@ -63,8 +63,11 @@ declare const useAgentGenerator: ({ url, token, config, onError, onSuccess, }: U
|
|
|
63
63
|
messages: Messages[];
|
|
64
64
|
loading: boolean;
|
|
65
65
|
content: any;
|
|
66
|
+
sessionsList: any[];
|
|
67
|
+
currentSession: string;
|
|
66
68
|
reChat: () => void;
|
|
67
69
|
chat: (content: any) => Promise<void>;
|
|
70
|
+
setCurrentSession: import("react").Dispatch<import("react").SetStateAction<string>>;
|
|
68
71
|
setMessage: (messageType: string, content: any) => Promise<void>;
|
|
69
72
|
setMessages: import("react").Dispatch<import("react").SetStateAction<Messages[]>>;
|
|
70
73
|
stopChat: () => void;
|