MafDiagnosticIds
NexusLabs.Foundry.MicrosoftAgentFramework.Analyzers¶
MafDiagnosticIds Class¶
Contains diagnostic IDs for all Foundry Agent Framework analyzers.
Inheritance System.Object 🡒 MafDiagnosticIds
Remarks¶
Agent Framework analyzer codes use the FDRYMAF prefix.
Fields¶
MafDiagnosticIds.AgentFunctionJsonStringParameter Field¶
FDRYMAF030: An [AgentFunction] parameter typed as string whose name ends
with Json/_json or whose [Description] mentions "JSON array"
or "JSON object" could be typed as System.Text.Json.JsonElement for
direct, typed access. Informational only — the kind-tolerant generator coercion makes
the string-typed shape work via JsonElement.GetRawText().
Field Value¶
MafDiagnosticIds.AgentFunctionMissingDescription Field¶
FDRYMAF012: A method decorated with [AgentFunction] has no
[System.ComponentModel.Description] attribute.
Field Value¶
MafDiagnosticIds.AgentFunctionParameterMissingDescription Field¶
FDRYMAF013: A parameter of an [AgentFunction] method (other than
CancellationToken) has no [System.ComponentModel.Description] attribute.
Field Value¶
MafDiagnosticIds.AgentFunctionTypesMiswired Field¶
FDRYMAF014: A type listed in FunctionTypes on a [FoundryAgent] has no
methods decorated with [AgentFunction], so the agent silently receives zero tools
from that type.
Field Value¶
MafDiagnosticIds.CyclicHandoffChain Field¶
FDRYMAF004: A cyclic handoff chain was detected (e.g. A → B → A).
Field Value¶
MafDiagnosticIds.DuplicateSequenceOrder Field¶
FDRYMAF006: Two or more agents in the same [AgentSequenceMember] pipeline declare
the same Order value.
Field Value¶
MafDiagnosticIds.GapInSequenceOrder Field¶
FDRYMAF007: The Order values within a named [AgentSequenceMember] pipeline
are not contiguous (a gap exists).
Field Value¶
MafDiagnosticIds.GraphAllEdgesOptional Field¶
FDRYMAF024: All outgoing edges from a fan-out node have
IsRequired = false, meaning the graph could produce empty results if all
optional branches fail.
Field Value¶
MafDiagnosticIds.GraphConditionMethodInvalid Field¶
FDRYMAF028: The Condition property on [AgentGraphEdge] references
a method that does not exist on the source agent, is not static, or has the
wrong signature. The method must be static bool MethodName(object?).
Field Value¶
MafDiagnosticIds.GraphCycleDetected Field¶
FDRYMAF016: A cycle was detected in a named agent graph declared via
[AgentGraphEdge] attributes.
Field Value¶
MafDiagnosticIds.GraphEdgeSourceNotAgent Field¶
FDRYMAF020: A class has [AgentGraphEdge] but is not itself decorated
with [FoundryAgent].
Field Value¶
MafDiagnosticIds.GraphEdgeTargetNotAgent Field¶
FDRYMAF019: An [AgentGraphEdge] references a target type that is not
decorated with [FoundryAgent].
Field Value¶
MafDiagnosticIds.GraphEntryPointNotAgent Field¶
FDRYMAF021: A class has [AgentGraphEntry] but is not itself decorated
with [FoundryAgent].
Field Value¶
MafDiagnosticIds.GraphMultipleEntryPoints Field¶
FDRYMAF018: A named agent graph has multiple [AgentGraphEntry] declarations.
Field Value¶
MafDiagnosticIds.GraphNoEntryPoint Field¶
FDRYMAF017: A named agent graph has no [AgentGraphEntry] declaration.
Field Value¶
MafDiagnosticIds.GraphReducerMethodInvalid Field¶
FDRYMAF029: The ReducerMethod property on [AgentGraphReducer]
references a method that does not exist on the decorated type, is not static,
or has the wrong signature. The method must be
static string MethodName(IReadOnlyList<string>).
Field Value¶
MafDiagnosticIds.GraphTerminalNodeHasOutgoingEdges Field¶
FDRYMAF027: A terminal node (a node that should have no outgoing edges) has
outgoing [AgentGraphEdge] declarations.
Field Value¶
MafDiagnosticIds.GraphUnreachableAgent Field¶
FDRYMAF022: A named agent graph contains agents that are not reachable from the entry point.
Field Value¶
MafDiagnosticIds.GroupChatTooFewMembers Field¶
FDRYMAF002: [AgentGroupChatMember("g")] group "g" has fewer than two members in this compilation.
Field Value¶
MafDiagnosticIds.HandoffsToSourceNotFoundryAgent Field¶
FDRYMAF003: A class has [AgentHandoffsTo] but is not itself decorated with [FoundryAgent].
Field Value¶
MafDiagnosticIds.HandoffsToTargetNotFoundryAgent Field¶
FDRYMAF001: [AgentHandoffsTo(typeof(X))] target type X is not decorated with [FoundryAgent].
Field Value¶
MafDiagnosticIds.OrphanAgent Field¶
FDRYMAF008: A class decorated with [FoundryAgent] participates in no topology
declaration ([AgentHandoffsTo], [AgentGroupChatMember], or
[AgentSequenceMember]).
Field Value¶
MafDiagnosticIds.PreferAgentTerminationConditionForGroupChat Field¶
FDRYMAF011: [WorkflowRunTerminationCondition] is declared on a
[AgentGroupChatMember] class; prefer [AgentTerminationCondition] for group
chat members.
Field Value¶
MafDiagnosticIds.TerminationConditionTypeInvalid Field¶
FDRYMAF010: The conditionType passed to [WorkflowRunTerminationCondition]
or [AgentTerminationCondition] does not implement
IWorkflowTerminationCondition.
Field Value¶
MafDiagnosticIds.ToolResultToStringCall Field¶
FDRYMAF015: .ToString() is called on ToolCallResult.Result or
FunctionResultContent.Result, which are object? and may contain
a JsonElement. Use ToolResultSerializer.Serialize() instead.
Field Value¶
MafDiagnosticIds.UnresolvedFunctionGroupReference Field¶
FDRYMAF005: An agent declares a FunctionGroups entry whose name has no matching
[AgentFunctionGroup("name")] class in this compilation.
Field Value¶
MafDiagnosticIds.WaitAnyIncompatibleWithCreateGraphWorkflow Field¶
FDRYMAF025: CreateGraphWorkflow is called on a graph that contains a
[AgentGraphNode(JoinMode = GraphJoinMode.WaitAny)] declaration.
CreateGraphWorkflow returns a MAF Workflow that uses BSP execution,
which does not support WaitAny. Use RunGraphAsync instead.
Field Value¶
MafDiagnosticIds.WorkflowRunTerminationConditionOnNonAgent Field¶
FDRYMAF009: [WorkflowRunTerminationCondition] is declared on a class that is not
decorated with [FoundryAgent].