pub struct ShadowAgent {
pub agent: Agent,
pub config: ShadowConfig,
pub blue_agent_id: Uuid,
}Expand description
A shadow agent that challenges its paired Blue agent
Fields§
§agent: AgentThe underlying agent
config: ShadowConfigShadow-specific configuration
blue_agent_id: UuidID of the Blue agent this shadow is paired with
Implementations§
Source§impl ShadowAgent
impl ShadowAgent
Sourcepub fn new(blue_agent: &Agent, config: ShadowConfig) -> Self
pub fn new(blue_agent: &Agent, config: ShadowConfig) -> Self
Create a new shadow agent for the given Blue agent
Sourcepub fn challenge_prompt(&self, claim: &str) -> String
pub fn challenge_prompt(&self, claim: &str) -> String
Generate a challenge prompt for the given claim with enhanced heuristics
Sourcepub fn detect_issues(&self, claim: &str) -> Vec<String>
pub fn detect_issues(&self, claim: &str) -> Vec<String>
Detect potential areas of interest in a claim using pattern-based guidance Returns a list of focus areas for the shadow agent to scrutinize.
Trait Implementations§
Source§impl Clone for ShadowAgent
impl Clone for ShadowAgent
Source§fn clone(&self) -> ShadowAgent
fn clone(&self) -> ShadowAgent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ShadowAgent
impl RefUnwindSafe for ShadowAgent
impl Send for ShadowAgent
impl Sync for ShadowAgent
impl Unpin for ShadowAgent
impl UnwindSafe for ShadowAgent
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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