pub struct ContextAssemblyInput<'a> {
pub memory: &'a ContextMemoryView,
pub context_manager: &'a ContextManager,
pub token_counter: &'a TokenCounter,
pub skills_prompt: &'a str,
pub index: Option<&'a dyn IndexAccess>,
pub correction_config: Option<CorrectionConfig>,
pub sidequest_turn_counter: u64,
pub messages: &'a [Message],
pub query: &'a str,
pub scrub: fn(&str) -> Cow<'_, str>,
}Expand description
All borrowed data needed to assemble context for one agent turn.
All fields are shared references — ContextAssembler::gather never mutates any state.
The caller (in zeph-core) is responsible for populating this struct and passing it to
crate::assembler::ContextAssembler::gather.
Fields§
§memory: &'a ContextMemoryViewSnapshot of memory subsystem configuration for this turn.
context_manager: &'a ContextManagerContext lifecycle state machine.
token_counter: &'a TokenCounterToken counter for budget enforcement.
skills_prompt: &'a strText of the skills prompt injected in the last turn (used for budget calculation).
index: Option<&'a dyn IndexAccess>Index RAG accessor. None when code-index is disabled.
correction_config: Option<CorrectionConfig>Learning engine corrections config. None when self-learning is disabled.
sidequest_turn_counter: u64Current value of the sidequest turn counter, for adaptive strategy selection.
messages: &'a [Message]Message window snapshot used for strategy resolution and system-prompt extraction.
query: &'a strThe user query for the current turn, used as the search query for all memory lookups.
scrub: fn(&str) -> Cow<'_, str>Content scrubber for PII removal. Passed as a function pointer to avoid a dependency
on zeph-core’s redact module.
Auto Trait Implementations§
impl<'a> Freeze for ContextAssemblyInput<'a>
impl<'a> !RefUnwindSafe for ContextAssemblyInput<'a>
impl<'a> Send for ContextAssemblyInput<'a>
impl<'a> Sync for ContextAssemblyInput<'a>
impl<'a> Unpin for ContextAssemblyInput<'a>
impl<'a> UnsafeUnpin for ContextAssemblyInput<'a>
impl<'a> !UnwindSafe for ContextAssemblyInput<'a>
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
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>
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>
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>
T in a tonic::Request