41 lines
1.0 KiB
TypeScript
41 lines
1.0 KiB
TypeScript
import type { CustomWorldProfileRecord } from './runtime';
|
|
|
|
/**
|
|
* 结果页预览契约。
|
|
* 当前 preview 仍以兼容 profile 作为承载体,但已经把来源、阻断项和质量结论从 session 草稿里显式剥离出来。
|
|
*/
|
|
|
|
export type RpgCreationPreviewSource =
|
|
| 'session_preview'
|
|
| 'published_profile';
|
|
|
|
export interface RpgCreationPreviewFinding {
|
|
id: string;
|
|
severity: 'info' | 'warning' | 'blocker';
|
|
code: string;
|
|
targetId?: string | null;
|
|
message: string;
|
|
}
|
|
|
|
export interface RpgCreationPreviewBlocker {
|
|
id: string;
|
|
code: string;
|
|
message: string;
|
|
}
|
|
|
|
export type RpgCreationPreview = CustomWorldProfileRecord & {
|
|
previewId?: string;
|
|
sessionId?: string | null;
|
|
profileId?: string | null;
|
|
};
|
|
|
|
export interface RpgCreationPreviewEnvelope {
|
|
preview: RpgCreationPreview;
|
|
source: RpgCreationPreviewSource;
|
|
generatedAt?: string;
|
|
qualityFindings?: RpgCreationPreviewFinding[];
|
|
blockers?: RpgCreationPreviewBlocker[];
|
|
publishReady?: boolean;
|
|
canEnterWorld?: boolean;
|
|
}
|