#![doc = include_str!("../README.md")]
use std::path::{Path, PathBuf};
pub mod config;
pub mod container;
pub mod error;
pub mod image;
mod mcp;
pub mod mcp_proxy;
pub mod network;
mod outrig_;
mod process;
mod repo;
mod tool_name;
pub use config::{
CapabilityProfile, MountAccess, NetworkAction, NetworkEntry, NetworkMode, NetworkPolicy,
NetworkPolicyBuilder,
};
pub use mcp::{McpClient, McpTool, McpToolResult};
pub use outrig_::{
CapabilitySpec, EmbeddedMcpPolicy, LaunchSpec, MountSpec, NetworkSpec, Outrig, SecuritySpec,
ToolHandle, WorkspaceSpec,
};
pub use process::Transcript;
pub use tool_name::sanitize as sanitize_tool_name;
pub fn load_project(dir: &Path, global: Option<&Path>) -> error::Result<(config::Config, PathBuf)> {
let repo_root = repo::find_repo_root_from(dir)?;
let cfg = config::Config::load(&repo_root, global)?;
Ok((cfg, repo_root))
}