pub struct RegistryManager {
registries: Vec<LoadedRegistry>,
}Expand description
Manages multiple extension registries with precedence-based resolution.
Registries are loaded in config order. A .ctx/ directory in the
current working directory (or ancestors) is appended with the highest
precedence. Later registries override earlier ones for the same name.
Fields§
§registries: Vec<LoadedRegistry>Registries in precedence order (lowest first).
Implementations§
Source§impl RegistryManager
impl RegistryManager
Sourcepub fn from_config(config: &Config) -> Self
pub fn from_config(config: &Config) -> Self
Build a RegistryManager from the config, loading all manifests.
Registries that don’t exist on disk or lack a valid manifest are
skipped with a warning. The .ctx/ project-local directory is
appended if found.
Sourcepub fn list_all(&self) -> Vec<ResolvedExtension>
pub fn list_all(&self) -> Vec<ResolvedExtension>
List all extensions across all registries, resolved by precedence.
Later registries override earlier ones for the same kind/name.
Sourcepub fn resolve(&self, extension_id: &str) -> Option<ResolvedExtension>
pub fn resolve(&self, extension_id: &str) -> Option<ResolvedExtension>
Resolve a specific extension by "type/name" (e.g. "connectors/jira").
Sourcepub fn list_connectors(&self) -> Vec<ResolvedExtension>
pub fn list_connectors(&self) -> Vec<ResolvedExtension>
List all resolved connectors.
Sourcepub fn list_tools(&self) -> Vec<ResolvedExtension>
pub fn list_tools(&self) -> Vec<ResolvedExtension>
List all resolved tools.
Sourcepub fn list_agents(&self) -> Vec<ResolvedExtension>
pub fn list_agents(&self) -> Vec<ResolvedExtension>
List all resolved agents.
Sourcepub fn writable_path(&self) -> Option<&Path>
pub fn writable_path(&self) -> Option<&Path>
Find the first writable registry path (iterates from highest precedence).
Sourcepub fn registries(&self) -> Vec<RegistryInfo>
pub fn registries(&self) -> Vec<RegistryInfo>
Get the loaded registries (for listing/status).
Auto Trait Implementations§
impl Freeze for RegistryManager
impl RefUnwindSafe for RegistryManager
impl Send for RegistryManager
impl Sync for RegistryManager
impl Unpin for RegistryManager
impl UnwindSafe for RegistryManager
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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