| // 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/conversation/intent.proto"; |
| import "google/actions/sdk/v2/conversation/prompt/prompt.proto"; |
| import "google/actions/sdk/v2/conversation/scene.proto"; |
| import "google/protobuf/struct.proto"; |
| import "google/protobuf/timestamp.proto"; |
| import "google/rpc/status.proto"; |
| |
| option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
| option java_multiple_files = true; |
| option java_outer_classname = "EventLogsProto"; |
| option java_package = "com.google.actions.sdk.v2"; |
| |
| // Contains information about execution event which happened during processing |
| // Actions Builder conversation request. For an overview of the stages involved |
| // in a conversation request, see |
| // https://developers.google.com/assistant/conversational/actions. |
| message ExecutionEvent { |
| // Timestamp when the event happened. |
| google.protobuf.Timestamp event_time = 1; |
| |
| // State of the execution during this event. |
| ExecutionState execution_state = 2; |
| |
| // Resulting status of particular execution step. |
| google.rpc.Status status = 3; |
| |
| // Detailed information specific to different of events that may be involved |
| // in processing a conversation round. The field set here defines the type of |
| // this event. |
| oneof EventData { |
| // User input handling event. |
| UserConversationInput user_input = 4; |
| |
| // Intent matching event. |
| IntentMatch intent_match = 5; |
| |
| // Condition evaluation event. |
| ConditionsEvaluated conditions_evaluated = 6; |
| |
| // OnSceneEnter execution event. |
| OnSceneEnter on_scene_enter = 7; |
| |
| // Webhook request dispatch event. |
| WebhookRequest webhook_request = 8; |
| |
| // Webhook response receipt event. |
| WebhookResponse webhook_response = 9; |
| |
| // Webhook-initiated transition event. |
| WebhookInitiatedTransition webhook_initiated_transition = 10; |
| |
| // Slot matching event. |
| SlotMatch slot_match = 11; |
| |
| // Slot requesting event. |
| SlotRequested slot_requested = 12; |
| |
| // Slot validation event. |
| SlotValidated slot_validated = 13; |
| |
| // Form filling event. |
| FormFilled form_filled = 14; |
| |
| // Waiting-for-user-input event. |
| WaitingForUserInput waiting_user_input = 15; |
| |
| // End-of-conversation event. |
| EndConversation end_conversation = 16; |
| } |
| |
| // List of warnings generated during execution of this Event. Warnings are |
| // tips for the developer discovered during the conversation request. These |
| // are usually non-critical and do not halt the execution of the request. For |
| // example, a warnings might be generated when webhook tries to override a |
| // custom Type which does not exist. Errors are reported as a failed status |
| // code, but warnings can be present even when the status is OK. |
| repeated string warning_messages = 17; |
| } |
| |
| // Current state of the execution. |
| message ExecutionState { |
| // ID of the scene which is currently active. |
| string current_scene_id = 1; |
| |
| // State of the session storage: |
| // https://developers.google.com/assistant/conversational/storage-session |
| google.protobuf.Struct session_storage = 2; |
| |
| // State of the slots filling, if applicable: |
| // https://developers.google.com/assistant/conversational/scenes#slot_filling |
| Slots slots = 5; |
| |
| // Prompt queue: |
| // https://developers.google.com/assistant/conversational/prompts |
| repeated google.actions.sdk.v2.conversation.Prompt prompt_queue = 7; |
| |
| // State of the user storage: |
| // https://developers.google.com/assistant/conversational/storage-user |
| google.protobuf.Struct user_storage = 6; |
| |
| // State of the home storage: |
| // https://developers.google.com/assistant/conversational/storage-home |
| google.protobuf.Struct household_storage = 8; |
| } |
| |
| // Represents the current state of a the scene's slots. |
| message Slots { |
| // The current status of slot filling. |
| google.actions.sdk.v2.conversation.SlotFillingStatus status = 2; |
| |
| // The slots associated with the current scene. |
| map<string, google.actions.sdk.v2.conversation.Slot> slots = 3; |
| } |
| |
| // Information related to user input. |
| message UserConversationInput { |
| // Type of user input. E.g. keyboard, voice, touch, etc. |
| string type = 1; |
| |
| // Original text input from the user. |
| string original_query = 2; |
| } |
| |
| // Information about triggered intent match (global or within a scene): |
| // https://developers.google.com/assistant/conversational/intents |
| message IntentMatch { |
| // Intent id which triggered this interaction. |
| string intent_id = 1; |
| |
| // Parameters of intent which triggered this interaction. |
| map<string, google.actions.sdk.v2.conversation.IntentParameterValue> intent_parameters = 5; |
| |
| // Name of the handler attached to this interaction. |
| string handler = 3; |
| |
| // Scene to which this interaction leads to. |
| string next_scene_id = 4; |
| } |
| |
| // Results of conditions evaluation: |
| // https://developers.google.com/assistant/conversational/scenes#conditions |
| message ConditionsEvaluated { |
| // List of conditions which were evaluated to 'false'. |
| repeated Condition failed_conditions = 1; |
| |
| // The first condition which was evaluated to 'true', if any. |
| Condition success_condition = 2; |
| } |
| |
| // Evaluated condition. |
| message Condition { |
| // Expression specified in this condition. |
| string expression = 1; |
| |
| // Handler name specified in evaluated condition. |
| string handler = 2; |
| |
| // Destination scene specified in evaluated condition. |
| string next_scene_id = 3; |
| } |
| |
| // Information about execution of onSceneEnter stage: |
| // https://developers.google.com/assistant/conversational/scenes#on_enter |
| message OnSceneEnter { |
| // Handler name specified in onSceneEnter event. |
| string handler = 1; |
| } |
| |
| // Event triggered by destination scene returned from webhook: |
| // https://developers.google.com/assistant/conversational/webhooks#transition_scenes |
| message WebhookInitiatedTransition { |
| // ID of the scene the transition is leading to. |
| string next_scene_id = 1; |
| } |
| |
| // Information about a request dispatched to the Action webhook: |
| // https://developers.google.com/assistant/conversational/webhooks#payloads |
| message WebhookRequest { |
| // Payload of the webhook request. |
| string request_json = 1; |
| } |
| |
| // Information about a response received from the Action webhook: |
| // https://developers.google.com/assistant/conversational/webhooks#payloads |
| message WebhookResponse { |
| // Payload of the webhook response. |
| string response_json = 1; |
| } |
| |
| // Information about matched slot(s): |
| // https://developers.google.com/assistant/conversational/scenes#slot_filling |
| message SlotMatch { |
| // Parameters extracted by NLU from user input. |
| map<string, google.actions.sdk.v2.conversation.IntentParameterValue> nlu_parameters = 2; |
| } |
| |
| // Information about currently requested slot: |
| // https://developers.google.com/assistant/conversational/scenes#slot_filling |
| message SlotRequested { |
| // Name of the requested slot. |
| string slot = 1; |
| |
| // Slot prompt. |
| google.actions.sdk.v2.conversation.Prompt prompt = 3; |
| } |
| |
| // Event which happens after webhook validation was finished for slot(s): |
| // https://developers.google.com/assistant/conversational/scenes#slot_filling |
| message SlotValidated { |
| |
| } |
| |
| // Event which happens when form is fully filled: |
| // https://developers.google.com/assistant/conversational/scenes#slot_filling |
| message FormFilled { |
| |
| } |
| |
| // Event which happens when system needs user input: |
| // https://developers.google.com/assistant/conversational/scenes#input |
| message WaitingForUserInput { |
| |
| } |
| |
| // Event which informs that conversation with agent was ended. |
| message EndConversation { |
| |
| } |