View Source GoogleApi.ContentWarehouse.V1.Model.AssistantApiDeviceCapabilities (google_api_content_warehouse v0.4.0)

This message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: - device hardware - software - status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface's capabilities can differ from the device's. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37

Attributes

  • movement (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiMovementCapabilities.t, default: nil) - These capabilities are scoped to abilities of the device to move around.
  • surfaceIdentity (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiCoreTypesSurfaceIdentity.t, default: nil) - The set of information that helps the server identify the surface.
  • screen (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiScreenCapabilities.t, default: nil) - These capabilities are scoped to the ability to see and interact with the Assistant through a screen. If the device has no screen it should send an empty ScreenCapabilities. Sending no ScreenCapabilities will cause this to be overridden with the surface default.
  • callCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiCallCapabilities.t, default: nil) - The call capabilities of this device. go/call-capabilities
  • systemNotificationRestrictions (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiSystemNotificationRestrictions.t, default: nil) - Restrictions related to system-level notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures system level notifications restrictions. This field is not stored and is merged to capabilities from conversation params. It exists mostly for logging purposes of android channel state and global app-level notification opt out.
  • sodaCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiSodaCapabilities.t, default: nil) - Capabilities related to SODA (Speech On-Device API).
  • hasVoiceTelephony (type: boolean(), default: nil) - Indicates that the device has connection to cellular network that allows it to make voice calls. This is distinct from device just being capable of voice telephony, because the device can be capable yet miss the suitable SIM card (for example, it could miss SIM card altogether, or have data-only SIM card).
  • lensPerceptionCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiLensPerceptionCapabilities.t, default: nil) - Capabilities related to Lens Perception, i.e. image understanding. See go/lens-perception-sdk.
  • cast (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiCastCapabilities.t, default: nil) - These capabilities are scoped to the cast abilities of this device.
  • deviceId (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiCoreTypesDeviceId.t, default: nil) - This is the same device id that is specified in the conversation protocol and should be unique to each device/user/model combination. For example, if a request is coming from a watch through AGSA the watch and AGSA should have different device_ids. Note: this field should only be used to determine which device the capabilities belong to and not to access the id of the device. Instead DeviceProperties should be used and accessed through ParamsAccessor.
  • thirdPartyCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiThirdPartyCapabilities.t, default: nil) - Capabilities related to third party integration.
  • androidIntentCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiAndroidIntentCapabilities.t, default: nil) - Capabilites related to Android intent support.
  • camera (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiCameraCapabilities.t, default: nil) - These capabilities are scoped to the camera abilities of this device.
  • deviceUxMode (type: String.t, default: nil) - Capabilities related to Android tablet UX experience.
  • assistantCapability (type: String.t, default: nil) - Capabilities if surface supports Google Assistant.
  • bluetoothCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiBluetoothCapabilities.t, default: nil) - Bluetooth capabilities related to usage of a feature.
  • location (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiLocationCapabilities.t, default: nil) - These capabilities are scoped to the location abilities of this device.
  • notificationOutputRestrictions (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiNotificationOutputRestrictions.t, default: nil) - Settings, that reflect whether a specific notification type is allowed for current device, e.g. if the user opted out from notification category or category group. This settings are server-side stored and evaluated unlike SystemNotificationRestrictions field.
  • loggingOnlyData (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiLoggingOnlyData.t, default: nil) - Data which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it.
  • notificationCapabilities (type: String.t, default: nil) - DEPRECATED: Use SystemNotificationRestrictions instead. Specifies whether the surface is able to display notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures whether the surface is capable of displaying notifications.
  • messageCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiMessageCapabilities.t, default: nil) -
  • audioInput (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiAudioInput.t, default: nil) - These capabilities are scoped to the ability to gather audio. It includes information like the type of audio that can be gathered (e.g. public, private).
  • contactLookupCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiContactLookupCapabilities.t, default: nil) -
  • outputRestrictions (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiOutputRestrictions.t, default: nil) - These are user configured restrictions indicating what the device is allowed to output from the privacy point of view.
  • software (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiSoftwareCapabilities.t, default: nil) - These capabilities are scoped to the software available on the device as well as the set of supported Assistant features.
  • communicationUiCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiCommunicationUiCapabilities.t, default: nil) -
  • carUxRestrictions (type: list(String.t), default: nil) - UX restrictions for Auto.
  • audioOutput (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiAudioOutput.t, default: nil) - These capabilities are scoped to the ability to play audio. It includes information like the type of audio that can be played (e.g. public, private).
  • popOnLockscreenCapability (type: String.t, default: nil) - Capability to support Pop on lockscreen.
  • dataValidateCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiDataValidateCapabilities.t, default: nil) -
  • surfaceTypeString (type: String.t, default: nil) - DEPRECATED. surface_identity field below already contains this information. The device's surface type. This is the string version of the assistant.api.core_types.SurfaceType enum. The server should not use this field, rather it should use the SurfaceType value derived from this string.
  • jwnCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiJwnCapabilities.t, default: nil) - Indicates if the client supports Javascript Whatsnext (go/jwn). Also contains the Jwn libraries present on the client along with their versions.
  • safetyRestrictions (type: String.t, default: nil) - Indicates if the client has safety related restriction.
  • supportedLocale (type: list(String.t), default: nil) - Locales supported by assistant settings for speaking and display. This is independent from device language that is defined in device setting. New locales are added based on rollout, whitelist and app version releases because older versions does not have model support. Currently supported locale list differs by surface type.
  • speechCapabilities (type: GoogleApi.ContentWarehouse.V1.Model.AssistantApiSpeechCapabilities.t, default: nil) - DEPRECATED Capabilities related to speech detection on devices.

Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Types

