Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#224 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
ruby

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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
主要言語
Ruby
スター
9
フォーク
11
平均マージ
3日 43分
マージ済み PR(30日)
9

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

braintrustdata/braintrust-sdk-ruby のほかの issue

braintrustdata/braintrust-sdk-ruby の issue をすべて見る

似ている issue

Ruby の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。