diff --git a/CHANGELOG.md b/CHANGELOG.md index 8dbbddc18cb..88d5c86567b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,12 @@ # Changelog -## [0.4.0a1](https://github.com/OpenVoiceOS/ovos-core/tree/0.4.0a1) (2025-01-29) +## [0.5.0a1](https://github.com/OpenVoiceOS/ovos-core/tree/0.5.0a1) (2025-01-31) -[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/0.3.8...0.4.0a1) +[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/0.4.0...0.5.0a1) **Merged pull requests:** -- feat:multilang\_match [\#646](https://github.com/OpenVoiceOS/ovos-core/pull/646) ([JarbasAl](https://github.com/JarbasAl)) +- feat:persona pipeline [\#648](https://github.com/OpenVoiceOS/ovos-core/pull/648) ([JarbasAl](https://github.com/JarbasAl)) diff --git a/ovos_core/intent_services/__init__.py b/ovos_core/intent_services/__init__.py index 92e8060694a..8c719495f13 100644 --- a/ovos_core/intent_services/__init__.py +++ b/ovos_core/intent_services/__init__.py @@ -33,6 +33,7 @@ from ovos_utils.log import LOG, log_deprecation, deprecated from ovos_utils.metrics import Stopwatch from padacioso.opm import PadaciosoPipeline as PadaciosoService +from ovos_persona import PersonaService import warnings @@ -113,6 +114,7 @@ def _load_pipeline_plugins(self): self._common_qa = CommonQAService(self.bus, self.config.get("common_query")) self._stop = StopService(self.bus) self._ocp = OCPPipelineMatcher(self.bus, config=self.config.get("OCP", {})) + self._persona = PersonaService(self.bus, config=self.config.get("persona", {})) def update_skill_name_dict(self, message): """Messagebus handler, updates dict of id to skill name conversions.""" @@ -203,7 +205,9 @@ def get_pipeline(self, skips=None, session=None) -> Tuple[str, Callable]: "adapt_medium": self._adapt_service.match_medium, "fallback_medium": self._fallback.medium_prio, "adapt_low": self._adapt_service.match_low, - "fallback_low": self._fallback.low_prio + "fallback_low": self._fallback.low_prio, + "ovos-persona-pipeline-plugin-high": self._persona.match_high, + "ovos-persona-pipeline-plugin-low": self._persona.match_low } if self._padacioso_service is not None: matchers.update({ @@ -270,28 +274,28 @@ def _handle_deactivate(self, message): def _emit_match_message(self, match: Union[IntentHandlerMatch, PipelineMatch], message: Message, lang: str): """ Emit a reply message for a matched intent, updating session and skill activation. - + This method processes matched intents from either a pipeline matcher or an intent handler, creating a reply message with matched intent details and managing skill activation. - + Args: match (Union[IntentHandlerMatch, PipelineMatch]): The matched intent object containing utterance and matching information. message (Message): The original messagebus message that triggered the intent match. lang (str): The language of the pipeline plugin match - + Details: - Handles two types of matches: PipelineMatch and IntentHandlerMatch - Creates a reply message with matched intent data - Activates the corresponding skill if not previously deactivated - Updates session information - Emits the reply message on the messagebus - + Side Effects: - Modifies session state - Emits a messagebus event - Can trigger skill activation events - + Returns: None """ diff --git a/ovos_core/version.py b/ovos_core/version.py index d9f84775bc2..eb8b1f66024 100644 --- a/ovos_core/version.py +++ b/ovos_core/version.py @@ -1,8 +1,8 @@ # START_VERSION_BLOCK VERSION_MAJOR = 0 -VERSION_MINOR = 4 +VERSION_MINOR = 5 VERSION_BUILD = 0 -VERSION_ALPHA = 0 +VERSION_ALPHA = 1 # END_VERSION_BLOCK # for compat with old imports diff --git a/requirements/requirements.txt b/requirements/requirements.txt index f2170d3750d..cbe30a2a348 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -7,6 +7,7 @@ padacioso>=1.0.0, <2.0.0 ovos-adapt-parser>=1.0.5, <2.0.0 ovos_ocp_pipeline_plugin>=1.0.10, <2.0.0 ovos-common-query-pipeline-plugin>=1.0.5, <2.0.0 +ovos-persona>=0.4.4,<1.0.0 ovos-utils[extras]>=0.6.0,<1.0.0 ovos_bus_client>=0.1.4,<2.0.0