Skip to main content

atomr_agents/
lib.rs

1//! atomr-agents — composable agentic framework on top of atomr.
2//!
3//! This umbrella crate re-exports each subsystem behind a feature
4//! flag, mirroring the convention used by the `atomr` umbrella.
5
6pub use atomr_agents_callable as callable;
7pub use atomr_agents_context as context;
8pub use atomr_agents_core as core;
9pub use atomr_agents_observability as observability;
10pub use atomr_agents_strategy as strategy;
11
12#[cfg(feature = "agent")]
13pub use atomr_agents_agent as agent;
14#[cfg(feature = "embed")]
15pub use atomr_agents_embed as embed;
16#[cfg(feature = "eval")]
17pub use atomr_agents_eval as eval;
18#[cfg(feature = "harness")]
19pub use atomr_agents_harness as harness;
20#[cfg(feature = "instruction")]
21pub use atomr_agents_instruction as instruction;
22#[cfg(feature = "memory")]
23pub use atomr_agents_memory as memory;
24#[cfg(feature = "org")]
25pub use atomr_agents_org as org;
26#[cfg(feature = "persona")]
27pub use atomr_agents_persona as persona;
28#[cfg(feature = "registry")]
29pub use atomr_agents_registry as registry;
30#[cfg(feature = "skill")]
31pub use atomr_agents_skill as skill;
32#[cfg(feature = "testkit")]
33pub use atomr_agents_testkit as testkit;
34#[cfg(feature = "tool")]
35pub use atomr_agents_tool as tool;
36#[cfg(feature = "workflow")]
37pub use atomr_agents_workflow as workflow;
38
39/// Speech-to-text capability. Pulls in the core trait + types
40/// (`atomr_agents_stt_core`), the audio I/O helpers
41/// (`atomr_agents_stt_audio`), the tool/skill adapters
42/// (`atomr_agents_stt_tool`), and any backends / voice-session
43/// modules enabled via `stt-{openai,deepgram,assemblyai,whisper,
44/// diarize,voice,mic}` features.
45#[cfg(feature = "stt")]
46pub mod stt {
47    pub use atomr_agents_stt_audio as audio;
48    pub use atomr_agents_stt_core::*;
49    pub use atomr_agents_stt_tool as tool;
50
51    #[cfg(feature = "stt-openai")]
52    pub use atomr_agents_stt_runtime_openai as openai;
53    #[cfg(feature = "stt-deepgram")]
54    pub use atomr_agents_stt_runtime_deepgram as deepgram;
55    #[cfg(feature = "stt-assemblyai")]
56    pub use atomr_agents_stt_runtime_assemblyai as assemblyai;
57    #[cfg(feature = "stt-whisper")]
58    pub use atomr_agents_stt_runtime_whisper as whisper;
59    #[cfg(feature = "stt-diarize")]
60    pub use atomr_agents_stt_diarize_sherpa as diarize;
61    #[cfg(feature = "stt-voice")]
62    pub use atomr_agents_stt_voice as voice;
63}
64
65/// Text-to-speech capability. Mirrors the STT module: pulls in the
66/// core trait + types (`atomr_agents_tts_core`), the audio output
67/// helpers (`atomr_agents_tts_audio`), the tool/skill adapters
68/// (`atomr_agents_tts_tool`), and any backends enabled via
69/// `tts-{openai,elevenlabs,openai-realtime,gemini-live,piper,
70/// kokoro,moss,xtts,voice,speaker}` features.
71#[cfg(feature = "tts")]
72pub mod tts {
73    pub use atomr_agents_tts_audio as audio;
74    pub use atomr_agents_tts_core::*;
75    pub use atomr_agents_tts_tool as tool;
76
77    #[cfg(feature = "tts-openai")]
78    pub use atomr_agents_tts_runtime_openai as openai;
79    #[cfg(feature = "tts-elevenlabs")]
80    pub use atomr_agents_tts_runtime_elevenlabs as elevenlabs;
81    #[cfg(feature = "tts-openai-realtime")]
82    pub use atomr_agents_tts_runtime_openai_realtime as openai_realtime;
83    #[cfg(feature = "tts-gemini-live")]
84    pub use atomr_agents_tts_runtime_gemini_live as gemini_live;
85    #[cfg(feature = "tts-piper")]
86    pub use atomr_agents_tts_runtime_piper as piper;
87    #[cfg(feature = "tts-kokoro")]
88    pub use atomr_agents_tts_runtime_kokoro as kokoro;
89    #[cfg(feature = "tts-moss")]
90    pub use atomr_agents_tts_runtime_moss as moss;
91    #[cfg(feature = "tts-xtts")]
92    pub use atomr_agents_tts_runtime_xtts as xtts;
93    #[cfg(feature = "tts-voice")]
94    pub use atomr_agents_tts_voice as voice;
95}