package com.zioinfo.kintex.module.m5.dto;

import jakarta.validation.constraints.NotBlank;

/**
 * 나노바나나 Python 워커 → 백엔드 완료/실패 콜백. 백엔드는 이 결과로 상태를 갱신하고
 * WebSocket(/topic/render/{jobId})으로 완료를 푸시한다(design.md §1-4).
 *
 * @param jobId        잡 식별자
 * @param status       DONE | FAILED
 * @param imageUrl     성공 시 이미지 URL
 * @param schemaHash   씬 스키마 해시(캐시·메타)
 * @param modelVersion 모델 버전
 * @param errorMessage 실패 시 요약 메시지(친화 한글, 스택트레이스 금지)
 */
public record WorkerCallbackRequest(
        @NotBlank String jobId,
        @NotBlank String status,
        String imageUrl,
        String schemaHash,
        String modelVersion,
        String errorMessage
) {
}
