OpenRouter: GA `client.responses` is not traced by `wrap_openrouter()`, and `client.beta.responses` is not auto-instrumented
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 74/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- python
- Bereich
- observability
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Python
- Sterne
- 22
- Forks
- 24
- Ø Merge
- 16 Std. 34 Min.
- Gemergte PRs (30 T.)
- 113
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus braintrustdata/braintrust-sdk-python
-
feature python
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
braintrustdata/braintrust-sdk-python#868 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Migrate legacy HTTPConnection callers to the policy-aware Transport incrementallyEvtl. vergeben @AbhiPrasad hat das vor 14 Tagen übernommen. Offenpython
braintrustdata/braintrust-sdk-python#839 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
new-integration
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
braintrustdata/braintrust-sdk-python#808 ·
Maintainer antworten meist innerhalb von 1 Tag
-
new-integration
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 45/100
braintrustdata/braintrust-sdk-python#806 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
braintrustdata/braintrust-sdk-python#798 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in braintrustdata/braintrust-sdk-python
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
huggingface/sentence-transformers#4186 ·
Maintainer antworten meist innerhalb von 5 Tagen
-
documentation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
QuantEcon/QuantEcon.py#988 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
fabriziosalmi/certmate#1247 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation good first issue
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 72/100
sujithputta02/Esapay#13 ·