package com.agent.management.model.entity;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * 智能体模板
 *
 * 用于"创建智能体"时提供模式选择，每个模板预设一份 graphData 作为新工作流的初始内容。
 * mode 取值：blank / workflow / naturalLanguage / custom
 */
@Data
public class AgentTemplate {

    private Long id;

    private String name;

    private String description;

    /** 模式标识：blank / workflow / naturalLanguage / custom */
    private String mode;

    /** 预设的节点和边数据，JSON 格式 */
    private String graphData;

    /** 图标标识（可选，用于前端展示，如 emoji 或 iconfont 名） */
    private String icon;

    /** 排序值，越小越靠前 */
    private Integer sortOrder;

    /** 是否启用 */
    private Boolean enabled;

    /** 是否系统内置（系统内置模板不可删除） */
    private Boolean isSystem;

    private LocalDateTime createdAt;

    private LocalDateTime updatedAt;

    public void onCreate() {
        createdAt = LocalDateTime.now();
        updatedAt = LocalDateTime.now();
    }

    public void onUpdate() {
        updatedAt = LocalDateTime.now();
    }
}
