MentorAgent Docs
Menu

ReferencePackage: Novior.MentorAgent.Abstractions

MentorActionReasons class

The MentorActionReasons class of Novior.MentorAgent.Abstractions.Models: The reason codes of MentorActionDecision.ReasonCode. They stay the same from one…

View as Markdown
On this page

The reason codes of MentorActionDecision.ReasonCode. They stay the same from one version to the next; a new one comes only in a minor version, and the CHANGELOG says so.

Namespace: Novior.MentorAgent.Abstractions.Models. Package: Novior.MentorAgent.Abstractions.

public static class MentorActionReasons

Terminal
dotnet add package Novior.MentorAgent.Abstractions

public const string Allowed = "allowed"

MentorActionOutcome.Allowed: the action requires no role, or the user holds one, and every IMentorActionPolicy lets it through.

public const string AuthCheckFailed = "auth-check-failed"

MentorActionOutcome.Denied: reading the user threw.

public const string AuthNotConfigured = "auth-not-configured"

MentorActionOutcome.Denied: the action requires a role and the host has no AuthenticationStateProvider.

public const string AutoApproved = "auto-approved"

MentorActionOutcome.Allowed: in Native mode, an auto-approval rule let an action that asks for confirmation run without asking.

public const string Completed = "completed"

MentorActionOutcome.Executed: the action ran.

public const string ConfirmationTimeout = "confirmation-timeout"

MentorActionOutcome.Rejected: nobody answered the confirmation within ConfirmationTimeout, so the action did not run.

public const string Exception = "exception"

MentorActionOutcome.Failed: the action threw.

public const string LoginRequired = "login-required"

MentorActionOutcome.Denied: the action requires a role and nobody is signed in.

public const string NobodyToConfirm = "nobody-to-confirm"

MentorActionOutcome.Denied: the action, or a policy, asks for confirmation and nobody can give it — a task from another agent, a call to the MCP server. A policy's reason is in MentorActionDecision.Detail.

public const string NotAuthorized = "not-authorized"

MentorActionOutcome.Denied: an IMentorActionPolicy does not allow this user the action.

public const string Operator = "operator"

MentorActionOutcome.ConfirmationRequested, MentorActionOutcome.Confirmed, MentorActionOutcome.Rejected: the user was asked, and answered.

public const string Policy = "policy"

MentorActionOutcome.Blocked: an IMentorActionPolicy stopped the call. MentorActionOutcome.ConfirmationRequested: a policy asked for the confirmation, which the action does not ask for itself; the answer is then MentorActionReasons.Operator's, as for any other.

public const string PolicyException = "policy-exception"

MentorActionOutcome.PolicyFailed: an IMentorActionPolicy threw.

public const string PolicyTimeout = "policy-timeout"

MentorActionOutcome.PolicyFailed: an IMentorActionPolicy did not answer within ActionPolicyTimeout.

public const string RateLimited = "rate-limited"

MentorActionOutcome.Denied: the caller is over RateLimitPerUser (MCP server).

public const string ResultWithheld = "result-withheld"

MentorActionOutcome.Executed: the action ran, and OnToolResult threw, so its result was withheld. The MCP server's caller gets an error result.

public const string RoleMissing = "role-missing"

MentorActionOutcome.Denied: the user holds none of the roles.

public const string SessionEnded = "session-ended"

MentorActionOutcome.Stopped: the session ended — the circuit, the hub connection or the request closed.

public const string Stop = "stop"

MentorActionOutcome.Stopped: Stop, /mentor/cancel, the MCP client cancelled the call, or the caller cancelled the A2A task — also after the confirmation, before the action started.

public const string TurnEnded = "turn-ended"

MentorActionOutcome.Stopped: in Native mode, the turn ended before the action could run — the run failed after the confirmation, or the turn gave up after too many rounds of approvals.

public const string Withheld = "withheld"

MentorActionOutcome.Denied: the MCP server does not publish the action — it asks for confirmation, a predicate keeps it back, or it requires roles and no McpCallerPrincipal is set.