Aura channel model

The Aura channel model includes all the properties required for channels to communicate with Aura

Introduction

When integrating a channel into Aura, there are various properties, both mandatory and optional, that must be defined for the registration of this channel and in order to set its operational configuration within Aura.

In this framework, two scenarios arise, depending on the type of skill:

  • Registration of a channel that works against aura-bot skill
    The tables below include the properties definition for this scenario

  • Registration of a channel that works against a third-party skill
    This scenario includes certain particularities which are specifically described in the affected properties and marked as:

The tables that define Aura channel model includes the property type and a brief description of each of them, together with a column indicating which are the Aura Platform components affected by this property.

  • Properties marked in bold are mandatory.
  • Properties marked in italics are optional.
  • Values of Applicable Aura Platform components column:
    • aura-configuration-api is not included, because it handles the configuration, so it uses everything.
    • aura-bridge means aura-bridge and aura-bridge-outbound.

Channel configuration

Property Type Description Applicable Aura Platform components
name string Descriptive name of the channel. Lowercase hyphen-separated words All Aura components
prefix string Minimal expression of channel name. Lowercase hyphen-separated words All Aura components
id UUID UUID that uniquely identifies the channel in Aura All Aura components
brand string Identifier of the Telefónica brand this channel belongs to. It must be one of the brands defined in Kernel D_Gbl_Brand global dimension entity. All Aura components
contact string Identifier of the type of contact channel. It must be one of the contact channels defined in Kernel D_Gbl_Contact_Channel global dimension entity. All Aura components
dialogLibraries array Array of dialogLibrary model with all the use cases supported by the channel.
Check the complete dialogLibrary model
aura-bot
actions object List of configurations for the different actions sent by aura-bot.
Check the complete actions model
aura-bot
rcs object RCS configuration. Type RCS model.
Check the complete RCS model
aura-bridge
requestOptions object Object with request options. Type request model.
Check the complete requestOptions model
aura-groot, aura-bot, aura-bridge, aura-file-manager
responseOptions object Object of response model that describes all the options of the response to the channel.
Check the complete responseOptions model
aura-groot, aura-bot, aura-bridge, aura-file-manager
security object Authentication options object type security model.
Check the complete security model
aura-bot, aura-bridge, aura-file-manager, aura-authentication-api
whatsapp object Object of whatsApp model that describes all the WhatsApp channel options.
Check the complete WhatsApp model
aura-groot, aura-bot
auraBotCacheTTL number Set custom cache lifetime in MongoDB by channel aura-bot, aura-groot
type string Channel type: whatsapp, auraline, rcs. Used by aura-bridge to determine the correct plugin to handle incoming bot responses aura-bridge
atria object Object of Atria model with application and preset configs by intent.
Check the complete Atria model
aura-groot, aura-bot

1.1. NLP model

Channels working against a third-party skill: non-applicable model

Property Type Description Applicable Aura Platform components
enabled boolean It indicates whether or not the channel counts on any training handled by aura-nlp. If not present, it means that no training has been provided for the channel aura-bot, aura-nlp
stages array List of nlp stages configured. This field should NOT be configured. Is automatically filled by aura-config-provision job. aura-kpis-uploader, nlp-provisioning

Channels working against a third-party skill: non-applicable model

Property Type Description Applicable Aura Platform components

2.1. dialogLibrary model

Property Type Description Applicable Aura Platform components
name string Unique name of the library aura-bot
dialogs array Array of the dialog model, with all the dialogs supported by this library aura-bot
authorization authorizationConfiguration model Authorization scopes and purposes aura-bot

2.1.1. dialog model

Property Type Description Applicable Aura Platform components
id string Unique identifier of the dialog. Usually a descriptive name aura-bot
prefix string Unique identifier with the acronym of the dialog aura-bot
triggerConditions array Array of triggerCondition model, with all the triggers leading to this dialog aura-bot
channelDataVersion string channelData version aura-bot
suggestions boolean Boolean value that indicates if the dialog should show suggestions aura-bot
allowAnonymous boolean Boolean value that indicates if the dialog allows anonymous users aura-bot
authorization object Array of the authorizationConfiguration model aura-bot
bypass object bypass model aura-bot

2.1.1.1. triggerCondition model

