#![deny(missing_docs)]
pub use brainwires_core;
#[cfg(feature = "dream")]
pub mod dream;
#[cfg(feature = "knowledge")]
pub mod knowledge;
pub mod prompting;
#[cfg(feature = "rag")]
pub mod rag;
#[cfg(feature = "spectral")]
pub mod spectral;
#[cfg(feature = "code-analysis")]
pub mod code_analysis;
#[cfg(feature = "knowledge")]
pub use knowledge::brain_client::BrainClient;
#[cfg(feature = "knowledge")]
pub use knowledge::config::{DispositionTrait, MemoryBankConfig};
#[cfg(feature = "knowledge")]
pub use knowledge::entity::{
ContradictionEvent, ContradictionKind, Entity, EntityStore, EntityStoreStats, EntityType,
ExtractionResult, Relationship,
};
#[cfg(feature = "knowledge")]
pub use knowledge::relationship_graph::{
EdgeType, EntityContext, GraphEdge, GraphNode, RelationshipGraph,
};
#[cfg(feature = "knowledge")]
pub use knowledge::thought::{Thought, ThoughtCategory, ThoughtSource};
#[cfg(feature = "knowledge")]
pub use knowledge::types::{
CaptureThoughtRequest, CaptureThoughtResponse, DeleteThoughtRequest, DeleteThoughtResponse,
GetThoughtRequest, GetThoughtResponse, ListRecentRequest, ListRecentResponse,
MemoryStatsRequest, MemoryStatsResponse, SearchKnowledgeRequest, SearchKnowledgeResponse,
SearchMemoryRequest, SearchMemoryResponse,
};
#[cfg(feature = "prompting")]
pub use prompting::clustering::{TaskCluster, TaskClusterManager, cosine_similarity};
#[cfg(all(feature = "knowledge", feature = "prompting"))]
pub use prompting::generator::{GeneratedPrompt, PromptGenerator};
#[cfg(feature = "knowledge")]
pub use prompting::learning::{ClusterSummary, PromptingLearningCoordinator, TechniqueStats};
#[cfg(feature = "knowledge")]
pub use prompting::library::TechniqueLibrary;
pub use prompting::seal::SealProcessingResult;
#[cfg(feature = "prompting-storage")]
pub use prompting::storage::{ClusterStorage, StorageStats};
pub use prompting::techniques::{
ComplexityLevel, PromptingTechnique, TaskCharacteristic, TechniqueCategory, TechniqueMetadata,
};
#[cfg(all(feature = "knowledge", feature = "prompting"))]
pub use prompting::temperature::{TemperatureOptimizer, TemperaturePerformance};
#[cfg(feature = "rag")]
pub use rag::client::RagClient;
#[cfg(feature = "rag")]
pub use rag::config::Config;
#[cfg(feature = "rag")]
pub use rag::error::RagError;
#[cfg(feature = "rag")]
pub use rag::types::{
AdvancedSearchRequest, ClearRequest, ClearResponse, EnsembleRequest, EnsembleResponse,
FindDefinitionRequest, FindReferencesRequest, GetCallGraphRequest, GitSearchResult,
IndexRequest, IndexResponse, IndexingMode, LanguageStats, QueryRequest, QueryResponse,
SearchGitHistoryRequest, SearchGitHistoryResponse, SearchStrategy, StatisticsRequest,
StatisticsResponse,
};
#[cfg(all(feature = "rag", feature = "code-analysis"))]
pub use rag::types::{FindDefinitionResponse, FindReferencesResponse, GetCallGraphResponse};
#[cfg(feature = "spectral")]
pub use spectral::{
CrossEncoderConfig, CrossEncoderReranker, DiversityReranker, RerankerKind, SpectralReranker,
SpectralSelectConfig,
};
#[cfg(feature = "code-analysis")]
pub use code_analysis::types::{
CallEdge, CallGraphNode, Definition, Reference, ReferenceKind, SymbolId, SymbolKind, Visibility,
};
pub mod prelude {
#[cfg(feature = "knowledge")]
pub use super::knowledge::brain_client::BrainClient;
#[cfg(feature = "knowledge")]
pub use super::knowledge::entity::{Entity, EntityStore, EntityType};
#[cfg(feature = "knowledge")]
pub use super::knowledge::thought::{Thought, ThoughtCategory};
#[cfg(all(feature = "knowledge", feature = "prompting"))]
pub use super::prompting::generator::PromptGenerator;
pub use super::prompting::techniques::{PromptingTechnique, TechniqueCategory};
#[cfg(feature = "rag")]
pub use super::rag::client::RagClient;
#[cfg(feature = "rag")]
pub use super::rag::types::{IndexRequest, QueryRequest};
#[cfg(feature = "spectral")]
pub use super::spectral::SpectralReranker;
}