config_file.proto 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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. import "google/actions/sdk/v2/account_linking_secret.proto";
  17. import "google/actions/sdk/v2/action.proto";
  18. import "google/actions/sdk/v2/interactionmodel/entity_set.proto";
  19. import "google/actions/sdk/v2/interactionmodel/global_intent_event.proto";
  20. import "google/actions/sdk/v2/interactionmodel/intent.proto";
  21. import "google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto";
  22. import "google/actions/sdk/v2/interactionmodel/scene.proto";
  23. import "google/actions/sdk/v2/interactionmodel/type/type.proto";
  24. import "google/actions/sdk/v2/manifest.proto";
  25. import "google/actions/sdk/v2/settings.proto";
  26. import "google/actions/sdk/v2/webhook.proto";
  27. import "google/protobuf/struct.proto";
  28. option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk";
  29. option java_multiple_files = true;
  30. option java_outer_classname = "ConfigFileProto";
  31. option java_package = "com.google.actions.sdk.v2";
  32. // Wrapper for repeated config files. Repeated fields cannot exist in a oneof.
  33. message ConfigFiles {
  34. // Multiple config files.
  35. repeated ConfigFile config_files = 1;
  36. }
  37. // Represents a single file which contains structured data. Developers can
  38. // define most of their project using structured config including Actions,
  39. // Settings, Fulfillment.
  40. message ConfigFile {
  41. // Relative path of the config file from the project root in the SDK file
  42. // structure. Each file types below have an allowed file path.
  43. // Eg: settings/settings.yaml
  44. string file_path = 1;
  45. // Each type of config file should have a corresponding field in the oneof.
  46. oneof file {
  47. // Single manifest file.
  48. // Allowed file path: `manifest.yaml`
  49. Manifest manifest = 2;
  50. // Single actions file with all the actions defined.
  51. // Allowed file paths: `actions/{language}?/actions.yaml`
  52. Actions actions = 3;
  53. // Single settings config which includes non-localizable settings and
  54. // settings for the project's default locale (if specified).
  55. // For a locale override file, only localized_settings field will be
  56. // populated.
  57. // Allowed file paths: `settings/{language}?/settings.yaml`
  58. // Note that the non-localized settings file `settings/settings.yaml` must
  59. // be present in the write flow requests.
  60. Settings settings = 4;
  61. // Single webhook definition.
  62. // Allowed file path: `webhooks/{WebhookName}.yaml`
  63. Webhook webhook = 6;
  64. // Single intent definition.
  65. // Allowed file paths: `custom/intents/{language}?/{IntentName}.yaml`
  66. google.actions.sdk.v2.interactionmodel.Intent intent = 7;
  67. // Single type definition.
  68. // Allowed file paths: `custom/types/{language}?/{TypeName}.yaml`
  69. google.actions.sdk.v2.interactionmodel.type.Type type = 8;
  70. // Single entity set definition.
  71. // Allowed file paths: `custom/entitySets/{language}?/{EntitySetName}.yaml`
  72. google.actions.sdk.v2.interactionmodel.EntitySet entity_set = 15;
  73. // Single global intent event definition.
  74. // Allowed file paths: `custom/global/{GlobalIntentEventName}.yaml`
  75. // The file name (GlobalIntentEventName) should be the name of the intent
  76. // that this global intent event corresponds to.
  77. google.actions.sdk.v2.interactionmodel.GlobalIntentEvent global_intent_event = 9;
  78. // Single scene definition.
  79. // Allowed file paths: `custom/scenes/{SceneName}.yaml`
  80. google.actions.sdk.v2.interactionmodel.Scene scene = 10;
  81. // Single static prompt definition.
  82. // Allowed file paths: `custom/prompts/{language}?/{StaticPromptName}.yaml`
  83. google.actions.sdk.v2.interactionmodel.prompt.StaticPrompt static_prompt = 11;
  84. // Metadata corresponding to the client secret used in account linking.
  85. // Allowed file path: `settings/accountLinkingSecret.yaml`
  86. AccountLinkingSecret account_linking_secret = 13;
  87. // Single resource bundle, which is a map from a string to a string or list
  88. // of strings. Resource bundles could be used for localizing strings in
  89. // static prompts.
  90. // Allowed file paths: `resources/strings/{language}?/{multiple
  91. // directories}?/{BundleName}.yaml`
  92. google.protobuf.Struct resource_bundle = 12;
  93. }
  94. }