Backplane.AiProtocol.GoogleGenerateContentObserver (backplane_ai_protocol v1.10.7)

Copy Markdown

Bounded observer for native Google GenerateContent JSON and SSE responses.

The observer extracts sanitized facts only. It never rewrites or validates the response being forwarded by a transport.

Summary

Types

t()

@type t() :: %Backplane.AiProtocol.GoogleGenerateContentObserver{
  block_reason: term(),
  blocked: term(),
  bytes_seen: term(),
  cached_tokens: term(),
  candidates_seen: term(),
  content_finished: term(),
  content_seen: term(),
  count_tokens_total: term(),
  diagnostics: term(),
  diagnostics_truncated: term(),
  error_code: term(),
  error_type: term(),
  events_seen: term(),
  finish_reasons: term(),
  framer: term(),
  input_tokens: term(),
  input_truncated: term(),
  max_diagnostics: term(),
  max_events: term(),
  max_parse_time_us: term(),
  max_total_bytes: term(),
  native_total: term(),
  native_usage: term(),
  observation_status: term(),
  operation: term(),
  output_tokens: term(),
  parse_budget_exhausted: term(),
  parse_time_us: term(),
  partial: term(),
  protocol_terminal: term(),
  provider_request_id: term(),
  reasoning_tokens: term(),
  transport_terminal: 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()