MentorActionReasons class
The MentorActionReasons class of Novior.MentorAgent.Abstractions.Models: The reason codes of MentorActionDecision.ReasonCode. They stay the same from one…
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.
Definition
Section titled “Definition”Namespace: Novior.MentorAgent.Abstractions.Models. Package: Novior.MentorAgent.Abstractions.
public static class MentorActionReasons
dotnet add package Novior.MentorAgent.AbstractionsFields
Section titled “Fields”Allowed
Section titled “Allowed”public const string Allowed = "allowed"
MentorActionOutcome.Allowed: the action requires no role, or the user holds one, and every IMentorActionPolicy lets it through.
AuthCheckFailed
Section titled “AuthCheckFailed”public const string AuthCheckFailed = "auth-check-failed"
MentorActionOutcome.Denied: reading the user threw.
AuthNotConfigured
Section titled “AuthNotConfigured”public const string AuthNotConfigured = "auth-not-configured"
MentorActionOutcome.Denied: the action requires a role and the host has no AuthenticationStateProvider.
AutoApproved
Section titled “AutoApproved”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.
Completed
Section titled “Completed”public const string Completed = "completed"
MentorActionOutcome.Executed: the action ran.
ConfirmationTimeout
Section titled “ConfirmationTimeout”public const string ConfirmationTimeout = "confirmation-timeout"
MentorActionOutcome.Rejected: nobody answered the confirmation within ConfirmationTimeout, so the action did not run.
Exception
Section titled “Exception”public const string Exception = "exception"
MentorActionOutcome.Failed: the action threw.
LoginRequired
Section titled “LoginRequired”public const string LoginRequired = "login-required"
MentorActionOutcome.Denied: the action requires a role and nobody is signed in.
NobodyToConfirm
Section titled “NobodyToConfirm”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.
NotAuthorized
Section titled “NotAuthorized”public const string NotAuthorized = "not-authorized"
MentorActionOutcome.Denied: an IMentorActionPolicy does not allow this user the action.
Operator
Section titled “Operator”public const string Operator = "operator"
MentorActionOutcome.ConfirmationRequested, MentorActionOutcome.Confirmed, MentorActionOutcome.Rejected: the user was asked, and answered.
Policy
Section titled “Policy”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.
PolicyException
Section titled “PolicyException”public const string PolicyException = "policy-exception"
MentorActionOutcome.PolicyFailed: an IMentorActionPolicy threw.
PolicyTimeout
Section titled “PolicyTimeout”public const string PolicyTimeout = "policy-timeout"
MentorActionOutcome.PolicyFailed: an IMentorActionPolicy did not answer within ActionPolicyTimeout.
RateLimited
Section titled “RateLimited”public const string RateLimited = "rate-limited"
MentorActionOutcome.Denied: the caller is over RateLimitPerUser (MCP server).
ResultWithheld
Section titled “ResultWithheld”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.
RoleMissing
Section titled “RoleMissing”public const string RoleMissing = "role-missing"
MentorActionOutcome.Denied: the user holds none of the roles.
SessionEnded
Section titled “SessionEnded”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.
TurnEnded
Section titled “TurnEnded”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.
Withheld
Section titled “Withheld”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.
