Skip to content

Commit c5f75e0

Browse files
committed
better combined processsing
Signed-off-by: Dmitrii Tikhomirov <[email protected]>
1 parent d9b79b5 commit c5f75e0

File tree

2 files changed

+15
-20
lines changed

2 files changed

+15
-20
lines changed

experimental/agentic/src/main/java/io/serverlessworkflow/impl/expressions/agentic/AgenticModelFactory.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import io.serverlessworkflow.impl.expressions.agentic.langchain4j.AgenticScopeRegistryAssessor;
2525
import java.time.OffsetDateTime;
2626
import java.util.Map;
27+
import java.util.stream.Collectors;
2728

2829
class AgenticModelFactory implements WorkflowModelFactory {
2930

@@ -60,7 +61,11 @@ public WorkflowModel fromAny(WorkflowModel prev, Object obj) {
6061

6162
@Override
6263
public WorkflowModel combine(Map<String, WorkflowModel> workflowVariables) {
63-
return newAgenticModel(workflowVariables);
64+
Map<String, Object> combinedState =
65+
workflowVariables.entrySet().stream()
66+
.map(e -> Map.entry(e.getKey(), e.getValue().asJavaObject()))
67+
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
68+
return newAgenticModel(combinedState);
6469
}
6570

6671
@Override

experimental/fluent/agentic/src/test/java/io/serverlessworkflow/fluent/agentic/WorkflowTests.java

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -175,17 +175,12 @@ public void testParallel() throws ExecutionException, InterruptedException {
175175
topic.put("style", "sci-fi");
176176

177177
try (WorkflowApplication app = WorkflowApplication.builder().build()) {
178-
AgenticScope result =
179-
app.workflowDefinition(workflow)
180-
.instance(topic)
181-
.start()
182-
.get()
183-
.as(AgenticScope.class)
184-
.orElseThrow();
178+
Map<String, Object> result =
179+
app.workflowDefinition(workflow).instance(topic).start().get().asMap().orElseThrow();
185180

186-
assertEquals("Fake conflict response", result.readState("setting"));
187-
assertEquals("Fake hero response", result.readState("hero"));
188-
assertEquals("Fake setting response", result.readState("conflict"));
181+
assertEquals("Fake conflict response", result.get("setting").toString());
182+
assertEquals("Fake hero response", result.get("hero").toString());
183+
assertEquals("Fake setting response", result.get("conflict").toString());
189184
}
190185
}
191186

@@ -224,16 +219,11 @@ public void testSeqAndThenParallel() throws ExecutionException, InterruptedExcep
224219
topic.put("fact", "alien");
225220

226221
try (WorkflowApplication app = WorkflowApplication.builder().build()) {
227-
AgenticScope result =
228-
app.workflowDefinition(workflow)
229-
.instance(topic)
230-
.start()
231-
.get()
232-
.as(AgenticScope.class)
233-
.orElseThrow();
222+
Map<String, Object> result =
223+
app.workflowDefinition(workflow).instance(topic).start().get().asMap().orElseThrow();
234224

235-
assertEquals(cultureTraits, result.readState("culture"));
236-
assertEquals(technologyTraits, result.readState("technology"));
225+
assertEquals(cultureTraits, result.get("culture"));
226+
assertEquals(technologyTraits, result.get("technology"));
237227
}
238228
}
239229

0 commit comments

Comments
 (0)