Property Type Description Applicable Aura Platform components
id string Unique identifier of the intent. It should follow this format intent.[case].[specific_resolution] aura-bot
contextFilters array Array of contextFilter model, with all the filters based on the user context that will control how the dialog is executed aura-bot
entity string Canonical value of the entity, when needed to fill the intent resolution aura-bot
settings intentSettings Intent properties which can be used to customize trigger conditions aura-bot

2.1.1.1.1. contextFilter model

Property Type Description Applicable Aura Platform components
name string Descriptive name of the filter aura-bot
type string Descriptive name of the filter type aura-bot
conditions string Boolean condition in spleen format that will control how the filter is validated. For instance: /authData/subscriptionType neq 'postpaid' will be truly if the UserType of the logged user is not postpaid aura-bot
true-false object conditionValidation model that describes the behavior of the dialog under each result aura-bot

2.1.1.1.1.1. conditionValidation model

Property Type Description Applicable Aura Platform components
name string Descriptive name of the condition validation aura-bot
breakDialogExecution boolean true if the dialog execution should be stopped aura-bot
breakFilterEval boolean true if the filters validation should be stopped if this validation is successful aura-bot
resource string Reference of the copy to be returned to the user if this validation is successful aura-bot
suggestions string Flag to indicate whether or not the dialog should show suggestions if contextFilter is true aura-bot
redirectToIntent string New intent to redirect aura-bot
originalIntent string Original intent when context filter be applied aura-bot

2.1.1.1.2. intentSettings model

Property Type Description Applicable Aura Platform components
type string intentSettings type aura-bot
action string Action to be performed and attached to the output message used in different channels aura-bot
actions actionConfig V3 Actions to be performed and attached to the output message used in different channels aura-bot
locales intentSettingsLocales Success or error messages to be displayed in output message aura-bot
payload object Parameters needed to recreate output message aura-bot
addEntitiesToPayload boolean Flag to indicate whether or not entities must be applied to the payload aura-bot
needPlayingContent boolean Flag to indicate whether or not playingContent is needed aura-bot
sound Sound Configuration involving sounds reproduced in different channels. Available values are defined in Sound enum. aura-bot
swapEntityCanonValue string Array of entity’s types which will be swapped payload entity value from entity.entity to entity.canon aura-bot
indexedResourceBase string POEditor resource reference to obtain deterministic value. e.g. generic:faq-answer. aura-bot
addEntitiesToPayload boolean Flag to indicate whether or not entities must be applied to the payload. aura-bot
confirmSuggestion boolean Flag to indicate whether or not suggestions must be confirmed. aura-bot
resolutionIntent string Intent returned by movistarResolution API. aura-bot
resolutionEntities Entity[] Entities returned by movistarResolution. aura-bot
payloadType payloadType Payload type included in payloadType enum such as ‘radio’. aura-bot
isFullscreen boolean Flag to indicate fullScreen behavior. aura-bot
functions functionsConfig Parameters related to the configuration of functions aura-bot
suggestions boolean Flag to indicate if suggestions will be returned aura-bot

2.1.1.1.2.1. actionConfig model

Property Type Description Applicable Aura Platform components
name string Action name aura-bot
target string Action target aura-bot
params object Action params aura-bot
postBack object Action postBack aura-bot

2.1.1.1.2.2. intentSettingsLocales model

Property Type Description Applicable Aura Platform components
success string Success message array aura-bot
error string Error message array aura-bot

2.1.1.1.2.3. functionsConfig model

Property Type Description Applicable Aura Platform components
params string[] Function params aura-bot
algorithm string Function algorithm name or js plain code aura-bot

2.1.1.2. bypass model

Property Type Description Applicable Aura Platform components
duration string Time in minutes during which the bypass is valid. The dialog must provide a way of setting a default duration that will depend on the use case aura-bot
payloadName boolean true if the dialog execution should be stopped aura-bot
initialData object Initial data to store in the bypass. Bypass.data aura-bot
recognizersEnabled boolean Enable recognizers when bypass is active aura-bot
recognizersBreakIntents string Break intents to replace dialog aura-bot

2.1.2. authorizationConfiguration model

Property Type Description Applicable Aura Platform components
scopes string Scopes defined in Kernel aura-bot
purposes string Purposes defined in Kernel aura-bot

4.1. actions model

Property Type Description Applicable Aura Platform components
afterLogin actionAfterLogin Configuration for action sent after login in WhatsApp aura-bot
thirdPartyApp actionThirdParty Configuration for action to launch 3PA from dialog aura-bot

