Skip to main content

axum_apcore/
lib.rs

1// axum-apcore — Axum integration for the apcore AI-Perceivable Core ecosystem.
2//
3// Exposes Axum routes as apcore modules via automatic scanning,
4// with full execution, context mapping, and MCP serving support.
5
6#![allow(clippy::result_large_err)]
7
8pub mod client;
9pub mod config;
10pub mod context;
11pub mod engine;
12pub mod errors;
13pub mod output;
14pub mod scanner;
15
16#[cfg(feature = "cli")]
17pub mod cli;
18
19// Re-export primary types at crate root for convenience.
20pub use client::AxumApcore;
21pub use config::ApcoreSettings;
22pub use context::{ApContext, AxumContextFactory, RequestIdentity};
23pub use engine::extensions::{AxumDiscoverer, AxumModuleValidator};
24pub use engine::registry::{get_executor, get_registry};
25pub use engine::tasks::{TaskInfo, TaskManager};
26pub use output::AxumRegistryWriter;
27pub use scanner::native::NativeAxumScanner;
28pub use scanner::{get_scanner, AxumScanner};
29
30#[cfg(feature = "openapi")]
31pub use scanner::openapi::OpenAPIScanner;
32
33// Re-export apcore core types for convenience.
34pub use apcore::cancel::CancelToken;
35pub use apcore::module::{ModuleAnnotations, ModuleExample};
36pub use apcore::{
37    APCore, AlwaysDenyHandler, ApCoreEvent, ApprovalHandler, AutoApproveHandler, Config, Context,
38    ErrorCode, EventEmitter, Executor, Identity, Module, ModuleError, Registry, SamplingStrategy,
39    TracingMiddleware, ACL,
40};
41
42// Re-export toolkit types used in the public API.
43pub use apcore_toolkit::ScannedModule;