package ai.sentryagent.idp.models;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

/** A registered AI agent identity. */
@JsonIgnoreProperties(ignoreUnknown = true)
public final class Agent {

    @JsonProperty("agentId")       private String agentId;
    @JsonProperty("email")         private String email;
    @JsonProperty("agentType")     private String agentType;
    @JsonProperty("version")       private String version;
    @JsonProperty("capabilities")  private java.util.List<String> capabilities;
    @JsonProperty("owner")         private String owner;
    @JsonProperty("deploymentEnv") private String deploymentEnv;
    @JsonProperty("status")        private String status;
    @JsonProperty("createdAt")     private String createdAt;
    @JsonProperty("updatedAt")     private String updatedAt;

    /** Required by Jackson. */
    public Agent() {}

    public String getAgentId()                    { return agentId; }
    public String getEmail()                      { return email; }
    public String getAgentType()                  { return agentType; }
    public String getVersion()                    { return version; }
    public java.util.List<String> getCapabilities() { return capabilities; }
    public String getOwner()                      { return owner; }
    public String getDeploymentEnv()              { return deploymentEnv; }
    public String getStatus()                     { return status; }
    public String getCreatedAt()                  { return createdAt; }
    public String getUpdatedAt()                  { return updatedAt; }

    @Override
    public String toString() {
        return "Agent{agentId='" + agentId + "', email='" + email + "', status='" + status + "'}";
    }
}
