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

[bot] OpenAI Live API (`client.live`) not instrumented

Abierto
#224 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 files under lib/braintrust/contrib/openai/instrumentation/, especially the Chat and Responses implementations. Compare their instrumentation approach with the Live API create and sessions.fork entry points described here, then check lib/braintrust/contrib.rb for registration. Done means the actionable Live session calls are instrumented with the listed input, metadata, and safe output fields, with session-stream handling scoped as appropriate.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

ruby

Summary

The official openai Ruby gem added a top-level Live API (client.live) in v0.89.0 (2026-09-10, "api: Add Live API"). This is OpenAI's GPT-Live real-time, full-duplex voice-conversation execution surface (spoken input/output, with server-side or client-delegated backend reasoning) — a distinct generative execution path from Chat Completions, Responses, and the already-tracked Realtime API (#206). No Patcher in this repo wraps any part of it.

What is missing

Per the official Ruby API reference (developers.openai.com/api/reference/ruby/resources/live):

  • client.live.create(session:, transport:, **kwargs) → POST /live/sessions — creates a Live session (returns session, transport, e.g. an SDP answer for WebRTC). This is the generation-session-initiating call.
  • client.live.sessions.fork(session_id, **kwargs) → POST /live/sessions/{session_id}/fork — forks a live session into a new one, returning a new session/transport pair.
  • client.live.sessions.accept/hangup/refer/reject(session_id, **kwargs) → SIP-style session lifecycle control.
  • client.live.sessions.download_recording(session_id) → retrieves the session's recorded audio.
  • Session interaction itself happens over ClientEvent/ServerEvent streams (Primary/Sideband/Fork WebSocket connections) once a session is created — analogous to the streaming event model already instrumented for Chat Completions/Responses in this repo, but for a new resource family.
What a span should capture
  • Input: session config (model, audio, client delegation settings) passed to live.create/sessions.fork
  • Metadata: provider (openai), session id, model, expires_at, transport type
  • Output: resolved session/transport response (excluding any secret/credential values)
  • Given the live/bidirectional nature of the session, live.create (and sessions.fork) are the actionable, well-defined instrumentation points — matching the pattern already proposed for other session-initiating calls in this repo (e.g. #206 for the Realtime API, #223 for the Agents API)

Braintrust docs status

not_found — Neither https://www.braintrust.dev/docs/integrations/ai-providers/openai nor https://www.braintrust.dev/docs/integrations/sdk-integrations mention "Live API," "GPT-Live," or client.live for any language, including Ruby.

Upstream sources

Braintrust docs sources checked

Local repo files inspected

  • lib/braintrust/contrib/openai/patcher.rb — defines ChatPatcher, ResponsesPatcher, ModerationsPatcher; no live/session patcher
  • lib/braintrust/contrib/openai/instrumentation/ — contains chat.rb, responses.rb, moderations.rb, common.rb; no live.rb
  • lib/braintrust/contrib.rb — registers only the three existing OpenAI patchers
  • Grep for live, client.live, GPT-Live across lib/braintrust/ returns zero relevant matches
Lenguaje dominante
Ruby
Estrellas
9
Forks
10
Merge medio
3 d 43 min
PR fusionados (30 d)
9

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.