drop project run workflow resolve wrappers

This commit is contained in:
Bryan Helmkamp 2026-04-23 14:40:09 -04:00
parent e20d8d9435
commit 43d32464a2
No known key found for this signature in database
3 changed files with 9 additions and 34 deletions

View file

@ -37,9 +37,8 @@ pub use load::{
pub use parse::{ParseError, parse_settings_layer};
pub use resolve::{
ResolveError, dev_token_auth_enabled, resolve_cli, resolve_cli_from_file, resolve_features,
resolve_features_from_file, resolve_project, resolve_project_from_file, resolve_run,
resolve_run_from_file, resolve_server, resolve_server_from_file, resolve_workflow,
resolve_workflow_from_file,
resolve_features_from_file, resolve_project, resolve_run, resolve_server,
resolve_server_from_file, resolve_workflow,
};
use serde::de::DeserializeOwned;
pub use storage::{RunScratch, RuntimeDirectory, Storage};

View file

@ -9,8 +9,7 @@ mod workflow;
pub use cli::resolve_cli;
pub use error::ResolveError;
use fabro_types::settings::{
CliNamespace, FeaturesNamespace, InterpString, ProjectNamespace, RunNamespace, ServerNamespace,
SettingsLayer, WorkflowNamespace,
CliNamespace, FeaturesNamespace, InterpString, ServerNamespace, SettingsLayer,
};
pub use features::resolve_features;
pub use project::resolve_project;
@ -36,15 +35,6 @@ pub fn resolve_server_from_file(
finish(value, errors)
}
pub fn resolve_project_from_file(
file: &SettingsLayer,
) -> Result<ProjectNamespace, Vec<ResolveError>> {
let layer = apply_builtin_defaults(file.clone());
let mut errors = Vec::new();
let value = resolve_project(&layer.project.clone().unwrap_or_default(), &mut errors);
finish(value, errors)
}
pub fn resolve_features_from_file(
file: &SettingsLayer,
) -> Result<FeaturesNamespace, Vec<ResolveError>> {
@ -54,22 +44,6 @@ pub fn resolve_features_from_file(
finish(value, errors)
}
pub fn resolve_run_from_file(file: &SettingsLayer) -> Result<RunNamespace, Vec<ResolveError>> {
let layer = apply_builtin_defaults(file.clone());
let mut errors = Vec::new();
let value = resolve_run(&layer.run.clone().unwrap_or_default(), &mut errors);
finish(value, errors)
}
pub fn resolve_workflow_from_file(
file: &SettingsLayer,
) -> Result<WorkflowNamespace, Vec<ResolveError>> {
let layer = apply_builtin_defaults(file.clone());
let mut errors = Vec::new();
let value = resolve_workflow(&layer.workflow.clone().unwrap_or_default(), &mut errors);
finish(value, errors)
}
pub(crate) fn require_interp(
value: Option<&InterpString>,
path: &str,
@ -119,8 +93,7 @@ mod tests {
use fabro_types::settings::run::{HookType, McpTransport, TlsMode};
use super::resolve_run_from_file;
use crate::parse_settings_layer;
use crate::{WorkflowSettingsBuilder, parse_settings_layer};
#[test]
fn resolve_preserves_source_templates_for_mcp_and_hook_strings() {
@ -164,7 +137,9 @@ Authorization = "Bearer {{ env.HOOK_TOKEN }}"
)
.expect("settings fixture should parse");
let resolved = resolve_run_from_file(&settings).expect("run settings should resolve");
let resolved = WorkflowSettingsBuilder::from_layer(&settings)
.expect("run settings should resolve")
.run;
let mcps = &resolved.agent.mcps;
assert_eq!(

View file

@ -48,8 +48,9 @@ provider = "not-a-provider"
.map(|error| error.to_string()),
);
rendered.extend(
fabro_config::resolve_run_from_file(&settings)
fabro_config::WorkflowSettingsBuilder::from_layer(&settings)
.expect_err("invalid run settings should fail")
.into_inner()
.into_iter()
.map(|error| error.to_string()),
);