pub struct DebugDumper { /* private fields */ }Expand description
Cloneable debug dump writer; clones share the same atomic counter.
Implementations§
Source§impl DebugDumper
impl DebugDumper
Sourcepub fn new(base_dir: &Path, format: DumpFormat) -> Result<Self>
pub fn new(base_dir: &Path, format: DumpFormat) -> Result<Self>
Create a new dumper, creating a timestamped subdirectory under base_dir.
§Errors
Returns an error if the directory cannot be created.
Sourcepub fn with_include_raw_images(self, include: bool) -> Self
pub fn with_include_raw_images(self, include: bool) -> Self
Sets whether MessagePart::Image payloads are written to debug dumps as full raw
base64 bytes instead of a redacted <redacted image: ...> marker.
Default: false (redacted). Mirrors zeph_config::DebugConfig::include_raw_images;
enable only when a developer explicitly needs full wire-payload fidelity for
image-related debugging (#6306). Logs a warning when enabled so operators have a
visible signal that this security tradeoff is active.
Sourcepub fn is_trace_format(&self) -> bool
pub fn is_trace_format(&self) -> bool
Returns true when the dump format is DumpFormat::Trace.
In Trace mode dump_request returns early without using provider_request, so callers
can skip the expensive debug_request_json serialization.
Sourcepub fn dump_request(&self, request: &RequestDebugDump<'_>) -> u32
pub fn dump_request(&self, request: &RequestDebugDump<'_>) -> u32
Dump the messages about to be sent to the LLM.
Returns an ID that must be passed to dump_response to correlate request and response.
When format = Trace, no file is written (spans are collected by trace::TracingCollector).
Sourcepub fn dump_response(&self, id: u32, response: &str)
pub fn dump_response(&self, id: u32, response: &str)
Dump the LLM response corresponding to a prior dump_request call.
When format = Trace, this is a no-op.
Sourcepub fn dump_tool_output(&self, tool_name: &str, output: &str)
pub fn dump_tool_output(&self, tool_name: &str, output: &str)
Dump raw tool output before any truncation or summarization.
When format = Trace, this is a no-op (tool output is recorded via TracingCollector).
Sourcepub fn dump_focus_knowledge(&self, knowledge: &str)
pub fn dump_focus_knowledge(&self, knowledge: &str)
Dump the accumulated Focus Agent knowledge blocks.
When format = Trace, this is a no-op.
Sourcepub fn dump_tool_error(&self, tool_name: &str, error: &ToolError)
pub fn dump_tool_error(&self, tool_name: &str, error: &ToolError)
Dump a tool error with error classification for debugging transient/permanent failures.
When format = Trace, this is a no-op.
Trait Implementations§
Source§impl Clone for DebugDumper
impl Clone for DebugDumper
Source§fn clone(&self) -> DebugDumper
fn clone(&self) -> DebugDumper
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl DebugDumpSink for DebugDumper
Lets zeph-subagent’s agent loop write sub-agent LLM request/response pairs through the
same DebugDumper the top-level agent loop uses, without zeph-subagent depending on
zeph-core (#6391). See zeph_llm::debug_dump::DebugDumpSink for the contract.
impl DebugDumpSink for DebugDumper
Lets zeph-subagent’s agent loop write sub-agent LLM request/response pairs through the
same DebugDumper the top-level agent loop uses, without zeph-subagent depending on
zeph-core (#6391). See zeph_llm::debug_dump::DebugDumpSink for the contract.
Source§fn is_trace_format(&self) -> bool
fn is_trace_format(&self) -> bool
true when the active dump format does not need provider_request built
(e.g. Trace format, which records spans instead of numbered files) — callers can
skip the (non-free) request serialization in that case.Source§fn dump_request(
&self,
model_name: &str,
messages: &[Message],
tools: &[ToolDefinition],
provider_request: Value,
) -> u32
fn dump_request( &self, model_name: &str, messages: &[Message], tools: &[ToolDefinition], provider_request: Value, ) -> u32
dump_response
to correlate the pair.Source§fn dump_response(&self, id: u32, response: &ChatResponse)
fn dump_response(&self, id: u32, response: &ChatResponse)
dump_request call.Auto Trait Implementations§
impl Freeze for DebugDumper
impl RefUnwindSafe for DebugDumper
impl Send for DebugDumper
impl Sync for DebugDumper
impl Unpin for DebugDumper
impl UnsafeUnpin for DebugDumper
impl UnwindSafe for DebugDumper
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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