From 204ff56dd5797259a36f7a82fe0fbbbde7171c62 Mon Sep 17 00:00:00 2001 From: Dmitrii Tikhomirov Date: Wed, 1 Oct 2025 14:26:33 -0700 Subject: [PATCH] use agent name as branch name Signed-off-by: Dmitrii Tikhomirov --- .../fluent/agentic/AgentTaskItemListBuilder.java | 7 +++---- .../fluent/agentic/AgentDslWorkflowTest.java | 6 +++--- .../serverlessworkflow/fluent/agentic/AgentsUtils.java | 9 +++++++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/AgentTaskItemListBuilder.java b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/AgentTaskItemListBuilder.java index 528953c5..3f22e703 100644 --- a/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/AgentTaskItemListBuilder.java +++ b/experimental/fluent/agentic/src/main/java/io/serverlessworkflow/fluent/agentic/AgentTaskItemListBuilder.java @@ -92,10 +92,9 @@ public AgentTaskItemListBuilder parallel(String name, Object... agents) { List execs = AgentAdapters.toExecutors(agents); for (int i = 0; i < execs.size(); i++) { AgentExecutor ex = execs.get(i); - fork.branch( - "branch-" + i + "-" + name, - AgentAdapters.toFunction(ex), - DefaultAgenticScope.class); + String agentName = ex.agentName() != null ? ex.agentName() : "branch-" + i + "-" + name; + + fork.branch(agentName, AgentAdapters.toFunction(ex), DefaultAgenticScope.class); } }); return self(); diff --git a/experimental/fluent/agentic/src/test/java/io/serverlessworkflow/fluent/agentic/AgentDslWorkflowTest.java b/experimental/fluent/agentic/src/test/java/io/serverlessworkflow/fluent/agentic/AgentDslWorkflowTest.java index 634d0049..c8be5f7a 100644 --- a/experimental/fluent/agentic/src/test/java/io/serverlessworkflow/fluent/agentic/AgentDslWorkflowTest.java +++ b/experimental/fluent/agentic/src/test/java/io/serverlessworkflow/fluent/agentic/AgentDslWorkflowTest.java @@ -101,7 +101,7 @@ void dslLoopAgents() { @Test void dslParallelAgents() { var a1 = AgentsUtils.newMovieExpert(); - var a2 = AgentsUtils.newMovieExpert(); + var a2 = AgentsUtils.newMovieExpert2(); Workflow wf = workflow("forkFlow").parallel("fanout", a1, a2).build(); @@ -112,8 +112,8 @@ void dslParallelAgents() { // two branches created assertThat(fork.getFork().getBranches()).hasSize(2); // branch names follow "branch-{index}-{name}" - assertThat(fork.getFork().getBranches().get(0).getName()).isEqualTo("branch-0-fanout"); - assertThat(fork.getFork().getBranches().get(1).getName()).isEqualTo("branch-1-fanout"); + assertThat(fork.getFork().getBranches().get(0).getName()).isEqualTo("findMovie"); + assertThat(fork.getFork().getBranches().get(1).getName()).isEqualTo("findMovie2"); } @Test diff --git a/experimental/fluent/agentic/src/test/java/io/serverlessworkflow/fluent/agentic/AgentsUtils.java b/experimental/fluent/agentic/src/test/java/io/serverlessworkflow/fluent/agentic/AgentsUtils.java index 42df6b4c..9fcd5773 100644 --- a/experimental/fluent/agentic/src/test/java/io/serverlessworkflow/fluent/agentic/AgentsUtils.java +++ b/experimental/fluent/agentic/src/test/java/io/serverlessworkflow/fluent/agentic/AgentsUtils.java @@ -32,6 +32,15 @@ public static Agents.MovieExpert newMovieExpert() { .build()); } + public static Agents.MovieExpert newMovieExpert2() { + return spy( + AgenticServices.agentBuilder(Agents.MovieExpert.class) + .outputName("movies") + .name("findMovie2") + .chatModel(BASE_MODEL) + .build()); + } + public static Agents.CreativeWriter newCreativeWriter() { return spy( AgenticServices.agentBuilder(Agents.CreativeWriter.class)