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
Sourcepub fn with_node_cards(self, node_cards: Arc<dyn NodeCardStore>) -> Self
pub fn with_node_cards(self, node_cards: Arc<dyn NodeCardStore>) -> Self
Mounts the store that holds reader-authored cards. Without it, condensing is refused by name rather than answered with silence.
Sourcepub async fn condense(
&self,
command: AuthorNodeCard,
) -> Result<Result<NodeCard, NodeCardRejection>, ApplicationError>
pub async fn condense( &self, command: AuthorNodeCard, ) -> Result<Result<NodeCard, NodeCardRejection>, ApplicationError>
Authors or refreshes one node’s compact card.
The outer result is this service failing; the inner one is the card policy refusing a write the store could have performed. A caller that collapses them turns “your card is out of date” into “memory is down”.
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.
Sourcepub async fn evidence_paths(
&self,
request: EvidencePathRequest,
) -> Result<EvidencePathResult, ApplicationError>
pub async fn evidence_paths( &self, request: EvidencePathRequest, ) -> Result<EvidencePathResult, ApplicationError>
Library-level seed discovery. The MCP transport does not expose this internal role policy until its progressive agent surface is designed.
pub async fn trace_search( &self, request: TraceSearchRequest, ) -> Result<TraceSearchResult, ApplicationError>
pub async fn trace( &self, query: TraceMemoryQuery, ) -> Result<GetContextPathResult, ApplicationError>
Sourcepub async fn read_nodes(
&self,
request: MemoryNodesRequest,
) -> Result<MemoryNodesResult, ApplicationError>
pub async fn read_nodes( &self, request: MemoryNodesRequest, ) -> Result<MemoryNodesResult, ApplicationError>
Resolve the selected headers and coordinates together without loading proof bodies.