TaskToolConfig constructor

TaskToolConfig({
  1. required List<AgentTool> childTools,
  2. required StreamFunction streamFunction(),
  3. required Model model(),
  4. ModelRolesResolver? rolesResolver,
  5. List<TaskAgentDefinition> agentTypes = const [],
  6. int maxConcurrent = defaultTaskMaxConcurrent,
  7. bool defaultBackground = false,
  8. AgentOutputStore? outputs,
  9. TaskJobManager? jobManager,
  10. SubagentManager? subagentManager,
  11. Future<Session> childSessionFactory(
    1. String parentSessionId,
    2. String childId
    )?,
  12. ChildSessionOpener? childSessionOpener,
  13. A2aManager? a2aManager,
  14. CompactionEngine? compactionEngine,
  15. bool misuseBreaker = true,
})

Creates a TaskToolConfig.

Implementation

TaskToolConfig({
  required this.childTools,
  required this.streamFunction,
  required this.model,
  this.rolesResolver,
  this.agentTypes = const [],
  int maxConcurrent = defaultTaskMaxConcurrent,
  this.defaultBackground = false,
  AgentOutputStore? outputs,
  TaskJobManager? jobManager,
  this.subagentManager,
  this.childSessionFactory,
  this.childSessionOpener,
  this.a2aManager,
  this.compactionEngine,
  this.misuseBreaker = true,
}) : semaphore = Semaphore(normalizeConcurrencyLimit(maxConcurrent)),
     outputs = outputs ?? AgentOutputStore(),
     jobManager = jobManager ?? TaskJobManager();