import type { JsonObject } from './common'; import type { PuzzleAnchorPack, PuzzleDraftLevel } from './puzzleAgentDraft'; export type PuzzleWorkPublicationStatus = 'draft' | 'published'; export type PuzzleWorkGenerationStatus = PuzzleDraftLevel['generationStatus']; export interface PuzzleWorkSummary { workId: string; profileId: string; ownerUserId: string; sourceSessionId?: string | null; authorDisplayName: string; workTitle?: string; workDescription?: string; levelName: string; summary: string; themeTags: string[]; coverImageSrc: string | null; coverAssetId?: string | null; publicationStatus: PuzzleWorkPublicationStatus; updatedAt: string; publishedAt: string | null; playCount?: number; remixCount?: number; likeCount?: number; recentPlayCount7d?: number; pointIncentiveTotalHalfPoints?: number; pointIncentiveClaimedPoints?: number; pointIncentiveTotalPoints?: number; pointIncentiveClaimablePoints?: number; publishReady: boolean; generationStatus?: PuzzleWorkGenerationStatus | null; levels?: PuzzleDraftLevel[]; } export interface PuzzleWorkProfile extends PuzzleWorkSummary { anchorPack: PuzzleAnchorPack; metadata?: JsonObject | null; } export interface PuzzleWorksResponse { items: PuzzleWorkSummary[]; } export interface PuzzleGalleryWorkRef { workId: string; profileId: string; } export interface PuzzleGalleryResponse { items: PuzzleWorkSummary[]; previewRefs?: PuzzleGalleryWorkRef[]; hasMore?: boolean; nextCursor?: string | null; totalCount?: number; } export interface PuzzleWorkDetailResponse { item: PuzzleWorkProfile; } export interface PuzzleWorkMutationResponse { item: PuzzleWorkProfile; }