@zero-library/chat-copilot 3.1.3 → 3.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +753 -200
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +153 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +441 -396
- package/dist/index.d.ts +441 -396
- package/dist/index.esm.js +634 -99
- package/dist/index.esm.js.map +1 -1
- package/package.json +8 -3
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as react from 'react';
|
|
|
2
2
|
import react__default, { ReactNode } from 'react';
|
|
3
3
|
import { BubbleProps } from '@ant-design/x-v2';
|
|
4
4
|
import { ButtonProps, ThemeConfig } from 'antd';
|
|
5
|
-
import { createRequest, RequestConfig
|
|
5
|
+
import { RenderControl, createRequest, RequestConfig } from '@zero-library/common';
|
|
6
6
|
|
|
7
7
|
type ConversationMemberEnum = 'user' | 'agent';
|
|
8
8
|
declare enum AgentTypeEnum {
|
|
@@ -10,6 +10,14 @@ declare enum AgentTypeEnum {
|
|
|
10
10
|
FLOW = 1,
|
|
11
11
|
AUTONOMOUS = 2
|
|
12
12
|
}
|
|
13
|
+
declare enum WorkspaceTypeEnum {
|
|
14
|
+
GLOBAL = "global",
|
|
15
|
+
SKILL = "skill",
|
|
16
|
+
CONVERSATION = "conversation",
|
|
17
|
+
KNOWLEDGE = "knowledge",
|
|
18
|
+
PROJECT = "project",
|
|
19
|
+
DEV_SKILL = "devSkill"
|
|
20
|
+
}
|
|
13
21
|
declare enum LibraryTypeEnum {
|
|
14
22
|
KNOWLEDGE = 1,
|
|
15
23
|
PROJECT = 2
|
|
@@ -85,182 +93,6 @@ interface AgentInfo {
|
|
|
85
93
|
config?: AgentConfig;
|
|
86
94
|
}
|
|
87
95
|
|
|
88
|
-
/**
|
|
89
|
-
* ChatSender 组件暴露的方法接口
|
|
90
|
-
*/
|
|
91
|
-
interface ChatSenderHandle {
|
|
92
|
-
/** 聚焦输入框 */
|
|
93
|
-
focus: (options?: {
|
|
94
|
-
cursor?: 'start' | 'end';
|
|
95
|
-
}) => void;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* 文件上传配置接口
|
|
99
|
-
*/
|
|
100
|
-
interface FileUpload {
|
|
101
|
-
/** 上传时的额外参数 */
|
|
102
|
-
params?: ObjectType<any>;
|
|
103
|
-
/** 文件上传配置列表 */
|
|
104
|
-
config: FileUploadConfig;
|
|
105
|
-
/** 文件上传请求函数 */
|
|
106
|
-
request: AttachmentsProps['fileUpload'];
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* ChatSender 组件属性接口
|
|
110
|
-
*/
|
|
111
|
-
interface SenderProps {
|
|
112
|
-
/** 输入框占位符 */
|
|
113
|
-
placeholder?: string;
|
|
114
|
-
/** 输入框内容 */
|
|
115
|
-
content?: string;
|
|
116
|
-
/** 文件列表 */
|
|
117
|
-
fileList?: InputFile[];
|
|
118
|
-
/** 是否打开文件选择头部 */
|
|
119
|
-
headerOpen?: boolean;
|
|
120
|
-
/** 是否正在发送消息 */
|
|
121
|
-
loading?: boolean;
|
|
122
|
-
/** 内容变化回调 */
|
|
123
|
-
onContentChange: (value: string) => void;
|
|
124
|
-
/** 文件列表变化回调 */
|
|
125
|
-
onFileListChange: (files: InputFile[]) => void;
|
|
126
|
-
/** 头部打开状态变化回调 */
|
|
127
|
-
onHeaderOpenChange: (open: boolean) => void;
|
|
128
|
-
/** 发送消息回调 */
|
|
129
|
-
onSend: () => void;
|
|
130
|
-
/** 取消发送回调 */
|
|
131
|
-
onCancel?: () => void;
|
|
132
|
-
/** 输入框聚焦回调 */
|
|
133
|
-
onFocus?: () => void;
|
|
134
|
-
/** 头部额外内容 */
|
|
135
|
-
extraHeader?: React.ReactNode;
|
|
136
|
-
/** 底部额外内容 */
|
|
137
|
-
extraFooter?: React.ReactNode;
|
|
138
|
-
/** 底部下方额外内容 */
|
|
139
|
-
extraFooterBelow?: React.ReactNode;
|
|
140
|
-
/** 发送按钮属性 */
|
|
141
|
-
sendBtnProps?: ButtonProps;
|
|
142
|
-
/** 文件上传配置 */
|
|
143
|
-
fileUpload?: FileUpload;
|
|
144
|
-
}
|
|
145
|
-
declare const _default$2: react.ForwardRefExoticComponent<SenderProps & react.RefAttributes<ChatSenderHandle>>;
|
|
146
|
-
|
|
147
|
-
interface UserInputType {
|
|
148
|
-
inputs: Variable[];
|
|
149
|
-
outputs: Variable[];
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* 创建聊天服务
|
|
153
|
-
* @param request - 请求函数实例
|
|
154
|
-
* @returns 聊天服务对象
|
|
155
|
-
*/
|
|
156
|
-
declare const createChatService: (request: ReturnType<typeof createRequest>, config?: RequestConfig) => {
|
|
157
|
-
fetchModelList: () => Promise<R<ProviderModel[]>>;
|
|
158
|
-
fetchAgentInfo: (agentId: string) => Promise<R<AgentInfo>>;
|
|
159
|
-
createConversationId: (params: ConversationCreate) => Promise<R<string>>;
|
|
160
|
-
fetchConversations: (params: ConversationsQuery) => Promise<R<ConversationType[]>>;
|
|
161
|
-
deleteConversation: (id: string) => Promise<R<string>>;
|
|
162
|
-
fetchMessages: (params: ConversationMessagesQuery) => Promise<R<ConversationMessage[]>>;
|
|
163
|
-
sendMessageStream: (params: ConversationMessageSend, agentId: string) => Promise<R<ConversationMessage[]>>;
|
|
164
|
-
cancelMessage: (executionId: string) => Promise<R<string>>;
|
|
165
|
-
getAgentUserInput: (agentId: string) => Promise<R<UserInputType>>;
|
|
166
|
-
feedbackUpdate: (params: FeedbackUpdate) => Promise<R<null>>;
|
|
167
|
-
chatUpload: (agentId: string, data: FormData, conversationId: string, signal?: AbortSignal) => Promise<R<InputFile[]>>;
|
|
168
|
-
getPreviewUrl: (agentId: string, conversationId: string, path: string) => string;
|
|
169
|
-
docQuery: (params: string) => Promise<R<DocType>>;
|
|
170
|
-
listSkills: (params?: ListSkillReq) => Promise<R<Skill[]>>;
|
|
171
|
-
listLibrarys: (params?: ListLibraryReq) => Promise<R<Library[]>>;
|
|
172
|
-
listTags: (params: {
|
|
173
|
-
tagType: TagTypeEnum;
|
|
174
|
-
}) => Promise<R<WorkspaceTag[]>>;
|
|
175
|
-
getAgentAvatar: (path: string) => Promise<Blob>;
|
|
176
|
-
};
|
|
177
|
-
|
|
178
|
-
type RequestInstance = ReturnType<typeof createChatService>;
|
|
179
|
-
/**
|
|
180
|
-
* 聊天HTTP服务配置接口
|
|
181
|
-
* 定义聊天组件所需的HTTP服务配置,用于API请求
|
|
182
|
-
*/
|
|
183
|
-
interface ChatHttpServices {
|
|
184
|
-
/**
|
|
185
|
-
* 基于axios扩展的配置参数
|
|
186
|
-
* 支持所有axios配置选项,如baseURL、timeout、headers等
|
|
187
|
-
* @see {@link RequestConfig}
|
|
188
|
-
*/
|
|
189
|
-
config?: RequestConfig;
|
|
190
|
-
/**
|
|
191
|
-
* 聊天服务和文件服务的合并请求对象(没有测试,暂时不使用)
|
|
192
|
-
* 可以提供自定义的请求实例,用于替代默认创建的实例
|
|
193
|
-
*/
|
|
194
|
-
request?: RequestInstance;
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* 聊天WebSocket服务配置接口
|
|
198
|
-
* 定义聊天组件所需的WebSocket服务配置,用于实时消息通信
|
|
199
|
-
*/
|
|
200
|
-
interface ChatWebsocketServices {
|
|
201
|
-
/**
|
|
202
|
-
* WebSocket连接基础URL列表,支持多地址容错(目前只支持两个地址)
|
|
203
|
-
*
|
|
204
|
-
* 使用方式:
|
|
205
|
-
* - undefined: 继承http.config.baseURL的值
|
|
206
|
-
* - []: 空数组表示关闭WebSocket功能
|
|
207
|
-
* - [url]: 单个URL用于WebSocket连接
|
|
208
|
-
* - [url1, url2]: 两个URL用于WebSocket连接,支持多端容错
|
|
209
|
-
*/
|
|
210
|
-
baseURLs?: (string | undefined)[];
|
|
211
|
-
/**
|
|
212
|
-
* WebSocket连接参数
|
|
213
|
-
* - undefined: 继承http.config.headers的值
|
|
214
|
-
* 附加到WebSocket URL上的查询参数
|
|
215
|
-
*/
|
|
216
|
-
params?: Record<string, string | number>;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* 聊天服务配置接口
|
|
220
|
-
* 定义聊天组件所需的所有服务配置,包括HTTP和WebSocket
|
|
221
|
-
* * @example
|
|
222
|
-
* // 基本配置,使用默认继承
|
|
223
|
-
* const services: ChatServices = {
|
|
224
|
-
* http: {
|
|
225
|
-
* config: {
|
|
226
|
-
* baseURL: '/api',
|
|
227
|
-
* timeout: 10000,
|
|
228
|
-
* headers: { 'NS-TOKEN': '123456' }
|
|
229
|
-
* }
|
|
230
|
-
* },
|
|
231
|
-
* websocket: {} // 继承http的baseURL和headers参数
|
|
232
|
-
* }
|
|
233
|
-
*
|
|
234
|
-
* @example
|
|
235
|
-
* // 自定义WebSocket配置
|
|
236
|
-
* const services: ChatServices = {
|
|
237
|
-
* http: {
|
|
238
|
-
* config: { baseURL: '/api' }
|
|
239
|
-
* },
|
|
240
|
-
* websocket: {
|
|
241
|
-
* baseURLs: ['/api', '/api/saas'],
|
|
242
|
-
* params: { token: 'abc123' }
|
|
243
|
-
* }
|
|
244
|
-
* }
|
|
245
|
-
*
|
|
246
|
-
* @example
|
|
247
|
-
* // 关闭WebSocket功能
|
|
248
|
-
* const services: ChatServices = {
|
|
249
|
-
* http: {
|
|
250
|
-
* config: { baseURL: '/api' }
|
|
251
|
-
* },
|
|
252
|
-
* websocket: {
|
|
253
|
-
* baseURLs: [] // 空数组表示关闭WebSocket
|
|
254
|
-
* }
|
|
255
|
-
* }
|
|
256
|
-
*/
|
|
257
|
-
interface ChatServices {
|
|
258
|
-
/** HTTP服务配置 */
|
|
259
|
-
http?: ChatHttpServices;
|
|
260
|
-
/** WebSocket服务配置 */
|
|
261
|
-
websocket?: ChatWebsocketServices;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
96
|
/**
|
|
265
97
|
* 会话策略类型
|
|
266
98
|
* 定义创建或获取会话的策略
|
|
@@ -600,33 +432,423 @@ type MessageEvent = RunStartedEvent | TextEvent | FilesEvent | StepStartedEvent
|
|
|
600
432
|
* 消息类型
|
|
601
433
|
* 定义智能体和用户之间的消息结构
|
|
602
434
|
*/
|
|
603
|
-
interface ConversationMessage {
|
|
604
|
-
/** 消息ID */
|
|
605
|
-
messageId: string;
|
|
606
|
-
/** 智能体ID */
|
|
607
|
-
agentId: string;
|
|
608
|
-
/** 会话ID */
|
|
609
|
-
conversationId: string;
|
|
610
|
-
/** 执行ID */
|
|
611
|
-
executionId: string;
|
|
612
|
-
/** 角色:1-智能体 2-用户 */
|
|
613
|
-
role: number;
|
|
614
|
-
/** 消息内容 */
|
|
615
|
-
content: MessageEvent[];
|
|
616
|
-
/** 上传文件内容 */
|
|
617
|
-
files?: InputFile[];
|
|
618
|
-
/** 消息反馈:1-赞 2-踩 */
|
|
619
|
-
feedback?: number;
|
|
620
|
-
/** 透传参数 json字符串 */
|
|
621
|
-
params?: string;
|
|
622
|
-
/** 引用的消息信息 */
|
|
623
|
-
quoteMsg?: MessageQuoteMsg;
|
|
624
|
-
/** 创建时间 */
|
|
625
|
-
createdAt: string;
|
|
626
|
-
/** 是否被打断标志 */
|
|
627
|
-
stopFlag?: boolean;
|
|
628
|
-
/** 是否正在生成中 */
|
|
629
|
-
generating?: boolean;
|
|
435
|
+
interface ConversationMessage {
|
|
436
|
+
/** 消息ID */
|
|
437
|
+
messageId: string;
|
|
438
|
+
/** 智能体ID */
|
|
439
|
+
agentId: string;
|
|
440
|
+
/** 会话ID */
|
|
441
|
+
conversationId: string;
|
|
442
|
+
/** 执行ID */
|
|
443
|
+
executionId: string;
|
|
444
|
+
/** 角色:1-智能体 2-用户 */
|
|
445
|
+
role: number;
|
|
446
|
+
/** 消息内容 */
|
|
447
|
+
content: MessageEvent[];
|
|
448
|
+
/** 上传文件内容 */
|
|
449
|
+
files?: InputFile[];
|
|
450
|
+
/** 消息反馈:1-赞 2-踩 */
|
|
451
|
+
feedback?: number;
|
|
452
|
+
/** 透传参数 json字符串 */
|
|
453
|
+
params?: string;
|
|
454
|
+
/** 引用的消息信息 */
|
|
455
|
+
quoteMsg?: MessageQuoteMsg;
|
|
456
|
+
/** 创建时间 */
|
|
457
|
+
createdAt: string;
|
|
458
|
+
/** 是否被打断标志 */
|
|
459
|
+
stopFlag?: boolean;
|
|
460
|
+
/** 是否正在生成中 */
|
|
461
|
+
generating?: boolean;
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* 聊天布局会话列表配置接口
|
|
466
|
+
* 控制会话列表区域的显示和功能
|
|
467
|
+
* ConversationList组件默认 header = true
|
|
468
|
+
* @example
|
|
469
|
+
* // 自定义会话列表配置
|
|
470
|
+
* const conversationList: ChatLayoutConversationList = {
|
|
471
|
+
* header: true // 显示会话列表头部
|
|
472
|
+
* }
|
|
473
|
+
*/
|
|
474
|
+
interface ChatLayoutConversationList {
|
|
475
|
+
/** 会话列表头部渲染控制 */
|
|
476
|
+
header?: RenderControl<void, ChatLayoutConversationListHeader>;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* 左侧会话列表header渲染控制
|
|
480
|
+
* 控制会话列表header区域的显示和功能
|
|
481
|
+
* ChatHeader组件默认 title = true, avatar = true, newConversationBtn = true, conversationListFavoriteBtn = true
|
|
482
|
+
* @example
|
|
483
|
+
* // 自定义头部配置
|
|
484
|
+
* const header: ChatLayoutConversationListHeader = {
|
|
485
|
+
* title: true, // 显示标题
|
|
486
|
+
* avatar: true, // 显示头像
|
|
487
|
+
* newConversationBtn: false, // 隐藏新建会话按钮
|
|
488
|
+
* conversationListFavoriteBtn: true // 显示会话收藏列表按钮
|
|
489
|
+
* }
|
|
490
|
+
*/
|
|
491
|
+
interface ChatLayoutConversationListHeader {
|
|
492
|
+
/** 标题渲染控制 */
|
|
493
|
+
title?: RenderControl<void, void>;
|
|
494
|
+
/** 头像渲染控制 */
|
|
495
|
+
avatar?: RenderControl<void, void>;
|
|
496
|
+
/** 新建会话按钮渲染控制 */
|
|
497
|
+
newConversationBtn?: RenderControl<void, void>;
|
|
498
|
+
/** 是否显示会话收藏列表按钮 */
|
|
499
|
+
conversationListFavoriteBtn?: boolean;
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* 聊天布局头部配置接口
|
|
503
|
+
* 控制聊天头部区域的显示和功能
|
|
504
|
+
* ChatHeader组件默认 title = true, avatar = true, closeBtn = false, newConversationBtn = true, conversationListBtn = true
|
|
505
|
+
* @example
|
|
506
|
+
* // 自定义头部配置
|
|
507
|
+
* const header: ChatLayoutHeader = {
|
|
508
|
+
* title: true, // 显示标题
|
|
509
|
+
* avatar: true, // 显示头像
|
|
510
|
+
* }
|
|
511
|
+
*/
|
|
512
|
+
interface ChatLayoutHeader {
|
|
513
|
+
/** 标题渲染控制 */
|
|
514
|
+
title?: RenderControl<void, void>;
|
|
515
|
+
/** 头像渲染控制 */
|
|
516
|
+
avatar?: RenderControl<void, void>;
|
|
517
|
+
/** 是否显示关闭按钮 */
|
|
518
|
+
closeBtn?: boolean;
|
|
519
|
+
/** 新建会话按钮渲染控制 */
|
|
520
|
+
newConversationBtn?: RenderControl<void, CustomButtonProps>;
|
|
521
|
+
/** 是否显示会话列表按钮 */
|
|
522
|
+
conversationListBtn?: RenderControl<void, CustomButtonProps>;
|
|
523
|
+
}
|
|
524
|
+
interface CustomButtonProps extends Omit<ButtonProps, 'icon'> {
|
|
525
|
+
icon?: () => ReactNode;
|
|
526
|
+
}
|
|
527
|
+
type CommandConfig = {
|
|
528
|
+
component: string;
|
|
529
|
+
dataSource: CascadeCategory[];
|
|
530
|
+
};
|
|
531
|
+
type CascadeCategory = {
|
|
532
|
+
value: string;
|
|
533
|
+
label: string;
|
|
534
|
+
isLeaf?: boolean;
|
|
535
|
+
disabled?: boolean;
|
|
536
|
+
ext?: string;
|
|
537
|
+
children?: CascadeCategory[];
|
|
538
|
+
};
|
|
539
|
+
/**
|
|
540
|
+
* 聊天布局输入框配置接口
|
|
541
|
+
* 控制输入框区域的功能和样式
|
|
542
|
+
* ChatSender组件默认 placeholder, extraBtn = false, referencesBtn = false
|
|
543
|
+
* @example
|
|
544
|
+
* // 自定义输入框配置
|
|
545
|
+
* const sender: ChatLayoutSender = {
|
|
546
|
+
* placeholder: '请输入您的问题...',
|
|
547
|
+
* extraBtn: true, // 显示额外按钮
|
|
548
|
+
* referencesBtn: true, // 显示引用按钮
|
|
549
|
+
* prompts: true, // 显示推荐问题
|
|
550
|
+
* sendBtnProps: () => ({
|
|
551
|
+
* type: 'primary',
|
|
552
|
+
* children: '发送'
|
|
553
|
+
* })
|
|
554
|
+
* }
|
|
555
|
+
*/
|
|
556
|
+
interface ChatLayoutSender {
|
|
557
|
+
/** 输入框占位符文本 */
|
|
558
|
+
placeholder?: string;
|
|
559
|
+
/** 额外按钮渲染控制 */
|
|
560
|
+
extraBtn?: RenderControl<void, void>;
|
|
561
|
+
/** 引用按钮渲染控制 */
|
|
562
|
+
referencesBtn?: RenderControl<void, void>;
|
|
563
|
+
/** 底部额外内容渲染控制 */
|
|
564
|
+
footerBelow?: RenderControl<void, void>;
|
|
565
|
+
/** 专业技能按钮渲染控制 */
|
|
566
|
+
skillsBtn?: RenderControl<void, void>;
|
|
567
|
+
/** 知识库按钮渲染控制 */
|
|
568
|
+
knowledgeBtn?: RenderControl<void, void>;
|
|
569
|
+
/** 发送按钮属性配置函数 */
|
|
570
|
+
sendBtnProps?: () => ButtonProps;
|
|
571
|
+
/** 模型下拉选择配置控制 */
|
|
572
|
+
modelSelect?: RenderControl<void, void>;
|
|
573
|
+
/** 深度思考按钮渲染控制 */
|
|
574
|
+
reasonBtn?: RenderControl<void, void>;
|
|
575
|
+
/** 特殊指令渲染控制 */
|
|
576
|
+
commandConfig?: ObjectType<CommandConfig>;
|
|
577
|
+
}
|
|
578
|
+
/**
|
|
579
|
+
* 消息列表欢迎信息配置
|
|
580
|
+
* 控制聊天界面初始欢迎信息的显示内容和自定义渲染
|
|
581
|
+
* @example
|
|
582
|
+
* // 自定义欢迎信息
|
|
583
|
+
* const welcomeMessage: ChatLayoutWelcomeMessage = {
|
|
584
|
+
* icon: true, // 显示默认图标
|
|
585
|
+
* title: {render: () => <>欢迎使用AI助手</>}, // 修改标题
|
|
586
|
+
* description: false, // 不显示详情
|
|
587
|
+
* prompts: true // 显示推荐问题
|
|
588
|
+
* }
|
|
589
|
+
*/
|
|
590
|
+
interface ChatLayoutWelcomeMessage {
|
|
591
|
+
icon?: RenderControl<void, void>;
|
|
592
|
+
title?: RenderControl<void, void>;
|
|
593
|
+
description?: RenderControl<void, void>;
|
|
594
|
+
prompts?: RenderControl<void, void>;
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* 聊天布局消息列表配置接口
|
|
598
|
+
* 控制消息列表区域的显示和功能
|
|
599
|
+
* @example
|
|
600
|
+
* // 自定义消息列表配置
|
|
601
|
+
* const messageList: ChatLayoutMessageList = {
|
|
602
|
+
* avatar: {
|
|
603
|
+
* user: true,
|
|
604
|
+
* agent: true,
|
|
605
|
+
* other: false
|
|
606
|
+
* },
|
|
607
|
+
* firstMessage: false // 不显示首条消息
|
|
608
|
+
* welcomeMessage: false // 不显示欢迎消息
|
|
609
|
+
* }
|
|
610
|
+
*/
|
|
611
|
+
interface ChatLayoutMessageList {
|
|
612
|
+
/** 首条消息配置 */
|
|
613
|
+
firstMessages?: FirstMessage[];
|
|
614
|
+
/** 头像显示控制:可以是全局布尔值或按成员类型分别控制 */
|
|
615
|
+
avatar?: boolean | Partial<Record<ConversationMemberEnum, boolean>>;
|
|
616
|
+
/** 智能体消息操作区渲染控制 */
|
|
617
|
+
agentActions?: RenderControl<{
|
|
618
|
+
message: ConversationMessage;
|
|
619
|
+
dom?: HTMLElement;
|
|
620
|
+
}, void>;
|
|
621
|
+
/** message自定义标记渲染组件 */
|
|
622
|
+
customComponents?: Record<string, any>;
|
|
623
|
+
/** 欢迎消息渲染控制, 要渲染时如果列表有内容则不渲染 */
|
|
624
|
+
welcomeMessage?: RenderControl<void, ChatLayoutWelcomeMessage>;
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* 聊天布局配置接口(专家和智能体各有一套默认布局)
|
|
628
|
+
* 控制聊天组件整体布局的显示和功能
|
|
629
|
+
*
|
|
630
|
+
* @example
|
|
631
|
+
* const layout: ChatLayout = {
|
|
632
|
+
* leftPanel: false,
|
|
633
|
+
* conversationList: false,
|
|
634
|
+
* preview: false,
|
|
635
|
+
* messageList: true,
|
|
636
|
+
* sender: {
|
|
637
|
+
* props: {
|
|
638
|
+
* prompts: false
|
|
639
|
+
* }
|
|
640
|
+
* },
|
|
641
|
+
* chatHeader: {
|
|
642
|
+
* render: (props) => <div>{props.children}</div>:
|
|
643
|
+
* },
|
|
644
|
+
* disclaimerNotice: false
|
|
645
|
+
* }
|
|
646
|
+
*/
|
|
647
|
+
interface ChatLayout {
|
|
648
|
+
/** 左侧面板渲染控制 */
|
|
649
|
+
leftPanel?: RenderControl<void, void>;
|
|
650
|
+
/** 会话列表面板渲染控制 */
|
|
651
|
+
conversationList?: RenderControl<void, ChatLayoutConversationList>;
|
|
652
|
+
/** 是否允许预览功能 */
|
|
653
|
+
preview?: boolean;
|
|
654
|
+
/** 消息列表渲染控制 */
|
|
655
|
+
messageList?: RenderControl<void, ChatLayoutMessageList>;
|
|
656
|
+
/** 输入框头部渲染控制 */
|
|
657
|
+
senderHeader?: RenderControl<void, void>;
|
|
658
|
+
/** 输入框渲染控制 */
|
|
659
|
+
sender?: RenderControl<void, ChatLayoutSender>;
|
|
660
|
+
/** 输入框底部渲染控制 */
|
|
661
|
+
senderFooter?: RenderControl<void, void>;
|
|
662
|
+
/** 全局头部渲染控制 */
|
|
663
|
+
globalHeader?: RenderControl<void, ChatLayoutHeader>;
|
|
664
|
+
/** 聊天区域头部渲染控制 */
|
|
665
|
+
chatHeader?: RenderControl<void, ChatLayoutHeader>;
|
|
666
|
+
/** 免责声明渲染控制 */
|
|
667
|
+
disclaimerNotice?: RenderControl<void, void>;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* ChatSender 组件暴露的方法接口
|
|
672
|
+
*/
|
|
673
|
+
interface ChatSenderHandle {
|
|
674
|
+
/** 聚焦输入框 */
|
|
675
|
+
focus: (options?: {
|
|
676
|
+
cursor?: 'start' | 'end';
|
|
677
|
+
}) => void;
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
680
|
+
* 文件上传配置接口
|
|
681
|
+
*/
|
|
682
|
+
interface FileUpload {
|
|
683
|
+
/** 上传时的额外参数 */
|
|
684
|
+
params?: ObjectType<any>;
|
|
685
|
+
/** 文件上传配置列表 */
|
|
686
|
+
config: FileUploadConfig;
|
|
687
|
+
/** 文件上传请求函数 */
|
|
688
|
+
request: AttachmentsProps['fileUpload'];
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* ChatSender 组件属性接口
|
|
692
|
+
*/
|
|
693
|
+
interface SenderProps {
|
|
694
|
+
/** 输入框占位符 */
|
|
695
|
+
placeholder?: string;
|
|
696
|
+
/** 特殊指令配置 */
|
|
697
|
+
commandConfig?: ObjectType<CommandConfig>;
|
|
698
|
+
/** 输入框内容 */
|
|
699
|
+
content?: string;
|
|
700
|
+
/** 文件列表 */
|
|
701
|
+
fileList?: InputFile[];
|
|
702
|
+
/** 是否打开文件选择头部 */
|
|
703
|
+
headerOpen?: boolean;
|
|
704
|
+
/** 是否正在发送消息 */
|
|
705
|
+
loading?: boolean;
|
|
706
|
+
/** 内容变化回调 */
|
|
707
|
+
onContentChange: (value: string) => void;
|
|
708
|
+
/** 文件列表变化回调 */
|
|
709
|
+
onFileListChange: (files: InputFile[]) => void;
|
|
710
|
+
/** 头部打开状态变化回调 */
|
|
711
|
+
onHeaderOpenChange: (open: boolean) => void;
|
|
712
|
+
/** 发送消息回调 */
|
|
713
|
+
onSend: () => void;
|
|
714
|
+
/** 取消发送回调 */
|
|
715
|
+
onCancel?: () => void;
|
|
716
|
+
/** 输入框聚焦回调 */
|
|
717
|
+
onFocus?: () => void;
|
|
718
|
+
/** 头部额外内容 */
|
|
719
|
+
extraHeader?: React.ReactNode;
|
|
720
|
+
/** 底部额外内容 */
|
|
721
|
+
extraFooter?: React.ReactNode;
|
|
722
|
+
/** 底部下方额外内容 */
|
|
723
|
+
extraFooterBelow?: React.ReactNode;
|
|
724
|
+
/** 发送按钮属性 */
|
|
725
|
+
sendBtnProps?: ButtonProps;
|
|
726
|
+
/** 文件上传配置 */
|
|
727
|
+
fileUpload?: FileUpload;
|
|
728
|
+
}
|
|
729
|
+
declare const _default$2: react.ForwardRefExoticComponent<SenderProps & react.RefAttributes<ChatSenderHandle>>;
|
|
730
|
+
|
|
731
|
+
interface UserInputType {
|
|
732
|
+
inputs: Variable[];
|
|
733
|
+
outputs: Variable[];
|
|
734
|
+
}
|
|
735
|
+
interface ChatUploadParams {
|
|
736
|
+
workspaceType: WorkspaceTypeEnum;
|
|
737
|
+
agentId: string;
|
|
738
|
+
workspaceId: string;
|
|
739
|
+
}
|
|
740
|
+
/**
|
|
741
|
+
* 创建聊天服务
|
|
742
|
+
* @param request - 请求函数实例
|
|
743
|
+
* @returns 聊天服务对象
|
|
744
|
+
*/
|
|
745
|
+
declare const createChatService: (request: ReturnType<typeof createRequest>, config?: RequestConfig) => {
|
|
746
|
+
fetchModelList: () => Promise<R<ProviderModel[]>>;
|
|
747
|
+
fetchAgentInfo: (agentId: string) => Promise<R<AgentInfo>>;
|
|
748
|
+
createConversationId: (params: ConversationCreate) => Promise<R<string>>;
|
|
749
|
+
fetchConversations: (params: ConversationsQuery) => Promise<R<ConversationType[]>>;
|
|
750
|
+
deleteConversation: (id: string) => Promise<R<string>>;
|
|
751
|
+
fetchMessages: (params: ConversationMessagesQuery) => Promise<R<ConversationMessage[]>>;
|
|
752
|
+
sendMessageStream: (params: ConversationMessageSend, agentId: string) => Promise<R<ConversationMessage[]>>;
|
|
753
|
+
cancelMessage: (executionId: string) => Promise<R<string>>;
|
|
754
|
+
getAgentUserInput: (agentId: string) => Promise<R<UserInputType>>;
|
|
755
|
+
feedbackUpdate: (params: FeedbackUpdate) => Promise<R<null>>;
|
|
756
|
+
chatUpload: (params: ChatUploadParams, data: FormData, signal?: AbortSignal) => Promise<R<InputFile[]>>;
|
|
757
|
+
getPreviewUrl: (conversationId: string, path: string) => string;
|
|
758
|
+
docQuery: (params: string) => Promise<R<DocType>>;
|
|
759
|
+
listSkills: (params?: ListSkillReq) => Promise<R<Skill[]>>;
|
|
760
|
+
listLibrarys: (params?: ListLibraryReq) => Promise<R<Library[]>>;
|
|
761
|
+
listDataSources: () => Promise<R<Datasource[]>>;
|
|
762
|
+
listTags: (params: {
|
|
763
|
+
tagType: TagTypeEnum;
|
|
764
|
+
}) => Promise<R<WorkspaceTag[]>>;
|
|
765
|
+
getAgentAvatar: (path: string) => Promise<Blob>;
|
|
766
|
+
};
|
|
767
|
+
|
|
768
|
+
type RequestInstance = ReturnType<typeof createChatService>;
|
|
769
|
+
/**
|
|
770
|
+
* 聊天HTTP服务配置接口
|
|
771
|
+
* 定义聊天组件所需的HTTP服务配置,用于API请求
|
|
772
|
+
*/
|
|
773
|
+
interface ChatHttpServices {
|
|
774
|
+
/**
|
|
775
|
+
* 基于axios扩展的配置参数
|
|
776
|
+
* 支持所有axios配置选项,如baseURL、timeout、headers等
|
|
777
|
+
* @see {@link RequestConfig}
|
|
778
|
+
*/
|
|
779
|
+
config?: RequestConfig;
|
|
780
|
+
/**
|
|
781
|
+
* 聊天服务和文件服务的合并请求对象(没有测试,暂时不使用)
|
|
782
|
+
* 可以提供自定义的请求实例,用于替代默认创建的实例
|
|
783
|
+
*/
|
|
784
|
+
request?: RequestInstance;
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* 聊天WebSocket服务配置接口
|
|
788
|
+
* 定义聊天组件所需的WebSocket服务配置,用于实时消息通信
|
|
789
|
+
*/
|
|
790
|
+
interface ChatWebsocketServices {
|
|
791
|
+
/**
|
|
792
|
+
* WebSocket连接基础URL列表,支持多地址容错(目前只支持两个地址)
|
|
793
|
+
*
|
|
794
|
+
* 使用方式:
|
|
795
|
+
* - undefined: 继承http.config.baseURL的值
|
|
796
|
+
* - []: 空数组表示关闭WebSocket功能
|
|
797
|
+
* - [url]: 单个URL用于WebSocket连接
|
|
798
|
+
* - [url1, url2]: 两个URL用于WebSocket连接,支持多端容错
|
|
799
|
+
*/
|
|
800
|
+
baseURLs?: (string | undefined)[];
|
|
801
|
+
/**
|
|
802
|
+
* WebSocket连接参数
|
|
803
|
+
* - undefined: 继承http.config.headers的值
|
|
804
|
+
* 附加到WebSocket URL上的查询参数
|
|
805
|
+
*/
|
|
806
|
+
params?: Record<string, string | number>;
|
|
807
|
+
}
|
|
808
|
+
/**
|
|
809
|
+
* 聊天服务配置接口
|
|
810
|
+
* 定义聊天组件所需的所有服务配置,包括HTTP和WebSocket
|
|
811
|
+
* * @example
|
|
812
|
+
* // 基本配置,使用默认继承
|
|
813
|
+
* const services: ChatServices = {
|
|
814
|
+
* http: {
|
|
815
|
+
* config: {
|
|
816
|
+
* baseURL: '/api',
|
|
817
|
+
* timeout: 10000,
|
|
818
|
+
* headers: { 'NS-TOKEN': '123456' }
|
|
819
|
+
* }
|
|
820
|
+
* },
|
|
821
|
+
* websocket: {} // 继承http的baseURL和headers参数
|
|
822
|
+
* }
|
|
823
|
+
*
|
|
824
|
+
* @example
|
|
825
|
+
* // 自定义WebSocket配置
|
|
826
|
+
* const services: ChatServices = {
|
|
827
|
+
* http: {
|
|
828
|
+
* config: { baseURL: '/api' }
|
|
829
|
+
* },
|
|
830
|
+
* websocket: {
|
|
831
|
+
* baseURLs: ['/api', '/api/saas'],
|
|
832
|
+
* params: { token: 'abc123' }
|
|
833
|
+
* }
|
|
834
|
+
* }
|
|
835
|
+
*
|
|
836
|
+
* @example
|
|
837
|
+
* // 关闭WebSocket功能
|
|
838
|
+
* const services: ChatServices = {
|
|
839
|
+
* http: {
|
|
840
|
+
* config: { baseURL: '/api' }
|
|
841
|
+
* },
|
|
842
|
+
* websocket: {
|
|
843
|
+
* baseURLs: [] // 空数组表示关闭WebSocket
|
|
844
|
+
* }
|
|
845
|
+
* }
|
|
846
|
+
*/
|
|
847
|
+
interface ChatServices {
|
|
848
|
+
/** HTTP服务配置 */
|
|
849
|
+
http?: ChatHttpServices;
|
|
850
|
+
/** WebSocket服务配置 */
|
|
851
|
+
websocket?: ChatWebsocketServices;
|
|
630
852
|
}
|
|
631
853
|
|
|
632
854
|
/**
|
|
@@ -1322,198 +1544,6 @@ interface ChatHooks {
|
|
|
1322
1544
|
onAfterSwitchModel?: (model: AgentSpec['model']) => void;
|
|
1323
1545
|
}
|
|
1324
1546
|
|
|
1325
|
-
/**
|
|
1326
|
-
* 聊天布局会话列表配置接口
|
|
1327
|
-
* 控制会话列表区域的显示和功能
|
|
1328
|
-
* ConversationList组件默认 header = true
|
|
1329
|
-
* @example
|
|
1330
|
-
* // 自定义会话列表配置
|
|
1331
|
-
* const conversationList: ChatLayoutConversationList = {
|
|
1332
|
-
* header: true // 显示会话列表头部
|
|
1333
|
-
* }
|
|
1334
|
-
*/
|
|
1335
|
-
interface ChatLayoutConversationList {
|
|
1336
|
-
/** 会话列表头部渲染控制 */
|
|
1337
|
-
header?: RenderControl<void, ChatLayoutConversationListHeader>;
|
|
1338
|
-
}
|
|
1339
|
-
/**
|
|
1340
|
-
* 左侧会话列表header渲染控制
|
|
1341
|
-
* 控制会话列表header区域的显示和功能
|
|
1342
|
-
* ChatHeader组件默认 title = true, avatar = true, newConversationBtn = true, conversationListFavoriteBtn = true
|
|
1343
|
-
* @example
|
|
1344
|
-
* // 自定义头部配置
|
|
1345
|
-
* const header: ChatLayoutConversationListHeader = {
|
|
1346
|
-
* title: true, // 显示标题
|
|
1347
|
-
* avatar: true, // 显示头像
|
|
1348
|
-
* newConversationBtn: false, // 隐藏新建会话按钮
|
|
1349
|
-
* conversationListFavoriteBtn: true // 显示会话收藏列表按钮
|
|
1350
|
-
* }
|
|
1351
|
-
*/
|
|
1352
|
-
interface ChatLayoutConversationListHeader {
|
|
1353
|
-
/** 标题渲染控制 */
|
|
1354
|
-
title?: RenderControl<void, void>;
|
|
1355
|
-
/** 头像渲染控制 */
|
|
1356
|
-
avatar?: RenderControl<void, void>;
|
|
1357
|
-
/** 新建会话按钮渲染控制 */
|
|
1358
|
-
newConversationBtn?: RenderControl<void, void>;
|
|
1359
|
-
/** 是否显示会话收藏列表按钮 */
|
|
1360
|
-
conversationListFavoriteBtn?: boolean;
|
|
1361
|
-
}
|
|
1362
|
-
/**
|
|
1363
|
-
* 聊天布局头部配置接口
|
|
1364
|
-
* 控制聊天头部区域的显示和功能
|
|
1365
|
-
* ChatHeader组件默认 title = true, avatar = true, closeBtn = false, newConversationBtn = true, conversationListBtn = true
|
|
1366
|
-
* @example
|
|
1367
|
-
* // 自定义头部配置
|
|
1368
|
-
* const header: ChatLayoutHeader = {
|
|
1369
|
-
* title: true, // 显示标题
|
|
1370
|
-
* avatar: true, // 显示头像
|
|
1371
|
-
* }
|
|
1372
|
-
*/
|
|
1373
|
-
interface ChatLayoutHeader {
|
|
1374
|
-
/** 标题渲染控制 */
|
|
1375
|
-
title?: RenderControl<void, void>;
|
|
1376
|
-
/** 头像渲染控制 */
|
|
1377
|
-
avatar?: RenderControl<void, void>;
|
|
1378
|
-
/** 是否显示关闭按钮 */
|
|
1379
|
-
closeBtn?: boolean;
|
|
1380
|
-
/** 新建会话按钮渲染控制 */
|
|
1381
|
-
newConversationBtn?: RenderControl<void, CustomButtonProps>;
|
|
1382
|
-
/** 是否显示会话列表按钮 */
|
|
1383
|
-
conversationListBtn?: RenderControl<void, CustomButtonProps>;
|
|
1384
|
-
}
|
|
1385
|
-
interface CustomButtonProps extends Omit<ButtonProps, 'icon'> {
|
|
1386
|
-
icon?: () => ReactNode;
|
|
1387
|
-
}
|
|
1388
|
-
/**
|
|
1389
|
-
* 聊天布局输入框配置接口
|
|
1390
|
-
* 控制输入框区域的功能和样式
|
|
1391
|
-
* ChatSender组件默认 placeholder, extraBtn = false, referencesBtn = false
|
|
1392
|
-
* @example
|
|
1393
|
-
* // 自定义输入框配置
|
|
1394
|
-
* const sender: ChatLayoutSender = {
|
|
1395
|
-
* placeholder: '请输入您的问题...',
|
|
1396
|
-
* extraBtn: true, // 显示额外按钮
|
|
1397
|
-
* referencesBtn: true, // 显示引用按钮
|
|
1398
|
-
* prompts: true, // 显示推荐问题
|
|
1399
|
-
* sendBtnProps: () => ({
|
|
1400
|
-
* type: 'primary',
|
|
1401
|
-
* children: '发送'
|
|
1402
|
-
* })
|
|
1403
|
-
* }
|
|
1404
|
-
*/
|
|
1405
|
-
interface ChatLayoutSender {
|
|
1406
|
-
/** 输入框占位符文本 */
|
|
1407
|
-
placeholder?: string;
|
|
1408
|
-
/** 额外按钮渲染控制 */
|
|
1409
|
-
extraBtn?: RenderControl<void, void>;
|
|
1410
|
-
/** 引用按钮渲染控制 */
|
|
1411
|
-
referencesBtn?: RenderControl<void, void>;
|
|
1412
|
-
/** 底部额外内容渲染控制 */
|
|
1413
|
-
footerBelow?: RenderControl<void, void>;
|
|
1414
|
-
/** 专业技能按钮渲染控制 */
|
|
1415
|
-
skillsBtn?: RenderControl<void, void>;
|
|
1416
|
-
/** 知识库按钮渲染控制 */
|
|
1417
|
-
knowledgeBtn?: RenderControl<void, void>;
|
|
1418
|
-
/** 发送按钮属性配置函数 */
|
|
1419
|
-
sendBtnProps?: () => ButtonProps;
|
|
1420
|
-
/** 模型下拉选择配置控制 */
|
|
1421
|
-
modelSelect?: RenderControl<void, void>;
|
|
1422
|
-
/** 深度思考按钮渲染控制 */
|
|
1423
|
-
reasonBtn?: RenderControl<void, void>;
|
|
1424
|
-
}
|
|
1425
|
-
/**
|
|
1426
|
-
* 消息列表欢迎信息配置
|
|
1427
|
-
* 控制聊天界面初始欢迎信息的显示内容和自定义渲染
|
|
1428
|
-
* @example
|
|
1429
|
-
* // 自定义欢迎信息
|
|
1430
|
-
* const welcomeMessage: ChatLayoutWelcomeMessage = {
|
|
1431
|
-
* icon: true, // 显示默认图标
|
|
1432
|
-
* title: {render: () => <>欢迎使用AI助手</>}, // 修改标题
|
|
1433
|
-
* description: false, // 不显示详情
|
|
1434
|
-
* prompts: true // 显示推荐问题
|
|
1435
|
-
* }
|
|
1436
|
-
*/
|
|
1437
|
-
interface ChatLayoutWelcomeMessage {
|
|
1438
|
-
icon?: RenderControl<void, void>;
|
|
1439
|
-
title?: RenderControl<void, void>;
|
|
1440
|
-
description?: RenderControl<void, void>;
|
|
1441
|
-
prompts?: RenderControl<void, void>;
|
|
1442
|
-
}
|
|
1443
|
-
/**
|
|
1444
|
-
* 聊天布局消息列表配置接口
|
|
1445
|
-
* 控制消息列表区域的显示和功能
|
|
1446
|
-
* @example
|
|
1447
|
-
* // 自定义消息列表配置
|
|
1448
|
-
* const messageList: ChatLayoutMessageList = {
|
|
1449
|
-
* avatar: {
|
|
1450
|
-
* user: true,
|
|
1451
|
-
* agent: true,
|
|
1452
|
-
* other: false
|
|
1453
|
-
* },
|
|
1454
|
-
* firstMessage: false // 不显示首条消息
|
|
1455
|
-
* welcomeMessage: false // 不显示欢迎消息
|
|
1456
|
-
* }
|
|
1457
|
-
*/
|
|
1458
|
-
interface ChatLayoutMessageList {
|
|
1459
|
-
/** 首条消息配置 */
|
|
1460
|
-
firstMessages?: FirstMessage[];
|
|
1461
|
-
/** 头像显示控制:可以是全局布尔值或按成员类型分别控制 */
|
|
1462
|
-
avatar?: boolean | Partial<Record<ConversationMemberEnum, boolean>>;
|
|
1463
|
-
/** 智能体消息操作区渲染控制 */
|
|
1464
|
-
agentActions?: RenderControl<{
|
|
1465
|
-
message: ConversationMessage;
|
|
1466
|
-
dom?: HTMLElement;
|
|
1467
|
-
}, void>;
|
|
1468
|
-
/** message自定义标记渲染组件 */
|
|
1469
|
-
customComponents?: Record<string, any>;
|
|
1470
|
-
/** 欢迎消息渲染控制, 要渲染时如果列表有内容则不渲染 */
|
|
1471
|
-
welcomeMessage?: RenderControl<void, ChatLayoutWelcomeMessage>;
|
|
1472
|
-
}
|
|
1473
|
-
/**
|
|
1474
|
-
* 聊天布局配置接口(专家和智能体各有一套默认布局)
|
|
1475
|
-
* 控制聊天组件整体布局的显示和功能
|
|
1476
|
-
*
|
|
1477
|
-
* @example
|
|
1478
|
-
* const layout: ChatLayout = {
|
|
1479
|
-
* leftPanel: false,
|
|
1480
|
-
* conversationList: false,
|
|
1481
|
-
* preview: false,
|
|
1482
|
-
* messageList: true,
|
|
1483
|
-
* sender: {
|
|
1484
|
-
* props: {
|
|
1485
|
-
* prompts: false
|
|
1486
|
-
* }
|
|
1487
|
-
* },
|
|
1488
|
-
* chatHeader: {
|
|
1489
|
-
* render: (props) => <div>{props.children}</div>:
|
|
1490
|
-
* },
|
|
1491
|
-
* disclaimerNotice: false
|
|
1492
|
-
* }
|
|
1493
|
-
*/
|
|
1494
|
-
interface ChatLayout {
|
|
1495
|
-
/** 左侧面板渲染控制 */
|
|
1496
|
-
leftPanel?: RenderControl<void, void>;
|
|
1497
|
-
/** 会话列表面板渲染控制 */
|
|
1498
|
-
conversationList?: RenderControl<void, ChatLayoutConversationList>;
|
|
1499
|
-
/** 是否允许预览功能 */
|
|
1500
|
-
preview?: boolean;
|
|
1501
|
-
/** 消息列表渲染控制 */
|
|
1502
|
-
messageList?: RenderControl<void, ChatLayoutMessageList>;
|
|
1503
|
-
/** 输入框头部渲染控制 */
|
|
1504
|
-
senderHeader?: RenderControl<void, void>;
|
|
1505
|
-
/** 输入框渲染控制 */
|
|
1506
|
-
sender?: RenderControl<void, ChatLayoutSender>;
|
|
1507
|
-
/** 输入框底部渲染控制 */
|
|
1508
|
-
senderFooter?: RenderControl<void, void>;
|
|
1509
|
-
/** 全局头部渲染控制 */
|
|
1510
|
-
globalHeader?: RenderControl<void, ChatLayoutHeader>;
|
|
1511
|
-
/** 聊天区域头部渲染控制 */
|
|
1512
|
-
chatHeader?: RenderControl<void, ChatLayoutHeader>;
|
|
1513
|
-
/** 免责声明渲染控制 */
|
|
1514
|
-
disclaimerNotice?: RenderControl<void, void>;
|
|
1515
|
-
}
|
|
1516
|
-
|
|
1517
1547
|
interface ChatConfig {
|
|
1518
1548
|
agent: AgentInfo;
|
|
1519
1549
|
conversationId?: string;
|
|
@@ -1609,6 +1639,21 @@ interface WorkspaceTag {
|
|
|
1609
1639
|
name?: string;
|
|
1610
1640
|
tagType?: TagTypeEnum;
|
|
1611
1641
|
}
|
|
1642
|
+
interface Datasource {
|
|
1643
|
+
id: string;
|
|
1644
|
+
name: string;
|
|
1645
|
+
type: number;
|
|
1646
|
+
host: string;
|
|
1647
|
+
port?: number;
|
|
1648
|
+
username: string;
|
|
1649
|
+
password: string;
|
|
1650
|
+
dbName: string;
|
|
1651
|
+
state: number;
|
|
1652
|
+
testState?: number;
|
|
1653
|
+
remark?: string;
|
|
1654
|
+
createdAt: string;
|
|
1655
|
+
updatedAt: string;
|
|
1656
|
+
}
|
|
1612
1657
|
|
|
1613
1658
|
/**
|
|
1614
1659
|
* 附件组件属性接口
|