package com.qqchen.deploy.backend.framework.enums;

import com.fasterxml.jackson.annotation.JsonValue;

/**
 * SSH WebSocket 消息类型枚举（Framework层）
 * 
 * 定义标准的SSH WebSocket消息类型
 * 使用 @JsonValue 注解实现JSON序列化为小写字符串
 */
public enum SSHMessageType {
    /**
     * 用户输入消息（前端 → 后端）
     */
    INPUT("input"),
    
    /**
     * SSH输出消息（后端 → 前端）
     */
    OUTPUT("output"),
    
    /**
     * 连接状态消息（后端 → 前端）
     */
    STATUS("status"),
    
    /**
     * 错误消息（后端 → 前端）
     */
    ERROR("error"),
    
    /**
     * 终端尺寸调整消息（前端 → 后端）
     */
    RESIZE("resize");
    
    private final String value;
    
    SSHMessageType(String value) {
        this.value = value;
    }
    
    /**
     * 序列化时输出小写字符串
     * 例如：OUTPUT → "output"
     */
    @JsonValue
    public String getValue() {
        return value;
    }
}
