🎉 first commit
This commit is contained in:
51
app/types/actions.ts
Normal file
51
app/types/actions.ts
Normal file
@@ -0,0 +1,51 @@
|
||||
import type { Change } from 'diff';
|
||||
|
||||
export interface Page {
|
||||
name: string;
|
||||
title: string;
|
||||
content?: string;
|
||||
actionIds: string[];
|
||||
}
|
||||
|
||||
export interface Section {
|
||||
id: string;
|
||||
action: 'add' | 'update' | 'remove';
|
||||
pageName: string;
|
||||
content: string;
|
||||
domId: string;
|
||||
rootDomId: string;
|
||||
sort?: number;
|
||||
}
|
||||
export interface BaseAction {
|
||||
content: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* UPageAction 是 UPage 的 action 类型,由 AI 返回的结构化数据。
|
||||
*/
|
||||
export interface UPageAction extends Section {
|
||||
validRootDomId: boolean;
|
||||
}
|
||||
|
||||
export type UPageActionData = UPageAction | BaseAction;
|
||||
|
||||
export interface ActionAlert {
|
||||
type: string;
|
||||
title: string;
|
||||
description: string;
|
||||
content: string;
|
||||
source?: 'preview';
|
||||
}
|
||||
|
||||
export interface PageHistory {
|
||||
originalContent: string;
|
||||
lastModified: number;
|
||||
changes: Change[];
|
||||
versions: {
|
||||
timestamp: number;
|
||||
content: string;
|
||||
}[];
|
||||
|
||||
// 记录变更来源
|
||||
changeSource?: 'user' | 'auto-save' | 'external';
|
||||
}
|
||||
Reference in New Issue
Block a user