Python: [BREAKING]: removed display_name, renamed context_providers, middleware and AggregateContextProvider (#3139)

* removed display_name, renamed context_providers, middleware and AggregateContextProvider

* fixes

* fixed test

* testfix

* removed mistakenly put back test

* updated new test

* rename middlewares to middleware

* middleware fixes
This commit is contained in:
Eduard van Valkenburg
2026-01-13 03:24:07 +01:00
committed by GitHub
Unverified
parent ef44fb4960
commit 203fb7b1c4
80 changed files with 596 additions and 838 deletions
@@ -346,8 +346,8 @@ class EntityDiscovery:
instructions = None
model = None
chat_client_type = None
context_providers_list = None
middleware_list = None
context_provider_list = None
middlewares_list = None
if entity_type == "agent":
from ._utils import extract_agent_metadata
@@ -356,8 +356,8 @@ class EntityDiscovery:
instructions = agent_meta["instructions"]
model = agent_meta["model"]
chat_client_type = agent_meta["chat_client_type"]
context_providers_list = agent_meta["context_providers"]
middleware_list = agent_meta["middleware"]
context_provider_list = agent_meta["context_provider"]
middlewares_list = agent_meta["middleware"]
# Log helpful info about agent capabilities (before creating EntityInfo)
if entity_type == "agent":
@@ -395,8 +395,8 @@ class EntityDiscovery:
instructions=instructions,
model_id=model,
chat_client_type=chat_client_type,
context_providers=context_providers_list,
middleware=middleware_list,
context_provider=context_provider_list,
middleware=middlewares_list,
executors=tools_list if entity_type == "workflow" else [],
input_schema={"type": "string"}, # Default schema
start_executor_id=tools_list[0] if tools_list and entity_type == "workflow" else None,
@@ -829,8 +829,8 @@ class EntityDiscovery:
instructions = None
model = None
chat_client_type = None
context_providers_list = None
middleware_list = None
context_provider_list = None
middlewares_list = None
if obj_type == "agent":
from ._utils import extract_agent_metadata
@@ -839,8 +839,8 @@ class EntityDiscovery:
instructions = agent_meta["instructions"]
model = agent_meta["model"]
chat_client_type = agent_meta["chat_client_type"]
context_providers_list = agent_meta["context_providers"]
middleware_list = agent_meta["middleware"]
context_provider_list = agent_meta["context_provider"]
middlewares_list = agent_meta["middleware"]
entity_info = EntityInfo(
id=entity_id,
@@ -852,8 +852,8 @@ class EntityDiscovery:
instructions=instructions,
model_id=model,
chat_client_type=chat_client_type,
context_providers=context_providers_list,
middleware=middleware_list,
context_provider=context_provider_list,
middleware=middlewares_list,
metadata={
"module_path": module_path,
"entity_type": obj_type,
@@ -32,7 +32,7 @@ def extract_agent_metadata(entity_object: Any) -> dict[str, Any]:
"instructions": None,
"model": None,
"chat_client_type": None,
"context_providers": None,
"context_provider": None,
"middleware": None,
}
@@ -60,20 +60,20 @@ def extract_agent_metadata(entity_object: Any) -> dict[str, Any]:
and entity_object.context_provider
and hasattr(entity_object.context_provider, "__class__")
):
metadata["context_providers"] = [entity_object.context_provider.__class__.__name__] # type: ignore
metadata["context_provider"] = [entity_object.context_provider.__class__.__name__] # type: ignore
# Try to get middleware
if hasattr(entity_object, "middleware") and entity_object.middleware:
middleware_list: list[str] = []
middlewares_list: list[str] = []
for m in entity_object.middleware:
# Try multiple ways to get a good name for middleware
if hasattr(m, "__name__"): # Function or callable
middleware_list.append(m.__name__)
middlewares_list.append(m.__name__)
elif hasattr(m, "__class__"): # Class instance
middleware_list.append(m.__class__.__name__)
middlewares_list.append(m.__class__.__name__)
else:
middleware_list.append(str(m))
metadata["middleware"] = middleware_list # type: ignore
middlewares_list.append(str(m))
metadata["middleware"] = middlewares_list # type: ignore
return metadata
@@ -43,7 +43,7 @@ class EntityInfo(BaseModel):
instructions: str | None = None
model_id: str | None = None
chat_client_type: str | None = None
context_providers: list[str] | None = None
context_provider: list[str] | None = None
middleware: list[str] | None = None
# Workflow-specific fields (populated only for detailed info requests)