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-diarize")]
52    pub use atomr_agents_stt_diarize_sherpa as diarize;
53    #[cfg(feature = "stt-harness")]
54    pub use atomr_agents_stt_harness as harness;
55    #[cfg(feature = "stt-assemblyai")]
56    pub use atomr_agents_stt_runtime_assemblyai as assemblyai;
57    #[cfg(feature = "stt-deepgram")]
58    pub use atomr_agents_stt_runtime_deepgram as deepgram;
59    #[cfg(feature = "stt-openai")]
60    pub use atomr_agents_stt_runtime_openai as openai;
61    #[cfg(feature = "stt-whisper")]
62    pub use atomr_agents_stt_runtime_whisper as whisper;
63    #[cfg(feature = "stt-voice")]
64    pub use atomr_agents_stt_voice as voice;
65}
66
67/// Text-to-speech capability. Mirrors the STT module: pulls in the
68/// core trait + types (`atomr_agents_tts_core`), the audio output
69/// helpers (`atomr_agents_tts_audio`), the tool/skill adapters
70/// (`atomr_agents_tts_tool`), and any backends enabled via
71/// `tts-{openai,elevenlabs,openai-realtime,gemini-live,piper,
72/// kokoro,moss,xtts,voice,speaker}` features.
73#[cfg(feature = "tts")]
74pub mod tts {
75    pub use atomr_agents_tts_audio as audio;
76    pub use atomr_agents_tts_core::*;
77    pub use atomr_agents_tts_tool as tool;
78
79    #[cfg(feature = "tts-elevenlabs")]
80    pub use atomr_agents_tts_runtime_elevenlabs as elevenlabs;
81    #[cfg(feature = "tts-gemini-live")]
82    pub use atomr_agents_tts_runtime_gemini_live as gemini_live;
83    #[cfg(feature = "tts-kokoro")]
84    pub use atomr_agents_tts_runtime_kokoro as kokoro;
85    #[cfg(feature = "tts-moss")]
86    pub use atomr_agents_tts_runtime_moss as moss;
87    #[cfg(feature = "tts-openai")]
88    pub use atomr_agents_tts_runtime_openai as openai;
89    #[cfg(feature = "tts-openai-realtime")]
90    pub use atomr_agents_tts_runtime_openai_realtime as openai_realtime;
91    #[cfg(feature = "tts-piper")]
92    pub use atomr_agents_tts_runtime_piper as piper;
93    #[cfg(feature = "tts-xtts")]
94    pub use atomr_agents_tts_runtime_xtts as xtts;
95    #[cfg(feature = "tts-voice")]
96    pub use atomr_agents_tts_voice as voice;
97}