pub use chrono::{DateTime, Utc}; pub use mtp::codec::{CommunicationValue, DataValue}; pub use mtp::type_map::{CommunicationType, DataType}; pub use uuid::Uuid; pub mod agents; pub mod ai_response; pub mod conclusion; pub mod coral; pub mod enums; pub mod errors; pub mod krill; pub mod mutations; pub mod project; pub mod sandbox; pub mod sync; pub mod task; pub mod todo; pub mod tools; pub use agents::{ AgentPolicy, AgentPromptConfig, AgentType, ApprovalMode, PlannedAction, SimulationResult, }; pub use ai_response::{Conversation, Message}; pub use conclusion::{ Artifact, ArtifactType, ConclusionCard, ConclusionMetrics, ConclusionTrigger, }; pub use coral::{Coral, CoralId}; pub use enums::*; pub use errors::{ShoalError, ValidationError}; pub use krill::{KrillConfig, KrillDescriptor, KrillId, PodProtocolVersion}; pub use mutations::FileMutation; pub use project::{Project, ProjectFile, ProjectId, ProjectSettings}; pub use task::{Task, TaskResult}; pub use todo::{Dependency, ToDo}; pub use tools::{ compute_tools_hash, format_tool_error, format_tool_result, format_tools_json, is_global_tool, is_reef_proxy_tool, parse_tool_call_blocks, parse_tool_call_stream, tool_definitions, tool_ids_for_agent_type, ApprovalRequirement, CompositionStep, ContextVisibility, ExecutionContext, MarketplaceSearchResults, ParsedToolCall, TestAction, ToolComposition, ToolDefinition, ToolDependency, ToolDocumentation, ToolExample, ToolExecutor, ToolListing, ToolParser, ToolPlugin, ToolRegistry, ToolState, ToolTest, ToolTestResult, ToolTestSuite, ToolTestSuiteResult, ToolVersion, GLOBAL_TOOLS, REEF_PROXY_TOOLS, }; #[cfg(test)] mod tests { use super::*; #[test] fn typemap_contains_expected_types() { let tm = mtp::type_map::TypeMap::latest(); assert!( tm.data_id_enum(DataType::ProjectId).is_some(), "TypeMap missing ProjectId" ); assert!( tm.comm_id_enum(CommunicationType::AuthRequest).is_some(), "TypeMap missing AuthRequest" ); assert!( tm.comm_id_enum(CommunicationType::PasswordAuthRequest).is_some(), "TypeMap missing PasswordAuthRequest" ); assert!( tm.data_id_enum(DataType::DockId).is_some(), "TypeMap missing DockId" ); } }