summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-01-02Fix event argument populationhalibut_8.0.6halibut_8.0.5halibut/8.0.6halibut/8.0.58.0.68.0.5halibutScott Murray1-1/+13
Forwarded events from voiceagents have their argument JSON as a whole stuck into a json-c string object which is then used as the outgoing event argument. The effect is the whole argument JSON is quoted and unusable until run through a JSON parser on the receiver side. This is contrary to the vshl-core event documentation and inconvenient for client implementors, so fix it by tokenizing the internal JSON string into a json_object tree and passing that as the event argument. Bug-AGL: SPEC-3084 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: If6a80de68c7932742b7cb83d5b128d5458d5e049
2019-12-29Add signal-composer voice event supportScott Murray2-0/+110
Add support for triggering listening (push-to-talk/PTT) via the signal-composer "event.voice" event. This enables PTT from the steering wheel for the CES demo. Note that this relies on a fix to signal-composer to add the session context uuid to the replies from event subscribe calls. Without that, it's not feasible to catch the signal-composer events with the libappcontroller event scheme and some more significant rework would be required. Bug-AGL: SPEC-3048 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I22c7265c2f08ecc0a598fd88ddf4fd53f8c3e880
2019-12-20Add CBL processingRaquel Medina9-5/+176
CBL: Code Based Linking in the case of Alexa voice agent, or more generally Code Based Logging. It provides a url and code which allows the user to complete the authorization process and start using the authorized voice services. - add subscribeToLoginEvents verb - add cbl events handling - include new verb in vshl-core-api.json Bug-AGL: SPEC-2981 Signed-off-by: Raquel Medina <raquel.medina@konsulko.com> Change-Id: If342d45638125682621cba707eac1d4ff5ad244c (cherry picked from commit ed834a643e3843c0f805ea33363c9f2889d2bab3)
2019-11-05Rework to remove Alexa voiceagent dependencieshalibut_8.0.4halibut_8.0.3halibut/8.0.4halibut/8.0.38.0.48.0.3Scott Murray7-61/+214
Changes include: - The previous somewhat hard-coded Alexa voiceagent configuration in the app controller definition has been replaced with a scheme that allows instead specifying voiceagent configuration via the configuration file /etc/xdg/AGL/voice-high.json, and individual per-voiceagent configuration via JSON files in the directory /etc/xdg/AGL/voiceagents. See the updated README.md for more details. - The new file reading code for the above change was facilitated by bumping the C++ standard option to 17 (from 11) to allow use of the new standard library filesystem classes. - The configured voiceagents' APIs are now loaded dynamically using the afb_api_require_api call enabled by the recently exposed platform:apis:auto-ws widget permission. The widget configuration has been updated to add the permission, and also remove the previously hard-code dependency on the "alexa-voiceagent" API. - App controller event hooks are created dynamically for the events from the configured voiceagents. This is done by calling back into the app controller API at the appropriate place during initialization, replacing the previous hard-coding of events from "alexa-voiceagent". If future use cases require dynamic removal of voiceagents, then this scheme will need to be revisited, as the app controller API currently has no provision for removing events. - The IAFBApi interdace and AFBApiImpl implementation classes have been extended with additional getApi and requireApi calls to enable the above changes in a straightforward manner. Bug-AGL: SPEC-2898 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Iae8b99a6286174510e88d8eeffd51718db64f2f4 (cherry picked from commit d75ca330180e943df28435705d36c9e435759de2)
2019-10-15Switch to appcontroller libraryScott Murray12-64/+69
Remove old app-controller submodule usage in favor of library from the toolchain. Also update dynamic API calls for V3. Bug-AGL: SPEC-2856 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ida157480f95d0e8b0806a1d9af6cc396f4729850 (cherry picked from commit 0a7e93d37803ba31b18c7199cb1efc10ec83e0cc)
2019-10-15Switch to afb-helpers libraryScott Murray3-8/+7
Remove old afb-helpers submodule usage in favor of library from the toolchain. Note that json.hpp is no longer shipped with the library, and is now assumed to be present in the toolchain, which requires a DEPENDS addition in the recipe to pick it up, and an #include of sstream to work with newer versions of json.hpp. Bug-AGL: SPEC-2854 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Iea205048b051a69d5251d295588ce3451efc7e4a (cherry picked from commit 4b6fce387aa0b175bfb1b30de8d671434918a217)
2019-02-25Refactored VSHL into vshl-core and vshl-capabilities.Naveen Bobbili77-2846/+678
vshl-core: This API is responsible for request arbitration. Verbs exposed are 1. startListening 2. cancelListening 3. subscribe 4. enumerateVoiceAgents 5. setDefaultVoiceAgent Used by applications to subscribe to dialog, connection and auth states of underlying low level voiceagent bindings. Used by applications to trigger voice recognition routine of the underlying low level voiceagent binding. vshl-capabilities: This API exposes publish and subscribe methods for all the speech framework domains/capabilities. For eg. navigation, phonecontrol etc. This API is used by apps and low level voice agent binding to subscribe and publish these capability messages whenever applicable. The code for this is agl-service-voice-high-capabilities repository. This specific commit is for vshl-core API. Change-Id: I1101db19b57ee918482a178843641b088508ac5d Signed-off-by: Naveen Bobbili <nbobbili@amazon.com>
2018-11-13SPEC-1924: AGL Speech Framework's Voice Service High Level 1.0 Release.Naveen Bobbili78-0/+6857
Details: 1) Control plugin implementation for VSHL 1.0 2) Exposed APIs that are documented in the confluence page https://confluence.automotivelinux.org/display/SPE/Speech+EG+Architecture 3) Implemented 39 unit tests based on GTest framework to test all the low level components of VSHL binding. 4) Implemented a HTML5 based VSHL API tester application to test VSHL APIs. API specification: https://confluence.automotivelinux.org/display/SPE/Speech+EG+Architecture#SpeechEGArchitecture-HighLevelVoiceService Test performed: 1) Tested AGL service running Alexa Auto SDK https://github.com/alexa/aac-sdk on Ubuntu 16.04 and Renesas R-Car M3 board. License: Apache 2.0 Developers/Owners: Naveen Bobbili (nbobbili@amazon.com) Prakash Buddhiraja (buddhip@amazon.com) Shotaro Uchida (shotaru@amazon.co.jp) Change-Id: I3370f4ad65aff030f24f4ad571fb02d525bbfbca Signed-off-by: Naveen Bobbili <nbobbili@amazon.com>