From 4c6a5d4aa1795011b0c77559210ec4b1845ef911 Mon Sep 17 00:00:00 2001 From: Kurt <65111699+q33566@users.noreply.github.com> Date: Thu, 11 Dec 2025 10:34:12 +0800 Subject: [PATCH] =?UTF-8?q?Python:=20fix:=20GroupChat=20ManagerSelectionRe?= =?UTF-8?q?sponse=20JSON=20Schema=20for=20OpenAI=20Structured=20Outpu?= =?UTF-8?q?=E2=80=A6=20(#2750)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: ManagerSelectionResponse JSON Schema for OpenAI Structured Output Strict Mode * refactor: install pre-commit then commit again --- .../packages/core/agent_framework/_workflows/_group_chat.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python/packages/core/agent_framework/_workflows/_group_chat.py b/python/packages/core/agent_framework/_workflows/_group_chat.py index eab720a4b1..725a5c829c 100644 --- a/python/packages/core/agent_framework/_workflows/_group_chat.py +++ b/python/packages/core/agent_framework/_workflows/_group_chat.py @@ -132,7 +132,11 @@ class ManagerSelectionResponse(BaseModel): final_message: Optional final message string when finishing conversation (will be converted to ChatMessage) """ - model_config = {"extra": "forbid"} + model_config = { + "extra": "forbid", + # OpenAI strict mode requires all properties to be in required array + "json_schema_extra": {"required": ["selected_participant", "instruction", "finish", "final_message"]}, + } selected_participant: str | None = None instruction: str | None = None