fix(openai): add nil checks for web_search streaming to prevent panic - #1949
Conversation
WalkthroughAdds defensive nil checks before incrementing a built-in tool’s CallCount in OpenAI relay responses to prevent nil dereference when usage info or map entries are absent. Changes
Sequence Diagram(s)sequenceDiagram
participant Handler as OpenAI Relay Handler
participant Usage as ResponsesUsageInfo
participant Tools as BuiltInTools Map
participant Tool as WebSearchPreview Tool
Handler->>Usage: Access usage info (may be nil)
alt Usage or map nil
Handler-->>Handler: Skip increment
else Usage and map exist
Handler->>Tools: Lookup WebSearchPreview key
alt Key missing or Tool nil
Handler-->>Handler: Skip increment
else Key present and Tool non-nil
Handler->>Tool: Increment CallCount
end
end
note over Handler: Prevents nil dereference panics
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing touches
🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used🧬 Code graph analysis (1)relay/channel/openai/relay_responses.go (2)
🔇 Additional comments (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ebSearch-panic fix(openai): add nil checks for web_search streaming to prevent panic
PR 类型
PR 是否包含破坏性更新?
PR 描述
close #1933
Summary by CodeRabbit