pub struct SummarizationDeps {
pub provider: AnyProvider,
pub llm_timeout: Duration,
pub token_counter: Arc<TokenCounter>,
pub structured_summaries: bool,
pub on_anchored_summary: Option<Arc<dyn Fn(&AnchoredSummary, bool) + Send + Sync>>,
}Expand description
Explicit LLM dependencies for async summarization, avoiding coupling to Agent<C>.
Passed to single_pass_summary, summarize_with_llm, and summarize_structured
so these functions can be called from zeph-context without depending on zeph-core.
Fields§
§provider: AnyProviderLLM provider used for all summarization calls.
llm_timeout: DurationTimeout applied to each individual LLM call.
token_counter: Arc<TokenCounter>Token counter for chunking message slices.
structured_summaries: boolWhether to attempt structured AnchoredSummary output before prose.
on_anchored_summary: Option<Arc<dyn Fn(&AnchoredSummary, bool) + Send + Sync>>Optional callback invoked with the AnchoredSummary result and a fallback flag.
Used by zeph-core to write debug dumps without the SummarizationDeps knowing
about DebugDumper. Pass None when debug dumps are not needed.
Trait Implementations§
Source§impl Clone for SummarizationDeps
impl Clone for SummarizationDeps
Source§fn clone(&self) -> SummarizationDeps
fn clone(&self) -> SummarizationDeps
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !Freeze for SummarizationDeps
impl !RefUnwindSafe for SummarizationDeps
impl Send for SummarizationDeps
impl Sync for SummarizationDeps
impl Unpin for SummarizationDeps
impl UnsafeUnpin for SummarizationDeps
impl !UnwindSafe for SummarizationDeps
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> 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>
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