OpenRouter: GA `client.responses` is not traced by `wrap_openrouter()`, and `client.beta.responses` is not auto-instrumented
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 74/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- python
- Lĩnh vực
- observability
Hướng nghiên cứu
Start with py/src/braintrust/integrations/openrouter/patchers.py and tracing.py, then compare the existing GA Responses patching with BetaResponses and the behavior for OpenRouter 0.6.0. Add the requested cassette-backed client.responses.send coverage and a Responses check in test_auto_openrouter.py; done when GA calls through wrapped clients and beta calls through auto-instrumentation are traced without breaking 0.6.0.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
In current openrouter releases (1.2.32 and 1.3.22), client.responses is the GA openrouter.responses.Responses, while client.beta.responses is a separate, deprecated openrouter.beta_responses.BetaResponses.
wrap_openrouter()inpy/src/braintrust/integrations/openrouter/tracing.pyonly wrapsclient.beta.responses, so GAclient.responses.send/send_asynccalls are never traced on wrapped clients.auto_instrument()patches the GAResponsesclass but notBetaResponses, soclient.beta.responses.sendis never traced there.
Fix
- In
py/src/braintrust/integrations/openrouter/patchers.py, add patchers forBetaResponses.send/send_async, applied only whenopenrouter.beta_responsesexists (so 0.6.0 keeps working). - Make
wrap_openrouter()also wrapclient.responses. - Add a cassette-backed
client.responses.sendtest, and a Responses check intest_auto_openrouter.py(it only covers chat today). - Optional: add the new
alignmentfield to_RESPONSES_RESPONSE_KEYS.
Parent: #858 (found while reviewing the 2026-10-05 weekly dependency update, #849).
🤖 Generated with Claude Code
- Ngôn ngữ chính
- Python
- Star
- 21
- Fork
- 23
- Merge trung bình
- 19 giờ 23 phút
- Pull request đã merge (30 ngày)
- 97
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của braintrustdata/braintrust-sdk-python
-
feature python
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
braintrustdata/braintrust-sdk-python#868 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
auto_instrument() creates duplicate LLM spans for Google ADK Gemini callsCó thể đã có người làm @AbhiPrasad đã nhận hôm nay. Đang mởbug python
braintrustdata/braintrust-sdk-python#896 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
new-integration python
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
braintrustdata/braintrust-sdk-python#854 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
new-integration python
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
braintrustdata/braintrust-sdk-python#853 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
new-integration python
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
braintrustdata/braintrust-sdk-python#852 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của braintrustdata/braintrust-sdk-python
Issue tương tự
-
Broken link in index.rstĐang mởdocumentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
ansys/pydpf-core#3547 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
core
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
vectorize-io/hindsight#5457 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug]: LangChain drops OpenAI Responses text blocks from session recordingCó thể đã có người làm @ktz03 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
volcengine/OpenViking#5806 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
HTML: <template> content is extracted as document textCó thể đã có người làm @ryanmeowy đã nhận hôm nay. Đang mởbug html
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
docling-project/docling#4714 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
APIv2 event data accepts a non-string reply and a NaN upper_boundCó thể đã có người làm @awss1i đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
freedomofpress/securedrop#7946 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày