#[cfg(test)]
mod tests;
pub mod action;
pub mod cross;
pub mod error;
pub mod manifest;
pub mod models;
pub mod per_repo_providers;
pub mod schemas;
pub mod tool_control;
pub mod tool_output;
pub mod version;
pub mod workflow;
pub use action::Action;
pub use error::LoadError;
pub use models::Models;
pub use per_repo_providers::PerRepoProviders;
pub use tool_control::ToolControl;
pub use tool_output::ToolOutputBound;
pub use workflow::{Budgets, CompactionConfig, CompactionTrigger, Event, RetryConfig, Workflow};
use std::path::Path;
#[derive(Debug)]
pub struct ModelsConfig {
pub global: Models,
pub per_repo: PerRepoProviders,
}
impl ModelsConfig {
pub fn load_with_per_repo(
global_path: &Path,
per_repo_raw: &str,
per_repo_origin: &Path,
) -> Result<Self, LoadError> {
let global = Models::load(global_path)?;
let per_repo = PerRepoProviders::parse(per_repo_raw, per_repo_origin)?;
Ok(Self { global, per_repo })
}
}