4.1.1. actionAfterLogin model

Property Type Description Applicable Aura Platform components
action string Action sent in channelData aura-bot
type string Type sent in channelData aura-bot
data object Data sent in channelData. It can contain the field originalIntent aura-bot

4.1.2. actionThirdParty model

Property Type Description Applicable Aura Platform components
action string Action sent in channelData aura-bot
type string Type sent in channelData aura-bot
data object Data sent in channelData aura-bot
contentType string ContentType of the data in channelData aura-bot

5.1. RCS model

Property Type Description Applicable Aura Platform components
agentId string RCS agent ID aura-bridge
clientToken string Token configured in RCS webhook aura-bridge
email string RCS account email aura-bridge
privateKey string RCS account private key in base64 format aura-bridge

6.1. requestOptions model

Property Type Description Applicable Aura Platform components
fileAttachments fileAttachmentsModel Set of settings needed to processing file attachments aura-bot, aura-file-manager
requestOptionsVersion any Set of settings depending on the version aura-bot, aura-bridge, aura-file-manager
defaultIntentByAttachment any Key value pairs with types of attachments and the intent to route these messages aura-bot

6.1.1. fileAttachments model

Property Type Description Applicable Aura Platform components
enabled boolean Enable/disable file attachment processing aura-bot, aura-file-manager
enabledExtensions string Array with accepted file extensions (if not present, then all default files are accepted) aura-file-manager
customProactiveDialogId string Dialog identifier that allows to substitute core unexpected-file dialog aura-bot
validation validation Set of validations to apply to a file attachment aura-file-manager

6.1.1.1. validation model

Validation is an object where keys are file extensions and values are objects with validations to apply to that particular file extension. The current available validations are related to size.

Property Type Description Applicable Aura Platform components
size Size Size validation params aura-file-manager

6.1.1.1.1. size

Property Type Description Applicable Aura Platform components
max number Maximum size accepted aura-file-manager
min number Minimum size accepted aura-file-manager

7.1. responseOptions model

Property Type Description Applicable Aura Platform components
dialogContext dialogContext model DialogContext configuration aura-bot
versions responseOptionsVersion Response mode to be used by version (batch messages or single messages) aura-bot, aura-bridge
needsEmptyResponseEvent boolean If true, the bot will respond with an event if no response is sent to an input message aura-bridge
outputMessageFormat string Type of message supported by the channel. Possible values:
- custom: use for TV channels. Recommended value in new channels
- enrich: use for channels supporting Adaptive Cards (Novum)
- simple: use for channels supporting Hero Cards (WhatsApp)

Channels working against a third-party skill: custom
aura-bot
sendSpeak boolean Flag to indicate that this channel returns speak with all messages aura-bot
disambiguationFormat string Format of disambiguation supported by the channel. Possible values: suggestions, prompt, disabled. By default, prompt aura-bot
textConvert boolean It indicates whether the texts of each of the messages received must be converted to the WhatsApp markdown format. By default: true aura-bridge
callbackOptions callbackOptions Parameter that defines URL and headers for Auraline callback aura-bridge
suggestionsNumber number It indicates the number of suggestions to be returned in a message. Only applies to channelData v3. aura-bot

7.1.1. dialogContext model

Property Type Description Applicable Aura Platform components
normalizeTerms boolean It normalizes the options of dialogContext before trying to match. By default: true aura-bot
disabled boolean It disables the generation of dialogContext. Default: false aura-bot
disabledMerge boolean It disables the use of the custom dialogContext. If a custom dialogContext exists, this won’t be merged with the auto-generated. By default: false aura-bot
processFromClient boolean It processes the dialogContext sent in the channelData of client message. By default: false aura-bot
returnToClient boolean It sends the current dialogContext in the channelData to the client message. By default: false aura-bot
defaultListType defaultListType model Improved recognition of numbers. aura-bot
promptChoice dialogContextGenerated model Object of dialogContextGenerated aura-bot
cardActions dialogContextGenerated model Object of dialogContextGenerated aura-bot

7.1.1.1. defaultListType model

Property Type Description Applicable Aura Platform components
DefaultListType enum - none: no generated list
- ordinal: only ordinal values are generated and will be included in the text field of the dialogContext
- cardinal: only the list of cardinals for each dialogContext option will be generated
- ordinalCardinal: both ordinal and cardinal values for each dialogContext option are generated
aura-bot

