# `LLMProxy.Stream.Event`
[🔗](https://github.com/elixir-vibe/llm_proxy/blob/v0.3.1/lib/llm_proxy/stream/event.ex#L1)

Server-sent stream event with protocol wire-event constructors.

# `kind`

```elixir
@type kind() ::
  :start
  | :content
  | :reasoning
  | :tool_call
  | :usage
  | :finish
  | :error
  | :metadata
```

# `t`

```elixir
@type t() :: %LLMProxy.Stream.Event{
  data: map() | String.t(),
  event: String.t() | nil,
  kind: kind(),
  usage: LLMProxy.Usage.t() | nil
}
```

# `attach_usage`

```elixir
@spec attach_usage(t(), LLMProxy.Usage.t() | nil) :: t()
```

# `from_openai_map`

```elixir
@spec from_openai_map(map()) :: t()
```

# `from_openai_sse`

```elixir
@spec from_openai_sse(%{optional(:data) =&gt; term()}) :: t() | nil
```

# `new`

```elixir
@spec new(
  map() | String.t(),
  keyword()
) :: t()
```

# `openai_chat_content_delta`

```elixir
@spec openai_chat_content_delta(String.t(), String.t()) :: t()
```

# `openai_chat_delta`

```elixir
@spec openai_chat_delta(String.t(), map(), atom() | nil, map() | nil) :: t()
```

# `openai_chat_terminal`

```elixir
@spec openai_chat_terminal(String.t(), atom() | nil, map() | nil) :: t()
```

# `openai_chat_tool_call_arguments_delta`

```elixir
@spec openai_chat_tool_call_arguments_delta(non_neg_integer(), String.t(), String.t()) ::
  t()
```

# `openai_chat_tool_call_delta`

```elixir
@spec openai_chat_tool_call_delta(
  non_neg_integer(),
  String.t(),
  String.t(),
  map(),
  String.t()
) :: t()
```

# `output_delta?`

```elixir
@spec output_delta?(t()) :: boolean()
```

# `responses_function_call_added`

```elixir
@spec responses_function_call_added(non_neg_integer(), String.t(), String.t(), map()) ::
  t()
```

# `responses_output_text_delta`

```elixir
@spec responses_output_text_delta(String.t()) :: t()
```

# `responses_reasoning_delta`

```elixir
@spec responses_reasoning_delta(String.t()) :: t()
```

# `responses_terminal`

```elixir
@spec responses_terminal(atom() | nil, String.t(), map()) :: t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
