/* eslint-disable typescript-sort-keys/interface */ import { DeepPartial } from 'utility-types'; import { LobeAgentChatConfig, LobeAgentConfig } from '@/types/agent'; import { MetaData } from '@/types/meta'; import { BatchTaskResult } from '@/types/service'; import { ChatSessionList, LobeAgentSession, LobeSessionType, LobeSessions, SessionGroupItem, SessionGroups, SessionRankItem, UpdateSessionParams, } from '@/types/session'; export interface ISessionService { hasSessions(): Promise; createSession(type: LobeSessionType, defaultValue: Partial): Promise; /** * 需要废弃 * @deprecated */ batchCreateSessions(importSessions: LobeSessions): Promise; cloneSession(id: string, newTitle: string): Promise; getGroupedSessions(): Promise; /** * @deprecated */ getSessionsByType(type?: 'agent' | 'group' | 'all'): Promise; countSessions(params?: { endDate?: string; range?: [string, string]; startDate?: string; }): Promise; rankSessions(limit?: number): Promise; searchSessions(keyword: string): Promise; updateSession(id: string, data: Partial): Promise; getSessionConfig(id: string): Promise; updateSessionConfig( id: string, config: DeepPartial, signal?: AbortSignal, ): Promise; updateSessionMeta(id: string, meta: Partial, signal?: AbortSignal): Promise; updateSessionChatConfig( id: string, config: Partial, signal?: AbortSignal, ): Promise; removeSession(id: string): Promise; removeAllSessions(): Promise; // ************************************** // // *********** SessionGroup *********** // // ************************************** // createSessionGroup(name: string, sort?: number): Promise; /** * 需要废弃 * @deprecated */ batchCreateSessionGroups(groups: SessionGroups): Promise; getSessionGroups(): Promise; updateSessionGroup(id: string, data: Partial): Promise; updateSessionGroupOrder(sortMap: { id: string; sort: number }[]): Promise; removeSessionGroup(id: string, removeChildren?: boolean): Promise; removeSessionGroups(): Promise; }