From a26b2d74d4c2ef1cc481ca7e5b14335808cbd80b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=80=89=E5=B6=8B=20=E5=B0=86=E7=9F=A2?= <66870512+krap730@users.noreply.github.com> Date: Thu, 25 Dec 2025 11:20:25 +0900 Subject: [PATCH] fix: allow None values in VariableMessage validation (#30082) --- api/core/tools/entities/tool_entities.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/core/tools/entities/tool_entities.py b/api/core/tools/entities/tool_entities.py index 353f3a646a..583a3584f7 100644 --- a/api/core/tools/entities/tool_entities.py +++ b/api/core/tools/entities/tool_entities.py @@ -153,11 +153,11 @@ class ToolInvokeMessage(BaseModel): @classmethod def transform_variable_value(cls, values): """ - Only basic types and lists are allowed. + Only basic types, lists, and None are allowed. """ value = values.get("variable_value") - if not isinstance(value, dict | list | str | int | float | bool): - raise ValueError("Only basic types and lists are allowed.") + if value is not None and not isinstance(value, dict | list | str | int | float | bool): + raise ValueError("Only basic types, lists, and None are allowed.") # if stream is true, the value must be a string if values.get("stream"):