Commit Graph

1144 Commits (dev)

Author SHA1 Message Date
Åke ab242a2c82
Handle multiple intents with the same name (#2921)
* Add check for duplicate adapt intents

There are two cases, duplicated named intent and duplicated anonymous intent.

A named intent will cause a ValueError exception notifying the skill
author that there is a collision.

An anonymous intent will silently derive a new name and use that
instead of the default generated one.

* Add tests for intent collisions

* Make enable/disable intent handle the new exception

The enable/disable intent did not mark an intent as detached, instead it
remained in the list of intents after disabling in the IntentServiceInterface
to be retrieved when the intent should be re-enabled.

This moves detached intents into a list of detached intents to so they
won't cause the double enable exception.

* Add move logic to find if intent is detached

MycroftSkill.enable_intent() will now check if the intent is detached
before trying to re-enable it.

* Lock updates of intents

This should avoid some race conditions that may occur if multiple
threads tries to enable / disable intents
2022-11-23 15:52:56 +09:30
Åke Forslund e1731f53ec Remove unused imports from common_query_skill.py 2022-02-24 10:22:09 +09:30
Åke Forslund 3fa99f288f Handle missing noise words file in CQS
This treats a None result from resolve_resource_file() as a FileNotFound
exception.
2022-02-24 10:22:09 +09:30
Kris Gesling 89cfad7943
Check if GUI is connected rather than maintain list of platforms (#3025)
* Check if GUI is connected rather than maintain list of platforms

There are already many Mycroft platforms that have GUIs
and this will only grow. We want to know if the device
has a GUI connected rather than if it is in a pre-defined
list of platforms.

* Create a mock GUI with a settable connected attribute
2021-11-24 14:51:10 +09:30
Kris Gesling 3495acf9ab
Merge pull request #3003 from Joanguitar/dev
Add reusable PadatiousMatcher to speed up intent matching
2021-10-21 12:25:34 +09:30
Chris Veilleux 5229f61bbf Fixed formatting error in skill loader log message 2021-10-15 14:51:05 -05:00
Kris Gesling 2a6bb90c9f
Merge pull request #2963 from forslund/feature/update-adapt-keyword-registration-message
Update key names in adapt keyword registration message
2021-09-27 10:30:12 +09:30
Åke Forslund f709bb9a1e Use IntentServiceInterface in MycroftSkill.register_vocabulary()
This moves the message logic for adapt keyword registration into a single location.
2021-09-26 19:15:21 +02:00
Åke Forslund 693100e8c6 Match keyword entity terms in Mycroft with Adapt
This changes the internally used names for entities and entity values when
sent on the messagebus and used interanally in the intent service from start / end to entity_value and entity_type.

This makes the terminology easier to understand and follow across into Adapt.

The old terms are still included and usable for compatibility but should be
removed in an upcoming major release (22.02).
2021-09-26 19:15:17 +02:00
ken-mycroft 5e81e2747b
Improve confidence calculation for Common Query (#2986)
* Improve confidence calculation

* Add actual noise words file

* Update expected test confidence levels

Co-authored-by: Kris Gesling <kris.gesling@mycroft.ai>
2021-09-20 16:33:28 +09:30
Joan Palacios 0f98c566b9
Removed lru_cache 2021-09-16 13:31:22 -04:00
Joan 863e7844d1 Padatious doesn't need to run 3 times 2021-09-16 12:48:23 -04:00
Daniel McKnight 600aa76206
Add 'utterances' to message emitted to skill intent handler (#2997)
* Add 'utterances' to message emitted to skill intent handler

* Reformat comment to resolve PEP warnings

* Update comments per PR feedback

* Cut line-length for style compliance

Co-authored-by: Kris Gesling <kris.gesling@mycroft.ai>
2021-09-13 11:15:57 +09:30
Chris Veilleux 8fcfa901c3
Merge pull request #2970 from MycroftAI/feature/mycroft-skills-adaptintent
Provide AdaptIntent from mycroft.skills
2021-08-13 14:53:46 -05:00
Kris Gesling eadb5c9985 Provide AdaptIntent from mycroft.skills
This is convenience for Skill developers who can now import
all standard items from a single level. Eg:
from mycroft.skills import MycroftSkill, intent_handler, AdaptIntent
2021-08-09 15:55:04 +09:30
Åke Forslund 9029dc1f41 Slight cleanup
- Make XDG usage more visible by using the xdg module prefix
- fix overloaded python keywords
- remove unused imports
2021-08-05 10:04:45 +02:00
Bart Ribbers e20443b824 Use XDG Base directories for settings, cache and runtime data
Improve deprecation warning message
2021-08-05 10:04:45 +02:00
Kris Gesling 313f4e8759
Merge pull request #2946 from MycroftAI/refactor/vk-test-helpers
Improve the speed of waiting for dialogs helper function
2021-08-05 09:29:17 +09:30
Chris Veilleux fbb1d06adc Merge remote-tracking branch 'origin/refactor/vk-test-helpers' into refactor/vk-test-helpers 2021-07-09 15:43:25 -05:00
Chris Veilleux 18cb28088d Added comments to document race condition 2021-07-06 13:48:52 -05:00
Kris Gesling 0cbd040a55
Merge pull request #2900 from MycroftAI/bugfix/common-play-active
Add Common Play to active Skills when invoked
2021-06-29 20:59:33 +09:30
Chris Veilleux 4d7ed0f25e Added to docstring to explain why the method took a list of utterances instead of a single utterance. 2021-06-05 13:39:57 -05:00
Chris Veilleux 2a9f63c173 Fixed a bug where the highest confidence from the Adapt parser is different than the highest confidence from the Adapt intent matcher. 2021-06-05 12:15:02 -05:00
Kris Gesling 1cc25da144
Merge pull request #2898 from MycroftAI/bugfix/docstring-cleanup
Cleanup of documentation
2021-06-01 12:16:44 +09:30
Åke Forslund ad410d4bfc Remove registered keywords on skill shutdown
Uses new drop_*() methods from adapt-parser 0.4.0
2021-05-27 22:24:55 +02:00
Åke Forslund e7accacdcf Fix sphinxdoc warning in common_iot_skill.py 2021-05-11 15:10:32 +09:30
Kris Gesling e75a05557b docstring cleanup 2021-05-11 15:10:32 +09:30
Kris Gesling 6327ac5dbb
Upgrade Lingua Franca to v0.4.1 (#2890)
**Update Lingua Franca to v0.4.1**

The update from Lingua Franca v0.2.x to v0.4.x includes few
breaking changes.
- Some API methods have been updated.
- Mycroft-core tests have been updated to reflect improvements in
  Lingua Franca's formatting and parsing.
- add LF default lang setting method to config.locale 
  including warning that this method will change in the future
- Add TODO's for 21.08 - moving more methods to LF
- simplify loading and setting default of languages in Skills service
- Remove unneeded wrappers for Lingua Franca functions
- Fix documentation of format and parse utils
- Fix test warnings
2021-05-08 08:34:02 +09:30
Kris Gesling 088f563ad9
Merge pull request #2892 from MycroftAI/bugfix/consistent-temp-dir
Replace hardcoded use of /tmp directory
2021-05-08 07:28:27 +09:30
Ken Smith 249e352f65 Add Common Play to active Skills when invoked 2021-05-07 14:25:28 +09:30
Kris Gesling dc4c146f69 Fix assigning of queue without existing loader 2021-05-06 10:11:39 +09:30
Kris Gesling 0fb90edd28 Rename to get_temp_path and add docstring 2021-04-30 16:49:59 +09:30
dzekem christa 7765d11224 ran autopep8 2021-04-30 14:48:15 +09:30
dzekem christa 3f745c52ad created temp path function 2021-04-30 14:47:49 +09:30
dzekem christa 621b4ab650 spaces added and uniformity in code 2021-04-30 14:46:36 +09:30
dzekem christa 9252158829 rectified pep8 issues 2021-04-30 14:46:36 +09:30
dzekem christa 32f666edd4 Issue-2727 - fixing hard coded /tmp 2021-04-30 14:46:36 +09:30
dzekem christa a174c3c822 replaced hard coded /tmp 2021-04-30 14:46:36 +09:30
Kris Gesling 356288a38f
Merge pull request #2863 from forslund/feature/mycroft-bus-client
Utilize the mycroft-messagebus-client module
2021-03-31 21:22:31 +09:30
Åke Forslund 9acf5b7592 Utilize the mycroft-messagebus-client module
This utilizes the shared messagebus client implemented in the
mycroft-messagebus-client.
2021-03-22 06:31:50 +01:00
Kris Gesling cee879e7a4 Add exact optional param to voc_match
This adds the option to require an exact match of vocab. It sourced
from the Playback Control Skill.
2021-03-16 16:05:06 +09:30
Kris Gesling 0587c5d75e
Merge pull request #2856 from forslund/bugfix/stray-print
Remove stray print
2021-03-15 12:24:28 +09:30
Åke Forslund 29fd50324b Remove stray print 2021-03-14 09:32:45 +01:00
Kris Gesling a399b19fd6
Merge pull request #2849 from forslund/refactor/clean-intent-service
Remove intent-service backwards compatibilities
2021-03-11 15:26:26 +09:30
Kris Gesling ec00631c4b
Merge pull request #2813 from NeonAndrii/feature/issue-2812
Issue-2812 - Allow overridden converse methods to accept messages
2021-03-11 15:25:24 +09:30
Kris Gesling 3679eb1355
Merge pull request #2838 from forslund/test/get_response-tests
get response tests
2021-03-10 23:44:48 +09:30
Kris Gesling db79748faa
Merge pull request #2827 from MycroftAI/feature/converse-error-skill
add skill_id to converse error msg
2021-03-10 23:39:29 +09:30
Åke Forslund 203e1fc740 Remove intent-service backwards compatibility
- Remove unused ContextManager import from mycroft.skills.intent_service
- Remove Old 'intent_failure' -> fallback handler
- Remove handling of fallback messages without the fallback_range
parameter
2021-03-07 12:59:59 +01:00
Kris Gesling 17dbaa2b38
Merge pull request #2840 from DiegoAsterio/bugfix/issue-2750
Issue-2750 - Remove log pollution
2021-03-03 15:25:21 +09:30
Åke 492bd22179
Merge pull request #2843 from OpenVoiceOS/fix/padatious_mess
Remove old Padatious class
2021-03-02 11:38:46 +01:00