xref: /aosp_15_r20/external/googleapis/google/actions/sdk/v2/surface.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.actions.sdk.v2;
18
19option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk";
20option java_multiple_files = true;
21option java_outer_classname = "SurfaceProto";
22option java_package = "com.google.actions.sdk.v2";
23
24// Contains a set of requirements that the client surface must support to invoke
25// Actions in your project.
26message SurfaceRequirements {
27  // The minimum set of capabilities needed to invoke the Actions in your
28  // project. If the surface is missing any of these, the Action will not be
29  // triggered.
30  repeated CapabilityRequirement minimum_requirements = 1;
31}
32
33// Represents a requirement about the availability of a given capability.
34message CapabilityRequirement {
35  // Possible set of surface capabilities.
36  enum SurfaceCapability {
37    // Unknown / Unspecified.
38    SURFACE_CAPABILITY_UNSPECIFIED = 0;
39
40    // Surface supports audio output.
41    AUDIO_OUTPUT = 1;
42
43    // Surface supports screen/visual output.
44    SCREEN_OUTPUT = 2;
45
46    // Surface supports media response audio.
47    MEDIA_RESPONSE_AUDIO = 3;
48
49    // Surface supports web browsers.
50    WEB_BROWSER = 4;
51
52    // Surface supports account linking.
53    ACCOUNT_LINKING = 7;
54
55    // Surface supports Interactive Canvas.
56    INTERACTIVE_CANVAS = 8;
57
58    // Surface supports home storage.
59    HOME_STORAGE = 9;
60  }
61
62  // The type of capability.
63  SurfaceCapability capability = 1;
64}
65