Skip to content

IterativeLoopConfiguration

NexusLabs.Needlr.AgentFramework

NexusLabs.Needlr.AgentFramework.Iterative

IterativeLoopConfiguration Class

Snapshot of the resolved configuration used for an IIterativeAgentLoop run. Echoed on Configuration so consumers can inspect the loop's settings after execution without referencing the original IterativeLoopOptions.

public sealed record IterativeLoopConfiguration : System.IEquatable<NexusLabs.Needlr.AgentFramework.Iterative.IterativeLoopConfiguration>

Inheritance System.Object 🡒 IterativeLoopConfiguration

Implements System.IEquatable<IterativeLoopConfiguration>

Constructors

IterativeLoopConfiguration(ToolResultMode, int, int, Nullable<int>, Nullable<double>, string, ToolCompletionCheckMode, StallDetectionOptions) Constructor

Snapshot of the resolved configuration used for an IIterativeAgentLoop run. Echoed on Configuration so consumers can inspect the loop's settings after execution without referencing the original IterativeLoopOptions.

public IterativeLoopConfiguration(NexusLabs.Needlr.AgentFramework.Iterative.ToolResultMode ToolResultMode, int MaxIterations, int MaxToolRoundsPerIteration, System.Nullable<int> MaxTotalToolCalls, System.Nullable<double> BudgetPressureThreshold, string LoopName, NexusLabs.Needlr.AgentFramework.Iterative.ToolCompletionCheckMode CheckCompletionAfterToolCalls, NexusLabs.Needlr.AgentFramework.Iterative.StallDetectionOptions? StallDetection=null);

Parameters

ToolResultMode ToolResultMode

How tool results were fed back to the model.

MaxIterations System.Int32

Maximum iterations allowed.

MaxToolRoundsPerIteration System.Int32

Maximum tool-calling rounds per iteration in MultiRound.

MaxTotalToolCalls System.Nullable<System.Int32>

Cumulative tool call limit, or null if unlimited.

BudgetPressureThreshold System.Nullable<System.Double>

Token budget pressure threshold, or null if disabled.

LoopName System.String

Human-readable name used in diagnostics and progress events.

CheckCompletionAfterToolCalls ToolCompletionCheckMode

When the IsComplete predicate was checked relative to tool calls.

StallDetection StallDetectionOptions

Stall-detection configuration the loop ran with, or null if stall detection was disabled.

Properties

IterativeLoopConfiguration.BudgetPressureThreshold Property

Token budget pressure threshold, or null if disabled.

public System.Nullable<double> BudgetPressureThreshold { get; init; }

Property Value

System.Nullable<System.Double>

IterativeLoopConfiguration.CheckCompletionAfterToolCalls Property

When the IsComplete predicate was checked relative to tool calls.

public NexusLabs.Needlr.AgentFramework.Iterative.ToolCompletionCheckMode CheckCompletionAfterToolCalls { get; init; }

Property Value

ToolCompletionCheckMode

IterativeLoopConfiguration.LoopName Property

Human-readable name used in diagnostics and progress events.

public string LoopName { get; init; }

Property Value

System.String

IterativeLoopConfiguration.MaxIterations Property

Maximum iterations allowed.

public int MaxIterations { get; init; }

Property Value

System.Int32

IterativeLoopConfiguration.MaxToolRoundsPerIteration Property

Maximum tool-calling rounds per iteration in MultiRound.

public int MaxToolRoundsPerIteration { get; init; }

Property Value

System.Int32

IterativeLoopConfiguration.MaxTotalToolCalls Property

Cumulative tool call limit, or null if unlimited.

public System.Nullable<int> MaxTotalToolCalls { get; init; }

Property Value

System.Nullable<System.Int32>

IterativeLoopConfiguration.StallDetection Property

Stall-detection configuration the loop ran with, or null if stall detection was disabled.

public NexusLabs.Needlr.AgentFramework.Iterative.StallDetectionOptions? StallDetection { get; init; }

Property Value

StallDetectionOptions

IterativeLoopConfiguration.ToolResultMode Property

How tool results were fed back to the model.

public NexusLabs.Needlr.AgentFramework.Iterative.ToolResultMode ToolResultMode { get; init; }

Property Value

ToolResultMode