pub struct SteeringRule {
pub id: String,
pub name: String,
pub inclusion: SteeringInclusion,
pub content: String,
pub file_references: Vec<FileReference>,
pub priority: u8,
pub source_path: Option<PathBuf>,
}Expand description
Steering rule definition
Represents a rule that guides agent behavior based on context.
Fields§
§id: StringUnique identifier for the rule
name: StringHuman-readable name
inclusion: SteeringInclusionHow this rule should be included
content: StringThe content of the steering rule (markdown)
file_references: Vec<FileReference>File references to resolve
priority: u8Priority (lower = higher priority)
source_path: Option<PathBuf>Source file path
Implementations§
Source§impl SteeringRule
impl SteeringRule
Sourcepub fn with_inclusion(self, inclusion: SteeringInclusion) -> Self
pub fn with_inclusion(self, inclusion: SteeringInclusion) -> Self
Set the inclusion type
Sourcepub fn with_content(self, content: impl Into<String>) -> Self
pub fn with_content(self, content: impl Into<String>) -> Self
Set the content
Sourcepub fn with_priority(self, priority: u8) -> Self
pub fn with_priority(self, priority: u8) -> Self
Set the priority
Sourcepub fn with_source_path(self, path: impl Into<PathBuf>) -> Self
pub fn with_source_path(self, path: impl Into<PathBuf>) -> Self
Set the source path
Sourcepub fn with_file_reference(self, reference: FileReference) -> Self
pub fn with_file_reference(self, reference: FileReference) -> Self
Add a file reference
Sourcepub fn applies_to(&self, context: &AgentContext) -> bool
pub fn applies_to(&self, context: &AgentContext) -> bool
Check if this rule applies to the given context
Sourcepub fn resolved_content(&self) -> String
pub fn resolved_content(&self) -> String
Get the resolved content with file references inlined
Trait Implementations§
Source§impl Clone for SteeringRule
impl Clone for SteeringRule
Source§fn clone(&self) -> SteeringRule
fn clone(&self) -> SteeringRule
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SteeringRule
impl Debug for SteeringRule
Source§impl<'de> Deserialize<'de> for SteeringRule
impl<'de> Deserialize<'de> for SteeringRule
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<&SteeringRule> for SteeringInfo
impl From<&SteeringRule> for SteeringInfo
Source§fn from(rule: &SteeringRule) -> Self
fn from(rule: &SteeringRule) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for SteeringRule
impl RefUnwindSafe for SteeringRule
impl Send for SteeringRule
impl Sync for SteeringRule
impl Unpin for SteeringRule
impl UnsafeUnpin for SteeringRule
impl UnwindSafe for SteeringRule
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.