pub struct ArchitectAgent { /* private fields */ }Expand description
Architect agent - handles planning and DAG construction
Implementations§
Source§impl ArchitectAgent
impl ArchitectAgent
pub fn new(provider: Arc<GenAIProvider>, model: Option<String>) -> Self
pub fn build_planning_prompt( &self, node: &SRBNNode, ctx: &AgentContext, ) -> String
Sourcepub fn build_task_decomposition_prompt(
task: &str,
working_dir: &Path,
project_context: &str,
last_error: Option<&str>,
) -> String
pub fn build_task_decomposition_prompt( task: &str, working_dir: &Path, project_context: &str, last_error: Option<&str>, ) -> String
PSP-5 Fix F: Canonical task decomposition prompt with the full JSON schema contract. Used by both the ArchitectAgent (node-level) and the Orchestrator (initial planning).
Trait Implementations§
Source§impl Agent for ArchitectAgent
impl Agent for ArchitectAgent
Source§fn process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
node: &'life1 SRBNNode,
ctx: &'life2 AgentContext,
) -> Pin<Box<dyn Future<Output = Result<AgentMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn process<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
node: &'life1 SRBNNode,
ctx: &'life2 AgentContext,
) -> Pin<Box<dyn Future<Output = Result<AgentMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Process a task and return a message
Source§fn can_handle(&self, node: &SRBNNode) -> bool
fn can_handle(&self, node: &SRBNNode) -> bool
Check if this agent can handle the given node
Source§fn build_prompt(&self, node: &SRBNNode, ctx: &AgentContext) -> String
fn build_prompt(&self, node: &SRBNNode, ctx: &AgentContext) -> String
Build the prompt for this agent (for logging)
Auto Trait Implementations§
impl Freeze for ArchitectAgent
impl !RefUnwindSafe for ArchitectAgent
impl Send for ArchitectAgent
impl Sync for ArchitectAgent
impl Unpin for ArchitectAgent
impl UnsafeUnpin for ArchitectAgent
impl !UnwindSafe for ArchitectAgent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more