From 2028d9bea504b3268ce278f76a1cdfe71973b50d Mon Sep 17 00:00:00 2001 From: extio-de Date: Sun, 10 May 2026 10:14:45 +0200 Subject: [PATCH] fix: add null check for finish reason in completion handling in BaseAgent --- .../java/de/extio/lmlib/agent/BaseAgent.java | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/extio/lmlib/agent/BaseAgent.java b/src/main/java/de/extio/lmlib/agent/BaseAgent.java index 450503a..5950392 100644 --- a/src/main/java/de/extio/lmlib/agent/BaseAgent.java +++ b/src/main/java/de/extio/lmlib/agent/BaseAgent.java @@ -202,21 +202,23 @@ public interface BaseAgent { split.context().getGraph().add("(" + durationMs + " ms)"); split.context().setLastCompletion(completion); split.context().getRequestStatistic().add(completion); - switch (completion.finishReason()) { - case TOKEN_LIMIT_REACHED: - split.context().getGraph().add("⏹"); - break; - case CONTENT_FILTERED: - split.context().getGraph().add("⛔"); - break; - case TOOL_CALLS: - split.context().getGraph().add("🔧"); - break; - case ERROR: - split.context().getGraph().add("❌"); - continue; - default: - break; + if (completion.finishReason() != null) { + switch (completion.finishReason()) { + case TOKEN_LIMIT_REACHED: + split.context().getGraph().add("⏹"); + break; + case CONTENT_FILTERED: + split.context().getGraph().add("⛔"); + break; + case TOOL_CALLS: + split.context().getGraph().add("🔧"); + break; + case ERROR: + split.context().getGraph().add("❌"); + continue; + default: + break; + } } if (!completion.toolCalls().isEmpty() && responseHandler instanceof final ToolCallingAgentResponseHandler toolCallingAgentResponseHandler) {