Backplane.AiProtocol.OpenAIResponsesObserver (backplane_ai_protocol v0.7.0)

Copy Markdown

Bounded native observer for OpenAI Responses JSON and SSE response bytes.

Observation never authorizes or submits a request and never rewrites native payloads.

Summary

Types

t()

@type t() :: %Backplane.AiProtocol.OpenAIResponsesObserver{
  bytes_seen: term(),
  cached_tokens: term(),
  diagnostics: term(),
  diagnostics_truncated: term(),
  error_code: term(),
  error_type: term(),
  events_seen: term(),
  finish_reason: term(),
  framer: term(),
  input_tokens: term(),
  input_truncated: term(),
  max_diagnostics: term(),
  max_total_bytes: term(),
  native_total: term(),
  observation_status: term(),
  output_tokens: term(),
  protocol_terminal: term(),
  provider_request_id: term(),
  reasoning_tokens: term(),
  terminal_count: term(),
  tool_calls: term(),
  usage_status: term()
}

Functions

facts(state)

@spec facts(t()) :: map()

feed(state, chunk)

@spec feed(t(), term()) :: t()

finish(state, reason)

@spec finish(t(), atom()) :: t()

new(opts \\ [])

@spec new(keyword()) :: t()

observe_response(status, body, opts \\ [])

@spec observe_response(non_neg_integer(), binary(), keyword()) :: map()