Assistant Registry
Concrete implementation of the AssistantRegistry.
Overview
This module provides the StaticAssistantRegistry class that implements the AssistantRegistry ABC with a simple dictionary-based storage system.
Classes
StaticAssistantRegistry
Static registry implementation for managing assistant providers.
Inherits from: AssistantRegistry
Uses dictionary-based storage with validation and type safety. Suitable for applications with a known set of assistants.
Methods
clear
clear(self) -> None
Remove all assistants from the registry.
get_all_assistants
get_all_assistants(self) -> List[specify_cli.assistants.interfaces.AssistantProvider]
Get all currently registered assistant instances.
Returns: List
get_assistant
get_assistant(self, name: str) -> Optional[specify_cli.assistants.interfaces.AssistantProvider]
Retrieve a registered assistant by name.
Parameters:
name(str, required)
Returns: Optional
is_registered
is_registered(self, name: str) -> bool
Check if an assistant is registered.
Parameters:
name(str, required)
Returns: bool
list_assistant_names
list_assistant_names(self) -> List[str]
Get list of all registered assistant names.
Returns: List
register_assistant
register_assistant(self, assistant: specify_cli.assistants.interfaces.AssistantProvider) -> None
Register an assistant provider instance in the registry.
Parameters:
assistant(AssistantProvider, required)
unregister_assistant
unregister_assistant(self, name: str) -> bool
Remove an assistant from the registry.
Parameters:
name(str, required)
Returns: bool
validate_all
validate_all(self) -> Dict[str, specify_cli.assistants.interfaces.ValidationResult]
Validate all registered assistants and return comprehensive results.
Returns: Dict