Skip to content

IProgressReporter

NexusLabs.Needlr.AgentFramework

NexusLabs.Needlr.AgentFramework.Progress

IProgressReporter Interface

Emits progress events to registered sinks. Carries hierarchical context (workflow ID, agent ID, depth) so events are automatically correlated.

public interface IProgressReporter

Derived
ChannelProgressReporter

Remarks

Use CreateChild(string) to create a scoped reporter for sub-agent runs. The child reporter inherits the parent's sinks and auto-sets ParentAgentId and increments Depth on all emitted events.

Properties

IProgressReporter.AgentId Property

Gets the current agent ID, or null for workflow-level scope.

string? AgentId { get; }

Property Value

System.String

IProgressReporter.Depth Property

Gets the nesting depth.

int Depth { get; }

Property Value

System.Int32

IProgressReporter.WorkflowId Property

Gets the workflow ID for this reporter's scope.

string WorkflowId { get; }

Property Value

System.String

Methods

IProgressReporter.CreateChild(string) Method

Creates a child reporter scoped to a specific agent. Events emitted by the child carry the parent's agent ID as ParentAgentId and an incremented Depth.

NexusLabs.Needlr.AgentFramework.Progress.IProgressReporter CreateChild(string agentId);

Parameters

agentId System.String

The agent ID for the child scope.

Returns

IProgressReporter

IProgressReporter.NextSequence() Method

Allocates the next globally-ordered sequence number.

long NextSequence();

Returns

System.Int64

IProgressReporter.Report(IProgressEvent) Method

Emits a progress event to all registered sinks.

void Report(NexusLabs.Needlr.AgentFramework.Progress.IProgressEvent progressEvent);

Parameters

progressEvent IProgressEvent