How alexa/avs-device-sdk works
The tree identifies an archived, modular Alexa Voice Service device SDK. Its central product workflow is capturing a user interaction, exchanging AVS messages with the service, dispatching returned directives to capability agents, and coordinating device behavior such as audio focus and playback. The graph also preserves major platform branches visible in the tree, including gateway management, authorization, and asset handling. The README only states that the SDK is archived, and sampled implementation excerpts are storage-focused; several runtime links therefore reflect module roles and interfaces evident in the tree rather than inspected call sites.
Main entry points: CapabilityAgent.cpp Capability agents · MessageRouter.cpp Message router · HTTP2Transport.cpp HTTP/2 transport · MiscStorageInterface.h Misc storage API
Components 21
Interaction processing
- Audio input
AVSCommon/AVS/include/AVSCommon/AVS/AudioInputStream.h - Message interpreter
ADSL/src/MessageInterpreter.cpp - Directive sequencer
ADSL/src/DirectiveSequencer.cpp - Directive router
ADSL/src/DirectiveRouter.cpp - Capability agents
AVSCommon/AVS/src/CapabilityAgent.cpp - AVS context
AVSCommon/AVS/src/AVSContext.cpp
AVS connectivity
- Message requests
AVSCommon/AVS/src/MessageRequest.cpp - Connection manager
ACL/src/AVSConnectionManager.cpp - Message router
ACL/src/Transport/MessageRouter.cpp - HTTP/2 transport
ACL/src/Transport/HTTP2Transport.cpp
Device capabilities
- Focus manager
AFML/src/FocusManager.cpp - Audio channels
AFML/src/Channel.cpp - Speaker manager
CapabilityAgents/SpeakerManager/SpeakerManager/src/SpeakerManagerMiscStorage.cpp - Call capability
AVSCommon/SDKInterfaces/include/AVSCommon/SDKInterfaces/CallManagerInterface.h
Platform services
- Authorization
core/Authorization/acsdkAuthorization/src/AuthorizationManagerStorage.cpp - LWA token storage
core/Authorization/acsdkAuthorization/src/LWA/LWAAuthorizationStorage.cpp - Gateway verification
AVSGatewayManager/src/Storage/AVSGatewayManagerStorage.cpp - Asset storage
capabilities/AssetManager/acsdkAssetManager/src/StorageManager.cpp - Misc storage API
AVSCommon/SDKInterfaces/include/AVSCommon/SDKInterfaces/Storage/MiscStorageInterface.h
Other components
- Device user
- AVS
Connections 23
- Device user → Audio input: speaks
- Audio input → Message requests: supplies audio
- AVS context → Message requests: provides context
- Message requests → Connection manager: submits messages
- Connection manager → Message router: routes requests
- Message router → HTTP/2 transport: dispatches
- HTTP/2 transport → AVS: exchanges messages
- AVS → HTTP/2 transport: returns directives
- HTTP/2 transport → Message router: delivers responses
- Message router → Message interpreter: delivers messages
- Message interpreter → Directive sequencer: submits directives
- Directive sequencer → Directive router: dispatches directives
- Directive router → Capability agents: selects handlers
- Capability agents → AVS context: updates state
- Capability agents → Focus manager: requests focus
- Focus manager → Audio channels: grants focus
- Audio channels → Speaker manager: coordinates audio
- Call capability → Capability agents: implements capability
- Authorization → Misc storage API: stores identity
- Gateway verification → Misc storage API: stores verification
- Speaker manager → Misc storage API: stores settings
- LWA token storage → Authorization: provides token storage
- Asset storage → Misc storage API: uses budgeted assets