# AshDyan v0.1.0 - Table of Contents

## Pages

- [AshDyan](readme.md)
- [Changelog](changelog.md)

- Guides
  - [Usage Guide](usage.md)
  - [Design &amp; Architecture](design.md)

## Modules

- [AshDyan.Adapters.GenApiBridge](AshDyan.Adapters.GenApiBridge.md): A small MFA-based bridge for exposing AshDyan through `ash_phoenix_gen_api`.
- [AshDyan.Adapters.PhoenixChannel](AshDyan.Adapters.PhoenixChannel.md): A thin Phoenix Channel adapter for AshDyan.
- [AshDyan.DataLayer](AshDyan.DataLayer.md): Behaviour describing what analysis capabilities a given Ash data layer supports.
- [AshDyan.DataLayer.Default](AshDyan.DataLayer.Default.md): Default capability set for unknown data layers.
- [AshDyan.DataLayer.Postgres](AshDyan.DataLayer.Postgres.md): Capability set for the `AshPostgres` data layer.
- [AshDyan.DataLayer.Simple](AshDyan.DataLayer.Simple.md): Capability set for the in-memory `Ash.DataLayer.Simple` (ETS) data layer.
- [AshDyan.Dsl.AnalyzableField](AshDyan.Dsl.AnalyzableField.md): Struct describing a single `analyzable_field` declared in the `dyan` DSL section.
- [AshDyan.Dsl.Domain.AnalyzableResource](AshDyan.Dsl.Domain.AnalyzableResource.md): Struct describing a single `analyzable_resource` declared in the `dyan` DSL
section of a Domain.
- [AshDyan.Dsl.Domain.Verifiers.ValidateAnalyzableResources](AshDyan.Dsl.Domain.Verifiers.ValidateAnalyzableResources.md): Validates the domain-level `dyan` registry after compilation.
- [AshDyan.Dsl.Transformers.SetDefaults](AshDyan.Dsl.Transformers.SetDefaults.md): Compile-time transformer that persists a normalized view of the `dyan`
configuration onto the resource for fast runtime access.
- [AshDyan.Dsl.Verifiers.ValidateAnalyzableFields](AshDyan.Dsl.Verifiers.ValidateAnalyzableFields.md): Validates the `dyan` DSL configuration after compilation.
- [AshDyan.Engine.TimeBucket](AshDyan.Engine.TimeBucket.md): Helpers for time-bucket analysis.

- Core
  - [AshDyan](AshDyan.md): AshDyan — runtime-driven dynamic analysis for any Ash resource.
  - [AshDyan.Info](AshDyan.Info.md): Introspection helpers for the `dyan` DSL configuration of a resource.
  - [AshDyan.Request](AshDyan.Request.md): The runtime request spec for a dynamic analysis.
  - [AshDyan.Result](AshDyan.Result.md): The chart-ready output shape returned by `AshDyan.run/1`.

- DSL &amp; Introspection
  - [AshDyan.Domain](AshDyan.Domain.md): The `AshDyan` Spark DSL extension for domains.
  - [AshDyan.Domain.Info](AshDyan.Domain.Info.md): Introspection helpers for the domain-level `dyan` registry.

- Engine
  - [AshDyan.Engine](AshDyan.Engine.md): Translates a validated `AshDyan.Request` into an `Ash.Query`, runs it through
the resource's normal read action (so Ash policies apply), and aggregates the
result in memory into a chart-ready shape.
  - [AshDyan.Engine.Formatter](AshDyan.Engine.Formatter.md): Aggregates raw Ash records (returned by the read action) in memory into the
stable `labels`/`series` output shape.

- Charts
  - [AshDyan.Charts](AshDyan.Charts.md): Turn an `AshDyan.Result` into chart-library-ready shapes.

- Adapters
  - [AshDyan.Adapters.PhoenixController](AshDyan.Adapters.PhoenixController.md): A thin Phoenix controller adapter for AshDyan.

- Error Handling
  - [AshDyan.Error](AshDyan.Error.md): Error type raised/returned by AshDyan.

