Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[bot] OpenAI Agents API (`client.beta.agents.sessions`) not instrumented

Abierto
#223 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

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

ruby

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 to responses.create/chat.completions.create for 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: agent config (model, instructions), environment, input task
  • Metadata: provider (openai), session id, 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

Braintrust docs sources checked

Local repo files inspected

  • lib/braintrust/contrib/openai/patcher.rb — defines ChatPatcher, ResponsesPatcher, ModerationsPatcher; no agents/session patcher
  • lib/braintrust/contrib/openai/instrumentation/ — contains chat.rb, responses.rb, moderations.rb, common.rb; no agents.rb
  • lib/braintrust/contrib.rb — registers only ChatPatcher/ResponsesPatcher/ModerationsPatcher for the OpenAI integration
  • Grep for agents, beta.agents, Agents API across lib/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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de braintrustdata/braintrust-sdk-ruby

Todos los issues de braintrustdata/braintrust-sdk-ruby

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.