aether_core/
lib.rs

1//! # Aether Core
2//!
3//! Core library for AI-powered dynamic code injection framework.
4//!
5//! This crate provides the foundational components for template management,
6//! code injection, and transformation logic.
7//!
8//! ## Features
9//!
10//! - Template parsing and management
11//! - Slot-based code injection
12//! - Dynamic code transformation
13//! - Extensible provider trait for AI backends
14//!
15//! ## Example
16//!
17//! ```rust,ignore
18//! use aether_core::{Template, Slot, InjectionContext};
19//!
20//! let template = Template::new("{{AI:generate_button}}")
21//!     .with_slot("generate_button", "Create a submit button");
22//!
23//! let result = template.render_with_ai(&provider).await?;
24//! ```
25
26pub mod error;
27pub mod template;
28pub mod slot;
29pub mod provider;
30pub mod context;
31pub mod engine;
32pub mod validation;
33pub mod cache;
34pub mod toon;
35pub mod runtime;
36pub mod observer;
37pub mod shield;
38pub mod config;
39pub mod script;
40
41pub use error::{AetherError, Result};
42pub use template::Template;
43pub use slot::{Slot, SlotKind, SlotConstraints};
44pub use provider::{AiProvider, ProviderConfig};
45pub use context::InjectionContext;
46pub use engine::{InjectionEngine, RenderSession};
47pub use script::{AetherScript, AetherAgenticRuntime};
48pub use runtime::AetherRuntime;
49pub use config::AetherConfig;
50pub use cache::{Cache, ExactCache, SemanticCache, TieredCache};
51pub use observer::{EngineObserver, ObserverPtr};
52
53/// Re-export commonly used types
54pub mod prelude {
55    pub use crate::{
56        Template, Slot, SlotKind, SlotConstraints,
57        AiProvider, ProviderConfig,
58        InjectionContext, InjectionEngine, RenderSession,
59        AetherScript, AetherAgenticRuntime,
60        AetherError, Result,
61    };
62}