package com.agent.management.service;

import com.agent.management.model.vo.SkillVersionVO;

import java.util.List;

/**
 * Skill 版本管理服务
 */
public interface SkillVersionService {

    /**
     * 创建快照（保存当前工作区为 v{n+1}）
     * @return 新快照的版本号
     */
    int createSnapshot(String folderName, String message);

    /**
     * 获取当前版本号（若从未创建版本则返回 0）
     */
    int getCurrentVersion(String folderName);

    /**
     * 列出所有版本
     */
    List<SkillVersionVO> listVersions(String folderName);

    /**
     * 获取指定版本的 SKILL.md 内容
     */
    String getVersionContent(String folderName, int version);

    /**
     * 回滚到指定版本（将快照内容恢复到工作区，不创建新快照）
     */
    void rollback(String folderName, int version);

    /**
     * 更新版本备注
     */
    void updateVersionMessage(String folderName, int version, String message);
}
