[bot] OpenAI Agents API (`client.beta.agents.sessions`) not instrumented
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- ruby
- Área
- backend-api-design, devtools
Línea de trabajo
Start with lib/braintrust/contrib/openai/patcher.rb and the existing instrumentation in lib/braintrust/contrib/openai/instrumentation/chat.rb and responses.rb. Check registration in lib/braintrust/contrib.rb, then define the Agents session instrumentation around create_streaming and the session lifecycle. Done means agent input, session metadata, streamed output, and available usage and latency are captured consistently.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
The official openai Ruby gem now ships a top-level Agents API (client.beta.agents.sessions) — a managed, long-running agent session surface distinct from Chat Completions, the Responses API, and the already-tracked Realtime API (#206). It was added to the gem in v0.90.0 (2026-09-10, "api: add Agents API"), with immediately-following releases adding more capability: v0.91.0 ("add agent session model settings"), v0.96.0 ("add Agents credential and session options"), and v0.97.0 (2026-09-29, "add computer use to beta agents"). This is a genuinely new generative/agentic execution surface with zero instrumentation in this repo today.
What is missing
client = OpenAI::Client.new
events = client.beta.agents.sessions.create_streaming(
agent: {
model: "gpt-6-astra",
instructions: "Write clean code, run it, and report the actual output."
},
environment: { type: "openai_hosted" },
input: "Create tree.py, ..."
)
events.each { |event| puts JSON.generate(event.to_h) }
events.close
client.beta.agents.sessions.delete(session_id)
client.beta.agents.sessions.create_streaming(agent:, environment:, input:, ...)— starts a managed agent session and streams turn/tool-execution events (agent.session.turn.completed,turn.failed,turn.cancelled,session.failed,agent.session.idle, etc.). This is the generation-initiating call — analogous toresponses.create/chat.completions.createfor this API family, but the agent runs (and can use hosted tools, including a newly-added "computer use" tool per v0.97.0) server-side across multiple turns.client.beta.agents.sessions.delete(session_id)— session teardown (lifecycle management, not itself generative, included only for context).
No Patcher in this repo wraps any of this: lib/braintrust/contrib/openai/patcher.rb defines only ChatPatcher, ResponsesPatcher, and ModerationsPatcher.
What a span should capture
- Input:
agentconfig (model, instructions),environment,inputtask - Metadata: provider (
openai), sessionid,model, environment type - Output: aggregated turn events / final session state
- Metrics: token usage per turn if exposed by the event stream, latency to session completion
Braintrust docs status
supported for TypeScript/Python, not_found for Ruby — https://www.braintrust.dev/docs/integrations/sdk-integrations documents startOpenAIAgentsTrace, updateOpenAIAgentsTrace, failOpenAIAgentsTrace, and an openai.agents.sessions.create span for TypeScript and Python under "OpenAI Agents SDK"/agent framework tracing. https://www.braintrust.dev/docs/integrations/ai-providers/openai's Ruby-specific span table lists only chat.completions.create/stream, responses.create/stream, and moderations.create — no Agents API entry anywhere for Ruby. This is a clear cross-language parity gap, not just an unreleased feature.
Upstream sources
- openai-ruby CHANGELOG: https://raw.githubusercontent.com/openai/openai-ruby/main/CHANGELOG.md (v0.90.0 "add Agents API"; v0.91.0 "add agent session model settings"; v0.96.0 "add Agents credential and session options"; v0.97.0 "add computer use to beta agents")
- Agents API quickstart (Ruby example): https://developers.openai.com/api/docs/guides/agents-api/quickstart
- Agents API overview: https://developers.openai.com/api/docs/guides/agents-api/overview
Braintrust docs sources checked
- https://www.braintrust.dev/docs/integrations/ai-providers/openai
- https://www.braintrust.dev/docs/integrations/sdk-integrations
Local repo files inspected
lib/braintrust/contrib/openai/patcher.rb— definesChatPatcher,ResponsesPatcher,ModerationsPatcher; no agents/session patcherlib/braintrust/contrib/openai/instrumentation/— containschat.rb,responses.rb,moderations.rb,common.rb; noagents.rblib/braintrust/contrib.rb— registers onlyChatPatcher/ResponsesPatcher/ModerationsPatcherfor the OpenAI integration- Grep for
agents,beta.agents,Agents APIacrosslib/braintrust/returns zero relevant matches
- Lenguaje dominante
- Ruby
- Estrellas
- 9
- Forks
- 10
- Merge medio
- 22 h 10 min
- PR fusionados (30 d)
- 6
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de braintrustdata/braintrust-sdk-ruby
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
[BOT ISSUE] OpenAI Chat Completions missing reasoning model and web search metadata parametersAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
ruby
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
Todos los issues de braintrustdata/braintrust-sdk-ruby
Issues similares
-
[bug]: Sticky Streak DisappearedAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Použiť Redis pre ActionCableAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
slovensko-digital/autogram-portal#392 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
voxpupuli/puppet-quadlets#122 · 5 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
TheOdinProject/curriculum#31452 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100