AgentLoopConfig constructor
const
AgentLoopConfig({
- required Model model,
- ToolExecutionMode toolExecution = ToolExecutionMode.parallel,
- BeforeToolCallHook? beforeToolCall,
- AfterToolCallHook? afterToolCall,
- TransformContextHook? transformContext,
- PrepareNextTurnHook? prepareNextTurn,
- OverWindowRelief? overWindowRelief,
- QueuedMessagesSource? getSteeringMessages,
- QueuedMessagesSource? getFollowUpMessages,
- Stream<
void> ? steeringNotifications, - Future<
bool> hasPendingSteering()?, - int maxEmptyRetries = 1,
- int emptyHiccupRetries = 3,
- Duration emptyHiccupBaseDelay = const Duration(milliseconds: 500),
- Duration emptyHiccupMaxBackoff = const Duration(milliseconds: 8000),
- int maxSteeringTurns = 20,
- int? contextWindowCap,
- bool wireDump = false,
- ToolMisuseBreaker? toolMisuseBreaker,
- StuckToolConfig? stuckTool,
- bool finalizeGate = false,
- List<
Skill> operativeSkills = const [], - Set<
String> ? reportedOrphanKeys, - String? budgetLineProvider()?,
Implementation
const AgentLoopConfig({
required this.model,
this.toolExecution = ToolExecutionMode.parallel,
this.beforeToolCall,
this.afterToolCall,
this.transformContext,
this.prepareNextTurn,
this.overWindowRelief,
this.getSteeringMessages,
this.getFollowUpMessages,
this.steeringNotifications,
this.hasPendingSteering,
this.maxEmptyRetries = 1,
this.emptyHiccupRetries = 3,
this.emptyHiccupBaseDelay = const Duration(milliseconds: 500),
this.emptyHiccupMaxBackoff = const Duration(milliseconds: 8000),
this.maxSteeringTurns = 20,
this.contextWindowCap,
this.wireDump = false,
this.toolMisuseBreaker,
this.stuckTool,
this.finalizeGate = false,
this.operativeSkills = const [],
this.reportedOrphanKeys,
this.budgetLineProvider,
});