From e0e2a636657cc1ff4aab3205eaca8134764ae1e4 Mon Sep 17 00:00:00 2001 From: Dmitrii Tikhomirov Date: Wed, 1 Oct 2025 16:00:20 -0700 Subject: [PATCH] We should be able to use an agentic loop without explicitly specifying maxIterations Signed-off-by: Dmitrii Tikhomirov --- .../serverlessworkflow/fluent/agentic/LoopAgentsBuilder.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/LoopAgentsBuilder.java b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/LoopAgentsBuilder.java index 01b710158..dea26161b 100644 --- a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/LoopAgentsBuilder.java +++ b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/LoopAgentsBuilder.java @@ -31,6 +31,8 @@ public class LoopAgentsBuilder { private final FuncTaskItemListBuilder funcDelegate; private final ForTaskFunction forTask; + private int maxIterations = 1024; + public LoopAgentsBuilder() { this.forTask = new ForTaskFunction(); this.forTask.setFor(new ForTaskConfiguration()); @@ -56,7 +58,7 @@ public LoopAgentsBuilder subAgents(Object... agents) { } public LoopAgentsBuilder maxIterations(int maxIterations) { - this.forTask.withCollection(ignored -> IntStream.range(0, maxIterations).boxed().toList()); + this.maxIterations = maxIterations; return this; } @@ -67,6 +69,7 @@ public LoopAgentsBuilder exitCondition(Predicate exitCondition) { public ForTaskFunction build() { this.forTask.setDo(this.funcDelegate.build()); + this.forTask.withCollection(ignored -> IntStream.range(0, maxIterations).boxed().toList()); return this.forTask; } }