pub struct SelfReferenceSystem { /* private fields */ }Expand description
System for agent self-reference and self-improvement
Implementations§
Source§impl SelfReferenceSystem
impl SelfReferenceSystem
Sourcepub fn new(
semantic: Arc<RwLock<SemanticMemory>>,
selfware_path: PathBuf,
) -> Self
pub fn new( semantic: Arc<RwLock<SemanticMemory>>, selfware_path: PathBuf, ) -> Self
Create new self-reference system
Sourcepub async fn initialize_self_model(&mut self) -> Result<()>
pub async fn initialize_self_model(&mut self) -> Result<()>
Initialize self-model from codebase analysis
Sourcepub async fn get_improvement_context(
&self,
goal: &str,
max_tokens: usize,
) -> Result<SelfImprovementContext>
pub async fn get_improvement_context( &self, goal: &str, max_tokens: usize, ) -> Result<SelfImprovementContext>
Get context for self-improvement task
Sourcepub async fn read_own_code(
&self,
module_path: &str,
options: &SourceRetrievalOptions,
) -> Result<String>
pub async fn read_own_code( &self, module_path: &str, options: &SourceRetrievalOptions, ) -> Result<String>
Read own source code
Sourcepub fn track_modification(&mut self, modification: CodeModification)
pub fn track_modification(&mut self, modification: CodeModification)
Track a code modification
Sourcepub fn get_self_model(&self) -> &SelfModel
pub fn get_self_model(&self) -> &SelfModel
Get self-model reference
Sourcepub fn get_recent_modifications(&self) -> &VecDeque<CodeModification>
pub fn get_recent_modifications(&self) -> &VecDeque<CodeModification>
Get recent modifications
Auto Trait Implementations§
impl Freeze for SelfReferenceSystem
impl !RefUnwindSafe for SelfReferenceSystem
impl Send for SelfReferenceSystem
impl Sync for SelfReferenceSystem
impl Unpin for SelfReferenceSystem
impl UnsafeUnpin for SelfReferenceSystem
impl !UnwindSafe for SelfReferenceSystem
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request