Search
Search docs, blog posts, and ecosystem packages with citations.
Enter a query to see grounded citations.
Compile-time bridge from Ash Framework resources to Jido Action modules
Open source on GitHub →defp deps do
[
{:ash_jido, "~> 0.1.0"}
]
end
Core ecosystem relationship
Core ecosystem relationship
AshJido is a compile-time bridge between the Ash Framework and the Jido agent ecosystem. It adds a declarative jido DSL section to Ash resources that automatically generates Jido.Action modules from Ash actions, enabling any Ash resource to be called as an AI tool while preserving Ash’s authorization policies, data layers, and type safety.
The library is intentionally thin (~400 LOC) and unopinionated — it does not auto-discover domains, inject pagination logic, or bypass Ash authorization. Instead, it provides a clean, zero-boilerplate way to expose existing Ash CRUD and custom actions to Jido agents, letting developers choose exactly which actions to surface and how they should be named and tagged for AI discovery.
AshJido makes any Ash Framework resource instantly usable by Jido agents. Ash is the dominant declarative data/resource framework in Elixir — by bridging it to Jido, developers can turn their existing Ash resources into AI-callable actions with a few lines of DSL configuration rather than writing manual adapter code.
The entry point added as an extension to any Ash resource. Registers the jido DSL section with action (expose a single named Ash action) and all_actions (bulk-expose with filters) entity types.
A Spark DSL transformer that runs after Ash finalizes its DSL, expanding all_actions declarations and generating Jido.Action modules under a Resource.Jido.* namespace.
Converts Ash attribute types into NimbleOptions schema types for proper typed parameter validation in generated Jido actions.
Handles converting Ash operation results into Jido-friendly formats, with configurable struct-to-map conversion via the output_map? option.
Converts Ash error types into Jido’s Splode-based error system with field-level detail extraction.