refactor(workflows): move backend module to handler/llm

Co-locate LLM backend implementations (AgentApiBackend, AgentCliBackend,
BackendRouter) under handler/ since they implement the CodergenBackend
trait defined in handler/agent.rs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-03-25 10:26:41 -04:00
parent 8c07aef6a1
commit 6ce9704128
No known key found for this signature in database
10 changed files with 9 additions and 9 deletions

View file

@ -15,7 +15,7 @@ use crate::jwt_auth::{AuthMode, AuthStrategy};
use crate::server::build_router;
use crate::tls::ClientAuth;
use fabro_interview::Interviewer;
use fabro_workflows::backend::AgentApiBackend;
use fabro_workflows::handler::llm::AgentApiBackend;
use fabro_workflows::handler::default_registry;
use fabro_workflows::sandbox_provider::SandboxProvider;

View file

@ -10,7 +10,7 @@ use fabro_config::config::FabroConfig;
use fabro_interview::{AutoApproveInterviewer, ConsoleInterviewer, Interviewer};
use fabro_model::{Catalog, Provider};
use fabro_util::terminal::Styles;
use fabro_workflows::backend::{AgentApiBackend, AgentCliBackend, BackendRouter};
use fabro_workflows::handler::llm::{AgentApiBackend, AgentCliBackend, BackendRouter};
use fabro_workflows::checkpoint::Checkpoint;
use fabro_workflows::event::{EventEmitter, RunNoticeLevel};
use fabro_workflows::operations::{

View file

@ -15,7 +15,7 @@ use fabro_config::{project as project_config, run as run_config, sandbox as sand
use fabro_interview::{AutoApproveInterviewer, ConsoleInterviewer, FileInterviewer, Interviewer};
use fabro_model::{Catalog, FallbackTarget, Provider};
use fabro_util::terminal::Styles;
use fabro_workflows::backend::{AgentApiBackend, AgentCliBackend, BackendRouter};
use fabro_workflows::handler::llm::{AgentApiBackend, AgentCliBackend, BackendRouter};
use fabro_workflows::checkpoint::Checkpoint;
use fabro_workflows::cost::{compute_stage_cost, format_cost};
use fabro_workflows::devcontainer_bridge;

View file

@ -16,7 +16,7 @@ use crate::context::{Context, WorkflowContext};
use crate::cost::compute_stage_cost;
use crate::error::FabroError;
use crate::event::WorkflowRunEvent;
use crate::handler::agent::{CodergenBackend, CodergenResult};
use super::super::agent::{CodergenBackend, CodergenResult};
use crate::outcome::StageUsage;
use fabro_graphviz::graph::Node;

View file

@ -11,7 +11,7 @@ use crate::context::Context;
use crate::cost::compute_stage_cost;
use crate::error::FabroError;
use crate::event::{EventEmitter, WorkflowRunEvent};
use crate::handler::agent::{CodergenBackend, CodergenResult};
use super::super::agent::{CodergenBackend, CodergenResult};
use crate::outcome::StageUsage;
use fabro_graphviz::graph::Node;

View file

@ -1,5 +1,6 @@
pub mod agent;
pub mod command;
pub mod llm;
pub mod conditional;
pub mod exit;
pub mod fan_in;

View file

@ -91,7 +91,6 @@ pub fn build_completed_stages(
pub mod artifact;
pub mod asset_snapshot;
pub mod assets;
pub mod backend;
pub mod checkpoint;
pub mod conclusion;
pub mod condition;

View file

@ -897,7 +897,7 @@ async fn daytona_parallel_git_branching_e2e() {
// CLI Backend on Daytona — real CLI tools via exec_command
// ---------------------------------------------------------------------------
use fabro_workflows::backend::AgentCliBackend;
use fabro_workflows::handler::llm::AgentCliBackend;
use fabro_workflows::handler::agent::{CodergenBackend, CodergenResult};
/// Helper: run a real CLI backend test on Daytona.

View file

@ -12,8 +12,8 @@ use fabro_interview::{
};
use fabro_llm::provider::Provider;
use fabro_validate::{validate, validate_or_raise, Severity};
use fabro_workflows::backend::cli::{parse_cli_response, AgentCliBackend, BackendRouter};
use fabro_workflows::backend::AgentApiBackend;
use fabro_workflows::handler::llm::cli::{parse_cli_response, AgentCliBackend, BackendRouter};
use fabro_workflows::handler::llm::AgentApiBackend;
use fabro_workflows::checkpoint::Checkpoint;
use fabro_workflows::context::Context;
use fabro_workflows::error::FabroError;