grpc 第三方依赖 就是grpc的 third_party 文件夹
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

256 lines
8.5 KiB

// 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/content/canvas.proto";
import "google/actions/sdk/v2/conversation/prompt/prompt.proto";
import "google/actions/sdk/v2/event_logs.proto";
import "google/api/annotations.proto";
import "google/api/client.proto";
import "google/api/field_behavior.proto";
import "google/protobuf/empty.proto";
import "google/type/latlng.proto";
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk";
option java_multiple_files = true;
option java_outer_classname = "ActionsTestingProto";
option java_package = "com.google.actions.sdk.v2";
// Actions Testing API which allows developers to run automated tests.
service ActionsTesting {
option (google.api.default_host) = "actions.googleapis.com";
// Plays one round of the conversation.
rpc SendInteraction(SendInteractionRequest) returns (SendInteractionResponse) {
option (google.api.http) = {
post: "/v2/{project=projects/*}:sendInteraction"
body: "*"
};
}
// Finds the intents that match a given query.
rpc MatchIntents(MatchIntentsRequest) returns (MatchIntentsResponse) {
option (google.api.http) = {
post: "/v2/{project=projects/*}:matchIntents"
body: "*"
};
option (google.api.method_signature) = "project,query,locale";
}
// Sets the Web & App Activity control on a service account.
//
// It is necessary to have this setting enabled in order to use call Actions.
// The setting is originally disabled for service accounts, and it is
// preserved until set to a different value. This means it only needs to be
// enabled once per account (and not necessarily once per test), unless it is
// later disabled.
//
// Returns an error if the caller is not a service account. User accounts can
// change this setting via the Activity Controls page. See
// https://support.google.com/websearch/answer/54068.
rpc SetWebAndAppActivityControl(SetWebAndAppActivityControlRequest) returns (google.protobuf.Empty) {
option (google.api.http) = {
post: "/v2:setWebAndAppActivityControl"
body: "*"
};
option (google.api.method_signature) = "enabled";
}
}
// Request for playing a round of the conversation.
message SendInteractionRequest {
// Required. The project being tested, indicated by the Project ID.
// Format: projects/{project}
string project = 1 [(google.api.field_behavior) = REQUIRED];
// Required. Input provided by the user.
UserInput input = 2 [(google.api.field_behavior) = REQUIRED];
// Required. Properties of the device used for interacting with the Action.
DeviceProperties device_properties = 3 [(google.api.field_behavior) = REQUIRED];
// Opaque token that must be passed as received from SendInteractionResponse
// on the previous interaction. This can be left unset in order to start a new
// conversation, either as the first interaction of a testing session or to
// abandon a previous conversation and start a new one.
string conversation_token = 4;
}
// User input provided on a conversation round.
message UserInput {
// Indicates the input source, typed query or voice query.
enum InputType {
// Unspecified input source.
INPUT_TYPE_UNSPECIFIED = 0;
// Query from a GUI interaction.
TOUCH = 1;
// Voice query.
VOICE = 2;
// Typed query.
KEYBOARD = 3;
// The action was triggered by a URL link.
URL = 4;
}
// Content of the input sent by the user.
string query = 1;
// Type of the input.
InputType type = 2;
}
// Properties of device relevant to a conversation round.
message DeviceProperties {
// Possible surfaces used to interact with the Action.
// Additional values may be included in the future.
enum Surface {
// Default value. This value is unused.
SURFACE_UNSPECIFIED = 0;
// Speaker (e.g. Google Home).
SPEAKER = 1;
// Phone.
PHONE = 2;
// Allo Chat.
ALLO = 3;
// Smart Display Device.
SMART_DISPLAY = 4;
// KaiOS.
KAI_OS = 5;
}
// Surface used for interacting with the Action.
Surface surface = 1;
// Device location such as latitude, longitude, and formatted address.
Location location = 2;
// Locale as set on the device.
// The format should follow BCP 47: https://tools.ietf.org/html/bcp47
// Examples: en, en-US, es-419 (more examples at
// https://tools.ietf.org/html/bcp47#appendix-A).
string locale = 3;
// Time zone as set on the device.
// The format should follow the IANA Time Zone Database, e.g.
// "America/New_York": https://www.iana.org/time-zones
string time_zone = 4;
}
// Container that represents a location.
message Location {
// Geo coordinates.
// Requires the [DEVICE_PRECISE_LOCATION]
// [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] permission.
google.type.LatLng coordinates = 1;
// Display address, e.g., "1600 Amphitheatre Pkwy, Mountain View, CA 94043".
// Requires the [DEVICE_PRECISE_LOCATION]
// [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] permission.
string formatted_address = 2;
// Zip code.
// Requires the [DEVICE_PRECISE_LOCATION]
// [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] or
// [DEVICE_COARSE_LOCATION]
// [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] permission.
string zip_code = 3;
// City.
// Requires the [DEVICE_PRECISE_LOCATION]
// [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] or
// [DEVICE_COARSE_LOCATION]
// [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] permission.
string city = 4;
}
// Response to a round of the conversation.
message SendInteractionResponse {
// Output provided to the user.
Output output = 1;
// Diagnostics information that explains how the request was handled.
Diagnostics diagnostics = 2;
// Opaque token to be set on SendInteractionRequest on the next RPC call in
// order to continue the same conversation.
string conversation_token = 3;
}
// User-visible output to the conversation round.
message Output {
// Spoken response sent to user as a plain string.
string text = 1;
// Speech content produced by the Action. This may include markup elements
// such as SSML.
repeated string speech = 2;
// Interactive Canvas content.
google.actions.sdk.v2.conversation.Canvas canvas = 3;
// State of the prompt at the end of the conversation round.
// More information about the prompt:
// https://developers.google.com/assistant/conversational/prompts
google.actions.sdk.v2.conversation.Prompt actions_builder_prompt = 4;
}
// Diagnostics information related to the conversation round.
message Diagnostics {
// List of events with details about processing of the conversation round
// throughout the stages of the Actions Builder interaction model.
// Populated for Actions Builder & Actions SDK apps only.
repeated ExecutionEvent actions_builder_events = 1;
}
// Request for finding matching intents.
message MatchIntentsRequest {
// Required. The project being tested, indicated by the Project ID.
// Format: projects/{project}
string project = 1 [(google.api.field_behavior) = REQUIRED];
// Required. User query as plain text.
string query = 2 [(google.api.field_behavior) = REQUIRED];
// Required. Locale to use to evaluate the query, such as "en".
// The format should follow BCP 47: https://tools.ietf.org/html/bcp47
// See the list of supported languages in
// https://developers.google.com/assistant/console/languages-locales
string locale = 3 [(google.api.field_behavior) = REQUIRED];
}
// Response for finding matching intents.
message MatchIntentsResponse {
// Intents matched, ordered from most to least relevant. Only the first
// 50 matches are returned.
repeated google.actions.sdk.v2.conversation.Intent matched_intents = 1;
}
// Request for setting Web & App Activity preferences.
message SetWebAndAppActivityControlRequest {
// Whether the setting should be set to an enabled or disabled state.
bool enabled = 1;
}