mindroot.coreplugins.index package¶
Subpackages¶
Submodules¶
mindroot.coreplugins.index.mod module¶
mindroot.coreplugins.index.models module¶
- class mindroot.coreplugins.index.models.AgentEntry(*, name: str, version: str, description: str | None = None, required_commands: List[str] = [], required_services: List[str] = [])[source]¶
Bases:
BaseModel- description: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- required_commands: List[str]¶
- required_services: List[str]¶
- version: str¶
- class mindroot.coreplugins.index.models.IndexMetadata(*, name: str, description: str | None = '', version: str = '1.0.0', url: str | None = None, trusted: bool = False)[source]¶
Bases:
BaseModel- description: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- trusted: bool¶
- url: str | None¶
- version: str¶
- class mindroot.coreplugins.index.models.PluginEntry(*, name: str, version: str, description: str | None = None, source: str, source_path: str | None = None, github_url: str | None = None, remote_source: str | None = None, commands: List[str] | None = [], services: List[str] = [], dependencies: List[str] = [])[source]¶
Bases:
BaseModelModel for plugin entries in index
- commands: List[str] | None¶
- dependencies: List[str]¶
- description: str | None¶
- github_url: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- remote_source: str | None¶
- services: List[str]¶
- source: str¶
- source_path: str | None¶
- version: str¶
- class mindroot.coreplugins.index.models.PluginManifest(*, name: str, version: str, description: str | None = None, commands: List[str], services: List[str] = [], dependencies: List[str] = [])[source]¶
Bases:
BaseModelModel for reading plugin manifest files
- commands: List[str]¶
- dependencies: List[str]¶
- description: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- name: str¶
- services: List[str]¶
- version: str¶
mindroot.coreplugins.index.router module¶
- async mindroot.coreplugins.index.router.add_agent_route(index_name: str, agent: AgentEntry)[source]¶
- async mindroot.coreplugins.index.router.add_plugin_route(index_name: str, plugin: PluginEntry)[source]¶
- async mindroot.coreplugins.index.router.create_index_route(metadata: IndexMetadata)[source]¶
- async mindroot.coreplugins.index.router.install_index_route(file: UploadFile = File(PydanticUndefined))[source]¶
- async mindroot.coreplugins.index.router.remove_agent_route(index_name: str, agent_name: str)[source]¶
- async mindroot.coreplugins.index.router.remove_plugin_route(index_name: str, plugin_name: str)[source]¶
- async mindroot.coreplugins.index.router.update_index_route(index_name: str, metadata: IndexMetadata)[source]¶
mindroot.coreplugins.index.utils module¶
- mindroot.coreplugins.index.utils.ensure_index_structure(index_dir: Path) None[source]¶
Ensure index directory has the required structure
- mindroot.coreplugins.index.utils.install_persona(source_dir: Path, persona_name: str) None[source]¶
Install a persona directory to the correct location