-
Notifications
You must be signed in to change notification settings - Fork 536
Labels
bugSomething isn't workingSomething isn't working
Description
Contact Details
π¦ Package Version
0.4.21
ποΈ Framework Version
OpenAI Agent SDK (0.6.7)
π Describe the Bug
Bug Report
Description
When using the OpenAI Agents SDK with file search or web search tools, on_span_end raises:
ERROR:openai.agents:Error in trace processor <agentops.instrumentation.agentic.openai_agents.processor.OpenAIAgentsProcessor
object> during on_span_end: 'NoneType' object has no attribute 'dict'
Root Cause
In agentops/instrumentation/providers/openai/attributes/response.py, three hasattr() checks guard calls to .__dict__ on
optional tool fields β but hasattr() returns True even when the attribute value is None:
get_response_tool_web_search_attributes (line ~507):
if hasattr(tool, "user_location"):
parameters["user_location"] = tool.user_location.__dict__ # crashes if None
get_response_tool_file_search_attributes (lines ~525, ~531):
if hasattr(tool, "filters"):
parameters["filters"] = tool.filters.__dict__ # crashes if None
if hasattr(tool, "ranking_options"):
parameters["ranking_options"] = tool.ranking_options.__dict__ # crashes if None
user_location, filters, and ranking_options are all optional fields that default to None in the OpenAI SDK models. The hasattr
guard is insufficient.
Fix
Add is not None checks alongside hasattr:
# WebSearchTool
if hasattr(tool, "user_location") and tool.user_location is not None:
parameters["user_location"] = tool.user_location.__dict__
# FileSearchTool
if hasattr(tool, "filters") and tool.filters is not None:
parameters["filters"] = tool.filters.__dict__
if hasattr(tool, "ranking_options") and tool.ranking_options is not None:
parameters["ranking_options"] = tool.ranking_options.__dict__
Versions
- agentops==0.4.21
- openai-agents==0.6.7
- openai==2.15.0
Call Stack
on_span_end (processor.py)
β export_span (exporter.py)
β get_span_attributes (attributes/common.py)
β get_response_span_attributes
β get_response_response_attributes (providers/openai/attributes/response.py)
β get_response_tools_attributes
β get_response_tool_web/file_search_attributes β crash here
### π€ Contribution
- [x] Yes, I'd be happy to submit a pull request with these changes.
- [x] I need some guidance on how to contribute.
- [ ] I'd prefer the AgentOps team to handle this update.Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working