7.1.1.2. dialogContextGenerated model

Property Type Description Applicable Aura Platform components
generate generateType model Value representing when the list is generated aura-bot
generateList boolean Boolean value to indicate if the list is generated aura-bot

7.1.1.2.1. generateType model

Property Type Description Applicable Aura Platform components
Generate enum - never: No lists are generated for dialogContext options. If this property is at channel level, options in Prompts and CardActions will be ignored
- always: The list will always be generated
- custom: If the channel has this value, then it will depend on the configuration of each Prompt or CardAction
aura-bot

7.1.2. responseOptionsVersion model

Property Type Description Applicable Aura Platform components
key string Bot response version with the format: v1, v2, v3, etc. aura-bot
value responseOptionsVersionParameters Bot response mode for that version aura-bot

7.1.2.1. responseOptionsVersionParameters model

Property Type Description Applicable Aura Platform components
batchMessages boolean If batchMessages will be used aura-bot
singleMessage boolean If singleMessage will be used aura-bot
defaultDirectlineVersion boolean Flag to indicate if messages should be sent in this version between aura-bridge and aura-bot. Only one version can be set as default aura-bridge

7.1.3. callbackOptions model

Property Type Description Applicable Aura Platform components
url string Callback URL to send responses from Auraline aura-bridge
headers callbackOptionsHeaders Headers sent in the callback request aura-bridge
refreshOptions refreshOptions Configurations needed to refresh authorization token if needed aura-bridge

7.1.3.1. CallbackOptionsHeaders model

Property Type Description Applicable Aura Platform components
authorization string Authorization header sent in the request aura-bridge

7.1.3.2. refreshOptions model

Property Type Description Applicable Aura Platform components
refreshToken string Token used to refresh authorization token aura-bridge
expiresAt string Date of token expiration in ISO 8601 format aura-bridge
refreshTokenUrl string Endpoint to refresh token aura-bridge
clientId string Oauth clientId aura-bridge
clientSecret string Oauth secret aura-bridge
redirectUri string Oauth redirect uri aura-bridge
Property Type Description Applicable Aura Platform components

7.1.4.1. disambiguationOptions model

Property Type Description Applicable Aura Platform components
returnScore boolean Flag to return the score from disambiguation in NLP as a Service aura-gateway-api

8.1. security model

Property Type Description Applicable Aura Platform components
anonymous string Type of anonymous users that this channel handles. Values:
- anonymous: unauthenticated user
- identifiable: the channel userId univocally identifies a user in the channel
aura-bot
allowUserProfile boolean Flag to indicate whether or not UserProfile Kernel API must be called during the authentication process. Values:
- True, if authentication allows calling UserProfile Kernel API
- False, if authentication does not allow calling UserProfile Kernel API
aura-bot
anonymousSettings anonymousSettings Settings for checking user profile on anonymous users aura-bot
channelId string Readable channel identifier, resulting from the consolidation of the C360 and Telco listings, used for security purposes aura-bot, aura-authentication-api
authScopes string Blank separated list of the scopes needed by the users of this channel to request an access token to Kernel in order to access the corresponding APIs aura-bot
authPurposes string Blank separated list of the purposes needed by the users of this channel to request an access token to Kernel in order to access the corresponding APIs aura-bot
federatedAuthentication federatedAuthentication Model with the information to handle integrated authentication for its users aura-bot, aura-authentication-api
termsAndConditions termsAndConditionsConfiguration Set of settings needed to activate Terms and Conditions in the channel aura-bridge

8.1.1. anonymousSettings model

Property Type Description Applicable Aura Platform components
enableUserProfile boolean true means that user profile API will be requested for anonymous users, to check if current phone number is corporate. false or empty will not check user profile API aura-bot
checkPromptedNumber boolean true means that user profile API will be requested to check if prompted phone number is corporate. false or empty will not check user profile API for prompted phone numbers aura-bot

8.1.2. federatedAuthentication model

