From da42e172f90394436878754d5971863ce9c3eec2 Mon Sep 17 00:00:00 2001 From: Dmitrii Tikhomirov Date: Tue, 23 Sep 2025 16:22:31 -0700 Subject: [PATCH 1/3] add helper conditional to the AgenticDSL class Signed-off-by: Dmitrii Tikhomirov --- .../io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java index 052dd807..ef43c9ca 100644 --- a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java +++ b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java @@ -140,6 +140,10 @@ public static AgentTaskConfigurer agent(Object agent) { return list -> list.agent(agent); } + public static AgentTaskConfigurer conditional(Predicate predicate, Object agent) { + return list -> list.agent(agent).when(predicate); + } + public static AgentTaskConfigurer emit(Consumer event) { return list -> list.emit(event); } From 8e9ec51b3f8bb657349ab50449f3e7a16ab86b24 Mon Sep 17 00:00:00 2001 From: Dmitrii Tikhomirov Date: Wed, 24 Sep 2025 10:28:57 -0700 Subject: [PATCH 2/3] added conditionalSequence and conditionalParallel Signed-off-by: Dmitrii Tikhomirov --- .../serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java index ef43c9ca..5b5fbc93 100644 --- a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java +++ b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java @@ -144,6 +144,14 @@ public static AgentTaskConfigurer conditional(Predicate predicate, Object age return list -> list.agent(agent).when(predicate); } + public static AgentTaskConfigurer conditionalSequence(Predicate predicate, Object... agents) { + return list -> list.sequence(agents).when(predicate); + } + + public static AgentTaskConfigurer conditionalParallel(Predicate predicate, Object... agents) { + return list -> list.parallel(agents).when(predicate); + } + public static AgentTaskConfigurer emit(Consumer event) { return list -> list.emit(event); } From f06ae2b837503b9ae0654366b749ce313ab28839 Mon Sep 17 00:00:00 2001 From: Dmitrii Tikhomirov Date: Wed, 24 Sep 2025 11:22:12 -0700 Subject: [PATCH 3/3] better naming Signed-off-by: Dmitrii Tikhomirov --- .../fluent/agentic/dsl/AgenticDSL.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java index 5b5fbc93..f6505ef0 100644 --- a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java +++ b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/dsl/AgenticDSL.java @@ -113,6 +113,10 @@ public static AgentTaskConfigurer sequence(Object... agents) { return list -> list.sequence(agents); } + public static AgentTaskConfigurer sequence(Predicate predicate, Object... agents) { + return list -> list.sequence(agents).when(predicate); + } + public static AgentTaskConfigurer loop(Predicate exitCondition, Object... agents) { return list -> list.loop(l -> l.subAgents(agents).exitCondition(exitCondition)); } @@ -121,6 +125,10 @@ public static AgentTaskConfigurer parallel(Object... agents) { return list -> list.parallel(agents); } + public static AgentTaskConfigurer parallel(Predicate predicate, Object... agents) { + return list -> list.parallel(agents).when(predicate); + } + // --------- Tasks ------ // public static Consumer doTasks(AgentTaskConfigurer... steps) { Objects.requireNonNull(steps, "Steps in a tasks are required"); @@ -144,14 +152,6 @@ public static AgentTaskConfigurer conditional(Predicate predicate, Object age return list -> list.agent(agent).when(predicate); } - public static AgentTaskConfigurer conditionalSequence(Predicate predicate, Object... agents) { - return list -> list.sequence(agents).when(predicate); - } - - public static AgentTaskConfigurer conditionalParallel(Predicate predicate, Object... agents) { - return list -> list.parallel(agents).when(predicate); - } - public static AgentTaskConfigurer emit(Consumer event) { return list -> list.emit(event); }