@ibiz-template-plugin/ai-chat 0.0.111 → 0.0.113
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.es.js +8187 -6335
- package/dist/index.legacy.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/chat-container/chat-container.d.ts +1 -1
- package/dist/types/components/chat-group-topics/chat-group-topics.d.ts +13 -0
- package/dist/types/components/chat-messages/use-virtual-list.d.ts +5 -0
- package/dist/types/components/chat-project/chat-project.d.ts +12 -0
- package/dist/types/components/chat-topic-item/chat-topic-item.d.ts +8 -0
- package/dist/types/components/common/lazy-tree/lazy-tree.d.ts +92 -0
- package/dist/types/constants/index.d.ts +16 -0
- package/dist/types/controller/ai-chat/ai-chat.controller.d.ts +19 -2
- package/dist/types/controller/ai-topic/ai-topic.controller.d.ts +235 -7
- package/dist/types/controller/chat/chat-base.controller.d.ts +19 -0
- package/dist/types/entity/chart-topic/chart-topic.d.ts +2 -0
- package/dist/types/icons/index.d.ts +4 -0
- package/dist/types/icons/list-checkbox-svg.d.ts +1 -0
- package/dist/types/icons/plus-svg.d.ts +1 -0
- package/dist/types/icons/solid-down-svg.d.ts +1 -0
- package/dist/types/icons/untop-svg.d.ts +1 -0
- package/dist/types/interface/i-chat-controller/i-chat-controller.d.ts +7 -0
- package/dist/types/interface/i-chat-options/i-chat-options.d.ts +19 -1
- package/dist/types/interface/i-project/i-project.d.ts +14 -0
- package/dist/types/interface/i-remote-resource/i-remote-resource.d.ts +6 -0
- package/dist/types/interface/i-resource-options/i-resource-options.d.ts +21 -0
- package/dist/types/interface/i-topic-options/i-topic-options.d.ts +112 -11
- package/dist/types/interface/index.d.ts +3 -1
- package/dist/types/locale/en/index.d.ts +24 -0
- package/dist/types/locale/zh-CN/index.d.ts +24 -0
- package/package.json +1 -1
|
@@ -197,6 +197,10 @@ export declare class AiChatController {
|
|
|
197
197
|
* 选中知识库
|
|
198
198
|
*/
|
|
199
199
|
selectionKnowledgeBases: Signal<string[]>;
|
|
200
|
+
/**
|
|
201
|
+
* 选中项目
|
|
202
|
+
*/
|
|
203
|
+
selectionProject: string | undefined;
|
|
200
204
|
/**
|
|
201
205
|
* 当前可选知识库
|
|
202
206
|
*/
|
|
@@ -527,12 +531,13 @@ export declare class AiChatController {
|
|
|
527
531
|
* 重置对话(清空当前对话、查询历史)
|
|
528
532
|
* @returns
|
|
529
533
|
*/
|
|
530
|
-
|
|
534
|
+
resetTopicMessage(): Promise<boolean>;
|
|
531
535
|
/**
|
|
532
536
|
* 清空对话
|
|
537
|
+
* @param {boolean} [isConfirm=true] 是否需要确认提示,外部直接调用时弹出,内部(重置)调用时跳过
|
|
533
538
|
* @returns
|
|
534
539
|
*/
|
|
535
|
-
|
|
540
|
+
clearTopicMessage(isConfirm?: boolean): Promise<boolean>;
|
|
536
541
|
/**
|
|
537
542
|
* 新增素材资源
|
|
538
543
|
*
|
|
@@ -607,6 +612,18 @@ export declare class AiChatController {
|
|
|
607
612
|
* @returns
|
|
608
613
|
*/
|
|
609
614
|
searchAIAgent(query: string): Promise<AIAgent[]>;
|
|
615
|
+
/**
|
|
616
|
+
* @description 搜索项目
|
|
617
|
+
* @param {string} [file_path='']
|
|
618
|
+
* @param {string} [pattern='']
|
|
619
|
+
* @returns {*} {Promise<{ id: string; label: string; isLeaf: boolean }[]>}
|
|
620
|
+
* @memberof AiChatController
|
|
621
|
+
*/
|
|
622
|
+
searchProject(file_path?: string, pattern?: string): Promise<{
|
|
623
|
+
id: string;
|
|
624
|
+
label: string;
|
|
625
|
+
isLeaf: boolean;
|
|
626
|
+
}[]>;
|
|
610
627
|
/**
|
|
611
628
|
* 设置选中知识库
|
|
612
629
|
* @param ids
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Signal } from '@preact/signals';
|
|
2
2
|
import { ChatTopic } from '../../entity';
|
|
3
|
-
import { ITopic, ITopicOptions, IResourceOptions, IChatController } from '../../interface';
|
|
3
|
+
import { ITopic, ITopicOptions, IResourceOptions, IChatController, IGroupItem, IScopeItem, ITopicGroupNode } from '../../interface';
|
|
4
|
+
import { AiChatController } from '../ai-chat/ai-chat.controller';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* ai话题控制器
|
|
@@ -51,6 +52,14 @@ export declare class AiTopicController {
|
|
|
51
52
|
* @type {Signal<boolean>}
|
|
52
53
|
*/
|
|
53
54
|
readonly isTempChat: Signal<boolean>;
|
|
55
|
+
/**
|
|
56
|
+
* 是否处于多选模式
|
|
57
|
+
*/
|
|
58
|
+
readonly isSelectMode: Signal<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* 多选模式下已选中的话题id集合
|
|
61
|
+
*/
|
|
62
|
+
readonly selectedTopicIds: Signal<Set<string>>;
|
|
54
63
|
/**
|
|
55
64
|
* 当前话题配置备份
|
|
56
65
|
*
|
|
@@ -90,6 +99,31 @@ export declare class AiTopicController {
|
|
|
90
99
|
* @memberof AiTopicController
|
|
91
100
|
*/
|
|
92
101
|
compWrapperId: string;
|
|
102
|
+
/**
|
|
103
|
+
* @description 工作模式,默认值,会话数据以列表显示; WORKSPACE:工作区,会话数据分为域(scope)、会话分组分层显示
|
|
104
|
+
* @type {('DEFAULT' | 'WORKSPACE')}
|
|
105
|
+
* @memberof AiTopicController
|
|
106
|
+
*/
|
|
107
|
+
workMode: 'DEFAULT' | 'WORKSPACE';
|
|
108
|
+
/**
|
|
109
|
+
* @description 业务域列表(WORKSPACE 工作模式使用)
|
|
110
|
+
* @type {IScopeItem[]}
|
|
111
|
+
* @memberof AiTopicController
|
|
112
|
+
*/
|
|
113
|
+
scopeList: IScopeItem[];
|
|
114
|
+
/**
|
|
115
|
+
* @description 用户自定义分组清单(WORKSPACE 工作模式使用)
|
|
116
|
+
* @type {Signal<IGroupItem[]>}
|
|
117
|
+
* @memberof AiTopicController
|
|
118
|
+
*/
|
|
119
|
+
readonly groups: Signal<IGroupItem[]>;
|
|
120
|
+
/**
|
|
121
|
+
* @description 分组存储服务实例('aigroups',与会话数据 'aitopics' 区分)
|
|
122
|
+
* @private
|
|
123
|
+
* @type {(IConfigService | undefined)}
|
|
124
|
+
* @memberof AiTopicController
|
|
125
|
+
*/
|
|
126
|
+
private groupConfig;
|
|
93
127
|
/**
|
|
94
128
|
* Creates an instance of AiTopicController.
|
|
95
129
|
* @author tony001
|
|
@@ -97,6 +131,15 @@ export declare class AiTopicController {
|
|
|
97
131
|
* @param {IChatController} chat
|
|
98
132
|
*/
|
|
99
133
|
constructor(chat: IChatController);
|
|
134
|
+
/**
|
|
135
|
+
* @description 判断话题是否正在与AI会话中
|
|
136
|
+
* @author tony001
|
|
137
|
+
* @date 2026-09-28 10:09:00
|
|
138
|
+
* @param {string} topicId 话题标识
|
|
139
|
+
* @returns {*} {boolean}
|
|
140
|
+
* @memberof AiTopicController
|
|
141
|
+
*/
|
|
142
|
+
isTopicGenerating(topicId: string): boolean;
|
|
100
143
|
/**
|
|
101
144
|
* 设置激活话题
|
|
102
145
|
* @param topic 话题数据
|
|
@@ -106,7 +149,7 @@ export declare class AiTopicController {
|
|
|
106
149
|
* 注入组件外层容器id
|
|
107
150
|
* @param compWrapperId
|
|
108
151
|
*/
|
|
109
|
-
|
|
152
|
+
injectBasicResources(compWrapperId: string, workMode: 'DEFAULT' | 'WORKSPACE', scopeList?: IScopeItem[]): void;
|
|
110
153
|
/**
|
|
111
154
|
* 注入资源选项
|
|
112
155
|
* @param resourceOptions
|
|
@@ -144,6 +187,23 @@ export declare class AiTopicController {
|
|
|
144
187
|
* @param topicid 话题标识
|
|
145
188
|
*/
|
|
146
189
|
updateTopicChatByID(topicid: string, args: Record<string, any>): Promise<void>;
|
|
190
|
+
/**
|
|
191
|
+
* @description 构建话题远程 ui_meta 数据
|
|
192
|
+
* @private
|
|
193
|
+
* @param {ChatTopic} topic 话题数据
|
|
194
|
+
* @param {Record<string, any>} [args] 需合并进aiChat的附加数据
|
|
195
|
+
* @returns {*} {Record<string, any>}
|
|
196
|
+
* @memberof AiTopicController
|
|
197
|
+
*/
|
|
198
|
+
private buildTopicUiMeta;
|
|
199
|
+
/**
|
|
200
|
+
* @description 更新话题远程会话的 ui_meta 数据(存在真实id直接更新;否则基于sessionid查询后更新)
|
|
201
|
+
* @private
|
|
202
|
+
* @param {ChatTopic} topic 话题数据
|
|
203
|
+
* @returns {*} {Promise<void>}
|
|
204
|
+
* @memberof AiTopicController
|
|
205
|
+
*/
|
|
206
|
+
private updateTopicRemoteMeta;
|
|
147
207
|
/**
|
|
148
208
|
* 删除话题
|
|
149
209
|
*
|
|
@@ -153,10 +213,10 @@ export declare class AiTopicController {
|
|
|
153
213
|
* @param {object} context
|
|
154
214
|
* @param {object} params
|
|
155
215
|
* @param {ITopic} data
|
|
156
|
-
* @param {MouseEvent}
|
|
216
|
+
* @param {MouseEvent} _event
|
|
157
217
|
* @return {*} {Promise<void>}
|
|
158
218
|
*/
|
|
159
|
-
removeTopic(options: ITopicOptions, context: object, params: object, data: ITopic,
|
|
219
|
+
removeTopic(options: ITopicOptions, context: object, params: object, data: ITopic, _event: MouseEvent): Promise<void>;
|
|
160
220
|
/**
|
|
161
221
|
* 删除远程会话数据
|
|
162
222
|
* 存在真实id,则删除远程session数据;不存在真实id,先基于sessionid查询,如果存在则删除,不存在视为删除成功
|
|
@@ -191,14 +251,18 @@ export declare class AiTopicController {
|
|
|
191
251
|
* @date 2025-03-18 18:03:49
|
|
192
252
|
* @return {*} {Promise<void>}
|
|
193
253
|
*/
|
|
194
|
-
newTopic(topicid: string, args: Record<string, any
|
|
254
|
+
newTopic(topicid: string, args: Record<string, any>, extra?: {
|
|
255
|
+
scope?: string | number;
|
|
256
|
+
groupid?: string;
|
|
257
|
+
}): Promise<void>;
|
|
195
258
|
/**
|
|
196
259
|
* 清空话题
|
|
197
260
|
* - 当前激活项不清空
|
|
261
|
+
* @param {boolean} [clearGroups=false] 是否同时清空自定义分组数据(WORKSPACE 工作模式)
|
|
198
262
|
* @return {*} {Promise<void>}
|
|
199
263
|
* @memberof AiTopicController
|
|
200
264
|
*/
|
|
201
|
-
clearTopic(): Promise<void>;
|
|
265
|
+
clearTopic(clearGroups?: boolean): Promise<void>;
|
|
202
266
|
/**
|
|
203
267
|
* 清空远程会话数据(排除指定会话)
|
|
204
268
|
* 激活会话存在会话标识时,清空其余会话;不存在时视为成功
|
|
@@ -207,6 +271,28 @@ export declare class AiTopicController {
|
|
|
207
271
|
* @return {*} {Promise<boolean>}
|
|
208
272
|
*/
|
|
209
273
|
private clearRemoteSession;
|
|
274
|
+
/**
|
|
275
|
+
* 进入多选模式
|
|
276
|
+
*
|
|
277
|
+
* @param {string} [topicId] 默认选中的话题id,未传则仅进入多选模式
|
|
278
|
+
*/
|
|
279
|
+
enterSelectMode(topicId?: string): void;
|
|
280
|
+
/**
|
|
281
|
+
* 退出多选模式并清空选中
|
|
282
|
+
*/
|
|
283
|
+
exitSelectMode(): void;
|
|
284
|
+
/**
|
|
285
|
+
* 切换话题选中状态(多选模式)
|
|
286
|
+
*
|
|
287
|
+
* @param {string} id 话题id
|
|
288
|
+
*/
|
|
289
|
+
toggleTopicSelected(id: string): void;
|
|
290
|
+
/**
|
|
291
|
+
* 获取多选模式下已选中的话题
|
|
292
|
+
*
|
|
293
|
+
* @return {*} {ChatTopic[]}
|
|
294
|
+
*/
|
|
295
|
+
private getSelectedTopics;
|
|
210
296
|
/**
|
|
211
297
|
* 更新话题标题
|
|
212
298
|
* @param topicId
|
|
@@ -246,9 +332,11 @@ export declare class AiTopicController {
|
|
|
246
332
|
switchTopicSidebarCollapse(): void;
|
|
247
333
|
/**
|
|
248
334
|
* 全局新建会话
|
|
335
|
+
* @param scope 业务域标识(WORKSPACE 工作模式)
|
|
336
|
+
* @param groupid 自定义分组标识(WORKSPACE 工作模式)
|
|
249
337
|
* @returns
|
|
250
338
|
*/
|
|
251
|
-
globalNewTopic(): void;
|
|
339
|
+
globalNewTopic(scope?: string | number, groupid?: string): void;
|
|
252
340
|
/**
|
|
253
341
|
* 进入临时会话
|
|
254
342
|
*/
|
|
@@ -267,4 +355,144 @@ export declare class AiTopicController {
|
|
|
267
355
|
* @memberof AiTopicController
|
|
268
356
|
*/
|
|
269
357
|
private handleAction;
|
|
358
|
+
/**
|
|
359
|
+
* @description 批量收集话题真实id,话题存在真实id直接使用;否则基于sessionid查询,查不到则忽略该话题
|
|
360
|
+
* @private
|
|
361
|
+
* @param {ChatTopic[]} topics 话题列表
|
|
362
|
+
* @returns {*} {Promise<string[]>} 真实id列表
|
|
363
|
+
* @memberof AiTopicController
|
|
364
|
+
*/
|
|
365
|
+
private resolveTopicRealIds;
|
|
366
|
+
/**
|
|
367
|
+
* @description 批量删除会话
|
|
368
|
+
* @private
|
|
369
|
+
* @param {ChatTopic[]} selectedTopics
|
|
370
|
+
* @returns {*} {Promise<boolean>}
|
|
371
|
+
* @memberof AiTopicController
|
|
372
|
+
*/
|
|
373
|
+
private batchDeleteRemoteSession;
|
|
374
|
+
/**
|
|
375
|
+
* @description 批量置顶,将所有选中话题统一置为置顶状态并持久化,完成后退出多选模式
|
|
376
|
+
* @returns {*} {Promise<void>}
|
|
377
|
+
* @memberof AiTopicController
|
|
378
|
+
*/
|
|
379
|
+
batchPinTop(): Promise<void>;
|
|
380
|
+
/**
|
|
381
|
+
* @description 批量取消置顶,将所有选中话题统一置为未置顶状态并持久化,完成后退出多选模式
|
|
382
|
+
* @returns {*} {Promise<void>}
|
|
383
|
+
* @memberof AiTopicController
|
|
384
|
+
*/
|
|
385
|
+
batchUnPinTop(): Promise<void>;
|
|
386
|
+
/**
|
|
387
|
+
* @description 批量删除,删除前统一走一次 beforeDelete 校验,完成后退出多选模式
|
|
388
|
+
* @param {MouseEvent} [_event]
|
|
389
|
+
* @returns {*} {Promise<void>}
|
|
390
|
+
* @memberof AiTopicController
|
|
391
|
+
*/
|
|
392
|
+
batchDeleteTopics(_event?: MouseEvent): Promise<void>;
|
|
393
|
+
/**
|
|
394
|
+
* @description 批量删除话题内核:删除前统一走一次 beforeDelete 校验,真删存储数据并同步界面
|
|
395
|
+
* @private
|
|
396
|
+
* @param {ChatTopic[]} targetTopics 待删除话题
|
|
397
|
+
* @param {string} [confirmTitle] 删除确认标题,默认为批量删除文案
|
|
398
|
+
* @param {string} [confirmDescription] 删除确认描述,默认为批量删除文案
|
|
399
|
+
* @returns {*} {Promise<boolean>} 是否删除成功
|
|
400
|
+
* @memberof AiTopicController
|
|
401
|
+
*/
|
|
402
|
+
private deleteTopicsCore;
|
|
403
|
+
/**
|
|
404
|
+
* @description 获取分组存储服务实例('aigroups',与会话数据 'aitopics' 区分)
|
|
405
|
+
* @private
|
|
406
|
+
* @param {ITopicOptions} options 话题配置
|
|
407
|
+
* @returns {*} {IConfigService}
|
|
408
|
+
* @memberof AiTopicController
|
|
409
|
+
*/
|
|
410
|
+
private getGroupConfig;
|
|
411
|
+
/**
|
|
412
|
+
* @description 加载用户自定义分组数据
|
|
413
|
+
* @param {ITopicOptions} options 话题配置
|
|
414
|
+
* @returns {*} {Promise<void>}
|
|
415
|
+
* @memberof AiTopicController
|
|
416
|
+
*/
|
|
417
|
+
fetchGroups(options: ITopicOptions): Promise<void>;
|
|
418
|
+
/**
|
|
419
|
+
* @description 保存用户自定义分组数据
|
|
420
|
+
* @returns {*} {Promise<void>}
|
|
421
|
+
* @memberof AiTopicController
|
|
422
|
+
*/
|
|
423
|
+
private saveGroups;
|
|
424
|
+
/**
|
|
425
|
+
* @description 计算分组树(WORKSPACE 工作模式):业务域第一层,自定义分组第二层,其后为话题
|
|
426
|
+
* @param {string} [query] 快速搜索关键词
|
|
427
|
+
* @returns {*} {ITopicGroupNode[]}
|
|
428
|
+
* @memberof AiTopicController
|
|
429
|
+
*/
|
|
430
|
+
computeGroupTree(query?: string): ITopicGroupNode[];
|
|
431
|
+
/**
|
|
432
|
+
* @description 判断话题是否属于无分类(无scope、scope为空或scope不在scopeList中)
|
|
433
|
+
* @private
|
|
434
|
+
* @param {ChatTopic} topic 话题数据
|
|
435
|
+
* @returns {*} {boolean}
|
|
436
|
+
* @memberof AiTopicController
|
|
437
|
+
*/
|
|
438
|
+
private isUnclassifiedTopic;
|
|
439
|
+
/**
|
|
440
|
+
* @description 新增用户自定义分组
|
|
441
|
+
* @param {(string | number)} [scopeid] 所属业务域标识,不传表示无分类域(存储为NONE_SCOPE_ID标记)
|
|
442
|
+
* @returns {*} {Promise<IGroupItem | undefined>} 成功返回新建分组数据,持久化失败返回undefined
|
|
443
|
+
* @memberof AiTopicController
|
|
444
|
+
*/
|
|
445
|
+
addGroup(scopeid?: string | number): Promise<IGroupItem | undefined>;
|
|
446
|
+
/**
|
|
447
|
+
* @description 重命名用户自定义分组
|
|
448
|
+
* @param {string} groupid 分组标识
|
|
449
|
+
* @param {string} text 新分组名称
|
|
450
|
+
* @returns {*} {Promise<IGroupItem | undefined>} 成功返回更新后的分组数据,分组不存在、名称为空、未变化或持久化失败返回undefined
|
|
451
|
+
* @memberof AiTopicController
|
|
452
|
+
*/
|
|
453
|
+
renameGroup(groupid: string, text: string): Promise<IGroupItem | undefined>;
|
|
454
|
+
/**
|
|
455
|
+
* @description 切换用户自定义分组折叠状态(持久化)
|
|
456
|
+
* @param {string} groupid 分组标识
|
|
457
|
+
* @returns {*} {Promise<void>}
|
|
458
|
+
* @memberof AiTopicController
|
|
459
|
+
*/
|
|
460
|
+
toggleGroupCollapse(groupid: string): Promise<void>;
|
|
461
|
+
/**
|
|
462
|
+
* @description 删除业务域:真删该域下所有分组和会话数据;不传scopeid表示删除无分类域
|
|
463
|
+
* @param {(string | number)} [scopeid] 业务域标识
|
|
464
|
+
* @returns {*} {Promise<boolean>} 是否删除成功
|
|
465
|
+
* @memberof AiTopicController
|
|
466
|
+
*/
|
|
467
|
+
removeScope(scopeid?: string | number): Promise<boolean>;
|
|
468
|
+
/**
|
|
469
|
+
* @description 删除用户自定义分组:真删该分组下所有会话数据
|
|
470
|
+
* @param {string} groupid 分组标识
|
|
471
|
+
* @returns {*} {Promise<boolean>} 是否删除成功
|
|
472
|
+
* @memberof AiTopicController
|
|
473
|
+
*/
|
|
474
|
+
removeGroup(groupid: string): Promise<boolean>;
|
|
475
|
+
/**
|
|
476
|
+
* @description 移动话题至指定业务域或自定义分组(拖拽),并持久化
|
|
477
|
+
* @param {string} topicid 话题标识
|
|
478
|
+
* @param {(string | number)} [scope] 目标业务域标识,无分类节点传 undefined 清除归属
|
|
479
|
+
* @param {string} [groupid] 目标自定义分组标识
|
|
480
|
+
* @returns {*} {Promise<boolean>} 是否移动成功(归属未变化视为成功)
|
|
481
|
+
* @memberof AiTopicController
|
|
482
|
+
*/
|
|
483
|
+
moveTopic(topicid: string, scope?: string | number, groupid?: string): Promise<boolean>;
|
|
484
|
+
/**
|
|
485
|
+
* @description 基于归一化字符串还原scopeList中的原始scope标识(dataset取值为字符串)
|
|
486
|
+
* @private
|
|
487
|
+
* @param {(string | number)} scopeid 归一化后的业务域标识
|
|
488
|
+
* @returns {*} {(string | number)}
|
|
489
|
+
* @memberof AiTopicController
|
|
490
|
+
*/
|
|
491
|
+
private getOriginScopeId;
|
|
492
|
+
/**
|
|
493
|
+
* @description 获取聊天控制器
|
|
494
|
+
* @returns {*} {(AiChatController | undefined)}
|
|
495
|
+
* @memberof AiTopicController
|
|
496
|
+
*/
|
|
497
|
+
getAiChat(): AiChatController | undefined;
|
|
270
498
|
}
|
|
@@ -54,6 +54,15 @@ export declare abstract class ChatBaseController implements IChatController {
|
|
|
54
54
|
* @memberof ChatBaseController
|
|
55
55
|
*/
|
|
56
56
|
get aiChat(): AiChatController | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* @description 基于话题id获取对应聊天控制器
|
|
59
|
+
* @author tony001
|
|
60
|
+
* @date 2026-09-28 10:09:00
|
|
61
|
+
* @param {string} topicId
|
|
62
|
+
* @returns {*} {(AiChatController | undefined)}
|
|
63
|
+
* @memberof ChatBaseController
|
|
64
|
+
*/
|
|
65
|
+
getAiChatControllerByTopicId(topicId: string): AiChatController | undefined;
|
|
57
66
|
/**
|
|
58
67
|
* @description 话题map
|
|
59
68
|
* @author tony001
|
|
@@ -148,4 +157,14 @@ export declare abstract class ChatBaseController implements IChatController {
|
|
|
148
157
|
* @memberof ChatBaseController
|
|
149
158
|
*/
|
|
150
159
|
close(): void;
|
|
160
|
+
/**
|
|
161
|
+
* @description 组件失活事件
|
|
162
|
+
* @memberof ChatBaseController
|
|
163
|
+
*/
|
|
164
|
+
onDeactivated(): void;
|
|
165
|
+
/**
|
|
166
|
+
* @description 组件激活事件
|
|
167
|
+
* @memberof ChatBaseController
|
|
168
|
+
*/
|
|
169
|
+
onActivated(): void;
|
|
151
170
|
}
|
|
@@ -50,3 +50,7 @@ export { TotalTokensSvg } from './statistics/total-tokens-svg';
|
|
|
50
50
|
export { InputTokensSvg } from './statistics/input-tokens-svg';
|
|
51
51
|
export { OutputTokensSvg } from './statistics/output-tokens-svg';
|
|
52
52
|
export { ToolCallCountSvg } from './statistics/tool-call-count-svg';
|
|
53
|
+
export { ListCheckBoxSvg } from './list-checkbox-svg';
|
|
54
|
+
export { UnTopSvg } from './untop-svg';
|
|
55
|
+
export { PlusSvg } from './plus-svg';
|
|
56
|
+
export { SolidDownSvg } from './solid-down-svg';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ListCheckBoxSvg: () => import("preact").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PlusSvg: () => import("preact").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SolidDownSvg: () => import("preact").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const UnTopSvg: () => import("preact").JSX.Element;
|
|
@@ -27,4 +27,11 @@ export interface IChatController {
|
|
|
27
27
|
* @memberof IChatController
|
|
28
28
|
*/
|
|
29
29
|
switchAiChatController(topic: ChatTopic): void;
|
|
30
|
+
/**
|
|
31
|
+
* @description 基于话题id获取对应聊天控制器
|
|
32
|
+
* @param {string} topicId
|
|
33
|
+
* @returns {*} {(AiChatController | undefined)}
|
|
34
|
+
* @memberof IChatController
|
|
35
|
+
*/
|
|
36
|
+
getAiChatControllerByTopicId(topicId: string): AiChatController | undefined;
|
|
30
37
|
}
|
|
@@ -8,6 +8,7 @@ import { IKnowledgeBase } from '../i-knowledge-base/i-knowledge-base';
|
|
|
8
8
|
import { ISpeechRecognition } from '../i-speech-recognition/i-speech-recognition';
|
|
9
9
|
import { Locale } from '../../locale';
|
|
10
10
|
import { IConfirmUtil, IMessageUtil, INotificationUtil } from '../util';
|
|
11
|
+
import { IProject } from '../i-project/i-project';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* 聊天数据
|
|
@@ -222,6 +223,12 @@ export interface IChatOptions extends IChat {
|
|
|
222
223
|
* @type {boolean}
|
|
223
224
|
*/
|
|
224
225
|
enableKnowledgeBaseSelect: boolean;
|
|
226
|
+
/**
|
|
227
|
+
* @description 是否启用AI项目功能
|
|
228
|
+
* @type {boolean}
|
|
229
|
+
* @memberof IChatOptions
|
|
230
|
+
*/
|
|
231
|
+
enableAIProject: boolean;
|
|
225
232
|
/**
|
|
226
233
|
* 话题标题计算模式
|
|
227
234
|
*
|
|
@@ -307,7 +314,7 @@ export interface IChatOptions extends IChat {
|
|
|
307
314
|
* @param {IChatMessage[]} question 提问历史内容(包含当前提问)
|
|
308
315
|
* @return {*} {Promise<boolean>} 等待回答,用于显示 loading 并获取最终成功与否
|
|
309
316
|
*/
|
|
310
|
-
question(aiChat: AiChatController, context: object, params: object, otherParams: object, question: IChatMessage[], sessionid: string, srfaiagent: string | undefined, srfmode: string | undefined, srfscope: string | undefined, srfaiknowledgebases: string | undefined, srfaiagentconfig: IAIAgentConfig | undefined, appendcurdata: object | undefined, srfmcpservers: string | undefined, srfsessionmeta: object | undefined): Promise<boolean>;
|
|
317
|
+
question(aiChat: AiChatController, context: object, params: object, otherParams: object, question: IChatMessage[], sessionid: string, srfaiagent: string | undefined, srfmode: string | undefined, srfscope: string | undefined, srfaiknowledgebases: string | undefined, srfaiagentconfig: IAIAgentConfig | undefined, appendcurdata: object | undefined, srfmcpservers: string | undefined, srfsessionmeta: object | undefined, srfproject: string | undefined): Promise<boolean>;
|
|
311
318
|
/**
|
|
312
319
|
* 中断消息
|
|
313
320
|
* @param aiChat
|
|
@@ -387,6 +394,17 @@ export interface IChatOptions extends IChat {
|
|
|
387
394
|
query?: string;
|
|
388
395
|
knowledgebases?: string;
|
|
389
396
|
}) => Promise<IKnowledgeBase[]>;
|
|
397
|
+
/**
|
|
398
|
+
* @description 查询项目
|
|
399
|
+
* @memberof IChatOptions
|
|
400
|
+
*/
|
|
401
|
+
fetchProject?: (context: object, params: object, other: {
|
|
402
|
+
srfaiagent: string;
|
|
403
|
+
sessionid: string;
|
|
404
|
+
pattern: string;
|
|
405
|
+
file_path: string;
|
|
406
|
+
max_depth: number;
|
|
407
|
+
}) => Promise<IProject[]>;
|
|
390
408
|
/**
|
|
391
409
|
* 文件上传配置
|
|
392
410
|
*
|
|
@@ -56,6 +56,27 @@ export interface IResourceOptions {
|
|
|
56
56
|
* @param excludeSessionID 排除会话的会话id
|
|
57
57
|
*/
|
|
58
58
|
clearAllSession(excludeSessionID: string): Promise<boolean>;
|
|
59
|
+
/**
|
|
60
|
+
* @description 批量删除会话
|
|
61
|
+
* @param {string[]} realIDs 会话真实id集合
|
|
62
|
+
* @returns {*} {Promise<boolean>}
|
|
63
|
+
* @memberof IResourceOptions
|
|
64
|
+
*/
|
|
65
|
+
batchDeleteSession(realIDs: string[]): Promise<boolean>;
|
|
66
|
+
/**
|
|
67
|
+
* @description 批量置顶会话
|
|
68
|
+
* @param {string[]} realIDs 会话真实id集合
|
|
69
|
+
* @returns {*} {Promise<boolean>}
|
|
70
|
+
* @memberof IResourceOptions
|
|
71
|
+
*/
|
|
72
|
+
batchTopSession(realIDs: string[]): Promise<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* @description 批量取消置顶会话
|
|
75
|
+
* @param {string[]} realIDs 会话真实id集合
|
|
76
|
+
* @returns {*} {Promise<boolean>}
|
|
77
|
+
* @memberof IResourceOptions
|
|
78
|
+
*/
|
|
79
|
+
batchUnTopSession(realIDs: string[]): Promise<boolean>;
|
|
59
80
|
/**
|
|
60
81
|
* 清空指定会话的所有消息
|
|
61
82
|
* @param realID
|