MentorAgent Docs
Menu

ReferencePackage: Novior.MentorAgent.Abstractions

MentorActionInfo record

The MentorActionInfo record of Novior.MentorAgent.Abstractions.Models: One of the application's actions as MentorAgent sees it, from IMentorActionCatalog…

View as Markdown
On this page

One of the application's actions as MentorAgent sees it, from IMentorActionCatalog: who may run it, whether it asks for a confirmation, and where it is published. More properties may be added.

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

public sealed record MentorActionInfo : IEquatable<MentorActionInfo>

Terminal
dotnet add package Novior.MentorAgent.Abstractions

public MentorActionInfo()

public required MentorAgentKind AgentKind { get; init; }

Which kind of agent offers it: the coordinator, a specialist or a team member.

public string? AgentName { get; init; }

The specialist's name, or the team member's role; null for the coordinator.

public string? Description { get; init; }

The action's description, as the model reads it; null when it has none.

public required MentorMcpExposure McpExposure { get; init; }

Whether, and to whom, MentorAgent's MCP server publishes it now.

public bool OnAgentCard { get; init; }

Whether the A2A agent card lists it as a skill. The card is built once, when the host maps the A2A endpoint; false when the host does not serve A2A.

public bool ReadOnly { get; init; }

Whether the application declares that the action only reads ([MentorAction(ReadOnly = true)], IsReadOnlyAction) and nothing declares it confirmation-gated.

public IReadOnlyList<string> RequiredRoles { get; init; }

The roles the action requires, any one of which is enough; empty when it requires none.

public bool RequiresConfirmation { get; init; }

Whether a call asks for a confirmation now: [MentorAction(RequiresConfirmation = true)] or the RequiresApproval predicate, with RequireConfirmation on. Read again at every call to IMentorActionCatalog.GetActions, as the predicate is at every call of the action.

public required string ToolName { get; init; }

The tool's technical name, as the model or the MCP client calls it (for example cancel_order).