| IAgentDiagnosticsAccessor |
Provides access to the diagnostics captured during the most recent agent run in the current async flow. Uses the mutable-holder System.Threading.AsyncLocal<> pattern so that writes from child async flows (inside middleware) are visible to the parent scope. |
| IAgentDiagnosticsWriter |
Write-side interface for storing diagnostics captured by middleware. Separated from IAgentDiagnosticsAccessor (the read-side) so that middleware can resolve this from DI without casting to a concrete type. |
| IAgentMetrics |
Records agent execution metrics for observability. The default implementation emits System.Diagnostics.Metrics.Meter counters/histograms and System.Diagnostics.ActivitySource activities compatible with OpenTelemetry. |
| IAgentRunDiagnostics |
Immutable view of diagnostics captured during a single agent run, including token usage, per-call timing, tool call details, and success/failure state. |
| IAgentStageResult |
Result of a single agent stage within a pipeline, combining the response text with the captured diagnostics for that stage. |
| IChatCompletionCollector |
Provides access to per-LLM-call completion diagnostics captured by the chat client middleware. Used by pipeline run extensions to correlate LLM call timing with agent turns. |
| IPipelineRunResult |
Aggregated result of a multi-agent pipeline run, providing per-stage diagnostics alongside the response text from each agent. |
| IToolMetricsAccessor |
Allows tools to attach custom domain-specific metrics during execution. Metrics are collected by the diagnostics function-calling middleware and included in NexusLabs.Needlr.AgentFramework.Diagnostics.ToolCallDiagnostics.CustomMetrics. |