# `Nous.Spill.Locator`
[🔗](https://github.com/nyo16/nous/blob/v0.17.1/lib/nous/spill.ex#L1)

An opaque handle to spilled content.

Callers MUST NOT interpret `:id`. It is the backend's own addressing scheme —
a filesystem path today, an S3 key or a row id tomorrow — and the only
supported ways to use it are `Nous.Spill.fetch/1` and
`c:Nous.Spill.retrieval_hint/1`. Rendering a locator into a prompt as though a
`file_read` tool could open it is exactly the assumption this struct exists to
prevent.

# `t`

```elixir
@type t() :: %Nous.Spill.Locator{
  bytes: non_neg_integer(),
  id: String.t(),
  name: String.t(),
  store: module()
}
```

---

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