@type t() :: %GoogleApi.ContentWarehouse.V1.Model.AssistantApiDeviceCapabilities{
  androidIntentCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiAndroidIntentCapabilities.t()
    | nil,
  assistantCapability: String.t() | nil,
  audioInput:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiAudioInput.t() | nil,
  audioOutput:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiAudioOutput.t() | nil,
  bluetoothCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiBluetoothCapabilities.t()
    | nil,
  callCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiCallCapabilities.t() | nil,
  camera:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiCameraCapabilities.t() | nil,
  carUxRestrictions: [String.t()] | nil,
  cast:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiCastCapabilities.t() | nil,
  communicationUiCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiCommunicationUiCapabilities.t()
    | nil,
  contactLookupCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiContactLookupCapabilities.t()
    | nil,
  dataValidateCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiDataValidateCapabilities.t()
    | nil,
  deviceId:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiCoreTypesDeviceId.t() | nil,
  deviceUxMode: String.t() | nil,
  hasVoiceTelephony: boolean() | nil,
  jwnCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiJwnCapabilities.t() | nil,
  lensPerceptionCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiLensPerceptionCapabilities.t()
    | nil,
  location:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiLocationCapabilities.t()
    | nil,
  loggingOnlyData:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiLoggingOnlyData.t() | nil,
  messageCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiMessageCapabilities.t()
    | nil,
  movement:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiMovementCapabilities.t()
    | nil,
  notificationCapabilities: String.t() | nil,
  notificationOutputRestrictions:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiNotificationOutputRestrictions.t()
    | nil,
  outputRestrictions:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiOutputRestrictions.t() | nil,
  popOnLockscreenCapability: String.t() | nil,
  safetyRestrictions: String.t() | nil,
  screen:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiScreenCapabilities.t() | nil,
  sodaCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiSodaCapabilities.t() | nil,
  software:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiSoftwareCapabilities.t()
    | nil,
  speechCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiSpeechCapabilities.t() | nil,
  supportedLocale: [String.t()] | nil,
  surfaceIdentity:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiCoreTypesSurfaceIdentity.t()
    | nil,
  surfaceTypeString: String.t() | nil,
  systemNotificationRestrictions:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiSystemNotificationRestrictions.t()
    | nil,
  thirdPartyCapabilities:
    GoogleApi.ContentWarehouse.V1.Model.AssistantApiThirdPartyCapabilities.t()
    | nil
}

Functions

@spec decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.