2025-07-07 13:42:11 +08:00

58 lines
1.1 KiB
TypeScript

import { MaterialItem } from "./personal-info";
interface FileInfo {
id: string;
file_name: string;
url: string;
metadata: Record<string, any>;
}
interface VideoClip {
clip_id: number;
start_time: number;
end_time: number;
description: string;
tags: string[];
composition: string;
shot_size: string;
point_of_view: string;
created_at: string;
}
interface VideoInfo {
id: string;
name: string | null;
description: string | null;
file_info: FileInfo;
preview_file_info: FileInfo;
user_id: string;
created_at: string;
updated_at: string;
}
export interface Video {
video: VideoInfo;
video_clips: VideoClip[];
}
export interface Content {
text: string;
image_material_infos?: MaterialItem[];
video_material_infos?: Video[];
}
export interface Message {
content: Content;
role: 'User' | 'Assistant'; // 使用联合类型限制 role 的值
timestamp: string;
askAgain?: Array<{
id: string;
text: string;
}>;
}
export interface Chat {
created_at: string;
session_id: string;
title: string;
latest_message: Message;
}