pub struct TrajectoryConfig {
pub enabled: bool,
pub trajectory_provider: ProviderName,
pub context_budget_tokens: usize,
pub max_messages: usize,
pub extraction_timeout_secs: u64,
pub recall_top_k: usize,
pub min_confidence: f64,
}Expand description
Trajectory-informed memory configuration (#2498).
When enabled = true, tool-call turns are analyzed by a fast LLM provider to extract
procedural (reusable how-to) and episodic (one-off event) entries stored per-conversation.
Procedural entries are injected into context as “past experience” during assembly.
Fields§
§enabled: boolEnable trajectory extraction and context injection. Default: false.
trajectory_provider: ProviderNameProvider name from [[llm.providers]] for extraction.
Should be a fast/cheap model. Falls back to the primary provider when empty.
context_budget_tokens: usizeToken budget allocated to trajectory hints in context assembly. Default: 400.
max_messages: usizeMaximum messages fed to the extraction LLM per pass. Default: 10.
extraction_timeout_secs: u64LLM timeout for the extraction call in seconds. Default: 10.
recall_top_k: usizeNumber of procedural entries retrieved for context injection. Default: 5.
min_confidence: f64Minimum confidence score for entries included in context. Default: 0.6.
Trait Implementations§
Source§impl Clone for TrajectoryConfig
impl Clone for TrajectoryConfig
Source§fn clone(&self) -> TrajectoryConfig
fn clone(&self) -> TrajectoryConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TrajectoryConfig
impl Debug for TrajectoryConfig
Source§impl Default for TrajectoryConfig
impl Default for TrajectoryConfig
Source§impl<'de> Deserialize<'de> for TrajectoryConfigwhere
TrajectoryConfig: Default,
impl<'de> Deserialize<'de> for TrajectoryConfigwhere
TrajectoryConfig: Default,
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>,
Auto Trait Implementations§
impl Freeze for TrajectoryConfig
impl RefUnwindSafe for TrajectoryConfig
impl Send for TrajectoryConfig
impl Sync for TrajectoryConfig
impl Unpin for TrajectoryConfig
impl UnsafeUnpin for TrajectoryConfig
impl UnwindSafe for TrajectoryConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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