use basis::{ModelSelector, RuntimeBuilder, ShellAccess, WorkspaceBuilder, provider};
pub fn configure_builders(
mut runtime: RuntimeBuilder,
mut workspace: WorkspaceBuilder,
provider_name: Option<&str>,
base_url: Option<&str>,
model: Option<&str>,
shell: ShellAccess,
) -> Result<(RuntimeBuilder, WorkspaceBuilder), provider::ProviderError> {
if let Some(name) = provider_name {
runtime = runtime.with_provider(provider::parse(name)?);
}
if let Some(base_url) = base_url {
runtime = runtime.with_base_url(base_url);
}
workspace = workspace.with_shell(shell);
if let Some(model) = model {
workspace = workspace.with_model(ModelSelector::Id(model.to_string()));
}
Ok((runtime, workspace))
}