Chris Veilleux
abab1e9bda
Merge branch 'feature/mark-2' into feature/mark-2-boot
...
# Conflicts:
# mycroft/client/enclosure/mark2/interface.py
2021-12-30 12:06:14 -06:00
Michael Hansen
d2e9daf88e
Disable skill reload check for performance
2021-12-29 20:41:18 -05:00
Chris Veilleux
9a8ec95bbd
improved documentation
2021-12-22 17:34:41 -06:00
Chris Veilleux
74dd0c991d
improved documentation
2021-12-22 17:34:40 -06:00
Chris Veilleux
efd5858616
Remove code that supported deprecated implementation of resting screen
2021-12-22 17:34:40 -06:00
Chris Veilleux
68f870dfe5
Initial implementation of an IdleDisplaySkill that extends MycroftSkill to provide an API for skills that will implement the idle screen functionality.
2021-12-22 17:34:39 -06:00
Chris Veilleux
e1dfb2c78e
first skill update should not occur until a full interval after the boot sequence completes.
2021-12-13 23:11:35 -06:00
Chris Veilleux
4fa58d069c
remove code that updated skills before they were loaded.
2021-12-13 23:03:09 -06:00
Michael Hansen
9e67748bea
Use configuration for dbus address
2021-12-08 11:08:35 -05:00
Chris Veilleux
712110e17f
Removed DevicePrimer class. All functionality moved to enclosure
2021-12-02 16:04:37 -06:00
Kris Gesling
be45edb54f
autoformat
2021-12-01 09:32:24 +09:30
Chris Veilleux
982b79482c
move enclosure logic from skill service to enclosure service
2021-11-30 15:44:09 -06:00
Chris Veilleux
53ffd737a0
move some steps in the startup sequence so that the message bus connection is established as early as possible. this will facilitate status updates occurring as soon as possible as well.
2021-11-30 15:40:40 -06:00
Chris Veilleux
3d26fa9ada
Add service ready event and improve logic to determine if device is ready.
2021-11-30 15:40:27 -06:00
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
131a9ed03f
PEP8
2021-11-04 20:53:00 +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
ken-mycroft
10fd812f2b
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-27 14:59:57 +09:30
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
Kris Gesling
109e8ca482
resolve merge conflict
2021-08-17 23:19:14 +09:30
Kris Gesling
4df863633d
Merge dev pre-XDG into feature/mark-2
...
This includes all commits up to but not including PR #2794
2021-08-17 15:56:42 +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
Kris Gesling
02faba9db8
fix indentation error
2021-06-17 15:25:23 +09:30
Kris Gesling
aa83b9f7c0
Merge branch 'skill_control' into feature/mark-2
...
As requested.
2021-06-16 23:11:53 +09:30
Kris Gesling
2c598fd96b
Merge branch 'dev' into feature/mark-2
2021-06-15 12:01:18 +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
Ken Smith
a6cba040e9
revert change to existing skill behavior
2021-05-19 18:53:28 -04:00
Ken Smith
ccd41717d2
respond to PR feedback
2021-05-18 13:08:09 -04:00
Ken Smith
c8e16f99e8
add skill states and categories and enable barge in
2021-05-17 14:34:10 -04: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
27cf725411
Merge branch 'dev' into feature/mark-2
2021-05-10 07:22:45 +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
Ken Smith
3e6a2a4aa4
companion to news skill branch fix_no_stop
2021-05-04 07:32:08 -04:00
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
6f1e708f34
Merge branch 'dev' into feature/mark-2
2021-03-31 21:38:16 +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
Chris Veilleux
8453e79900
Merge remote-tracking branch 'origin/dev' into feature/mark-2
...
# Conflicts:
# mycroft/tts/tts.py
2021-03-15 18:47:32 -05:00
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
Chris Veilleux
d4d7340f3a
changed the list of Raspberry Pi platforms to replace "mycroft_mark_2pi" with "mycroft_mark_2"
2021-03-01 18:20:19 -06:00
Chris Veilleux
6ed674bd3e
Merge remote-tracking branch 'origin/dev' into feature/mark-2
...
# Conflicts:
# mycroft/audio/__main__.py
# mycroft/client/speech/__main__.py
# mycroft/skills/__main__.py
# mycroft/util/process_utils.py
2021-02-26 11:49:30 -06:00
neonandrii
d69b61afb6
Issue-2812 - Allow overridden converse methods to accept messages - FIX: PEP8-line-too-long issue in MycroftSkill.converse - change required signature in MycroftSkill.converse().
2021-02-23 14:44:12 +02:00
jarbasal
4200a38496
remove old padatious file
2021-02-18 17:19:28 +00:00
Diego Asterio
130d517f30
Issue-2750 - Remove log pollution
...
Add empty skill directories to a set and remove them whenever they are
no longer empty. Empty skill directories only appear once in the log.
==== Fixed Issues ====
log polution - #2750
2021-02-15 13:38:38 +01:00
Åke Forslund
3a6ca30b33
Fix selecting last opt by number in ask_selection()
...
Fix off by one issue preventing the last option to be selected by
number.
2021-02-14 17:19:31 +01:00
Kris Gesling
5ca342621d
add skill_id to error msg
2021-02-08 16:57:07 +09:30
Åke Forslund
7f3b4e1795
Add skill_api_method decorator
...
The api methods are now much easier to use, almost transparent. The
current caveat is that only "standarad" python types are acceptable
(int, float, str, list, bool, None) due to the json serialization.
- api methods are now created with the skill_api_method decorator
- both arguments and keyword arguments are sent to the api method
instead of the message object
- api methods now uses a normal return statement instead of having to
handle creating response messages on the bus.
For example if the datetime skill wants to make the datetime string
fetchable simply add the skill_api_method decorator to the
get_display_date method.
@skill_api_method
def get_display_date(self, day=None, location=None):
"""Returns the date and time as a string."""
[...]
The methods return value will be sent back to the caller and can be used
from a skill through
datetime = SkillApi.get('mycroft-date-time.mycroftai')
self.log.info(datetime.get_display_date())
2021-02-06 17:57:19 +01:00
Åke Forslund
df02bf22b4
Add skill api.
...
The skill api allows skills to define a public api which can easily be
accessed by other skills over the message bus just as easy as working
with a normal object.
The skill api object is generated from the skill's public_api property. It's a dict where each key is turned into a method on the api object. The method is defined as
"api_method": {
"type": message type string
"func": handler method
"help": help string for cli
}
Example skill:
class Test2(MycroftSkill):
def __init__(self):
MycroftSkill.__init__(self)
self.public_api = {
'speak': {
'type': 't2.speak',
'func': self.handle_speak,
'help': 'speak the test sentence\nand another line\n\nlast'
},
'speak2': {
'type': 't2.speak2',
'func': self.handle_speak2,
'help': 'speak the other sentence'
}
}
def handle_speak(self, message):
self.speak('This is a test')
self.bus.emit(message.response(data=None))
def handle_speak2(self, message):
self.speak('This is another test')
self.bus.emit(message.response(data=None))
2021-02-06 17:55:34 +01:00
Kris Gesling
688d1fe438
Reorder operations to ensure removed Skills are first unloaded.
...
Prevents SkillManager from attempting to reload a Skill that has
just been removed from the system which results in a
FileNotFoundError
Fixes #2822
2021-02-04 11:56:29 +09:30
Åke Forslund
b595f6cdad
Always use the plural "Skills" for the service
...
Change all strings referring to the service to use "Skills service"
2021-01-28 17:24:21 +01:00
Åke Forslund
94d5e34fd0
Add started and alive hooks to skills process
2021-01-28 17:24:21 +01:00
Kris Gesling
8a1ee0e106
Move ready check to enclosure; use ProcessStatus
...
Previously Mycroft reported mycroft.ready when Padatious had
finished it's first training run. This check has been shifted
to the enclosure service, and starts checking once the Padatious
training is complete.
Currently checks on readiness of audio, speech and skills services.
2021-01-28 17:24:21 +01:00
Kris Gesling
1273425799
add ProcessStatus to key services
2021-01-28 17:24:21 +01:00
Kris Gesling
cc3bf5b45a
Change names for consistency
2021-01-28 17:21:33 +01:00
Åke Forslund
bea1f008c6
Add ProcessStatus class
...
ProcessStatus tracks the process status and allows callbacks on changes
and status queries over the messagebus.
StatusCallbackMap is used to setup the callbacks
ProcessState is an enum tracking the different states.
2021-01-28 17:21:33 +01:00
neonandrii
fb84658e5d
Issue-2812 - Allow overridden converse methods to accept messages - FIX: PEP8-line-too-long issue in MycroftSkill.converse
2021-01-26 19:27:33 +02:00
neonandrii
171b266ec1
Issue-2812 - Allow overridden converse methods to accept messages - modified the signature check in SkillManager.handle_converse_request and MycroftSkill.converse, and resolving PEP8 issues
2021-01-25 21:00:06 +02:00
neonandrii
aca69203e6
Issue-2812 - Allow overridden converse methods to accept messages - modified the signature check in SkillManager.handle_converse_request and MycroftSkill.converse, and resolving PEP8 issues
2021-01-25 20:59:30 +02:00
neonandrii
ba7b2795ec
Issue-2812 - Allow overridden converse methods to accept messages - adding default message=None to MycroftSkill.converse and changing the signature check in the skill manager.
2021-01-22 17:20:48 +02:00
neonandrii
416eebfee7
Issue-2812 - Allow overridden converse methods to accept messages - adding default message=None to MycroftSkill.converse and changing the signature check in the skill manager.
2021-01-22 17:16:22 +02:00
neonandrii
3dca3a488a
Issue-2812 - Allow overridden converse methods to accept messages
2021-01-21 11:26:46 +02:00
Kris Gesling
ad32a7a873
move bus connect method to process_utils
2021-01-11 16:57:25 +09:30
Kris Gesling
960f650c88
Skills service to use common bus client method
2021-01-11 16:57:25 +09:30
Kris Gesling
54eac52b11
merge dev into mark-2 branch
2021-01-06 22:17:25 +09:30