1
import { LobeAgentConfig } from '@/types/agent';
9
} from '@/types/message';
10
import { MetaData } from '@/types/meta';
11
import { SessionGroupId, SessionGroupItem } from '@/types/session';
12
import { ChatTopic } from '@/types/topic';
14
interface ImportSession {
15
config: LobeAgentConfig;
17
group?: SessionGroupId;
21
type: 'agent' | 'group';
25
interface ImportMessage {
28
error?: ChatMessageError;
33
fromProvider?: string;
35
translate?: ChatTranslate | false | null;
38
} & Record<string, any>;
45
observationId?: string;
51
plugin?: ChatPluginPayload;
55
role: MessageRoleType;
58
tool_call_id?: string;
59
tools?: ChatToolPayload[];
67
export interface ImporterEntryData {
68
messages?: ImportMessage[];
69
sessionGroups?: SessionGroupItem[];
70
sessions?: ImportSession[];
75
export interface ImportResult {
81
export interface ImportResults {
82
messages?: ImportResult;
83
sessionGroups?: ImportResult;
84
sessions?: ImportResult;
85
topics?: ImportResult;
89
export enum ImportStage {
99
export interface FileUploadState {
111
export interface ErrorShape {
118
export interface OnImportCallbacks {
119
onError?: (error: ErrorShape) => void;
120
onFileUploading?: (state: FileUploadState) => void;
121
onStageChange?: (stage: ImportStage) => void;
127
onSuccess?: (results: ImportResults, duration: number) => void;