// Copyright 2020 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.actions.sdk.v2; import "google/actions/sdk/v2/account_linking_secret.proto"; import "google/actions/sdk/v2/action.proto"; import "google/actions/sdk/v2/interactionmodel/entity_set.proto"; import "google/actions/sdk/v2/interactionmodel/global_intent_event.proto"; import "google/actions/sdk/v2/interactionmodel/intent.proto"; import "google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto"; import "google/actions/sdk/v2/interactionmodel/scene.proto"; import "google/actions/sdk/v2/interactionmodel/type/type.proto"; import "google/actions/sdk/v2/manifest.proto"; import "google/actions/sdk/v2/settings.proto"; import "google/actions/sdk/v2/webhook.proto"; import "google/protobuf/struct.proto"; option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; option java_multiple_files = true; option java_outer_classname = "ConfigFileProto"; option java_package = "com.google.actions.sdk.v2"; // Wrapper for repeated config files. Repeated fields cannot exist in a oneof. message ConfigFiles { // Multiple config files. repeated ConfigFile config_files = 1; } // Represents a single file which contains structured data. Developers can // define most of their project using structured config including Actions, // Settings, Fulfillment. message ConfigFile { // Relative path of the config file from the project root in the SDK file // structure. Each file types below have an allowed file path. // Eg: settings/settings.yaml string file_path = 1; // Each type of config file should have a corresponding field in the oneof. oneof file { // Single manifest file. // Allowed file path: `manifest.yaml` Manifest manifest = 2; // Single actions file with all the actions defined. // Allowed file paths: `actions/{language}?/actions.yaml` Actions actions = 3; // Single settings config which includes non-localizable settings and // settings for the project's default locale (if specified). // For a locale override file, only localized_settings field will be // populated. // Allowed file paths: `settings/{language}?/settings.yaml` // Note that the non-localized settings file `settings/settings.yaml` must // be present in the write flow requests. Settings settings = 4; // Single webhook definition. // Allowed file path: `webhooks/{WebhookName}.yaml` Webhook webhook = 6; // Single intent definition. // Allowed file paths: `custom/intents/{language}?/{IntentName}.yaml` google.actions.sdk.v2.interactionmodel.Intent intent = 7; // Single type definition. // Allowed file paths: `custom/types/{language}?/{TypeName}.yaml` google.actions.sdk.v2.interactionmodel.type.Type type = 8; // Single entity set definition. // Allowed file paths: `custom/entitySets/{language}?/{EntitySetName}.yaml` google.actions.sdk.v2.interactionmodel.EntitySet entity_set = 15; // Single global intent event definition. // Allowed file paths: `custom/global/{GlobalIntentEventName}.yaml` // The file name (GlobalIntentEventName) should be the name of the intent // that this global intent event corresponds to. google.actions.sdk.v2.interactionmodel.GlobalIntentEvent global_intent_event = 9; // Single scene definition. // Allowed file paths: `custom/scenes/{SceneName}.yaml` google.actions.sdk.v2.interactionmodel.Scene scene = 10; // Single static prompt definition. // Allowed file paths: `custom/prompts/{language}?/{StaticPromptName}.yaml` google.actions.sdk.v2.interactionmodel.prompt.StaticPrompt static_prompt = 11; // Metadata corresponding to the client secret used in account linking. // Allowed file path: `settings/accountLinkingSecret.yaml` AccountLinkingSecret account_linking_secret = 13; // Single resource bundle, which is a map from a string to a string or list // of strings. Resource bundles could be used for localizing strings in // static prompts. // Allowed file paths: `resources/strings/{language}?/{multiple // directories}?/{BundleName}.yaml` google.protobuf.Struct resource_bundle = 12; } }