//! Data sources consumed by tool implementations.
//!
//! Each module is a thin async adapter over an external system; tool code
//! calls these adapters rather than issuing raw subprocess or HTTP calls.

pub mod filesystem;
pub mod ncl_cache;
pub mod orchestrator;
pub mod ssh;
pub mod vault;

pub use filesystem::{
    ComponentEntry, InfraEntry, WorkflowEntry, WorkspaceEntry,
    get_workspace, list_components, list_infra_envs, list_workspaces, list_workflows,
};
pub use ncl_cache::NclCache;
pub use orchestrator::{OrchestratorClient, TaskState, TaskSummary};
pub use ssh::{SshRequest, SshResponse, SshRetryPolicy, SshSource};
pub use vault::VaultSource;
