package com.infoepoch.pms.agent.platform.chat.application.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import lombok.Setter;

import java.util.Map;

/**
 * 审批决策请求。
 */
@Getter
@Setter
public class ApprovalDecisionRequest {

    /**
     * 中断 ID。
     */
    @NotBlank
    private String interruptionId;

    /**
     * 审批决策。
     */
    @NotBlank
    @Pattern(regexp = "approve|reject", message = "decision must be approve or reject")
    private String decision;

    /**
     * 审批附加说明。
     */
    private String message;

    /**
     * 用户手动编辑的字段值，非空时覆盖原始 tool arguments 中对应字段。
     */
    private Map<String, Object> editedFields;
}
