OpenRouter: GA `client.responses` is not traced by `wrap_openrouter()`, and `client.beta.responses` is not auto-instrumented
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 74/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- python
- Domínio
- observability
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- Python
- Estrelas
- 22
- Forks
- 27
- Merge médio
- 11h 46min
- PRs com merge (30d)
- 137
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de braintrustdata/braintrust-sdk-python
-
Temporal: add `workflow.Info.original_execution_run_id` to workflow span metadataTalvez já em andamento @Ehsan-hash assumiu há 6 dias. Abertafeature python
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
braintrustdata/braintrust-sdk-python#868 ·
Mantenedores costumam responder em até 1 dia
-
python
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
braintrustdata/braintrust-sdk-python#957 ·
Mantenedores costumam responder em até 1 dia
-
python
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
braintrustdata/braintrust-sdk-python#956 ·
Mantenedores costumam responder em até 1 dia
-
python
braintrustdata/braintrust-sdk-python#839 ·
Mantenedores costumam responder em até 1 dia
-
new-integration
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 68/100
braintrustdata/braintrust-sdk-python#808 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de braintrustdata/braintrust-sdk-python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
gramaziokohler/compas_timber#870 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
autowarefoundation/autoware_carla_scenario#500 ·
Mantenedores costumam responder em até 1 dia
-
good first issue priority: low size: XS testing
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 86/100
cubrid-lab/cubrid-mcp-server#385 ·
Mantenedores costumam responder em até 1 dia
-
good first issue priority: low size: S testing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
cubrid-lab/cubrid-cookbook-python#447 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100