mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-15 23:32:46 +00:00
refactor(settings): stage 6.5b sweep ::v2:: prefix out of consumers
Final mechanical pass: replaces every remaining
`fabro_types::settings::v2::*` import path with
`fabro_types::settings::*` (or the appropriate submodule) across 53
files in 10 crates, then deletes the transitional
`pub mod v2 { pub use super::*; }` alias from
`fabro-types/src/settings/mod.rs`.
No functional changes — all touches are `sed s|settings::v2::|settings::|g`
on import statements and fully-qualified type paths. The v2
namespace is now fully gone; the authoritative module path is
`fabro_types::settings::{accessors, cli, duration, features, interp,
model_ref, project, run, server, size, splice_array, tree, version,
workflow}`.
All 3,758 workspace tests pass. `cargo fmt --check --all` and
`cargo clippy --workspace -- -D warnings` are clean.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
d82d167f07
commit
c625747e0c
53 changed files with 124 additions and 133 deletions
|
|
@ -1,7 +1,7 @@
|
|||
use std::fmt::Write;
|
||||
|
||||
use fabro_types::settings::InterpString;
|
||||
use fabro_types::settings::v2::run::GitAuthorLayer;
|
||||
use fabro_types::settings::run::GitAuthorLayer;
|
||||
|
||||
/// Resolved git author identity for checkpoint commits.
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ mod tests {
|
|||
|
||||
use super::*;
|
||||
use chrono::{TimeZone, Utc};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{Graph, fixtures};
|
||||
|
||||
/// Create a temporary git repo with an initial commit.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ use std::path::{Path, PathBuf};
|
|||
use std::sync::Arc;
|
||||
|
||||
use anyhow::{Context as _, Result, bail};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use tokio::sync::OnceCell;
|
||||
|
||||
use crate::args::{ServerConnectionArgs, ServerTargetArgs};
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ use fabro_agent::cli::{OutputFormat, run_with_args, run_with_args_and_client};
|
|||
use fabro_llm::client::Client;
|
||||
use fabro_llm::providers::FabroServerAdapter;
|
||||
use fabro_mcp::config::{McpServerSettings, bridge_mcp_entry};
|
||||
use fabro_types::settings::v2::InterpString;
|
||||
use fabro_types::settings::InterpString;
|
||||
use std::collections::HashMap;
|
||||
use std::sync::Arc;
|
||||
|
||||
|
|
@ -12,7 +12,7 @@ use crate::user_config;
|
|||
|
||||
pub(crate) async fn execute(mut args: ExecArgs, globals: &GlobalArgs) -> Result<()> {
|
||||
use fabro_agent::cli::PermissionLevel as AgentPermissionLevel;
|
||||
use fabro_types::settings::v2::run::AgentPermissions;
|
||||
use fabro_types::settings::run::AgentPermissions;
|
||||
|
||||
let cli_settings = user_config::load_settings()?;
|
||||
#[cfg(feature = "sleep_inhibitor")]
|
||||
|
|
|
|||
|
|
@ -1024,7 +1024,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn config_toml_roundtrips() {
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
let toml_str = format_config_toml("brynary");
|
||||
let cfg: SettingsFile = fabro_config::ConfigLayer::parse(&toml_str)
|
||||
.expect("generated config should parse as v2")
|
||||
|
|
@ -1041,7 +1041,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn config_toml_has_auth_strategies() {
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
let toml_str = format_config_toml("alice");
|
||||
let cfg: SettingsFile = fabro_config::ConfigLayer::parse(&toml_str).unwrap().into();
|
||||
let auth_api = cfg
|
||||
|
|
@ -1066,8 +1066,8 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn config_toml_has_tls_paths() {
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::server::ServerListenLayer;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::server::ServerListenLayer;
|
||||
let toml_str = format_config_toml("bob");
|
||||
let cfg: SettingsFile = fabro_config::ConfigLayer::parse(&toml_str).unwrap().into();
|
||||
let listen = cfg
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ use crate::command_context::CommandContext;
|
|||
use fabro_config::ConfigLayer;
|
||||
use fabro_config::Storage;
|
||||
use fabro_types::RunId;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_util::terminal::Styles;
|
||||
|
||||
use super::output::{api_diagnostics_to_local, print_preflight_workflow_summary};
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ use std::collections::HashMap;
|
|||
use anyhow::Result;
|
||||
use fabro_config::ConfigLayer;
|
||||
use fabro_sandbox::SandboxProvider;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::cli::{CliLayer, CliOutputLayer, OutputVerbosity};
|
||||
use fabro_types::settings::v2::interp::InterpString;
|
||||
use fabro_types::settings::v2::run::{
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::cli::{CliLayer, CliOutputLayer, OutputVerbosity};
|
||||
use fabro_types::settings::interp::InterpString;
|
||||
use fabro_types::settings::run::{
|
||||
ApprovalMode, RunExecutionLayer, RunLayer, RunMode, RunModelLayer, RunSandboxLayer,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use anyhow::{Context, Result, anyhow};
|
|||
use async_trait::async_trait;
|
||||
use fabro_interview::{ControlInterviewer, WorkerControlEnvelope, WorkerControlMessage};
|
||||
use fabro_store::{EventEnvelope, EventPayload, RunProjection};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{EventBody, RunBlobId, RunEvent, RunId, StatusReason};
|
||||
use fabro_workflow::artifact_snapshot::CapturedArtifactInfo;
|
||||
use fabro_workflow::artifact_upload::{ArtifactSink, StageArtifactUploader};
|
||||
|
|
|
|||
|
|
@ -297,7 +297,7 @@ mod tests {
|
|||
|
||||
use chrono::{DateTime, Utc};
|
||||
use fabro_store::{Database, EventEnvelope, EventPayload};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{
|
||||
AggregateStats, AttrValue, BilledTokenCounts, Checkpoint, Conclusion, Graph,
|
||||
NodeStatusRecord, Retro, RunId, RunRecord, RunStatus, RunStatusRecord, SandboxRecord,
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ async fn main_inner() -> (String, Result<()>) {
|
|||
{
|
||||
match load_settings_config(args.config.as_deref()) {
|
||||
Ok(layer) => {
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
let server_settings: SettingsFile = layer.into();
|
||||
(
|
||||
server_settings
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ use fabro_graphviz::graph::AttrValue;
|
|||
use fabro_graphviz::parser;
|
||||
use fabro_sandbox::daytona::detect_repo_info;
|
||||
use fabro_types::RunId;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::run::DaytonaDockerfileLayer;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::run::DaytonaDockerfileLayer;
|
||||
use fabro_workflow::git::{GitSyncStatus, head_sha, sync_status};
|
||||
|
||||
use crate::args::{PreflightArgs, RunArgs};
|
||||
|
|
|
|||
|
|
@ -54,8 +54,8 @@ pub(crate) fn apply_storage_dir_override(
|
|||
mut layer: ConfigLayer,
|
||||
storage_dir: Option<&Path>,
|
||||
) -> ConfigLayer {
|
||||
use fabro_types::settings::v2::interp::InterpString;
|
||||
use fabro_types::settings::v2::server::{ServerLayer, ServerStorageLayer};
|
||||
use fabro_types::settings::interp::InterpString;
|
||||
use fabro_types::settings::server::{ServerLayer, ServerStorageLayer};
|
||||
if let Some(dir) = storage_dir {
|
||||
let file = layer.as_v2_mut();
|
||||
let server = file.server.get_or_insert_with(ServerLayer::default);
|
||||
|
|
@ -82,8 +82,8 @@ pub(crate) enum ServerTarget {
|
|||
/// http(s) URL or a unix socket path. `tls` is the CLI-side client TLS
|
||||
/// settings extracted from `[cli.target.http.tls]`.
|
||||
fn cli_target_from_v2(settings: &SettingsFile) -> Option<(String, Option<ClientTlsSettings>)> {
|
||||
use fabro_types::settings::v2::cli::CliTargetLayer;
|
||||
use fabro_types::settings::v2::interp::InterpString;
|
||||
use fabro_types::settings::cli::CliTargetLayer;
|
||||
use fabro_types::settings::interp::InterpString;
|
||||
|
||||
let target = settings.cli.as_ref()?.target.as_ref()?;
|
||||
match target {
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@ fn settings_local_workflow_name_applies_run_overlay_and_deep_merges() {
|
|||
.stdout
|
||||
.clone();
|
||||
|
||||
use fabro_types::settings::v2::run::McpEntryLayer;
|
||||
use fabro_types::settings::run::McpEntryLayer;
|
||||
|
||||
let cfg = parse_settings(&output);
|
||||
assert_eq!(cfg.run_goal_str().as_deref(), Some("demo goal"));
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
use std::path::Path;
|
||||
|
||||
use anyhow::Context;
|
||||
use fabro_types::settings::v2::{SettingsFile, parse_settings_file as parse_v2_settings_file};
|
||||
use fabro_types::settings::{SettingsFile, parse_settings_file as parse_v2_settings_file};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::merge::combine_files;
|
||||
|
|
@ -124,7 +124,7 @@ impl ConfigLayer {
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use fabro_types::settings::v2::InterpString;
|
||||
use fabro_types::settings::InterpString;
|
||||
|
||||
use super::*;
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
//! stanzas in `fabro.toml` and `workflow.toml` remain schema-valid but inert.
|
||||
|
||||
use anyhow::{Result, anyhow};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::run::{RunExecutionLayer, RunLayer};
|
||||
use fabro_types::settings::v2::server::ServerLayer;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::run::{RunExecutionLayer, RunLayer};
|
||||
use fabro_types::settings::server::ServerLayer;
|
||||
|
||||
use crate::ConfigLayer;
|
||||
use crate::merge::combine_files;
|
||||
|
|
@ -177,10 +177,8 @@ fn apply_local_daemon_overrides(mut settings: SettingsFile, server: &SettingsFil
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use fabro_types::settings::v2::InterpString;
|
||||
use fabro_types::settings::v2::server::{
|
||||
ServerLayer, ServerSchedulerLayer, ServerStorageLayer,
|
||||
};
|
||||
use fabro_types::settings::InterpString;
|
||||
use fabro_types::settings::server::{ServerLayer, ServerSchedulerLayer, ServerStorageLayer};
|
||||
|
||||
use super::{EffectiveSettingsLayers, EffectiveSettingsMode, resolve_settings};
|
||||
use crate::ConfigLayer;
|
||||
|
|
@ -295,7 +293,7 @@ provider = "openai"
|
|||
|
||||
#[test]
|
||||
fn cli_and_server_domains_from_fabro_toml_are_inert_under_remote_mode() {
|
||||
let mut server_settings = fabro_types::settings::v2::SettingsFile::default();
|
||||
let mut server_settings = fabro_types::settings::SettingsFile::default();
|
||||
server_settings.server = Some(ServerLayer {
|
||||
storage: Some(ServerStorageLayer {
|
||||
root: Some(InterpString::parse("/srv/fabro")),
|
||||
|
|
@ -339,7 +337,7 @@ root = "/tmp/should-be-inert"
|
|||
|
||||
#[test]
|
||||
fn local_daemon_mode_only_applies_server_owned_overrides() {
|
||||
let mut server_settings = fabro_types::settings::v2::SettingsFile::default();
|
||||
let mut server_settings = fabro_types::settings::SettingsFile::default();
|
||||
server_settings.server = Some(ServerLayer {
|
||||
storage: Some(ServerStorageLayer {
|
||||
root: Some(InterpString::parse("/srv/fabro")),
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ pub use storage::{RunScratch, ServerState, Storage};
|
|||
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use serde::de::DeserializeOwned;
|
||||
|
||||
/// Resolve the storage directory: v2 `server.storage.root` > home default.
|
||||
|
|
|
|||
|
|
@ -9,22 +9,22 @@
|
|||
|
||||
use std::collections::HashMap;
|
||||
|
||||
use fabro_types::settings::v2::cli::{
|
||||
use fabro_types::settings::cli::{
|
||||
CliExecAgentLayer, CliExecLayer, CliExecModelLayer, CliLayer, CliTargetLayer,
|
||||
};
|
||||
use fabro_types::settings::v2::project::ProjectLayer;
|
||||
use fabro_types::settings::v2::run::{
|
||||
use fabro_types::settings::project::ProjectLayer;
|
||||
use fabro_types::settings::run::{
|
||||
DaytonaSandboxLayer, GitAuthorLayer, HookEntry, InterviewsLayer, ModelRefOrSplice,
|
||||
NotificationRouteLayer, RunAgentLayer, RunCheckpointLayer, RunExecutionLayer, RunGitLayer,
|
||||
RunLayer, RunModelLayer, RunPrepareLayer, RunPullRequestLayer, RunSandboxLayer, RunScmLayer,
|
||||
StringOrSplice,
|
||||
};
|
||||
use fabro_types::settings::v2::server::{
|
||||
use fabro_types::settings::server::{
|
||||
ServerArtifactsLayer, ServerAuthLayer, ServerIntegrationsLayer, ServerLayer, ServerListenLayer,
|
||||
ServerSchedulerLayer, ServerSlateDbLayer, ServerStorageLayer, ServerWebLayer,
|
||||
};
|
||||
use fabro_types::settings::v2::tree::SettingsFile;
|
||||
use fabro_types::settings::v2::workflow::WorkflowLayer;
|
||||
use fabro_types::settings::tree::SettingsFile;
|
||||
use fabro_types::settings::workflow::WorkflowLayer;
|
||||
|
||||
/// Combine two settings files: `higher` takes precedence over `lower` wherever
|
||||
/// the merge matrix does not dictate otherwise.
|
||||
|
|
@ -479,7 +479,7 @@ fn combine_server_integrations(
|
|||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use fabro_types::settings::v2::{InterpString, parse_settings_file};
|
||||
use fabro_types::settings::{InterpString, parse_settings_file};
|
||||
|
||||
use super::*;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//! Hook configuration runtime types.
|
||||
//!
|
||||
//! These types are the runtime shape that the hook executor consumes. The
|
||||
//! v2 parse tree under `fabro_types::settings::v2::run::HookEntry` is the
|
||||
//! v2 parse tree under `fabro_types::settings::run::HookEntry` is the
|
||||
//! *config-file* shape; this module lives in `fabro-hooks` because the
|
||||
//! behavior methods (`is_blocking`, `timeout`, `resolved_hook_type`,
|
||||
//! `runs_in_sandbox`, `effective_name`) are runtime concerns owned by the
|
||||
|
|
@ -13,8 +13,8 @@
|
|||
|
||||
use std::borrow::Cow;
|
||||
|
||||
use fabro_types::settings::v2::InterpString;
|
||||
use fabro_types::settings::v2::run::{
|
||||
use fabro_types::settings::InterpString;
|
||||
use fabro_types::settings::run::{
|
||||
HookAgentMarker, HookEntry, HookEvent as V2HookEvent, HookTlsMode as V2HookTlsMode,
|
||||
};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
//! MCP server configuration runtime types.
|
||||
//!
|
||||
//! The v2 parse tree lives in `fabro_types::settings::v2::run::McpEntryLayer`.
|
||||
//! The v2 parse tree lives in `fabro_types::settings::run::McpEntryLayer`.
|
||||
//! This module owns the runtime shape (flattened, with timeout helpers) that
|
||||
//! the MCP client consumes at execution time. Conversion from the v2 shape
|
||||
//! lives in [`bridge_mcp_entry`] / [`bridge_mcps`].
|
||||
|
|
@ -8,8 +8,8 @@
|
|||
use std::collections::HashMap;
|
||||
use std::time::Duration;
|
||||
|
||||
use fabro_types::settings::v2::InterpString;
|
||||
use fabro_types::settings::v2::run::McpEntryLayer;
|
||||
use fabro_types::settings::InterpString;
|
||||
use fabro_types::settings::run::McpEntryLayer;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[must_use]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//! Sandbox configuration runtime types.
|
||||
//!
|
||||
//! These types are the runtime shape that the sandbox providers consume.
|
||||
//! The v2 parse tree lives in `fabro_types::settings::v2::run::RunSandboxLayer`.
|
||||
//! The v2 parse tree lives in `fabro_types::settings::run::RunSandboxLayer`.
|
||||
//! Conversion from the v2 shape lives in [`bridge_sandbox`].
|
||||
//!
|
||||
//! The `DaytonaSettings`/`DaytonaSnapshotSettings` names are kept for
|
||||
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
use std::collections::HashMap;
|
||||
|
||||
use fabro_types::settings::v2::InterpString;
|
||||
use fabro_types::settings::v2::run::{
|
||||
use fabro_types::settings::InterpString;
|
||||
use fabro_types::settings::run::{
|
||||
DaytonaDockerfileLayer, DaytonaNetworkLayer, RunSandboxLayer, WorktreeMode as V2WorktreeMode,
|
||||
};
|
||||
use serde::de::{self, MapAccess, Visitor};
|
||||
|
|
|
|||
|
|
@ -465,7 +465,7 @@ async fn check_brave_search(state: &AppState) -> CheckResult {
|
|||
}
|
||||
|
||||
fn check_crypto(state: &AppState) -> CheckResult {
|
||||
use fabro_types::settings::v2::interp::InterpString;
|
||||
use fabro_types::settings::interp::InterpString;
|
||||
|
||||
let settings_file = state
|
||||
.settings
|
||||
|
|
@ -501,7 +501,7 @@ fn check_crypto(state: &AppState) -> CheckResult {
|
|||
let mut errors = Vec::new();
|
||||
|
||||
if has_mtls {
|
||||
use fabro_types::settings::v2::server::ServerListenLayer;
|
||||
use fabro_types::settings::server::ServerListenLayer;
|
||||
let listen_tls = settings_file
|
||||
.server
|
||||
.as_ref()
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@ use fabro_sandbox::config::bridge_sandbox;
|
|||
use fabro_sandbox::daytona::DaytonaConfig;
|
||||
use fabro_sandbox::{DockerSandboxOptions, Sandbox, SandboxProvider, SandboxSpec};
|
||||
use fabro_types::RunId;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::cli::{CliLayer, CliOutputLayer, OutputVerbosity};
|
||||
use fabro_types::settings::v2::interp::InterpString;
|
||||
use fabro_types::settings::v2::run::{
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::cli::{CliLayer, CliOutputLayer, OutputVerbosity};
|
||||
use fabro_types::settings::interp::InterpString;
|
||||
use fabro_types::settings::run::{
|
||||
ApprovalMode, DaytonaDockerfileLayer, RunExecutionLayer, RunLayer, RunMode, RunModelLayer,
|
||||
RunSandboxLayer,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ use tracing::{error, info, warn};
|
|||
|
||||
use clap::Args;
|
||||
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
|
||||
use crate::bind::{self, Bind, BindRequest};
|
||||
use crate::github_webhooks::WebhookManager;
|
||||
|
|
@ -93,12 +93,12 @@ fn apply_serve_overrides(
|
|||
args: &ServeArgs,
|
||||
dry_run_mode: bool,
|
||||
) -> SettingsFile {
|
||||
use fabro_types::settings::v2::cli::CliLayer;
|
||||
use fabro_types::settings::v2::interp::InterpString;
|
||||
use fabro_types::settings::v2::run::{
|
||||
use fabro_types::settings::cli::CliLayer;
|
||||
use fabro_types::settings::interp::InterpString;
|
||||
use fabro_types::settings::run::{
|
||||
RunExecutionLayer, RunLayer, RunMode, RunModelLayer, RunSandboxLayer,
|
||||
};
|
||||
use fabro_types::settings::v2::server::{ServerLayer, ServerWebLayer};
|
||||
use fabro_types::settings::server::{ServerLayer, ServerWebLayer};
|
||||
let mut settings = base.clone();
|
||||
if dry_run_mode {
|
||||
let run = settings.run.get_or_insert_with(RunLayer::default);
|
||||
|
|
@ -136,8 +136,8 @@ fn apply_runtime_settings(
|
|||
dry_run_mode: bool,
|
||||
data_dir: &Path,
|
||||
) -> SettingsFile {
|
||||
use fabro_types::settings::v2::interp::InterpString;
|
||||
use fabro_types::settings::v2::server::{ServerLayer, ServerStorageLayer};
|
||||
use fabro_types::settings::interp::InterpString;
|
||||
use fabro_types::settings::server::{ServerLayer, ServerStorageLayer};
|
||||
let mut settings = apply_serve_overrides(base, args, dry_run_mode);
|
||||
let server = settings.server.get_or_insert_with(ServerLayer::default);
|
||||
let storage = server
|
||||
|
|
@ -174,8 +174,8 @@ fn build_artifact_object_store(
|
|||
settings: &SettingsFile,
|
||||
storage: &Storage,
|
||||
) -> anyhow::Result<(Arc<dyn ObjectStore>, String)> {
|
||||
use fabro_types::settings::v2::interp::InterpString;
|
||||
use fabro_types::settings::v2::server::ObjectStoreProvider;
|
||||
use fabro_types::settings::interp::InterpString;
|
||||
use fabro_types::settings::server::ObjectStoreProvider;
|
||||
|
||||
let artifacts = settings.server_artifacts();
|
||||
let prefix = artifacts
|
||||
|
|
@ -349,7 +349,7 @@ where
|
|||
|
||||
// Optionally start webhook listener
|
||||
let webhook_app_id = {
|
||||
use fabro_types::settings::v2::InterpString;
|
||||
use fabro_types::settings::InterpString;
|
||||
let cfg_file = shared_settings.read().expect("config lock poisoned");
|
||||
cfg_file
|
||||
.server_integrations_github()
|
||||
|
|
@ -680,7 +680,7 @@ mod tests {
|
|||
};
|
||||
use crate::bind::Bind;
|
||||
use fabro_config::ConfigLayer;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
|
||||
fn parse_settings(source: &str) -> SettingsFile {
|
||||
ConfigLayer::parse(source)
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ use fabro_model::{BilledModelUsage, BilledTokenCounts};
|
|||
use fabro_store::{
|
||||
ArtifactStore, Database, EventEnvelope, EventPayload, PendingInterviewRecord, StageId,
|
||||
};
|
||||
use fabro_types::settings::v2::{InterpString, SettingsFile};
|
||||
use fabro_types::settings::{InterpString, SettingsFile};
|
||||
use fabro_types::{
|
||||
EventBody, InterviewQuestionRecord, InterviewQuestionType, RunBlobId, RunClientProvenance,
|
||||
RunControlAction, RunEvent, RunId, RunProvenance, RunServerProvenance, RunSubjectProvenance,
|
||||
|
|
@ -5911,7 +5911,7 @@ mod tests {
|
|||
}"#;
|
||||
|
||||
fn dry_run_settings() -> SettingsFile {
|
||||
use fabro_types::settings::v2::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
SettingsFile {
|
||||
run: Some(RunLayer {
|
||||
execution: Some(RunExecutionLayer {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use axum::http::{HeaderMap, HeaderValue, StatusCode, header};
|
|||
use axum::response::{IntoResponse, Redirect, Response};
|
||||
use axum::{Json, Router, routing::get, routing::post};
|
||||
use cookie::{Cookie, CookieJar, Expiration, Key, SameSite, time::Duration};
|
||||
use fabro_types::settings::v2::{InterpString, SettingsFile};
|
||||
use fabro_types::settings::{InterpString, SettingsFile};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::json;
|
||||
use tracing::{debug, error, info, warn};
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use fabro_server::server::{
|
|||
RouterOptions, build_router, build_router_with_options, create_app_state,
|
||||
create_app_state_with_options,
|
||||
};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use tower::ServiceExt;
|
||||
|
||||
use crate::helpers::body_json;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ use axum::http::{Request, StatusCode};
|
|||
use fabro_config::ConfigLayer;
|
||||
use fabro_server::jwt_auth::AuthMode;
|
||||
use fabro_server::server::{build_router, create_app_state_with_options};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use tower::ServiceExt;
|
||||
|
||||
use crate::helpers::body_json;
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ use axum::body::Body;
|
|||
use axum::http::{Request, StatusCode};
|
||||
use fabro_config::Storage;
|
||||
use fabro_types::RunId;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::interp::InterpString;
|
||||
use fabro_types::settings::v2::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::v2::server::{ServerLayer, ServerStorageLayer};
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::interp::InterpString;
|
||||
use fabro_types::settings::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::server::{ServerLayer, ServerStorageLayer};
|
||||
use http_body_util::BodyExt;
|
||||
use std::path::PathBuf;
|
||||
use tempfile::tempdir;
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ use fabro_server::server::{
|
|||
AppState, build_router, create_app_state, create_app_state_with_settings_and_registry_factory,
|
||||
spawn_scheduler,
|
||||
};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::run::{
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::run::{
|
||||
LocalSandboxLayer, RunExecutionLayer, RunLayer, RunMode, RunSandboxLayer, WorktreeMode,
|
||||
};
|
||||
use tokio::time::sleep;
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ mod tests {
|
|||
use super::*;
|
||||
|
||||
use chrono::{DateTime, Utc};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{AttrValue, Graph, RunControlAction, RunRecord, RunStatus, StatusReason};
|
||||
use futures::TryStreamExt;
|
||||
use object_store::memory::InMemory;
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use serde::{Deserialize, Serialize};
|
|||
use crate::graph::Graph;
|
||||
use crate::run_blob_id::RunBlobId;
|
||||
use crate::run_id::RunId;
|
||||
use crate::settings::v2::SettingsFile;
|
||||
use crate::settings::SettingsFile;
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "snake_case")]
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ use std::collections::BTreeMap;
|
|||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::settings::v2::SettingsFile;
|
||||
use crate::settings::SettingsFile;
|
||||
use crate::{Graph, RunBlobId, RunControlAction, RunProvenance, StatusReason};
|
||||
|
||||
use super::{BilledTokenCounts, RunNoticeLevel};
|
||||
|
|
|
|||
|
|
@ -413,7 +413,7 @@ impl SettingsFile {
|
|||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::settings::v2::run::{RunLayer, RunModelLayer};
|
||||
use crate::settings::run::{RunLayer, RunModelLayer};
|
||||
|
||||
#[test]
|
||||
fn run_goal_str_returns_source_value() {
|
||||
|
|
@ -453,8 +453,8 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn all_labels_merges_project_workflow_run() {
|
||||
use crate::settings::v2::project::ProjectLayer;
|
||||
use crate::settings::v2::workflow::WorkflowLayer;
|
||||
use crate::settings::project::ProjectLayer;
|
||||
use crate::settings::workflow::WorkflowLayer;
|
||||
|
||||
let mut project_metadata = HashMap::new();
|
||||
project_metadata.insert("env".into(), "project".into());
|
||||
|
|
|
|||
|
|
@ -39,10 +39,3 @@ pub use splice_array::{SPLICE_MARKER, SpliceArray, SpliceArrayError};
|
|||
pub use tree::{ParseError, SettingsFile, parse_settings_file};
|
||||
pub use version::{CURRENT_VERSION, SchemaVersion, VersionError, validate_version};
|
||||
pub use workflow::WorkflowLayer;
|
||||
|
||||
/// Transitional alias for code still using `fabro_types::settings::v2::*`
|
||||
/// paths. The whole `v2` namespace is scheduled for removal once the
|
||||
/// workspace-wide sweep (Stage 6.5b follow-up) is done.
|
||||
pub mod v2 {
|
||||
pub use super::*;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
//! Workflow runtime configuration shapes.
|
||||
//!
|
||||
//! Runtime-side types consumed by the pipeline. The v2 parse tree lives in
|
||||
//! `fabro_types::settings::v2::run::{RunPullRequestLayer, MergeStrategy,
|
||||
//! `fabro_types::settings::run::{RunPullRequestLayer, MergeStrategy,
|
||||
//! RunArtifactsLayer}`. Conversion from v2 lives in [`bridge_pull_request`]
|
||||
//! / [`bridge_run_artifacts`].
|
||||
|
||||
use fabro_types::settings::v2::run::{
|
||||
use fabro_types::settings::run::{
|
||||
MergeStrategy as V2MergeStrategy, RunArtifactsLayer, RunPullRequestLayer,
|
||||
};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ use std::path::Path;
|
|||
use std::process::Command;
|
||||
|
||||
use fabro_checkpoint::git::Store;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
|
||||
use crate::error::{FabroError, Result};
|
||||
use tokio::task::{JoinError, spawn_blocking};
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ use crate::run_options::RunOptions;
|
|||
use async_trait::async_trait;
|
||||
use fabro_graphviz::graph::{AttrValue, Graph, Node};
|
||||
use fabro_store::{ArtifactStore, Database};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use object_store::memory::InMemory;
|
||||
use tokio::time::{sleep, timeout};
|
||||
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ use fabro_graphviz::graph::{AttrValue, Graph};
|
|||
use fabro_model::{Catalog, Provider};
|
||||
use fabro_sandbox::SandboxProvider;
|
||||
use fabro_store::Database;
|
||||
use fabro_types::settings::v2::run::{RunLayer, RunModelLayer};
|
||||
use fabro_types::settings::v2::{InterpString, SettingsFile};
|
||||
use fabro_types::settings::run::{RunLayer, RunModelLayer};
|
||||
use fabro_types::settings::{InterpString, SettingsFile};
|
||||
use fabro_types::{RunId, RunProvenance};
|
||||
use std::collections::BTreeMap;
|
||||
use std::collections::HashMap;
|
||||
|
|
@ -559,7 +559,7 @@ mod tests {
|
|||
start -> work -> exit
|
||||
}"#;
|
||||
let validated = validate_dot(dot, {
|
||||
use fabro_types::settings::v2::run::RunLayer;
|
||||
use fabro_types::settings::run::RunLayer;
|
||||
let mut inputs = std::collections::HashMap::new();
|
||||
inputs.insert("who".to_string(), toml::Value::String("agent".to_string()));
|
||||
SettingsFile {
|
||||
|
|
@ -765,7 +765,7 @@ mod tests {
|
|||
base_dir: None,
|
||||
},
|
||||
settings: {
|
||||
use fabro_types::settings::v2::run::{
|
||||
use fabro_types::settings::run::{
|
||||
RunExecutionLayer, RunLayer, RunMode, RunModelLayer, RunPullRequestLayer,
|
||||
};
|
||||
let mut metadata = HashMap::new();
|
||||
|
|
@ -871,7 +871,7 @@ mod tests {
|
|||
base_dir: None,
|
||||
},
|
||||
settings: {
|
||||
use fabro_types::settings::v2::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
SettingsFile {
|
||||
run: Some(RunLayer {
|
||||
working_dir: Some(InterpString::parse("workspace")),
|
||||
|
|
@ -947,7 +947,7 @@ mod tests {
|
|||
}
|
||||
|
||||
fn dry_run_only_settings() -> SettingsFile {
|
||||
use fabro_types::settings::v2::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
SettingsFile {
|
||||
run: Some(RunLayer {
|
||||
execution: Some(RunExecutionLayer {
|
||||
|
|
@ -961,8 +961,8 @@ mod tests {
|
|||
}
|
||||
|
||||
fn dry_run_with_storage(storage_dir: &Path) -> SettingsFile {
|
||||
use fabro_types::settings::v2::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::v2::server::{ServerLayer, ServerStorageLayer};
|
||||
use fabro_types::settings::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::server::{ServerLayer, ServerStorageLayer};
|
||||
SettingsFile {
|
||||
run: Some(RunLayer {
|
||||
execution: Some(RunExecutionLayer {
|
||||
|
|
|
|||
|
|
@ -335,7 +335,7 @@ mod tests {
|
|||
use chrono::{TimeZone, Utc};
|
||||
use fabro_graphviz::graph::Graph;
|
||||
use fabro_store::{Database, StageId};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{RunId, RunRecord, SandboxRecord, StartRecord, fixtures};
|
||||
use object_store::memory::InMemory;
|
||||
use std::collections::HashMap;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ use std::sync::Arc;
|
|||
|
||||
use anyhow::Context;
|
||||
use fabro_config::project as project_config;
|
||||
use fabro_types::settings::v2::{InterpString, SettingsFile};
|
||||
use fabro_types::settings::{InterpString, SettingsFile};
|
||||
use fabro_util::path::expand_tilde;
|
||||
|
||||
use crate::file_resolver::{FileResolver, FilesystemFileResolver};
|
||||
|
|
@ -168,7 +168,7 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn resolve_workflow_uses_explicit_cwd_for_relative_work_dir() {
|
||||
use fabro_types::settings::v2::run::RunLayer;
|
||||
use fabro_types::settings::run::RunLayer;
|
||||
|
||||
let dir = tempfile::tempdir().unwrap();
|
||||
let resolved = resolve_workflow(ResolveWorkflowInput {
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ use fabro_sandbox::config::{
|
|||
};
|
||||
use fabro_sandbox::{SandboxProvider, SandboxSpec};
|
||||
use fabro_types::RunId;
|
||||
use fabro_types::settings::v2::run::ModelRefOrSplice;
|
||||
use fabro_types::settings::v2::{InterpString, SettingsFile};
|
||||
use fabro_types::settings::run::ModelRefOrSplice;
|
||||
use fabro_types::settings::{InterpString, SettingsFile};
|
||||
|
||||
use crate::config::{PullRequestSettings, bridge_pull_request};
|
||||
|
||||
|
|
@ -852,7 +852,7 @@ mod tests {
|
|||
use chrono::Utc;
|
||||
use fabro_store::Database;
|
||||
use fabro_types::fixtures;
|
||||
use fabro_types::settings::v2::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use object_store::memory::InMemory;
|
||||
|
||||
use super::*;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
use std::path::PathBuf;
|
||||
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
|
||||
use crate::error::FabroError;
|
||||
use crate::pipeline::Validated;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ use fabro_hooks::HookSettings;
|
|||
use fabro_interview::AutoApproveInterviewer;
|
||||
use fabro_sandbox::SandboxSpec;
|
||||
use fabro_store::Database;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{RunId, fixtures};
|
||||
use object_store::memory::InMemory;
|
||||
|
||||
|
|
|
|||
|
|
@ -306,7 +306,7 @@ mod tests {
|
|||
|
||||
use fabro_graphviz::graph::Graph;
|
||||
use fabro_store::Database;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{RunId, fixtures};
|
||||
use object_store::memory::InMemory;
|
||||
|
||||
|
|
|
|||
|
|
@ -534,7 +534,7 @@ pub async fn initialize(
|
|||
build_registry(&options.llm, Arc::clone(&options.interviewer), &env, &graph).await?
|
||||
};
|
||||
if effective_dry_run {
|
||||
use fabro_types::settings::v2::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
|
||||
options.dry_run = true;
|
||||
let run = options
|
||||
|
|
@ -688,7 +688,7 @@ mod tests {
|
|||
use fabro_interview::AutoApproveInterviewer;
|
||||
use fabro_sandbox::SandboxSpec;
|
||||
use fabro_store::Database;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{RunId, fixtures};
|
||||
use object_store::memory::InMemory;
|
||||
|
||||
|
|
|
|||
|
|
@ -55,9 +55,9 @@ mod tests {
|
|||
use fabro_graphviz::graph::{AttrValue, Edge, Graph, Node};
|
||||
use fabro_store::{Database, RunDatabase};
|
||||
use fabro_types::fixtures;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::cli::{CliLayer, CliOutputLayer, OutputVerbosity};
|
||||
use fabro_types::settings::v2::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::cli::{CliLayer, CliOutputLayer, OutputVerbosity};
|
||||
use fabro_types::settings::run::{RunExecutionLayer, RunLayer, RunMode};
|
||||
use object_store::memory::InMemory;
|
||||
use std::sync::Arc;
|
||||
use std::time::Duration;
|
||||
|
|
|
|||
|
|
@ -595,7 +595,7 @@ mod tests {
|
|||
AggregateStats, FrictionKind, FrictionPoint, OpenItem, OpenItemKind, StageRetro,
|
||||
};
|
||||
use fabro_store::Database;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{BilledTokenCounts, RunRecord, fixtures};
|
||||
use futures::stream;
|
||||
use object_store::memory::InMemory;
|
||||
|
|
|
|||
|
|
@ -184,7 +184,7 @@ mod tests {
|
|||
|
||||
use fabro_graphviz::graph::Graph;
|
||||
use fabro_store::Database;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{RunId, fixtures};
|
||||
use object_store::memory::InMemory;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ use chrono::{DateTime, Utc};
|
|||
use fabro_config::Storage;
|
||||
use fabro_store::{Database, RunSummary};
|
||||
use fabro_types::RunId;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use serde::Serialize;
|
||||
|
||||
use crate::operations::make_run_dir;
|
||||
|
|
@ -397,7 +397,7 @@ mod tests {
|
|||
|
||||
use fabro_graphviz::graph::Graph;
|
||||
use fabro_store::Database;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{RunStatus, fixtures};
|
||||
use object_store::memory::InMemory;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ use std::sync::Arc;
|
|||
use std::sync::atomic::AtomicBool;
|
||||
|
||||
use fabro_types::RunId;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::run::RunPullRequestLayer;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::run::RunPullRequestLayer;
|
||||
|
||||
use crate::git::{GitAuthor, git_author_from_settings};
|
||||
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ mod tests {
|
|||
use fabro_store::Database;
|
||||
use fabro_types::fixtures;
|
||||
use fabro_types::run_event::RunSubmittedProps;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::{EventBody, RunEvent};
|
||||
use object_store::memory::InMemory;
|
||||
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ use fabro_graphviz::graph::{AttrValue, Edge, Graph, Node};
|
|||
use fabro_llm::provider::Provider;
|
||||
use fabro_sandbox::daytona::{DaytonaConfig, DaytonaSandbox, DaytonaSnapshotConfig};
|
||||
use fabro_store::{ArtifactStore, Database};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::run::{RunArtifactsLayer, RunLayer};
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::run::{RunArtifactsLayer, RunLayer};
|
||||
use fabro_types::{RunId, StageId};
|
||||
use fabro_workflow::artifact::sync_artifacts_to_env;
|
||||
use fabro_workflow::context::Context;
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ use fabro_interview::{
|
|||
};
|
||||
use fabro_llm::provider::Provider;
|
||||
use fabro_store::{ArtifactStore, Database};
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::v2::run::{RunArtifactsLayer, RunLayer};
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_types::settings::run::{RunArtifactsLayer, RunLayer};
|
||||
use fabro_types::{RunEvent, RunId, StageId};
|
||||
use fabro_validate::{Severity, validate, validate_or_raise};
|
||||
use fabro_workflow::context::Context;
|
||||
|
|
@ -6019,7 +6019,7 @@ mod real_llm {
|
|||
use async_trait::async_trait;
|
||||
|
||||
use fabro_graphviz::graph::Node;
|
||||
use fabro_types::settings::v2::SettingsFile;
|
||||
use fabro_types::settings::SettingsFile;
|
||||
use fabro_workflow::context::Context;
|
||||
use fabro_workflow::error::FabroError;
|
||||
use fabro_workflow::handler::agent::{AgentHandler, CodergenBackend, CodergenResult};
|
||||
|
|
@ -8091,7 +8091,7 @@ async fn hook_config_merge_run_overrides_by_name() {
|
|||
|
||||
// The legacy `Settings`-based TOML parsing tests were deleted in Stage
|
||||
// 6.3b. Hook TOML parsing now flows through the v2 `SettingsFile` path,
|
||||
// with coverage in `fabro-types::settings::v2::tree::tests` and the
|
||||
// with coverage in `fabro-types::settings::tree::tests` and the
|
||||
// fabro-cli integration tests under `cmd::config`.
|
||||
|
||||
// --- Blocking vs non-blocking behavior ---
|
||||
|
|
@ -8241,7 +8241,7 @@ async fn hook_sandbox_false_runs_on_host() {
|
|||
|
||||
// Prompt and Agent hook TOML parsing: the legacy `Settings`-based
|
||||
// variant of this test was deleted in Stage 6.3b; v2 coverage lives in
|
||||
// `fabro-types::settings::v2::tree::tests`.
|
||||
// `fabro-types::settings::tree::tests`.
|
||||
|
||||
// --- Events emitted correctly alongside hooks ---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue