From a2b80f7a656212b50daf9b1061e50731a9b6dd3a Mon Sep 17 00:00:00 2001 From: "q33566 (Kurt)" Date: Wed, 10 Dec 2025 21:57:02 +0800 Subject: [PATCH 1/2] fix: ManagerSelectionResponse JSON Schema for OpenAI Structured Output Strict Mode --- .../core/agent_framework/_workflows/_group_chat.py | 8 +++++++- 1 file changed, 7 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 78ddb5c2eb..b82a680a5b 100644 --- a/python/packages/core/agent_framework/_workflows/_group_chat.py +++ b/python/packages/core/agent_framework/_workflows/_group_chat.py @@ -131,7 +131,13 @@ 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 From a294911706ee41d9dda750c44bcb9d276cb8305c Mon Sep 17 00:00:00 2001 From: q33566 Date: Thu, 11 Dec 2025 10:04:28 +0800 Subject: [PATCH 2/2] refactor: install pre-commit then commit again --- .../packages/core/agent_framework/_workflows/_group_chat.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/python/packages/core/agent_framework/_workflows/_group_chat.py b/python/packages/core/agent_framework/_workflows/_group_chat.py index b82a680a5b..18e1af1372 100644 --- a/python/packages/core/agent_framework/_workflows/_group_chat.py +++ b/python/packages/core/agent_framework/_workflows/_group_chat.py @@ -134,9 +134,7 @@ class ManagerSelectionResponse(BaseModel): 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"] - }, + "json_schema_extra": {"required": ["selected_participant", "instruction", "finish", "final_message"]}, } selected_participant: str | None = None