ProviderAdapter

Struct ProviderAdapter 

Source
pub struct ProviderAdapter {
    pub discovery: Box<dyn LogDiscovery>,
    pub parser: Box<dyn SessionParser>,
    pub mapper: Box<dyn ToolMapper>,
}
Expand description

Adapter that bundles the three trait implementations

This provides a unified interface for working with provider functionality while maintaining clean separation of concerns internally.

Fields§

§discovery: Box<dyn LogDiscovery>§parser: Box<dyn SessionParser>§mapper: Box<dyn ToolMapper>

Implementations§

Source§

impl ProviderAdapter

Source

pub fn new( discovery: Box<dyn LogDiscovery>, parser: Box<dyn SessionParser>, mapper: Box<dyn ToolMapper>, ) -> Self

Source

pub fn from_name(provider_name: &str) -> Result<Self>

Create adapter for a provider by name

Source

pub fn claude() -> Self

Create Claude provider adapter

Source

pub fn codex() -> Self

Create Codex provider adapter

Source

pub fn gemini() -> Self

Create Gemini provider adapter

Source

pub fn id(&self) -> &'static str

Get provider ID

Source

pub fn process_file(&self, path: &Path) -> Result<Vec<AgentEvent>>

Process a file through the adapter (convenience method)

Source§

impl ProviderAdapter

Source

pub fn scan_legacy( &self, log_root: &Path, context: &ScanContext, ) -> Result<Vec<SessionMetadata>>

Legacy support: Scan sessions and convert to full SessionMetadata

This bridges the gap between the new efficient SessionIndex and the old UI-heavy SessionMetadata. The new discovery layer provides lightweight SessionIndex, and this method enriches it with file metadata for backward compatibility with existing UI code.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.