Skip to content

Commit ff87f15

Browse files
committed
discovery
1 parent ac0aa44 commit ff87f15

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

ovos_plugin_manager/persona.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,22 @@
1+
from typing import Type, Dict, Any
2+
3+
from ovos_plugin_manager.templates.agent_tools import ToolBox
14
from ovos_plugin_manager.utils import PluginTypes
25

36

4-
def find_persona_plugins() -> dict:
7+
def find_persona_plugins() -> Dict[str, Dict[str, Any]]:
58
"""
6-
Find all installed plugins
9+
Find all installed persona definitions
710
@return: dict plugin names to entrypoints (persona entrypoint are just dicts)
811
"""
912
from ovos_plugin_manager.utils import find_plugins
1013
return find_plugins(PluginTypes.PERSONA)
1114

1215

16+
def find_toolbox_plugins() -> Dict[str, Type[ToolBox]]:
17+
"""
18+
Find all installed Toolbox plugins
19+
@return: dict toolbox_id to entrypoints (ToolBox)
20+
"""
21+
from ovos_plugin_manager.utils import find_plugins
22+
return find_plugins(PluginTypes.PERSONA_TOOL)

ovos_plugin_manager/utils/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ class PluginTypes(str, Enum):
9292
VIDEO_PLAYER = "opm.media.video"
9393
WEB_PLAYER = "opm.media.web"
9494
PERSONA = "opm.plugin.persona" # personas are a dict, they have no config because they ARE a config
95+
PERSONA_TOOL = "opm.persona.tool"
9596

9697

9798
class PluginConfigTypes(str, Enum):

0 commit comments

Comments
 (0)