# `Gralkor.Lens`
[🔗](https://github.com/elimydlarz/jido_gralkor/blob/main/lib/gralkor/lens.ex#L1)

Application-owned definition of a memory Lens.

A Lens combines a unique name, a registered `Gralkor.Destination`, and a
module implementing `Gralkor.Lens.Ingestion`. The Destination supplies the
address and extraction ontology. Several Lenses and Reflections may use the
same Destination.

Consumers normally register Lens definitions in `:jido_gralkor, :lenses`
and resolve them through `Gralkor.Client`, rather than constructing this
struct directly.

# `t`

```elixir
@type t() :: %Gralkor.Lens{
  destination: Gralkor.Destination.t(),
  ingestion: module(),
  name: String.t()
}
```

---

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