Skip to main content

soothe_client/appkit/
mod.rs

1//! Application kit: DaemonSession, pool, TurnRunner, and helpers.
2
3mod app_key;
4mod attachments;
5mod broadcaster;
6mod chunk_filter;
7mod classifier;
8mod daemon_session;
9mod observability;
10mod pool;
11mod query_gate;
12mod session_store;
13mod thinking_step;
14mod turn_boundary;
15mod turn_runner;
16
17pub use app_key::AppKey;
18pub use attachments::{compact_attachments, compact_image_attachment, CompactImageOptions};
19pub use broadcaster::{SseBroadcaster, SseEvent};
20pub use chunk_filter::should_drop_stream_chunk_early;
21pub use classifier::{
22    ChatEventResult, ChatEventTerminal, ClassifierConfig, ClassifierConfigError, EventClassifier,
23};
24pub use daemon_session::{
25    DaemonSession, DaemonSessionOptions, EarlyDropFn, SendTurnOptions, TurnChunk,
26};
27pub use observability::TurnEventStats;
28pub use pool::{
29    input_message_for_loop, ConnectionPool, ErrPoolExhausted, PoolConfig, PoolStats, PooledConn,
30};
31pub use query_gate::{CancelFn, ErrQueryBusy, QueryGate, SendCancelFn};
32pub use session_store::{InMemorySessionStore, SessionRecord, SessionStore};
33pub use thinking_step::{default_thinking_step_events, extract_thinking_step};
34pub use turn_boundary::{
35    is_daemon_turn_end_event, TurnBoundary, TurnLifecycleGate, TURN_END_IDLE, TURN_END_STOPPED,
36    TURN_END_STREAM_END,
37};
38pub use turn_runner::{InputOpts, TimeoutPolicy, TurnConfig, TurnRunner};