pub trait KnowledgePack: Send + Sync {
// Required methods
fn manifest(&self) -> &dyn KnowledgePackManifest;
fn doc_content(
&self,
manifest: &KnowledgeDocManifest,
) -> Option<Cow<'_, str>>;
// Provided methods
fn list_tree(&self, prefix: Option<&str>) -> KnowledgeDocTree { ... }
fn list_docs(
&self,
filter: KnowledgeDocFilter,
) -> Vec<&KnowledgeDocManifest> { ... }
fn read_manifest(&self, path: &str) -> Option<&KnowledgeDocManifest> { ... }
fn read_doc(&self, path: &str) -> Option<KnowledgeDocRead> { ... }
fn search_paths(
&self,
query: &str,
filter: KnowledgeDocFilter,
) -> Vec<KnowledgeDocSearchHit> { ... }
fn search_docs(
&self,
query: &str,
filter: KnowledgeDocFilter,
) -> Vec<KnowledgeDocSearchHit> { ... }
fn neighbors(
&self,
path: &str,
edge_type: Option<KnowledgeDocEdgeType>,
) -> Vec<KnowledgeDocNeighbor> { ... }
}Expand description
Runtime access to a knowledge pack’s metadata and lazy document content.