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