Files
Genarrative/packages/shared/src/contracts/puzzleWorkSummary.ts
2026-04-22 20:14:15 +08:00

40 lines
962 B
TypeScript

import type { JsonObject } from './common';
import type { PuzzleAnchorPack } from './puzzleAgentDraft';
export type PuzzleWorkPublicationStatus = 'draft' | 'published';
export interface PuzzleWorkSummary {
workId: string;
profileId: string;
ownerUserId: string;
sourceSessionId?: string | null;
authorDisplayName: string;
levelName: string;
summary: string;
themeTags: string[];
coverImageSrc: string | null;
coverAssetId?: string | null;
publicationStatus: PuzzleWorkPublicationStatus;
updatedAt: string;
publishedAt: string | null;
playCount: number;
publishReady: boolean;
}
export interface PuzzleWorkProfile extends PuzzleWorkSummary {
anchorPack: PuzzleAnchorPack;
metadata?: JsonObject | null;
}
export interface PuzzleWorksResponse {
items: PuzzleWorkSummary[];
}
export interface PuzzleWorkDetailResponse {
item: PuzzleWorkProfile;
}
export interface PuzzleWorkMutationResponse {
item: PuzzleWorkProfile;
}