Property Type Description Applicable Aura Platform components
loginUrl string String with the IdBroker URL to be used to authenticate this channel users. If not set, the requests will be sent to AURA_BOT_DIALOG_ACCOUNT_LINKING_URL environment configuration aura-bot
auraIdSeparator string Separator to be used in aura-authentication-api to store the auraId of the user: <channelName><separator><channelUserId>. This format is used to avoid overlapping of userIds from different channels aura-bot
loginCallback loginCallback Object with the configuration of the channel callback that will be requested with the authentication result by aura-authentication-api, to finish the authentication process aura-authentication-api
logoutCallback logoutCallback Object with the configuration of the logout callback to delete session data or delete cookies from the browser aura-bot, aura-authentication-api
authorizationIdExpiration number Expiration time of users in seconds. If not configured, users will expire by authorizationId in Kernel as usual. aura-bot, aura-authentication-api

8.1.2.1. loginCallback model & logoutCallback model

Property Type Description Applicable Aura Platform components
method string HTTP method, usually, get or post, to be used to make the callback request aura-authentication-api
integrated string Flag to indicate whether the authentication response to be returned to the user is directly the response of the channel_communication_endpoint request or not aura-authentication-api
endpoint string Channel authentication callback endpoint aura-authentication-api
queryParams string Query params to be sent in the request to the authentication callback endpoint, if needed, if method is GET and queryparams are needed aura-authentication-api
headers array Array of string with the HTTP headers to be sent in the request to the authentication callback endpoint aura-authentication-api
body string String with the body to be returned in the request to the authentication callback endpoint, if needed, if method is POST and a body is needed. If the body is a JSON object, it should go stringified aura-authentication-api

8.1.3. termsAndConditionsConfiguration model

Property Type Description Applicable Aura Platform components
authenticated termsAndConditionsModel T&C settings for authenticated users aura-bot
anonymous termsAndConditionsModel T&C settings for anonymous users aura-bot

8.1.3.1. termsAndConditionsModel model

Property Type Description Applicable Aura Platform components
service string Name of the service where the T&C will be stored aura-bot
version string Version of the service where the T&C will be stored aura-bot

9.1. WhatsApp model

Property Type Description Applicable Aura Platform components
client whatsappClient Necessary information for Kernel WhatsApp client aura-bridge, Aura Filemanager
phoneNumber string WhatsApp phone number of the channel. Used to redirect the user to WhatsApp conversation in HTML templates aura-bot
listOptions listOptions Conversion of prompts and suggestions that use HeroCard to WhatsApp lists aura-bridge

9.1.1. whatsApp client model

Property Type Description Applicable Aura Platform components
id string Kernel WhatsApp client identifier aura-bridge, aura-file-manager
secret string Kernel WhatsApp client secret aura-bridge, aura-file-manager
purposes string Kernel WhatsApp client purposes aura-bridge, aura-file-manager
scopes string Kernel WhatsApp client scopes aura-bridge, aura-file-manager
version string Kernel WhatsApp API version (v1, v2) aura-bridge

9.1.2. listOptions model

This model defines the conversion of prompts and suggestions that use HeroCard into WhatsApp lists.

Property Type Description Applicable Aura Platform components
type string WhatsApp list type. Allowed values: button, enumeratedList, list aura-bridge
rules listOptionsRule Conversion rules to WhatsApp lists aura-bridge

9.1.2.1. listOptionsRule model

This model defines the conversion of rules into WhatsApp lists.

Property Type Description Applicable Aura Platform components
type string WhatsApp list type. Allowed values: button, enumeratedList, list aura-bridge
resources listOptionsResource model Definition of the resources used in the WhatsApp lists aura-bridge

9.1.2.1.1. listOptionsResource model

Property Type Description Applicable Aura Platform components
name string Name of resource aura-bridge
resourceKey string Resource key aura-bridge

10.1 ATRIA model

Property Type Description Applicable Aura Platform components
dialogs atriaDialogConfig ATRIA configuration by dialog aura-bot
recognizers atriaRecognizerConfig ATRIA configuration by intent aura-bot

10.1.1 ATRIA Dialog config

Property Type Description Applicable Aura Platform components
dialog string key atriaDialogConfig ATRIA configuration by key dialog aura-bot

10.1.2 ATRIA Recognizer config

Property Type Description Applicable Aura Platform components
intent string key atriaIntentConfig ATRIA configuration by key intent aura-bot

10.1.1 ATRIA intent config

Property Type Description Applicable Aura Platform components
applicationId string ATRIA application identifier aura-bot
presetId string ATRIA preset identifier aura-bot

Example

