mindroot.coreplugins.index package

Subpackages

Submodules

mindroot.coreplugins.index.mod module

async mindroot.coreplugins.index.mod.startup(app, context)[source]

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: BaseModel

Model 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: BaseModel

Model 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.list_indices_route()[source]
async mindroot.coreplugins.index.router.publish_index_route(index_name: str)[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

async mindroot.coreplugins.index.utils.load_agent_data(agent_name: str) dict[source]

Load agent data from local or shared directory

async mindroot.coreplugins.index.utils.load_persona_data(persona_name: str) dict[source]

Load persona data from local or shared directory

Module contents