Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#224 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
ruby

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
Lingua principale
Ruby
Stelle
9
Fork
10
Merge medio
3g 43m
PR unite (30g)
9

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di braintrustdata/braintrust-sdk-ruby

Tutte le issue di braintrustdata/braintrust-sdk-ruby

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.