Gemini.GovernedAuthority (GeminiEx v0.14.0)

Copy Markdown View Source

Authority-materialized Gemini inputs for governed execution.

Standalone GeminiEx usage keeps using its normal env, app config, ADC, native Google credential discovery, and request/session overrides. Governed usage passes this value after an external authority has selected the credential, lease, target, redaction policy, base URL, and materialized credential data for one bounded effect.

Summary

Types

header_map()

@type header_map() :: %{optional(String.t()) => String.t()}

query_params()

@type query_params() :: [{String.t(), String.t()}]

t()

@type t() :: %Gemini.GovernedAuthority{
  base_url: String.t(),
  credential_headers: header_map(),
  credential_lease_ref: String.t(),
  credential_query_params: query_params(),
  credential_ref: String.t(),
  endpoint_ref: String.t(),
  headers: header_map(),
  model_account_ref: String.t(),
  operation_policy_ref: String.t(),
  provider_account_ref: String.t(),
  provider_ref: String.t(),
  redaction_ref: String.t() | nil,
  target_ref: String.t(),
  websocket_path: String.t() | nil
}

Functions

credential_materialized?(authority)

@spec credential_materialized?(t()) :: boolean()

headers(authority)

@spec headers(t()) :: [{String.t(), String.t()}]

new!(authority)

@spec new!(t() | map() | keyword()) :: t()

refs(authority)

@spec refs(t()) :: map()