# `AshLua.EvalActions.Info`
[🔗](https://github.com/ash-project/ash_lua/blob/v0.1.0/lib/ash_lua/eval_actions/info.ex#L5)

Introspection helpers for the `AshLua.EvalActions` extension.

# `action_entrypoints`

```elixir
@spec action_entrypoints(Ash.Resource.t() | Spark.Dsl.t()) :: [{module(), atom()}]
```

Returns the `{resource, action}` tuples to filter the manifest by — one per
declared `(resource, action)` pair. `:all` expands to every public action on
the resource at the time of expansion.

# `docs_action_name`

```elixir
@spec docs_action_name(Ash.Resource.t() | Spark.Dsl.t()) :: atom()
```

Name of the synthesized docs action. Defaults to `:docs`.

# `eval_action_name`

```elixir
@spec eval_action_name(Ash.Resource.t() | Spark.Dsl.t()) :: atom()
```

Name of the synthesized eval action. Defaults to `:eval`.

# `exposes`

```elixir
@spec exposes(Ash.Resource.t() | Spark.Dsl.t()) :: [AshLua.EvalActions.Expose.t()]
```

Returns the configured `%Expose{}` entries (one per `resource ...` entry).

# `otp_app`

```elixir
@spec otp_app(Ash.Resource.t() | Spark.Dsl.t()) :: atom() | nil
```

OTP app to scan when building the manifest for `:eval` / `:docs`.

Falls back to the resource's domain's `:otp_app` when not explicitly configured.

---

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