# `MingaAgent.TranscriptEntry`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_agent/transcript_entry.ex#L1)

Couples one transcript message to its stable identity.

A message can change while it is streaming or while tool state is updated, but
its identity never changes. Keeping both values in this struct makes it
impossible to reorder content independently from its ID.

# `t`

```elixir
@type t() :: %MingaAgent.TranscriptEntry{
  id: pos_integer(),
  message: MingaAgent.Message.t()
}
```

# `new`

```elixir
@spec new(pos_integer(), MingaAgent.Message.t()) :: t()
```

Creates an identified transcript entry.

# `replace`

```elixir
@spec replace(t(), MingaAgent.Message.t()) :: t()
```

Replaces an entry's content while preserving its stable identity.

---

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