diff --git a/pom.xml b/pom.xml
index a933ac0..bb5953d 100755
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
lm-lib
de.extio
lm-lib
- 1.6.0
+ 1.6.2
21
diff --git a/src/main/java/de/extio/lmlib/agent/responsehandler/TextAgentResponseHandler.java b/src/main/java/de/extio/lmlib/agent/responsehandler/TextAgentResponseHandler.java
index 10cb722..18c108b 100755
--- a/src/main/java/de/extio/lmlib/agent/responsehandler/TextAgentResponseHandler.java
+++ b/src/main/java/de/extio/lmlib/agent/responsehandler/TextAgentResponseHandler.java
@@ -1,6 +1,7 @@
package de.extio.lmlib.agent.responsehandler;
import java.util.Objects;
+import java.util.function.Consumer;
import java.util.function.Function;
import org.slf4j.Logger;
@@ -22,16 +23,19 @@ public class TextAgentResponseHandler implements StreamedAgentResponseHandler {
private final Function transformer;
private final Function chunkTransformer;
+
+ private final Consumer afterChunkUpdate;
public TextAgentResponseHandler(final String key) {
- this(key, null, null);
+ this(key, null, null, null);
}
- public TextAgentResponseHandler(final String key, final Function transformer, final Function chunkTransformer) {
+ public TextAgentResponseHandler(final String key, final Function transformer, final Function chunkTransformer, final Consumer afterChunkUpdate) {
this.key = key;
this.chunkKey = key.concat("_chunk");
this.transformer = transformer;
this.chunkTransformer = chunkTransformer;
+ this.afterChunkUpdate = afterChunkUpdate;
}
@Override
@@ -57,8 +61,11 @@ public class TextAgentResponseHandler implements StreamedAgentResponseHandler {
chunk = this.chunkTransformer.apply(chunk);
}
context.setStringValue(this.chunkKey, chunk);
- context.setStringValue(this.key, Objects.requireNonNullElse(context.getStringValue(this.key), "".concat(chunk)));
+ context.setStringValue(this.key, Objects.requireNonNullElse(context.getStringValue(this.key), "").concat(chunk));
context.setStringValue(UPDATE_KEY, this.key);
+ if (afterChunkUpdate != null) {
+ afterChunkUpdate.accept(context);
+ }
return true;
}