package com.agent.management.model.vo;

import com.agent.management.model.dto.IOField;
import lombok.Data;

import java.util.List;

/**
 * Skill 视图对象（返回给前端，包含翻译后的内容）
 */
@Data
public class SkillVO {

    /**
     * 文件夹名称（唯一标识）
     */
    private String folderName;

    /**
     * 原始 Skill 名称（kebab-case，与目录名一致）
     */
    private String name;

    /**
     * 展示名称（来自 SKILL.md displayName 字段，可为中文等任意字符；缺失时回退为 name）
     */
    private String displayName;

    /**
     * 原始 Skill 描述
     */
    private String description;

    /**
     * 是否具备生成其他技能的能力
     */
    private boolean canGenerateSkill;

    /**
     * 翻译后的展示名称（来源于 displayName 翻译；displayName 为空时为 null）
     */
    private String translatedDisplayName;

    /**
     * 翻译后的描述（若原文为中文则与 description 相同）
     */
    private String translatedDescription;

    /**
     * 输入字段定义
     */
    private List<IOField> inputs;

    /**
     * 输出字段定义
     */
    private List<IOField> outputs;

    /**
     * 关联的标签列表
     */
    private List<TagBriefVO> tags;

    /**
     * 当前版本号（0 表示无版本）
     */
    private int currentVersion;

    /**
     * 所属分类 ID（null 表示未分类）
     */
    private Long categoryId;

    /**
     * 所属分类名称
     */
    private String categoryName;
}
