Skip to main content

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