Enum Class AutonomyLevel

java.lang.Object
java.lang.Enum<AutonomyLevel>
com.tnsai.server.ws.AutonomyLevel
All Implemented Interfaces:
Serializable, Comparable<AutonomyLevel>, Constable

public enum AutonomyLevel extends Enum<AutonomyLevel>
Autonomy levels controlling when user approval is required for tool calls.

Note: FULL_AUTO and SUPERVISED currently share identical behavior (both ask for HIGH+CRITICAL). The distinction exists for future granularity in sandbox/non-interactive environments.

Matrix:

 Level       | LOW risk  | MEDIUM risk | HIGH risk | CRITICAL risk
 ------------|-----------|-------------|-----------|---------------
 FULL_AUTO   | Auto      | Auto        | Ask       | Ask
 SUPERVISED  | Auto      | Auto        | Ask       | Ask
 CAUTIOUS    | Auto      | Ask         | Ask       | Ask
 MANUAL      | Ask       | Ask         | Ask       | Ask
 

ESCALATION risk is always rejected (not asked) regardless of autonomy level.

  • Enum Constant Details

  • Method Details

    • values

      public static AutonomyLevel[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static AutonomyLevel valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • requiresApproval

      public boolean requiresApproval(ToolRisk risk)
      Returns true if this autonomy level requires user approval for the given risk. ESCALATION is never "approved" — it is always rejected before this check.