pub struct KernelMemoryApplicationService<G, D, S, E, W> { /* private fields */ }Implementations§
Source§impl<G, D, S, E, W> KernelMemoryApplicationService<G, D, S, E, W>
impl<G, D, S, E, W> KernelMemoryApplicationService<G, D, S, E, W>
pub fn new( query_application: Arc<QueryApplicationService<G, D, S>>, command_application: Arc<CommandApplicationService<E, W>>, ) -> Self
Source§impl<G, D, S, E, W> KernelMemoryApplicationService<G, D, S, E, W>where
G: GraphNeighborhoodReader + MemoryAboutIndexReader + NodeRelationshipReader + Send + Sync,
D: NodeDetailReader + Send + Sync,
S: SnapshotStore + Send + Sync,
E: ContextEventStore + Send + Sync,
W: ProjectionWriter + Send + Sync,
impl<G, D, S, E, W> KernelMemoryApplicationService<G, D, S, E, W>where
G: GraphNeighborhoodReader + MemoryAboutIndexReader + NodeRelationshipReader + Send + Sync,
D: NodeDetailReader + Send + Sync,
S: SnapshotStore + Send + Sync,
E: ContextEventStore + Send + Sync,
W: ProjectionWriter + Send + Sync,
pub async fn ingest( &self, command: MemoryIngestCommand, ) -> Result<MemoryIngestOutcome, ApplicationError>
Sourcepub async fn relabel(
&self,
command: MemoryRelabelCommand,
) -> Result<MemoryRelabelOutcome, ApplicationError>
pub async fn relabel( &self, command: MemoryRelabelCommand, ) -> Result<MemoryRelabelOutcome, ApplicationError>
Changes the labels one entry stands in without rewriting its text.
Read like a write: the about’s catalogue and the entry’s coordinates
come from the store, the translation refuses what only the caller
can fix, and one memory_relabel change goes to the log.
Sourcepub async fn list_abouts(&self) -> Result<Vec<String>, ApplicationError>
pub async fn list_abouts(&self) -> Result<Vec<String>, ApplicationError>
The abouts the memory currently indexes, for consumers that render an index of what can be recalled — a viewer’s sidebar, a CLI listing.
pub async fn wake( &self, query: WakeMemoryQuery, ) -> Result<GetContextResult, ApplicationError>
pub async fn ask( &self, query: AskMemoryQuery, ) -> Result<GetContextResult, ApplicationError>
pub async fn temporal( &self, query: TemporalMemoryQuery, ) -> Result<TemporalMemoryResult, ApplicationError>
Sourcepub async fn visual_projection(
&self,
query: VisualProjectionQuery,
) -> Result<VisualProjectionResult, ApplicationError>
pub async fn visual_projection( &self, query: VisualProjectionQuery, ) -> Result<VisualProjectionResult, ApplicationError>
A range- and level-of-detail-aware read model for renderers.
This stays on the application facade: storage never gains a viewer query and renderers never reach into an engine. The temporal move narrows by the selected clock first; bins, clusters and moment entries are then projected on a channel whose result is not a model prompt.
Sourcepub async fn relate(
&self,
query: RelateMemoryQuery,
) -> Result<GetContextResult, ApplicationError>
pub async fn relate( &self, query: RelateMemoryQuery, ) -> Result<GetContextResult, ApplicationError>
The neighbourhood relate reads: the same load as ask over the
abouts the selection names or resolves. Where the facts fall in time,
and what they have to do with each other, is read from the bundle
afterwards; the store is asked for nothing it does not hold.