pub struct Storage { /* private fields */ }Expand description
Local filesystem storage for cached llms.txt documentation
Implementations§
Source§impl Storage
impl Storage
Sourcepub fn flavor_from_url(url: &str) -> Flavor
pub fn flavor_from_url(url: &str) -> Flavor
Determine the appropriate flavor based on the requested URL.
Sourcepub fn with_root(root_dir: PathBuf) -> Result<Self>
pub fn with_root(root_dir: PathBuf) -> Result<Self>
Creates a new storage instance with a custom root directory
Sourcepub fn tool_dir(&self, alias: &str) -> Result<PathBuf>
pub fn tool_dir(&self, alias: &str) -> Result<PathBuf>
Returns the directory path for a given alias
Sourcepub fn ensure_tool_dir(&self, alias: &str) -> Result<PathBuf>
pub fn ensure_tool_dir(&self, alias: &str) -> Result<PathBuf>
Ensures the directory for an alias exists and returns its path
Sourcepub fn llms_txt_path(&self, alias: &str) -> Result<PathBuf>
pub fn llms_txt_path(&self, alias: &str) -> Result<PathBuf>
Returns the path to the llms.txt file for an alias
Sourcepub fn llms_json_path(&self, alias: &str) -> Result<PathBuf>
pub fn llms_json_path(&self, alias: &str) -> Result<PathBuf>
Returns the path to the llms.json file for an alias
Sourcepub fn flavor_json_path(&self, alias: &str, flavor: &str) -> Result<PathBuf>
pub fn flavor_json_path(&self, alias: &str, flavor: &str) -> Result<PathBuf>
Compute the metadata JSON path for a given flavor.
Sourcepub fn index_dir(&self, alias: &str) -> Result<PathBuf>
pub fn index_dir(&self, alias: &str) -> Result<PathBuf>
Returns the path to the search index directory for an alias
Sourcepub fn archive_dir(&self, alias: &str) -> Result<PathBuf>
pub fn archive_dir(&self, alias: &str) -> Result<PathBuf>
Returns the path to the archive directory for an alias
Sourcepub fn metadata_path(&self, alias: &str) -> Result<PathBuf>
pub fn metadata_path(&self, alias: &str) -> Result<PathBuf>
Returns the path to the metadata file for an alias
Sourcepub fn metadata_path_for_flavor(
&self,
alias: &str,
flavor: &str,
) -> Result<PathBuf>
pub fn metadata_path_for_flavor( &self, alias: &str, flavor: &str, ) -> Result<PathBuf>
Compute the metadata path for a given flavor.
Sourcepub fn anchors_map_path(&self, alias: &str) -> Result<PathBuf>
pub fn anchors_map_path(&self, alias: &str) -> Result<PathBuf>
Returns the path to the anchors mapping file for an alias
Sourcepub fn save_llms_txt(&self, alias: &str, content: &str) -> Result<()>
pub fn save_llms_txt(&self, alias: &str, content: &str) -> Result<()>
Saves the llms.txt content for an alias
Sourcepub fn save_flavor_content(
&self,
alias: &str,
file_name: &str,
content: &str,
) -> Result<()>
pub fn save_flavor_content( &self, alias: &str, file_name: &str, content: &str, ) -> Result<()>
Saves content for a specific flavored variant (e.g., llms-full.txt)
Sourcepub fn load_llms_txt(&self, alias: &str) -> Result<String>
pub fn load_llms_txt(&self, alias: &str) -> Result<String>
Loads the llms.txt content for an alias
Sourcepub fn save_llms_json(&self, alias: &str, data: &LlmsJson) -> Result<()>
pub fn save_llms_json(&self, alias: &str, data: &LlmsJson) -> Result<()>
Saves the parsed llms.json data for the default flavor
Sourcepub fn save_flavor_json(
&self,
alias: &str,
flavor: &str,
data: &LlmsJson,
) -> Result<()>
pub fn save_flavor_json( &self, alias: &str, flavor: &str, data: &LlmsJson, ) -> Result<()>
Saves the parsed llms.json data for a specific flavor
Sourcepub fn load_llms_json(&self, alias: &str) -> Result<LlmsJson>
pub fn load_llms_json(&self, alias: &str) -> Result<LlmsJson>
Loads the parsed llms.json data for the default flavor
Sourcepub fn load_flavor_json(
&self,
alias: &str,
flavor: &str,
) -> Result<Option<LlmsJson>>
pub fn load_flavor_json( &self, alias: &str, flavor: &str, ) -> Result<Option<LlmsJson>>
Loads the parsed llms.json data for a specific flavor, returning None if absent
Sourcepub fn save_source_metadata(&self, alias: &str, source: &Source) -> Result<()>
pub fn save_source_metadata(&self, alias: &str, source: &Source) -> Result<()>
Saves source metadata for an alias
Sourcepub fn save_source_metadata_for_flavor(
&self,
alias: &str,
flavor: &str,
source: &Source,
) -> Result<()>
pub fn save_source_metadata_for_flavor( &self, alias: &str, flavor: &str, source: &Source, ) -> Result<()>
Persist source metadata for a specific flavor.
Sourcepub fn save_anchors_map(&self, alias: &str, map: &AnchorsMap) -> Result<()>
pub fn save_anchors_map(&self, alias: &str, map: &AnchorsMap) -> Result<()>
Save anchors remap JSON for an alias
Sourcepub fn load_source_metadata(&self, alias: &str) -> Result<Option<Source>>
pub fn load_source_metadata(&self, alias: &str) -> Result<Option<Source>>
Loads source metadata for an alias if it exists
Sourcepub fn load_source_metadata_for_flavor(
&self,
alias: &str,
flavor: &str,
) -> Result<Option<Source>>
pub fn load_source_metadata_for_flavor( &self, alias: &str, flavor: &str, ) -> Result<Option<Source>>
Load source metadata for a specific flavor if present.
Sourcepub fn exists_any_flavor(&self, alias: &str) -> bool
pub fn exists_any_flavor(&self, alias: &str) -> bool
Checks if any flavor has been persisted for the alias.
Sourcepub fn available_flavors(&self, alias: &str) -> Result<Vec<String>>
pub fn available_flavors(&self, alias: &str) -> Result<Vec<String>>
Lists all available documentation flavors persisted for a given alias.
Flavors correspond to the JSON artifacts produced during ingest, e.g.
llms.json and llms-full.json. Metadata sidecars (like
metadata.json) and other auxiliary files are excluded.
Sourcepub fn list_sources(&self) -> Vec<String>
pub fn list_sources(&self) -> Vec<String>
Lists all cached source aliases
Auto Trait Implementations§
impl Freeze for Storage
impl RefUnwindSafe for Storage
impl Send for Storage
impl Sync for Storage
impl Unpin for Storage
impl UnwindSafe for Storage
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for 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 more