# Rust-Executor (= main ADAM Layer Runtime) This Rust crate; provides a lib with exposed functions for 'init' & 'run' of an AD4M Agent and also exposes a bin which will by default `run` an AD4M Agent. This AD4M implementation includes: - a [Holochain](https://github.com/holochain/holochain) conductor/agent, [included as a library](https://github.com/coasys/ad4m/blob/dev/rust-executor/src/holochain_service/mod.rs) dependency into this crate - key storage for the users agent keys, build around DID - a warp based GraphQL server, conforming to the ADAM Layer spec - a [Deno](https://github.com/denoland/deno) runtime that runs the [AD4M Languages](https://github.com/coasys/ad4m/blob/dev/core/src/language/Language.ts) as well as some JS based remainders of the legacy executor implementation the core [`executor`](https://github.com/coasys/ad4m/tree/dev/executor), this happens inside [`js_core`](https://github.com/coasys/ad4m/blob/dev/rust-executor/src/js_core/mod.rs) - [Scryer Prolog](https://github.com/mthom/scryer-prolog/) for Social DNA queries of Perspectives (https://github.com/coasys/ad4m/blob/dev/rust-executor/src/prolog_service/mod.rs) - SQLite database for storing Perspective data