surface.proto 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. syntax = "proto3";
  15. package google.actions.sdk.v2;
  16. option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk";
  17. option java_multiple_files = true;
  18. option java_outer_classname = "SurfaceProto";
  19. option java_package = "com.google.actions.sdk.v2";
  20. // Contains a set of requirements that the client surface must support to invoke
  21. // Actions in your project.
  22. message SurfaceRequirements {
  23. // The minimum set of capabilities needed to invoke the Actions in your
  24. // project. If the surface is missing any of these, the Action will not be
  25. // triggered.
  26. repeated CapabilityRequirement minimum_requirements = 1;
  27. }
  28. // Represents a requirement about the availability of a given capability.
  29. message CapabilityRequirement {
  30. // Possible set of surface capabilities.
  31. enum SurfaceCapability {
  32. // Unknown / Unspecified.
  33. SURFACE_CAPABILITY_UNSPECIFIED = 0;
  34. // Surface supports audio output.
  35. AUDIO_OUTPUT = 1;
  36. // Surface supports screen/visual output.
  37. SCREEN_OUTPUT = 2;
  38. // Surface supports media response audio.
  39. MEDIA_RESPONSE_AUDIO = 3;
  40. // Surface supports web browsers.
  41. WEB_BROWSER = 4;
  42. // Surface supports account linking.
  43. ACCOUNT_LINKING = 7;
  44. // Surface supports Interactive Canvas.
  45. INTERACTIVE_CANVAS = 8;
  46. // Surface supports home storage.
  47. HOME_STORAGE = 9;
  48. }
  49. // The type of capability.
  50. SurfaceCapability capability = 1;
  51. }