1#![allow(dead_code)]
41#![allow(unused_imports)]
42#![allow(clippy::upper_case_acronyms)]
43#![allow(clippy::type_complexity)]
44
45pub mod agency;
46pub mod analytics;
47pub mod api;
48pub mod automation;
49pub mod browser;
50pub mod cli;
51pub mod cloud_sync;
52pub mod commands;
53pub mod database;
54pub mod encryption;
55pub mod error;
56pub mod integrations;
57pub mod intelligence;
58pub mod mcp;
59pub mod models;
60pub mod plugins;
61pub mod providers;
62pub mod routing;
63pub mod scaling;
64pub mod storage;
65pub mod sync;
66pub mod teams;
67pub mod telemetry;
68pub mod tui;
69pub mod workspace;
70
71pub use cli::{
73 Cli, Commands, ExportCommands, FetchCommands, FindCommands, GitCommands, ImportCommands,
74 ListCommands, MergeCommands, MigrationCommands, MoveCommands, ProviderCommands, RunCommands,
75 ShowCommands,
76};
77pub use database::{ChatDatabase, ShareLinkInfo, ShareLinkParser, ShareLinkProvider};
78pub use error::CsmError;
79pub use models::{
80 ChatMessage, ChatRequest, ChatSession, ChatSessionIndex, ChatSessionIndexEntry,
81 SessionWithPath, Workspace, WorkspaceJson,
82};
83pub use providers::{
84 CsmConfig, GenericMessage, GenericSession, ProviderConfig, ProviderRegistry, ProviderType,
85};
86pub use storage::{
87 add_session_to_index, backup_workspace_sessions, close_vscode_and_wait, compact_session_jsonl,
88 is_vscode_running, parse_session_auto, parse_session_file, parse_session_json,
89 parse_session_jsonl, read_chat_session_index, register_all_sessions_from_directory,
90 reopen_vscode, repair_workspace_sessions, sync_session_index, trim_session_jsonl,
91 write_chat_session_index,
92};
93pub use workspace::{
94 decode_workspace_folder, discover_workspaces, find_workspace_by_path,
95 get_chat_sessions_from_workspace, get_workspace_by_hash, get_workspace_by_path,
96 get_workspace_storage_path, normalize_path,
97};