export interface ChannelConfiguration {
    auraBotCacheTTL?: number;
    id: string;
    name: string;
    prefix: string;
    security?: {
        anonymous: 'anonymous' | 'identifiable';
        allowUserProfile: boolean;
        channelId: string;
        authPurposes: string;
        authScopes: string;
        federatedAuthentication?: {
            loginUrl: string;
            auraIdSeparator: string;
            loginCallback: {
                method: string;
                integrated: string;
                endpoint: string;
                queryParams?: string;
                headers?: [string];
                body?: string;
            };
            logoutCallback: {
                method: string;
                integrated: string;
                endpoint: string;
                queryParams?: string;
                headers?: [string];
                body?: string;
            };
        };
        termsAndConditions: {
            authenticated: {
                version: string;
                service: string;
            };
            anonymous: {
                version: string;
                service: string;
            };
        };
    };
    nlp?: {
        enabled: boolean;
            enabled: boolean;
            custom: boolean;
            azureContainerURL?: string;
            e2eBlockThreshold?: number;
            e2eWarningThreshold?: number;
        };
    };
    whatsapp?: {
        client: {
            id: string;
            secret: string;
            purposes?: string;
            scopes?: string;
        };
        phoneNumber?: string;
    };
    type?: 'whatsapp' | 'auraline';
    actions?: {
        afterLogin?: {
            action: string;
            type: string;
            data: any | {
                originIntent: any;
            };
        };
        thirdPartyApp?: {
            action?: string;
            type?: string;
            data?: any;
            contentType?: string;
        };
    };
    requestOptions?: {
        fileAttachments?: {
            enabled: boolean;
            enabledExtensions?: string[];
            customProactiveDialogId?: string;
            validations?: {
                [type: string]: {
                    size: {
                        min?: number;
                        max?: number;
                    };
                };
            };
        };
        requestOptionsVersion?: any;
    }
    responseOptions?: {
        dialogContext: {
            disabled: boolean;
            disabledMerge: boolean;
            normalizeTerms: boolean;
            defaultListType: 'none' | 'ordinalCardinal' | 'ordinal' | 'cardinal';
            promptChoice: {
                generate: 'never' | 'always' | 'custom';
                generateList: boolean;
            };
            cardActions: {
                generate: 'never' | 'always' | 'custom';
                generateList: boolean;
            };
            returnToClient?: boolean;
            processFromClient?: boolean;
        };
        versions?: {
            [key: string]: {
                batchMessages?: boolean;
                singleMessage?: boolean;
            };
        };
        needsEmptyResponseEvent?: boolean;
        outputMessageFormat: 'custom' | 'enrich' | 'html5' | 'simple' | 'voice';
        sendSpeak: boolean;
        disambiguationFormat?: 'disabled' | 'prompts' | 'suggestions';
    };
    dialogLibraries: [{
        name: string;
        authorization?: {
            scopes?: string;
            purposes?: string;
            [name: string]: string;
        };
        dialogs: [{
            id: string;
            triggerConditions: [{
                contextFilters?: [{
                    conditions: string;
                    false: {
                        breakDialogExecution: boolean;
                        breakFilterEval: boolean;
                        name: string;
                        resource: string;
                        suggestions?: boolean;
                        redirectToIntent?: string;
                        originalIntent?: string;
                    };
                    name: string;
                    true: {
                        breakDialogExecution: boolean;
                        breakFilterEval: boolean;
                        name: string;
                        resource: string;
                        suggestions?: boolean;
                        redirectToIntent?: string;
                        originalIntent?: string;
                    };
                    type: string;
                }];
                intent: string;
                entity?: string;
                settings?: {
                    type?: string;
                    action?: string;
                    locales?: {
                        success?: string[];
                        error?: string[];
                    };
                    payload?: any;
                    addEntitiesToPayload?: boolean;
                    needPlayingContent?: boolean;
                    sound?: 'positive' | 'negative' | 'none';
                    needTvResolution?: boolean;
                    confirmSuggestion?: boolean;
                    resolutionIntent?: string;
                    resolutionEntities?: any[];
                    payloadType?: 'tv' | 'communications'| 'wifi' | 'radio';
                    isFullscreen?: boolean;
                };
            }];
            channelDataVersion?: string;
            prefix?: string;
            suggestions?: boolean;
            allowAnonymous?: boolean;
            authorization?: {
                scopes?: string;
                purposes?: string;
                [name: string]: string;
            };
        }];
    }];
}
Last modified May 18, 2026: Remove KGB (52b04d91)