1pub use agent_core::core;
3pub use agent_core::memory;
4pub use agent_core::pricing;
5
6pub use agent_engine::{runtime, tools, mcp, skills, events, extensions, sidecar, engine, help};
8
9pub use agent_tui::{tui, toast};
11
12extern crate self as synaps_cli;
14
15pub use core::config;
17pub use core::session;
18pub use core::auth;
19pub use core::logging;
20pub use core::protocol;
21pub use core::error;
22pub use core::watcher_types;
23pub use core::models;
24pub use core::chain;
25
26pub use runtime::{Runtime, StreamEvent, LlmEvent, SessionEvent, AgentEvent};
27pub use tools::{Tool, ToolContext, ToolRegistry};
28pub use session::{Session, SessionInfo, find_session, latest_session, list_sessions, list_recent_sessions, resolve_session, find_session_by_name, validate_name};
29pub use error::{RuntimeError, Result};
30pub use config::{SynapsConfig, load_config, resolve_system_prompt};
31pub use watcher_types::{
32 AgentConfig, SessionLimits, HandoffState, ExitReason, SessionStats,
33 WatcherCommand, WatcherResponse, AgentStatusInfo
34};
35
36pub use serde_json::Value;
38pub use tokio_util::sync::CancellationToken;
39
40pub use agent_core::epoch_millis;
42
43pub use agent_core::truncate_str;
45
46#[inline]
48pub fn flush_stdout() {
49 use std::io::Write;
50 let _ = std::io::stdout().flush();
51}
52
53#[inline]
55pub fn flush_stderr() {
56 use std::io::Write;
57 let _ = std::io::stderr().flush();
58}
59
60#[inline]
62pub fn epoch_secs() -> u64 {
63 std::time::SystemTime::now()
64 .duration_since(std::time::UNIX_EPOCH)
65 .expect("system clock before Unix epoch")
66 .as_secs()
67}