#![warn(missing_docs)]
pub mod action;
pub mod any;
pub mod cache;
pub mod canon;
pub mod codec;
pub mod control;
pub mod effect;
pub mod error;
pub mod event;
pub mod filter;
pub mod fingerprint;
pub mod graph;
pub mod keys;
pub mod message;
pub mod node;
pub mod schema;
pub mod search;
pub mod state;
pub mod step;
pub mod store;
pub mod strategy;
pub mod study;
pub mod summary;
pub mod svg;
pub mod tool;
pub mod tracking;
pub mod util;
pub mod value;
pub mod virtual_value;
pub mod viz;
pub use cache::{CacheKey, CacheStore, CacheTier, EntryMeta, Origin};
pub use control::{LoopCondition, LoopSignal, read_arm_selector, read_loop_signal};
pub use effect::{
Effect, EffectResult, GraphEffectMode, JoinPolicy, LlmRequest, LlmResponse, NodeSpec,
StopReason, SuspendReason, ToolSpec, Usage,
};
pub use error::{Result, SomaError};
pub use event::{Event, MetricRecord, PlanSummary, RunId, StudyId, TrialId};
pub use filter::{Distribution, Filter, FilterKind, FilterMeta, RemoteTarget, StreamMode};
pub use fingerprint::{ArchitectureFingerprint, EdgeRef, pipeline_summary, structural_similarity};
pub use graph::{Edge, EdgeKind, Graph, Node, NodeId};
pub use message::{ContentBlock, Message, Messages, Role};
pub use schema::{DataType, Dimension, Schema};
pub use search::{Scale, SearchDimension, SearchSpace, Searchable};
pub use state::{MemoryStateStore, StateStore};
pub use step::{Step, StepCtx, StepMeta, Transition};
pub use store::{
DataRef, DataStore, LocalDataStore, StorageConfig, StoreMeta, StreamFormat, slice_tensor_rows,
};
pub use strategy::{
ClientSelection, CommunicationProtocol, ExploitStrategy, ExploreStrategy, FederatedAggregation,
GradientAggregation, Partition, TrainingStrategy,
};
pub use study::{
CompositeObjective, Direction, Objective, PruningStrategy, Scalarizer, SearchStrategy, Study,
Trial, TrialState,
};
pub use summary::{
FlagCount, NodeCost, RunConclusion, RunOutcome, RunSummary, TrialSummary, human_duration,
};
pub use tracking::{
EventEnvelope, EventSink, GitInfo, GraphSummaryInfo, RUN_SCHEMA_VERSION, RunKind, RunManifest,
RunState, RunStatus, Tracker,
};
pub use value::Value;
pub use virtual_value::{ValueStatus, VirtualValue};
pub use viz::{GraphOverlay, NodeOverlay, NodeStatus};
pub use somatize_macros::{SomaFilter, SomaStep};