1#![deny(missing_docs)]
2pub use brainwires_core;
41
42#[cfg(feature = "dream")]
46pub mod dream;
47
48#[cfg(feature = "knowledge")]
52pub mod knowledge;
53
54pub mod prompting;
58
59#[cfg(feature = "rag")]
63pub mod rag;
64
65#[cfg(feature = "spectral")]
69pub mod spectral;
70
71#[cfg(feature = "code-analysis")]
75pub mod code_analysis;
76
77#[cfg(feature = "knowledge")]
80pub use knowledge::brain_client::BrainClient;
81#[cfg(feature = "knowledge")]
82pub use knowledge::config::{DispositionTrait, MemoryBankConfig};
83#[cfg(feature = "knowledge")]
84pub use knowledge::entity::{
85 ContradictionEvent, ContradictionKind, Entity, EntityStore, EntityStoreStats, EntityType,
86 ExtractionResult, Relationship,
87};
88#[cfg(feature = "knowledge")]
89pub use knowledge::relationship_graph::{
90 EdgeType, EntityContext, GraphEdge, GraphNode, RelationshipGraph,
91};
92#[cfg(feature = "knowledge")]
93pub use knowledge::thought::{Thought, ThoughtCategory, ThoughtSource};
94#[cfg(feature = "knowledge")]
95pub use knowledge::types::{
96 CaptureThoughtRequest, CaptureThoughtResponse, DeleteThoughtRequest, DeleteThoughtResponse,
97 GetThoughtRequest, GetThoughtResponse, ListRecentRequest, ListRecentResponse,
98 MemoryStatsRequest, MemoryStatsResponse, SearchKnowledgeRequest, SearchKnowledgeResponse,
99 SearchMemoryRequest, SearchMemoryResponse,
100};
101
102#[cfg(feature = "prompting")]
105pub use prompting::clustering::{TaskCluster, TaskClusterManager, cosine_similarity};
106#[cfg(all(feature = "knowledge", feature = "prompting"))]
107pub use prompting::generator::{GeneratedPrompt, PromptGenerator};
108#[cfg(feature = "knowledge")]
109pub use prompting::learning::{ClusterSummary, PromptingLearningCoordinator, TechniqueStats};
110#[cfg(feature = "knowledge")]
111pub use prompting::library::TechniqueLibrary;
112pub use prompting::seal::SealProcessingResult;
113#[cfg(feature = "prompting-storage")]
114pub use prompting::storage::{ClusterStorage, StorageStats};
115pub use prompting::techniques::{
116 ComplexityLevel, PromptingTechnique, TaskCharacteristic, TechniqueCategory, TechniqueMetadata,
117};
118#[cfg(all(feature = "knowledge", feature = "prompting"))]
119pub use prompting::temperature::{TemperatureOptimizer, TemperaturePerformance};
120
121#[cfg(feature = "rag")]
124pub use rag::client::RagClient;
125#[cfg(feature = "rag")]
126pub use rag::config::Config;
127#[cfg(feature = "rag")]
128pub use rag::error::RagError;
129#[cfg(feature = "rag")]
130pub use rag::types::{
131 AdvancedSearchRequest, ClearRequest, ClearResponse, EnsembleRequest, EnsembleResponse,
132 FindDefinitionRequest, FindReferencesRequest, GetCallGraphRequest, GitSearchResult,
133 IndexRequest, IndexResponse, IndexingMode, LanguageStats, QueryRequest, QueryResponse,
134 SearchGitHistoryRequest, SearchGitHistoryResponse, SearchStrategy, StatisticsRequest,
135 StatisticsResponse,
136};
137#[cfg(all(feature = "rag", feature = "code-analysis"))]
138pub use rag::types::{FindDefinitionResponse, FindReferencesResponse, GetCallGraphResponse};
139
140#[cfg(feature = "spectral")]
143pub use spectral::{
144 CrossEncoderConfig, CrossEncoderReranker, DiversityReranker, RerankerKind, SpectralReranker,
145 SpectralSelectConfig,
146};
147
148#[cfg(feature = "code-analysis")]
151pub use code_analysis::types::{
152 CallEdge, CallGraphNode, Definition, Reference, ReferenceKind, SymbolId, SymbolKind, Visibility,
153};
154
155pub mod prelude {
157 #[cfg(feature = "knowledge")]
158 pub use super::knowledge::brain_client::BrainClient;
159 #[cfg(feature = "knowledge")]
160 pub use super::knowledge::entity::{Entity, EntityStore, EntityType};
161 #[cfg(feature = "knowledge")]
162 pub use super::knowledge::thought::{Thought, ThoughtCategory};
163
164 #[cfg(all(feature = "knowledge", feature = "prompting"))]
165 pub use super::prompting::generator::PromptGenerator;
166 pub use super::prompting::techniques::{PromptingTechnique, TechniqueCategory};
167
168 #[cfg(feature = "rag")]
169 pub use super::rag::client::RagClient;
170 #[cfg(feature = "rag")]
171 pub use super::rag::types::{IndexRequest, QueryRequest};
172
173 #[cfg(feature = "spectral")]
174 pub use super::spectral::SpectralReranker;
175}