mod activation;
mod helpers;
mod observer;
mod reflection;
mod scope;
mod snapshot;
mod types;
pub use activation::{
activate_buffered_observations, calculate_dynamic_threshold, merge_activated_observations,
normalize_observation_buffer_boundary, select_activation_boundary,
};
pub use observer::{
build_other_conversation_blocks, combine_observations_for_buffering, compute_pending_tokens,
decide_observer_write_action, evaluate_async_observation_interval,
filter_observer_candidates_by_last_observed_at, infer_deterministic_continuation,
infer_deterministic_observer_response, resolve_continuation_update,
select_observed_message_candidates, select_observer_message_candidates,
should_skip_observer_continuation_hints, should_trigger_observer,
split_pending_and_other_conversation_candidates, synthesize_observer_observations,
};
pub use reflection::{
apply_reflection_response_v2, build_reflection_draft, decide_reflection_enqueue,
merge_buffered_reflection, plan_buffered_reflection_slice, reflector_compression_guidance,
select_reflection_action, should_trigger_reflector, validate_reflection_compression,
};
pub use scope::{build_scope_key, resolve_canonical_thread_ref};
pub use snapshot::{materialize_search_visible_snapshot, render_search_hint};
pub use types::{
ActivationBoundary, ActivationResult, AsyncObservationIntervalState,
BUFFERED_OBSERVATIONS_SEPARATOR, BufferedReflectionSlicePlan, ObserverWriteDecision,
OmObserverMessageCandidate, OmTransformError, ReflectionAction, ReflectionDraft,
ReflectionEnqueueDecision,
};
#[cfg(test)]
mod tests;