@ibiz-template-plugin/ibiz-mob-ai-chat 0.0.1
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/LICENSE +21 -0
- package/README.md +80 -0
- package/dist/assets/gif/halo.gif +0 -0
- package/dist/assets/svg/AIChat.svg +1 -0
- package/dist/index.es.js +4425 -0
- package/dist/index.legacy.js +1 -0
- package/dist/polyfills.legacy.js +1 -0
- package/dist/style.css +1 -0
- package/dist/types/components/back-bottom/back-bottom.d.ts +57 -0
- package/dist/types/components/chart-material/chart-material-item/chart-material-item.d.ts +36 -0
- package/dist/types/components/chart-material/chart-material.d.ts +32 -0
- package/dist/types/components/chart-suggestion/chart-suggestion.d.ts +22 -0
- package/dist/types/components/chart-thought-chain/chart-thought-chain.d.ts +21 -0
- package/dist/types/components/chart-tool-call/chart-tool-call-item/chart-tool-call-item.d.ts +21 -0
- package/dist/types/components/chart-tool-call/chart-tool-call.d.ts +21 -0
- package/dist/types/components/chat-container/chat-container.d.ts +91 -0
- package/dist/types/components/chat-input/chat-input.d.ts +37 -0
- package/dist/types/components/chat-messages/chat-message-hook.d.ts +14 -0
- package/dist/types/components/chat-messages/chat-messages.d.ts +45 -0
- package/dist/types/components/chat-messages/common/error-message/error-message.d.ts +17 -0
- package/dist/types/components/chat-messages/common/index.d.ts +4 -0
- package/dist/types/components/chat-messages/common/markdown-message/markdown-message.d.ts +27 -0
- package/dist/types/components/chat-messages/common/unknown-message/unknown-message.d.ts +17 -0
- package/dist/types/components/chat-messages/common/user-message/user-message.d.ts +33 -0
- package/dist/types/components/chat-toolbar/chat-input-toolbar/chat-input-toolbar.d.ts +36 -0
- package/dist/types/components/chat-toolbar/chat-message-toolbar/chat-message-toolbar.d.ts +77 -0
- package/dist/types/components/chat-toolbar/chat-toolbar-hook.d.ts +14 -0
- package/dist/types/components/chat-toolbar/chat-toolbar-item/chat-toolbar-item.d.ts +44 -0
- package/dist/types/components/chat-toolbar/index.d.ts +3 -0
- package/dist/types/components/custom-modal/custom-modal.d.ts +10 -0
- package/dist/types/components/index.d.ts +3 -0
- package/dist/types/constants/index.d.ts +14 -0
- package/dist/types/controller/ai-chat/ai-chat.controller.d.ts +372 -0
- package/dist/types/controller/ai-material/ai-material-factory.d.ts +7 -0
- package/dist/types/controller/ai-material/common-helper.d.ts +13 -0
- package/dist/types/controller/ai-material/file-helper.d.ts +22 -0
- package/dist/types/controller/ai-material/material-helper.d.ts +16 -0
- package/dist/types/controller/ai-topic/ai-topic.controller.d.ts +165 -0
- package/dist/types/controller/chat/chat.controller.d.ts +138 -0
- package/dist/types/controller/index.d.ts +4 -0
- package/dist/types/entity/ai-agent/ai-agent.d.ts +12 -0
- package/dist/types/entity/chart-material/chart-material.d.ts +10 -0
- package/dist/types/entity/chart-topic/chart-topic.d.ts +28 -0
- package/dist/types/entity/chat-message/chat-message.d.ts +64 -0
- package/dist/types/entity/chat-suggestion/chat-suggestion.d.ts +9 -0
- package/dist/types/entity/index.d.ts +5 -0
- package/dist/types/global.d.ts +3 -0
- package/dist/types/icon/index.d.ts +1 -0
- package/dist/types/icon/svg.d.ts +101 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interface/i-ai-agent/i-ai-agent.d.ts +21 -0
- package/dist/types/interface/i-chat-container/i-chat-container.d.ts +107 -0
- package/dist/types/interface/i-chat-message/i-chat-message.d.ts +150 -0
- package/dist/types/interface/i-chat-options/i-chat-options.d.ts +263 -0
- package/dist/types/interface/i-chat-suggestion/i-chat-suggestion.d.ts +26 -0
- package/dist/types/interface/i-chat-tool-call/i-chat-tool-call.d.ts +39 -0
- package/dist/types/interface/i-chat-toolbar-item/i-chat-toolbar-item.d.ts +75 -0
- package/dist/types/interface/i-config-service/i-config-service.d.ts +27 -0
- package/dist/types/interface/i-container-options/i-container-options.d.ts +51 -0
- package/dist/types/interface/i-file-uploader-options/i-file-uploader-options.d.ts +27 -0
- package/dist/types/interface/i-material/i-material.d.ts +34 -0
- package/dist/types/interface/i-message-item-provider/i-message-item-provider.d.ts +18 -0
- package/dist/types/interface/i-portal-async-action/i-portal-async-action.d.ts +90 -0
- package/dist/types/interface/i-remote-resource/i-remote-resource.d.ts +68 -0
- package/dist/types/interface/i-resource-options/i-resource-options.d.ts +61 -0
- package/dist/types/interface/i-topic-options/i-topic-options.d.ts +147 -0
- package/dist/types/interface/index.d.ts +15 -0
- package/dist/types/utils/index.d.ts +10 -0
- package/dist/types/utils/plugin-static-resource/plugin-static-resource.d.ts +63 -0
- package/dist/types/utils/util/chat-suggestion-parser.d.ts +67 -0
- package/dist/types/utils/util/chat-tool-call-parser.d.ts +17 -0
- package/dist/types/utils/util/drag-util.d.ts +28 -0
- package/dist/types/utils/util/file-uploader.d.ts +37 -0
- package/dist/types/utils/util/indexdb-util.d.ts +91 -0
- package/dist/types/utils/util/material-resource-parser.d.ts +67 -0
- package/dist/types/utils/util/remote-resource-util.d.ts +26 -0
- package/dist/types/utils/util/text-hash-util.d.ts +8 -0
- package/dist/types/utils/util/util.d.ts +50 -0
- package/package.json +89 -0
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { AIChatController, AITopicController } from '../../controller';
|
|
2
|
+
import { IAIAgent } from '../i-ai-agent/i-ai-agent';
|
|
3
|
+
import { IChatMessage } from '../i-chat-message/i-chat-message';
|
|
4
|
+
import { IChatToolbarItem } from '../i-chat-toolbar-item/i-chat-toolbar-item';
|
|
5
|
+
import { FileUploaderOptions } from '../i-file-uploader-options/i-file-uploader-options';
|
|
6
|
+
import { ITopic } from '../i-topic-options/i-topic-options';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 聊天数据
|
|
10
|
+
*
|
|
11
|
+
* @author tony001
|
|
12
|
+
* @date 2025-02-24 11:02:52
|
|
13
|
+
* @export
|
|
14
|
+
* @interface IChat
|
|
15
|
+
*/
|
|
16
|
+
export interface IChat {
|
|
17
|
+
/**
|
|
18
|
+
* 聊天窗口标题
|
|
19
|
+
*
|
|
20
|
+
* @type {string}
|
|
21
|
+
* @memberof IChatOptions
|
|
22
|
+
*/
|
|
23
|
+
caption?: string;
|
|
24
|
+
/**
|
|
25
|
+
* 上下文
|
|
26
|
+
*
|
|
27
|
+
* @author tony001
|
|
28
|
+
* @date 2025-02-23 17:02:33
|
|
29
|
+
* @type {object}
|
|
30
|
+
*/
|
|
31
|
+
context: object;
|
|
32
|
+
/**
|
|
33
|
+
* 视图参数
|
|
34
|
+
*
|
|
35
|
+
* @author tony001
|
|
36
|
+
* @date 2025-02-23 17:02:48
|
|
37
|
+
* @type {object}
|
|
38
|
+
*/
|
|
39
|
+
params: object;
|
|
40
|
+
/**
|
|
41
|
+
* 实体标识
|
|
42
|
+
*
|
|
43
|
+
* @author tony001
|
|
44
|
+
* @date 2025-02-24 14:02:40
|
|
45
|
+
* @type {string}
|
|
46
|
+
*/
|
|
47
|
+
appDataEntityId: string;
|
|
48
|
+
/**
|
|
49
|
+
* 会话标识
|
|
50
|
+
*/
|
|
51
|
+
sessionid: string;
|
|
52
|
+
/**
|
|
53
|
+
* @description 自动提问
|
|
54
|
+
* - 历史数据最后一个项是user时是否自动提问,默认开启
|
|
55
|
+
* @type {boolean}
|
|
56
|
+
* @memberof IChat
|
|
57
|
+
*/
|
|
58
|
+
autoQuestion?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* @description 是否自动回填
|
|
61
|
+
* - AI回答完成之后是否触发回填,默认关闭
|
|
62
|
+
* @type {boolean}
|
|
63
|
+
* @memberof IChat
|
|
64
|
+
*/
|
|
65
|
+
autoFill?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* 传入对象参数(如果外部传入,在请求历史记录,需要附加当前参数)
|
|
68
|
+
*
|
|
69
|
+
* @author tony001
|
|
70
|
+
* @date 2025-03-26 14:03:56
|
|
71
|
+
* @type {object}
|
|
72
|
+
*/
|
|
73
|
+
appendCurData?: object;
|
|
74
|
+
/**
|
|
75
|
+
* 传入当前编辑内容作为用户消息(如果外部传入,在请求历史记录后,需要附加当前编辑内容作为用户消息)
|
|
76
|
+
*
|
|
77
|
+
* @author tony001
|
|
78
|
+
* @date 2025-03-26 15:03:33
|
|
79
|
+
* @type {string}
|
|
80
|
+
*/
|
|
81
|
+
appendCurContent?: string;
|
|
82
|
+
/**
|
|
83
|
+
* 内容工具项
|
|
84
|
+
*
|
|
85
|
+
* @type {IChatToolbarItem[]}
|
|
86
|
+
* @memberof IChatOptions
|
|
87
|
+
*/
|
|
88
|
+
contentToolbarItems?: IChatToolbarItem[];
|
|
89
|
+
/**
|
|
90
|
+
* 底部工具项
|
|
91
|
+
*
|
|
92
|
+
* @type {IChatToolbarItem[]}
|
|
93
|
+
* @memberof IChatOptions
|
|
94
|
+
*/
|
|
95
|
+
footerToolbarItems?: IChatToolbarItem[];
|
|
96
|
+
/**
|
|
97
|
+
* 提问区工具栏
|
|
98
|
+
*
|
|
99
|
+
* @author tony001
|
|
100
|
+
* @date 2025-02-28 16:02:12
|
|
101
|
+
* @type {IChatToolbarItem[]}
|
|
102
|
+
*/
|
|
103
|
+
questionToolbarItems?: IChatToolbarItem[];
|
|
104
|
+
/**
|
|
105
|
+
* 其他项工具栏
|
|
106
|
+
*
|
|
107
|
+
* @author tony001
|
|
108
|
+
* @date 2025-03-19 13:03:37
|
|
109
|
+
* @type {IChatToolbarItem[]}
|
|
110
|
+
*/
|
|
111
|
+
otherToolbarItems?: IChatToolbarItem[];
|
|
112
|
+
/**
|
|
113
|
+
* 是否允许切换ai代理
|
|
114
|
+
*/
|
|
115
|
+
enableAIAgentChange?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* 激活ai代理标识
|
|
118
|
+
*/
|
|
119
|
+
activeAIAgentID?: string | undefined;
|
|
120
|
+
/**
|
|
121
|
+
* AI代理列表
|
|
122
|
+
*
|
|
123
|
+
* @type {IAIAgent[]}
|
|
124
|
+
*/
|
|
125
|
+
aiAgentlist?: IAIAgent[];
|
|
126
|
+
/**
|
|
127
|
+
* 模式参数,用于业务区分
|
|
128
|
+
*/
|
|
129
|
+
srfMode?: string;
|
|
130
|
+
/**
|
|
131
|
+
* 传入当前资源作为用户消息(如果外部传入,在请求历史记录后,需要附加当前资源作为用户消息)
|
|
132
|
+
*/
|
|
133
|
+
appendCurResource: string;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* 聊天区配置参数
|
|
137
|
+
*
|
|
138
|
+
* @author chitanda
|
|
139
|
+
* @date 2023-10-13 17:10:57
|
|
140
|
+
* @export
|
|
141
|
+
* @interface IChatOptions
|
|
142
|
+
*/
|
|
143
|
+
export interface IChatOptions extends IChat {
|
|
144
|
+
/**
|
|
145
|
+
* 模式,细分为默认模式(聊天框)和话题模式(支持多话题切换),聊天框为默认模式
|
|
146
|
+
*
|
|
147
|
+
* @author tony001
|
|
148
|
+
* @date 2025-02-20 14:02:36
|
|
149
|
+
* @type {('DEFAULT' | 'TOPIC')}
|
|
150
|
+
*/
|
|
151
|
+
mode?: 'DEFAULT' | 'TOPIC';
|
|
152
|
+
/**
|
|
153
|
+
* 话题标识
|
|
154
|
+
*
|
|
155
|
+
* @author tony001
|
|
156
|
+
* @date 2025-02-24 18:02:26
|
|
157
|
+
* @type {string}
|
|
158
|
+
*/
|
|
159
|
+
topicId?: string;
|
|
160
|
+
/**
|
|
161
|
+
*话题数据
|
|
162
|
+
*
|
|
163
|
+
* @author tony001
|
|
164
|
+
* @date 2025-03-10 16:03:46
|
|
165
|
+
* @type {ITopic}
|
|
166
|
+
*/
|
|
167
|
+
topic?: ITopic;
|
|
168
|
+
/**
|
|
169
|
+
* 聊天区ai话题控制器
|
|
170
|
+
*
|
|
171
|
+
* @type {AiTopicController}
|
|
172
|
+
*/
|
|
173
|
+
aiTopic?: AITopicController;
|
|
174
|
+
/**
|
|
175
|
+
* 聊天窗触发提问回调
|
|
176
|
+
*
|
|
177
|
+
* @author tony001
|
|
178
|
+
* @date 2025-02-24 14:02:51
|
|
179
|
+
* @param {object} context
|
|
180
|
+
* @param {object} params
|
|
181
|
+
* @param {object} otherParams
|
|
182
|
+
* @param {IChatMessage[]} question 提问历史内容(包含当前提问)
|
|
183
|
+
* @return {*} {Promise<boolean>} 等待回答,用于显示 loading 并获取最终成功与否
|
|
184
|
+
*/
|
|
185
|
+
question(aiChat: AIChatController, context: object, params: object, otherParams: object, question: IChatMessage[], sessionid: string, srfaiagent: string | undefined, srfmode: string | undefined): Promise<boolean>;
|
|
186
|
+
/**
|
|
187
|
+
* 中断消息
|
|
188
|
+
* @param aiChat
|
|
189
|
+
* @param context
|
|
190
|
+
* @param params
|
|
191
|
+
* @param otherParams
|
|
192
|
+
*/
|
|
193
|
+
abortQuestion(aiChat: AIChatController, context: object, params: object, otherParams: object): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* 聊天窗历史记录获取
|
|
196
|
+
*
|
|
197
|
+
* @author tony001
|
|
198
|
+
* @date 2025-02-24 13:02:56
|
|
199
|
+
* @return {*} {Promise<boolean>}
|
|
200
|
+
*/
|
|
201
|
+
history(context: object, params: object, otherParams: object): Promise<boolean>;
|
|
202
|
+
/**
|
|
203
|
+
* 窗口关闭
|
|
204
|
+
* @param context
|
|
205
|
+
* @param params
|
|
206
|
+
* @param message
|
|
207
|
+
*/
|
|
208
|
+
closed?(context: object, params: object, message: IChatMessage[]): void;
|
|
209
|
+
/**
|
|
210
|
+
* 聊天窗任意位置点击操作
|
|
211
|
+
*
|
|
212
|
+
* @author chitanda
|
|
213
|
+
* @date 2023-10-13 18:10:56
|
|
214
|
+
* @param {string} action 操作的行为标识 backfill:回填 question:提问 deletemsg:删除消息 refreshmsg:刷新消息
|
|
215
|
+
* @param {T} [params] 传递的参数
|
|
216
|
+
* @return {*} {Promise<boolean>} 等待操作,用于显示 loading 并获取最终成功与否
|
|
217
|
+
*/
|
|
218
|
+
action?<T = unknown>(action: 'backfill' | 'question' | 'deletemsg' | 'refreshmsg' | 'copymsg', params?: T): Promise<boolean>;
|
|
219
|
+
/**
|
|
220
|
+
* 全屏操作
|
|
221
|
+
*
|
|
222
|
+
* @param {boolean} target
|
|
223
|
+
* @param {object} context
|
|
224
|
+
* @param {object} params
|
|
225
|
+
* @memberof IChatOptions
|
|
226
|
+
*/
|
|
227
|
+
fullscreen?(target: boolean, context: object, params: object): void;
|
|
228
|
+
/**
|
|
229
|
+
* 最小化操作
|
|
230
|
+
*
|
|
231
|
+
* @param {boolean} target
|
|
232
|
+
* @param {object} context
|
|
233
|
+
* @param {object} params
|
|
234
|
+
* @memberof IChatOptions
|
|
235
|
+
*/
|
|
236
|
+
minimize?(target: boolean, context: object, params: object): void;
|
|
237
|
+
/**
|
|
238
|
+
* 文件上传配置
|
|
239
|
+
*
|
|
240
|
+
* @author tony001
|
|
241
|
+
* @date 2025-02-28 14:02:41
|
|
242
|
+
* @type {FileUploaderOptions<object>}
|
|
243
|
+
*/
|
|
244
|
+
uploader: FileUploaderOptions<object>;
|
|
245
|
+
/**
|
|
246
|
+
* 工具栏项点击回调
|
|
247
|
+
*
|
|
248
|
+
* @author tony001
|
|
249
|
+
* @date 2025-03-12 16:03:22
|
|
250
|
+
*/
|
|
251
|
+
extendToolbarClick: (e: MouseEvent, item: object, context: object, params: object, data: object) => Promise<object> | void;
|
|
252
|
+
/**
|
|
253
|
+
* 推荐提示回调
|
|
254
|
+
*
|
|
255
|
+
* @author tony001
|
|
256
|
+
* @date 2025-03-19 10:03:28
|
|
257
|
+
* @param {object} context
|
|
258
|
+
* @param {object} params
|
|
259
|
+
* @param {object} otherParams
|
|
260
|
+
* @return {*} {Promise<object>}
|
|
261
|
+
*/
|
|
262
|
+
recommendPrompt(context: object, params: object, otherParams: object): Promise<object>;
|
|
263
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface IChatSuggestion {
|
|
2
|
+
/**
|
|
3
|
+
* 类型
|
|
4
|
+
*
|
|
5
|
+
* @author tony001
|
|
6
|
+
* @date 2025-02-27 18:02:54
|
|
7
|
+
* @type {string}
|
|
8
|
+
*/
|
|
9
|
+
type: string;
|
|
10
|
+
/**
|
|
11
|
+
* 数据
|
|
12
|
+
*
|
|
13
|
+
* @author tony001
|
|
14
|
+
* @date 2025-02-28 10:02:21
|
|
15
|
+
* @type {object}
|
|
16
|
+
*/
|
|
17
|
+
data: object;
|
|
18
|
+
/**
|
|
19
|
+
* 元数据
|
|
20
|
+
*
|
|
21
|
+
* @author tony001
|
|
22
|
+
* @date 2025-02-28 10:02:42
|
|
23
|
+
* @type {object}
|
|
24
|
+
*/
|
|
25
|
+
metadata: object;
|
|
26
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description 工具调用
|
|
3
|
+
* @export
|
|
4
|
+
* @interface IChatToolCall
|
|
5
|
+
*/
|
|
6
|
+
export interface IChatToolCall {
|
|
7
|
+
/**
|
|
8
|
+
* @description 工具名称
|
|
9
|
+
* @type {string}
|
|
10
|
+
* @memberof IChatToolCall
|
|
11
|
+
*/
|
|
12
|
+
name: string;
|
|
13
|
+
/**
|
|
14
|
+
* @description 参数
|
|
15
|
+
* @type {{
|
|
16
|
+
* type: string;
|
|
17
|
+
* id: string;
|
|
18
|
+
* desc: string;
|
|
19
|
+
* }}
|
|
20
|
+
* @memberof IChatToolCall
|
|
21
|
+
*/
|
|
22
|
+
parameters: {
|
|
23
|
+
type: string;
|
|
24
|
+
id: string;
|
|
25
|
+
desc: string;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* @description 是否错误
|
|
29
|
+
* @type {boolean}
|
|
30
|
+
* @memberof IChatToolCall
|
|
31
|
+
*/
|
|
32
|
+
error: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* @description 错误原因
|
|
35
|
+
* @type {string}
|
|
36
|
+
* @memberof IChatToolCall
|
|
37
|
+
*/
|
|
38
|
+
result?: string;
|
|
39
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { VNode } from 'vue';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 聊天自定义工具栏项接口
|
|
5
|
+
*
|
|
6
|
+
* @export
|
|
7
|
+
* @interface IChatToolbarItem
|
|
8
|
+
*/
|
|
9
|
+
export interface IChatToolbarItem {
|
|
10
|
+
/**
|
|
11
|
+
* 标识
|
|
12
|
+
*
|
|
13
|
+
* @author tony001
|
|
14
|
+
* @date 2025-02-28 17:02:52
|
|
15
|
+
* @type {string}
|
|
16
|
+
*/
|
|
17
|
+
id?: string;
|
|
18
|
+
/**
|
|
19
|
+
* 标题
|
|
20
|
+
*
|
|
21
|
+
* @memberof IChatToolbarItem
|
|
22
|
+
*/
|
|
23
|
+
label?: string | VNode | ((h: Function) => VNode);
|
|
24
|
+
/**
|
|
25
|
+
* 提示信息
|
|
26
|
+
*
|
|
27
|
+
* @type {string}
|
|
28
|
+
* @memberof IChatToolbarItem
|
|
29
|
+
*/
|
|
30
|
+
title?: string;
|
|
31
|
+
/**
|
|
32
|
+
* 图标对象(内置工具栏走vnode、外挂走对象)
|
|
33
|
+
*
|
|
34
|
+
* @author tony001
|
|
35
|
+
* @date 2025-03-12 17:03:07
|
|
36
|
+
*/
|
|
37
|
+
icon: {
|
|
38
|
+
showIcon: boolean;
|
|
39
|
+
cssClass: string;
|
|
40
|
+
imagePath: string;
|
|
41
|
+
} | (() => VNode);
|
|
42
|
+
/**
|
|
43
|
+
* 是否禁用
|
|
44
|
+
*
|
|
45
|
+
* @memberof IChatToolbarItem
|
|
46
|
+
*/
|
|
47
|
+
disabled?: boolean | ((data: object) => boolean);
|
|
48
|
+
/**
|
|
49
|
+
* 是否隐藏
|
|
50
|
+
*
|
|
51
|
+
* @memberof IChatToolbarItem
|
|
52
|
+
*/
|
|
53
|
+
hidden?: boolean | ((data: object) => boolean);
|
|
54
|
+
/**
|
|
55
|
+
* 自定义类名
|
|
56
|
+
*
|
|
57
|
+
* @type {string}
|
|
58
|
+
* @memberof IChatToolbarItem
|
|
59
|
+
*/
|
|
60
|
+
customClass?: string;
|
|
61
|
+
/**
|
|
62
|
+
* 子项行为组
|
|
63
|
+
*
|
|
64
|
+
* @type {IChatToolbarItem[]}
|
|
65
|
+
* @memberof IChatToolbarItem
|
|
66
|
+
*/
|
|
67
|
+
children?: IChatToolbarItem[];
|
|
68
|
+
/**
|
|
69
|
+
* 行为项点击
|
|
70
|
+
*
|
|
71
|
+
* @author tony001
|
|
72
|
+
* @date 2025-03-12 16:03:42
|
|
73
|
+
*/
|
|
74
|
+
onClick?: (e: MouseEvent, item: object, context: object, params: object, data?: object) => Promise<object> | void;
|
|
75
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface IConfigService {
|
|
2
|
+
/**
|
|
3
|
+
* 保存配置
|
|
4
|
+
*
|
|
5
|
+
* @author tony001
|
|
6
|
+
* @date 2025-02-23 16:02:33
|
|
7
|
+
* @param {object} data
|
|
8
|
+
* @return {*} {Promise<boolean>}
|
|
9
|
+
*/
|
|
10
|
+
save(data: object): Promise<boolean>;
|
|
11
|
+
/**
|
|
12
|
+
* 重置配置
|
|
13
|
+
*
|
|
14
|
+
* @author tony001
|
|
15
|
+
* @date 2025-02-23 16:02:48
|
|
16
|
+
* @return {*} {Promise<boolean>}
|
|
17
|
+
*/
|
|
18
|
+
reset(): Promise<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* 加载配置
|
|
21
|
+
*
|
|
22
|
+
* @author tony001
|
|
23
|
+
* @date 2025-02-23 16:02:57
|
|
24
|
+
* @return {*} {Promise<object>}
|
|
25
|
+
*/
|
|
26
|
+
load(): Promise<object>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { IChatContainerOptions } from '../i-chat-container/i-chat-container';
|
|
2
|
+
import { IChatOptions } from '../i-chat-options/i-chat-options';
|
|
3
|
+
import { IResourceOptions } from '../i-resource-options/i-resource-options';
|
|
4
|
+
import { ITopicOptions } from '../i-topic-options/i-topic-options';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* ai容器配置参数
|
|
8
|
+
*
|
|
9
|
+
* @author tony001
|
|
10
|
+
* @date 2025-02-24 11:02:46
|
|
11
|
+
* @export
|
|
12
|
+
* @interface IContainerOptions
|
|
13
|
+
*/
|
|
14
|
+
export interface IContainerOptions {
|
|
15
|
+
/**
|
|
16
|
+
* 模式,细分为默认模式(聊天框)和话题模式(支持多话题切换),聊天框为默认模式
|
|
17
|
+
*
|
|
18
|
+
* @author tony001
|
|
19
|
+
* @date 2025-02-20 14:02:36
|
|
20
|
+
* @type {('DEFAULT' | 'TOPIC')}
|
|
21
|
+
*/
|
|
22
|
+
mode?: 'DEFAULT' | 'TOPIC';
|
|
23
|
+
/**
|
|
24
|
+
* 话题参数(话题模式必填)
|
|
25
|
+
*
|
|
26
|
+
* @author tony001
|
|
27
|
+
* @date 2025-02-20 15:02:02
|
|
28
|
+
* @type {ITopicOptions}
|
|
29
|
+
*/
|
|
30
|
+
topicOptions?: ITopicOptions;
|
|
31
|
+
/**
|
|
32
|
+
* 聊天窗口配置参数
|
|
33
|
+
*
|
|
34
|
+
* @author tony001
|
|
35
|
+
* @date 2025-02-24 11:02:53
|
|
36
|
+
* @type {IChatOptions}
|
|
37
|
+
*/
|
|
38
|
+
chatOptions: IChatOptions;
|
|
39
|
+
/**
|
|
40
|
+
* 资源相关配置参数
|
|
41
|
+
*/
|
|
42
|
+
resourceOptions: IResourceOptions;
|
|
43
|
+
/**
|
|
44
|
+
* ai容器呈现
|
|
45
|
+
*
|
|
46
|
+
* @author chitanda
|
|
47
|
+
* @date 2023-10-15 19:10:44
|
|
48
|
+
* @type {IChatContainerOptions}
|
|
49
|
+
*/
|
|
50
|
+
containerOptions?: IChatContainerOptions;
|
|
51
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文件上传参数接口
|
|
3
|
+
*
|
|
4
|
+
* @author tony001
|
|
5
|
+
* @date 2025-02-28 10:02:19
|
|
6
|
+
* @export
|
|
7
|
+
* @interface FileUploaderOptions
|
|
8
|
+
* @template T
|
|
9
|
+
*/
|
|
10
|
+
export interface FileUploaderOptions<T> {
|
|
11
|
+
/** 允许的文件类型 */
|
|
12
|
+
accept?: string;
|
|
13
|
+
/** 最大文件大小(字节) */
|
|
14
|
+
maxSize?: number;
|
|
15
|
+
/** 是否多选 */
|
|
16
|
+
multiple?: boolean;
|
|
17
|
+
/** 文件选择回调 */
|
|
18
|
+
onSelect?: (files: File[]) => void;
|
|
19
|
+
/** 上传处理函数 */
|
|
20
|
+
onUpload: (file: File, reportProgress: (percent: number) => void, options?: object) => Promise<T>;
|
|
21
|
+
/** 上传成功回调 */
|
|
22
|
+
onSuccess?: (result: T, file: File) => void;
|
|
23
|
+
/** 上传失败回调 */
|
|
24
|
+
onError?: (error: Error, file: File) => void;
|
|
25
|
+
/** 进度变化回调 */
|
|
26
|
+
onProgress?: (file: File, percent: number) => void;
|
|
27
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface IMaterial {
|
|
2
|
+
/**
|
|
3
|
+
* 标识
|
|
4
|
+
*
|
|
5
|
+
* @author tony001
|
|
6
|
+
* @date 2025-02-28 11:02:45
|
|
7
|
+
* @type {string}
|
|
8
|
+
*/
|
|
9
|
+
id: string;
|
|
10
|
+
/**
|
|
11
|
+
* 类型
|
|
12
|
+
*
|
|
13
|
+
* @author tony001
|
|
14
|
+
* @date 2025-02-27 18:02:54
|
|
15
|
+
* @type {string}
|
|
16
|
+
*/
|
|
17
|
+
type: string;
|
|
18
|
+
/**
|
|
19
|
+
* 数据
|
|
20
|
+
*
|
|
21
|
+
* @author tony001
|
|
22
|
+
* @date 2025-02-28 10:02:21
|
|
23
|
+
* @type {object}
|
|
24
|
+
*/
|
|
25
|
+
data: object;
|
|
26
|
+
/**
|
|
27
|
+
* 元数据
|
|
28
|
+
*
|
|
29
|
+
* @author tony001
|
|
30
|
+
* @date 2025-02-28 10:02:42
|
|
31
|
+
* @type {object}
|
|
32
|
+
*/
|
|
33
|
+
metadata: object;
|
|
34
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 项消息绘制适配器
|
|
3
|
+
*
|
|
4
|
+
* @author chitanda
|
|
5
|
+
* @date 2023-10-09 16:10:11
|
|
6
|
+
* @export
|
|
7
|
+
* @interface IMessageItemProvider
|
|
8
|
+
*/
|
|
9
|
+
export interface IMessageItemProvider {
|
|
10
|
+
/**
|
|
11
|
+
* 绘制的组件
|
|
12
|
+
*
|
|
13
|
+
* @author chitanda
|
|
14
|
+
* @date 2023-10-09 16:10:38
|
|
15
|
+
* @type {*}
|
|
16
|
+
*/
|
|
17
|
+
component: any;
|
|
18
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 异步作业信息
|
|
3
|
+
*
|
|
4
|
+
* @author chitanda
|
|
5
|
+
* @date 2023-09-05 15:09:59
|
|
6
|
+
* @export
|
|
7
|
+
* @interface IPortalAsyncAction
|
|
8
|
+
*/
|
|
9
|
+
export interface IPortalAsyncAction {
|
|
10
|
+
/**
|
|
11
|
+
* 会话标识
|
|
12
|
+
*
|
|
13
|
+
* @author chitanda
|
|
14
|
+
* @date 2023-09-05 15:09:57
|
|
15
|
+
* @type {string}
|
|
16
|
+
*/
|
|
17
|
+
fulltopictag: string;
|
|
18
|
+
/**
|
|
19
|
+
* 异步作业类型
|
|
20
|
+
*
|
|
21
|
+
* @author chitanda
|
|
22
|
+
* @date 2023-09-05 15:09:09
|
|
23
|
+
* @type {string}
|
|
24
|
+
*/
|
|
25
|
+
actiontype: string;
|
|
26
|
+
/**
|
|
27
|
+
* 作业状态
|
|
28
|
+
*
|
|
29
|
+
* @author chitanda
|
|
30
|
+
* @date 2023-10-10 15:10:59
|
|
31
|
+
* @type {(10 | 20 | 30 | 40)} 未开始 | 执行中 | 已执行 | 执行失败
|
|
32
|
+
*/
|
|
33
|
+
actionstate: 10 | 20 | 30 | 40;
|
|
34
|
+
/**
|
|
35
|
+
* 异步作业执行结果
|
|
36
|
+
*
|
|
37
|
+
* @author chitanda
|
|
38
|
+
* @date 2023-09-05 15:09:33
|
|
39
|
+
* @type {unknown}
|
|
40
|
+
*/
|
|
41
|
+
actionresult?: unknown;
|
|
42
|
+
/**
|
|
43
|
+
* 步骤信息
|
|
44
|
+
*
|
|
45
|
+
* @author chitanda
|
|
46
|
+
* @date 2023-09-05 15:09:55
|
|
47
|
+
* @type {string}
|
|
48
|
+
*/
|
|
49
|
+
stepinfo?: string;
|
|
50
|
+
/**
|
|
51
|
+
* 异步结果下载路径,目前是留给导出数据使用
|
|
52
|
+
*
|
|
53
|
+
* @author chitanda
|
|
54
|
+
* @date 2023-09-05 15:09:03
|
|
55
|
+
* @type {string}
|
|
56
|
+
*/
|
|
57
|
+
asyncresultdownloadurl?: string;
|
|
58
|
+
/**
|
|
59
|
+
* 预留参数
|
|
60
|
+
*
|
|
61
|
+
* @author chitanda
|
|
62
|
+
* @date 2023-09-05 15:09:32
|
|
63
|
+
* @type {unknown}
|
|
64
|
+
*/
|
|
65
|
+
actionparam?: unknown;
|
|
66
|
+
/**
|
|
67
|
+
*预留参数2
|
|
68
|
+
*
|
|
69
|
+
* @author chitanda
|
|
70
|
+
* @date 2023-09-05 15:09:41
|
|
71
|
+
* @type {unknown}
|
|
72
|
+
*/
|
|
73
|
+
actionparam2?: unknown;
|
|
74
|
+
/**
|
|
75
|
+
*预留参数3
|
|
76
|
+
*
|
|
77
|
+
* @author chitanda
|
|
78
|
+
* @date 2023-09-05 15:09:43
|
|
79
|
+
* @type {unknown}
|
|
80
|
+
*/
|
|
81
|
+
actionparam3?: unknown;
|
|
82
|
+
/**
|
|
83
|
+
*预留参数4
|
|
84
|
+
*
|
|
85
|
+
* @author chitanda
|
|
86
|
+
* @date 2023-09-05 15:09:45
|
|
87
|
+
* @type {unknown}
|
|
88
|
+
*/
|
|
89
|
+
actionparam4?: unknown;
|
|
90
|
+
}
|