1#![allow(rustdoc::broken_intra_doc_links, rustdoc::private_intra_doc_links)]
2#[cfg(feature = "mcp")]
3pub mod mcp;
4
5#[cfg(feature = "skill")]
6pub mod skill;
7
8#[cfg(feature = "memory")]
9pub mod memory;
10
11#[cfg(feature = "memory")]
12pub mod tools;
13
14#[cfg(feature = "cli")]
15pub mod cli;
16
17#[cfg(feature = "focus")]
18pub mod focus;
19
20#[cfg(feature = "multi_agent")]
21pub mod multi_agent;
22
23#[cfg(feature = "compression")]
24pub mod compression;
25
26pub mod guard;
27pub mod prompt;
28pub mod rotation_policy;
29
30mod builder;
31pub mod handle;
32
33#[cfg(feature = "skill")]
34pub use crate::builder::SkillDetailToolFactory;
35#[cfg(feature = "memory")]
36pub use crate::builder::build_memory_system_prompt_with_config;
37pub use crate::builder::{AgentBuilder, build_memory_system_prompt};
38#[cfg(feature = "multi_agent")]
39pub use crate::builder::{
40 MultiAgentToolFactory, build_multi_agent_system_prompt, setup_multi_agent,
41};
42pub use crate::handle::{AgentHandle, SendError};
43#[cfg(feature = "memory")]
44pub use crate::memory::{
45 CLAUDE_COMPATIBLE_TEMPLATE, DEFAULT_INDEX_FILENAME, MEMORY_TYPES, MemoryConfig, MemoryDoc,
46 MemoryFrontmatter, MemoryStore, is_valid_memory_name, now_iso8601, parse_memory_file,
47 parse_memory_str, project_slug, rebuild_index, render_memory_file, validate_memory_name,
48 validate_memory_type,
49};
50pub use crate::prompt::{
51 DynamicToolsFragment, EnvironmentFragment, FragmentContext, PromptFragment, compose_fragments,
52};
53#[cfg(feature = "memory")]
54pub use crate::tools::{
55 MemoryDeleteTool, MemoryListTool, MemoryReadTool, MemoryWriteTool, create_memory_tools,
56};
57
58#[cfg(feature = "skill")]
59pub use skill::{
60 FullDetailPrompter, LazySkillPrompter, Skill, SkillParam, SkillParamType, SkillRegistry,
61 SkillSummary,
62};
63
64#[cfg(feature = "prompt_skill")]
65pub use skill::prompt_skill::PromptSkill;
66
67#[cfg(feature = "yaml_skill")]
68pub use skill::yaml_skill::YamlSkill;
69
70#[cfg(feature = "fuzzing")]
71pub mod fuzz {
72 #[cfg(feature = "mcp")]
73 pub use super::mcp::server::fuzz_exports as mcp_server;
74 #[cfg(feature = "skill")]
75 pub use super::skill::prompt_skill::fuzz_exports as prompt_skill;
76}