| | | 1 | | namespace NexusLabs.Needlr.AgentFramework.Iterative; |
| | | 2 | | |
| | | 3 | | /// <summary> |
| | | 4 | | /// Snapshot of the resolved configuration used for an <see cref="IIterativeAgentLoop"/> run. |
| | | 5 | | /// Echoed on <see cref="IterativeLoopResult.Configuration"/> so consumers can inspect |
| | | 6 | | /// the loop's settings after execution without referencing the original |
| | | 7 | | /// <see cref="IterativeLoopOptions"/>. |
| | | 8 | | /// </summary> |
| | | 9 | | /// <param name="ToolResultMode">How tool results were fed back to the model.</param> |
| | | 10 | | /// <param name="MaxIterations">Maximum iterations allowed.</param> |
| | | 11 | | /// <param name="MaxToolRoundsPerIteration">Maximum tool-calling rounds per iteration in <see cref="Iterative.ToolResult |
| | | 12 | | /// <param name="MaxTotalToolCalls">Cumulative tool call limit, or <see langword="null"/> if unlimited.</param> |
| | | 13 | | /// <param name="BudgetPressureThreshold">Token budget pressure threshold, or <see langword="null"/> if disabled.</param |
| | | 14 | | /// <param name="LoopName">Human-readable name used in diagnostics and progress events.</param> |
| | | 15 | | /// <param name="CheckCompletionAfterToolCalls">When the <see cref="IterativeLoopOptions.IsComplete"/> predicate was che |
| | 175 | 16 | | public sealed record IterativeLoopConfiguration( |
| | 2 | 17 | | ToolResultMode ToolResultMode, |
| | 2 | 18 | | int MaxIterations, |
| | 2 | 19 | | int MaxToolRoundsPerIteration, |
| | 2 | 20 | | int? MaxTotalToolCalls, |
| | 2 | 21 | | double? BudgetPressureThreshold, |
| | 2 | 22 | | string LoopName, |
| | 176 | 23 | | ToolCompletionCheckMode CheckCompletionAfterToolCalls); |