feat: added support for test cases and agent validation
PiperOrigin-RevId: 352834280
This commit is contained in:
parent
ceaaf31b3d
commit
f83715b483
|
|
@ -25,7 +25,6 @@ proto_library(
|
|||
"audio_config.proto",
|
||||
"entity_type.proto",
|
||||
"environment.proto",
|
||||
"experiment.proto",
|
||||
"flow.proto",
|
||||
"fulfillment.proto",
|
||||
"intent.proto",
|
||||
|
|
@ -34,7 +33,9 @@ proto_library(
|
|||
"security_settings.proto",
|
||||
"session.proto",
|
||||
"session_entity_type.proto",
|
||||
"test_case.proto",
|
||||
"transition_route_group.proto",
|
||||
"validation_message.proto",
|
||||
"version.proto",
|
||||
"webhook.proto",
|
||||
],
|
||||
|
|
@ -88,7 +89,6 @@ java_grpc_library(
|
|||
java_gapic_library(
|
||||
name = "cx_java_gapic",
|
||||
srcs = [":cx_proto_with_info"],
|
||||
gapic_yaml = "dialogflow_gapic.yaml",
|
||||
grpc_service_config = "dialogflow_grpc_service_config.json",
|
||||
package = "google.cloud.dialogflow.cx.v3beta1",
|
||||
test_deps = [
|
||||
|
|
@ -105,13 +105,13 @@ java_gapic_test(
|
|||
"com.google.cloud.dialogflow.cx.v3beta1.AgentsClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.EntityTypesClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.EnvironmentsClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.ExperimentsClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.FlowsClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.IntentsClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.PagesClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.SecuritySettingsServiceClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.SessionEntityTypesClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.SessionsClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.TestCasesClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupsClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.VersionsClientTest",
|
||||
"com.google.cloud.dialogflow.cx.v3beta1.WebhooksClientTest",
|
||||
|
|
@ -214,50 +214,51 @@ py_gapic_assembly_pkg(
|
|||
],
|
||||
)
|
||||
|
||||
# TODO(b/177677397): Unable to generate PHP library.
|
||||
##############################################################################
|
||||
# PHP
|
||||
##############################################################################
|
||||
load(
|
||||
"@com_google_googleapis_imports//:imports.bzl",
|
||||
"php_gapic_assembly_pkg",
|
||||
"php_gapic_library",
|
||||
"php_grpc_library",
|
||||
"php_proto_library",
|
||||
)
|
||||
# load(
|
||||
# "@com_google_googleapis_imports//:imports.bzl",
|
||||
# "php_gapic_assembly_pkg",
|
||||
# "php_gapic_library",
|
||||
# "php_grpc_library",
|
||||
# "php_proto_library",
|
||||
# )
|
||||
|
||||
php_proto_library(
|
||||
name = "cx_php_proto",
|
||||
deps = [":cx_proto"],
|
||||
)
|
||||
# php_proto_library(
|
||||
# name = "cx_php_proto",
|
||||
# deps = [":cx_proto"],
|
||||
# )
|
||||
|
||||
php_grpc_library(
|
||||
name = "cx_php_grpc",
|
||||
srcs = [":cx_proto"],
|
||||
deps = [":cx_php_proto"],
|
||||
)
|
||||
# php_grpc_library(
|
||||
# name = "cx_php_grpc",
|
||||
# srcs = [":cx_proto"],
|
||||
# deps = [":cx_php_proto"],
|
||||
# )
|
||||
|
||||
php_gapic_library(
|
||||
name = "cx_php_gapic",
|
||||
src = ":cx_proto_with_info",
|
||||
gapic_yaml = "dialogflow_gapic.yaml",
|
||||
grpc_service_config = "dialogflow_grpc_service_config.json",
|
||||
package = "google.cloud.dialogflow.cx.v3beta1",
|
||||
service_yaml = "dialogflow_v3beta1.yaml",
|
||||
deps = [
|
||||
":cx_php_grpc",
|
||||
":cx_php_proto",
|
||||
],
|
||||
)
|
||||
# php_gapic_library(
|
||||
# name = "cx_php_gapic",
|
||||
# src = ":cx_proto_with_info",
|
||||
# gapic_yaml = "dialogflow_gapic.yaml",
|
||||
# grpc_service_config = "dialogflow_grpc_service_config.json",
|
||||
# package = "google.cloud.dialogflow.cx.v3beta1",
|
||||
# service_yaml = "dialogflow_v3beta1.yaml",
|
||||
# deps = [
|
||||
# ":cx_php_grpc",
|
||||
# ":cx_php_proto",
|
||||
# ],
|
||||
# )
|
||||
|
||||
# Open Source Packages
|
||||
php_gapic_assembly_pkg(
|
||||
name = "google-cloud-dialogflow-cx-v3beta1-php",
|
||||
deps = [
|
||||
":cx_php_gapic",
|
||||
":cx_php_grpc",
|
||||
":cx_php_proto",
|
||||
],
|
||||
)
|
||||
# # Open Source Packages
|
||||
# php_gapic_assembly_pkg(
|
||||
# name = "google-cloud-dialogflow-cx-v3beta1-php",
|
||||
# deps = [
|
||||
# ":cx_php_gapic",
|
||||
# ":cx_php_grpc",
|
||||
# ":cx_php_proto",
|
||||
# ],
|
||||
# )
|
||||
|
||||
##############################################################################
|
||||
# Node.js
|
||||
|
|
|
|||
|
|
@ -109,6 +109,25 @@ service Agents {
|
|||
metadata_type: "google.protobuf.Struct"
|
||||
};
|
||||
}
|
||||
|
||||
// Validates the specified agent and creates or updates validation results.
|
||||
// The agent in draft version is validated. Please call this API after the
|
||||
// training is completed to get the complete validation results.
|
||||
rpc ValidateAgent(ValidateAgentRequest) returns (AgentValidationResult) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{name=projects/*/locations/*/agents/*}:validate"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Gets the latest agent validation result. Agent validation is performed
|
||||
// when ValidateAgent is called.
|
||||
rpc GetAgentValidationResult(GetAgentValidationResultRequest) returns (AgentValidationResult) {
|
||||
option (google.api.http) = {
|
||||
get: "/v3beta1/{name=projects/*/locations/*/agents/*/validationResult}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
}
|
||||
|
||||
// Settings related to speech recognition.
|
||||
|
|
@ -122,13 +141,9 @@ message SpeechToTextSettings {
|
|||
// in your app, product, or service to determine user intent and respond to the
|
||||
// user in a natural way.
|
||||
//
|
||||
// After you create an agent, you can add
|
||||
// [Intents][google.cloud.dialogflow.cx.v3beta1.Intent], [Entity
|
||||
// Types][google.cloud.dialogflow.cx.v3beta1.EntityType],
|
||||
// [Flows][google.cloud.dialogflow.cx.v3beta1.Flow],
|
||||
// [Fulfillments][google.cloud.dialogflow.cx.v3beta1.Fulfillment],
|
||||
// [Webhooks][google.cloud.dialogflow.cx.v3beta1.Webhook], and so on to manage
|
||||
// the conversation flows..
|
||||
// After you create an agent, you can add [Intents][google.cloud.dialogflow.cx.v3beta1.Intent],
|
||||
// [Entity Types][google.cloud.dialogflow.cx.v3beta1.EntityType], [Flows][google.cloud.dialogflow.cx.v3beta1.Flow], [Fulfillments][google.cloud.dialogflow.cx.v3beta1.Fulfillment],
|
||||
// [Webhooks][google.cloud.dialogflow.cx.v3beta1.Webhook], and so on to manage the conversation flows..
|
||||
message Agent {
|
||||
option (google.api.resource) = {
|
||||
type: "dialogflow.googleapis.com/Agent"
|
||||
|
|
@ -136,10 +151,7 @@ message Agent {
|
|||
};
|
||||
|
||||
// The unique identifier of the agent.
|
||||
// Required for the
|
||||
// [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgent]
|
||||
// method.
|
||||
// [Agents.CreateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.CreateAgent]
|
||||
// Required for the [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgent] method. [Agents.CreateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.CreateAgent]
|
||||
// populates the name automatically.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
string name = 1;
|
||||
|
|
@ -151,9 +163,7 @@ message Agent {
|
|||
// See [Language
|
||||
// Support](https://cloud.google.com/dialogflow/docs/reference/language)
|
||||
// for a list of the currently supported language codes.
|
||||
// This field cannot be set by the
|
||||
// [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgent]
|
||||
// method.
|
||||
// This field cannot be set by the [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgent] method.
|
||||
string default_language_code = 3 [(google.api.field_behavior) = IMMUTABLE];
|
||||
|
||||
// Required. The time zone of the agent from the [time zone
|
||||
|
|
@ -174,15 +184,25 @@ message Agent {
|
|||
// Speech recognition related settings.
|
||||
SpeechToTextSettings speech_to_text_settings = 13;
|
||||
|
||||
// Immutable. Name of the start flow in this agent. A start flow will be
|
||||
// automatically created when the agent is created, and can only be deleted by
|
||||
// deleting the agent. Format: `projects/<Project ID>/locations/<Location
|
||||
// ID>/agents/<Agent ID>/flows/<Flow ID>`.
|
||||
// Immutable. Name of the start flow in this agent. A start flow will be automatically
|
||||
// created when the agent is created, and can only be deleted by deleting the
|
||||
// agent.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/flows/<Flow ID>`.
|
||||
string start_flow = 16 [
|
||||
(google.api.field_behavior) = IMMUTABLE,
|
||||
(google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" }
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Flow"
|
||||
}
|
||||
];
|
||||
|
||||
// Name of the [SecuritySettings][google.cloud.dialogflow.cx.v3beta1.SecuritySettings] reference for the agent.
|
||||
// Format: `projects/<Project ID>/locations/<Location
|
||||
// ID>/securitySettings/<Security Settings ID>`.
|
||||
string security_settings = 17 [(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/SecuritySettings"
|
||||
}];
|
||||
|
||||
// Indicates if stackdriver logging is enabled for the agent.
|
||||
bool enable_stackdriver_logging = 18;
|
||||
|
||||
|
|
@ -191,8 +211,7 @@ message Agent {
|
|||
bool enable_spell_correction = 20;
|
||||
}
|
||||
|
||||
// The request message for
|
||||
// [Agents.ListAgents][google.cloud.dialogflow.cx.v3beta1.Agents.ListAgents].
|
||||
// The request message for [Agents.ListAgents][google.cloud.dialogflow.cx.v3beta1.Agents.ListAgents].
|
||||
message ListAgentsRequest {
|
||||
// Required. The location to list all agents for.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>`.
|
||||
|
|
@ -211,8 +230,7 @@ message ListAgentsRequest {
|
|||
string page_token = 3;
|
||||
}
|
||||
|
||||
// The response message for
|
||||
// [Agents.ListAgents][google.cloud.dialogflow.cx.v3beta1.Agents.ListAgents].
|
||||
// The response message for [Agents.ListAgents][google.cloud.dialogflow.cx.v3beta1.Agents.ListAgents].
|
||||
message ListAgentsResponse {
|
||||
// The list of agents. There will be a maximum number of items returned based
|
||||
// on the page_size field in the request.
|
||||
|
|
@ -223,8 +241,7 @@ message ListAgentsResponse {
|
|||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// The request message for
|
||||
// [Agents.GetAgent][google.cloud.dialogflow.cx.v3beta1.Agents.GetAgent].
|
||||
// The request message for [Agents.GetAgent][google.cloud.dialogflow.cx.v3beta1.Agents.GetAgent].
|
||||
message GetAgentRequest {
|
||||
// Required. The name of the agent.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
|
|
@ -236,8 +253,7 @@ message GetAgentRequest {
|
|||
];
|
||||
}
|
||||
|
||||
// The request message for
|
||||
// [Agents.CreateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.CreateAgent].
|
||||
// The request message for [Agents.CreateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.CreateAgent].
|
||||
message CreateAgentRequest {
|
||||
// Required. The location to create a agent for.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>`.
|
||||
|
|
@ -252,8 +268,7 @@ message CreateAgentRequest {
|
|||
Agent agent = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// The request message for
|
||||
// [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgent].
|
||||
// The request message for [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgent].
|
||||
message UpdateAgentRequest {
|
||||
// Required. The agent to update.
|
||||
Agent agent = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
|
@ -263,8 +278,7 @@ message UpdateAgentRequest {
|
|||
google.protobuf.FieldMask update_mask = 2;
|
||||
}
|
||||
|
||||
// The request message for
|
||||
// [Agents.DeleteAgent][google.cloud.dialogflow.cx.v3beta1.Agents.DeleteAgent].
|
||||
// The request message for [Agents.DeleteAgent][google.cloud.dialogflow.cx.v3beta1.Agents.DeleteAgent].
|
||||
message DeleteAgentRequest {
|
||||
// Required. The name of the agent to delete.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
|
|
@ -276,8 +290,7 @@ message DeleteAgentRequest {
|
|||
];
|
||||
}
|
||||
|
||||
// The request message for
|
||||
// [Agents.ExportAgent][google.cloud.dialogflow.cx.v3beta1.Agents.ExportAgent].
|
||||
// The request message for [Agents.ExportAgent][google.cloud.dialogflow.cx.v3beta1.Agents.ExportAgent].
|
||||
message ExportAgentRequest {
|
||||
// Required. The name of the agent to export.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
|
|
@ -288,21 +301,19 @@ message ExportAgentRequest {
|
|||
}
|
||||
];
|
||||
|
||||
// Optional. The [Google Cloud
|
||||
// Storage](https://cloud.google.com/storage/docs/) URI to export the agent
|
||||
// to. The format of this URI must be `gs://<bucket-name>/<object-name>`. If
|
||||
// left unspecified, the serialized agent is returned inline.
|
||||
// Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to
|
||||
// export the agent to. The format of this URI must be
|
||||
// `gs://<bucket-name>/<object-name>`.
|
||||
// If left unspecified, the serialized agent is returned inline.
|
||||
string agent_uri = 2 [(google.api.field_behavior) = OPTIONAL];
|
||||
}
|
||||
|
||||
// The response message for
|
||||
// [Agents.ExportAgent][google.cloud.dialogflow.cx.v3beta1.Agents.ExportAgent].
|
||||
// The response message for [Agents.ExportAgent][google.cloud.dialogflow.cx.v3beta1.Agents.ExportAgent].
|
||||
message ExportAgentResponse {
|
||||
// The exported agent.
|
||||
oneof agent {
|
||||
// The URI to a file containing the exported agent. This field is populated
|
||||
// only if `agent_uri` is specified in
|
||||
// [ExportAgentRequest][google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest].
|
||||
// only if `agent_uri` is specified in [ExportAgentRequest][google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest].
|
||||
string agent_uri = 1;
|
||||
|
||||
// Uncompressed raw byte content for agent.
|
||||
|
|
@ -310,8 +321,7 @@ message ExportAgentResponse {
|
|||
}
|
||||
}
|
||||
|
||||
// The request message for
|
||||
// [Agents.RestoreAgent][google.cloud.dialogflow.cx.v3beta1.Agents.RestoreAgent].
|
||||
// The request message for [Agents.RestoreAgent][google.cloud.dialogflow.cx.v3beta1.Agents.RestoreAgent].
|
||||
message RestoreAgentRequest {
|
||||
// Required. The name of the agent to restore into.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
|
|
@ -333,3 +343,50 @@ message RestoreAgentRequest {
|
|||
bytes agent_content = 3;
|
||||
}
|
||||
}
|
||||
|
||||
// The request message for [Agents.ValidateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.ValidateAgent].
|
||||
message ValidateAgentRequest {
|
||||
// Required. The agent to validate.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Agent"
|
||||
}
|
||||
];
|
||||
|
||||
// If not specified, the agent's default language is used.
|
||||
string language_code = 2;
|
||||
}
|
||||
|
||||
// The request message for [Agents.GetAgentValidationResult][google.cloud.dialogflow.cx.v3beta1.Agents.GetAgentValidationResult].
|
||||
message GetAgentValidationResultRequest {
|
||||
// Required. The agent name.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/validationResult`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/AgentValidationResult"
|
||||
}
|
||||
];
|
||||
|
||||
// If not specified, the agent's default language is used.
|
||||
string language_code = 2;
|
||||
}
|
||||
|
||||
// The response message for [Agents.GetAgentValidationResult][google.cloud.dialogflow.cx.v3beta1.Agents.GetAgentValidationResult].
|
||||
message AgentValidationResult {
|
||||
option (google.api.resource) = {
|
||||
type: "dialogflow.googleapis.com/AgentValidationResult"
|
||||
pattern: "projects/{project}/locations/{location}/agents/{agent}/validationResult"
|
||||
};
|
||||
|
||||
// The unique identifier of the agent validation result.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/validationResult`.
|
||||
string name = 1;
|
||||
|
||||
// Contains all flow validation results.
|
||||
repeated FlowValidationResult flow_validation_results = 2;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -204,6 +204,9 @@ message VoiceSelectionParams {
|
|||
// Optional. The name of the voice. If not set, the service will choose a
|
||||
// voice based on the other parameters such as language_code and
|
||||
// [ssml_gender][google.cloud.dialogflow.cx.v3beta1.VoiceSelectionParams.ssml_gender].
|
||||
//
|
||||
// For the list of available voices, please refer to [Supported voices and
|
||||
// languages](https://cloud.google.com/text-to-speech/docs/voices).
|
||||
string name = 1;
|
||||
|
||||
// Optional. The preferred gender of the voice. If not set, the service will
|
||||
|
|
|
|||
|
|
@ -7,20 +7,29 @@ apis:
|
|||
- name: google.cloud.dialogflow.cx.v3beta1.Agents
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.EntityTypes
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.Environments
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.Experiments
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.Flows
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.Intents
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.Pages
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.Sessions
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.TestCases
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.Versions
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.Webhooks
|
||||
|
||||
types:
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.CreateVersionOperationMetadata
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.TestError
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.WebhookRequest
|
||||
- name: google.cloud.dialogflow.cx.v3beta1.WebhookResponse
|
||||
|
||||
|
|
@ -52,8 +61,6 @@ backend:
|
|||
deadline: 60.0
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.Environments.*'
|
||||
deadline: 60.0
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.Experiments.*'
|
||||
deadline: 60.0
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.Flows.*'
|
||||
deadline: 60.0
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.Intents.*'
|
||||
|
|
@ -72,6 +79,8 @@ backend:
|
|||
deadline: 60.0
|
||||
- selector: google.cloud.dialogflow.cx.v3beta1.Sessions.StreamingDetectIntent
|
||||
deadline: 220.0
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.TestCases.*'
|
||||
deadline: 60.0
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups.*'
|
||||
deadline: 60.0
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.Versions.*'
|
||||
|
|
@ -98,11 +107,6 @@ authentication:
|
|||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/dialogflow
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.Experiments.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/dialogflow
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.Flows.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
|
|
@ -133,6 +137,11 @@ authentication:
|
|||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/dialogflow
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.TestCases.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
https://www.googleapis.com/auth/cloud-platform,
|
||||
https://www.googleapis.com/auth/dialogflow
|
||||
- selector: 'google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups.*'
|
||||
oauth:
|
||||
canonical_scopes: |-
|
||||
|
|
|
|||
|
|
@ -115,7 +115,6 @@ message EntityType {
|
|||
};
|
||||
|
||||
// An **entity entry** for an associated entity type.
|
||||
// Next Id = 8
|
||||
message Entity {
|
||||
// Required. The primary value associated with this entity entry.
|
||||
// For example, if the entity type is *vegetable*, the value could be
|
||||
|
|
|
|||
|
|
@ -1,415 +0,0 @@
|
|||
// 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.cloud.dialogflow.cx.v3beta1;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/api/client.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.proto";
|
||||
import "google/protobuf/duration.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "google/protobuf/field_mask.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option cc_enable_arenas = true;
|
||||
option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1";
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3beta1;cx";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "ExperimentProto";
|
||||
option java_package = "com.google.cloud.dialogflow.cx.v3beta1";
|
||||
option objc_class_prefix = "DF";
|
||||
|
||||
// Service for managing [Experiments][google.cloud.dialogflow.cx.v3beta1.Experiment].
|
||||
service Experiments {
|
||||
option (google.api.default_host) = "dialogflow.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/cloud-platform,"
|
||||
"https://www.googleapis.com/auth/dialogflow";
|
||||
|
||||
// Returns the list of all experiments in the specified [Environment][google.cloud.dialogflow.cx.v3beta1.Environment].
|
||||
rpc ListExperiments(ListExperimentsRequest) returns (ListExperimentsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v3beta1/{parent=projects/*/locations/*/agents/*/environments/*}/experiments"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Retrieves the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment].
|
||||
rpc GetExperiment(GetExperimentRequest) returns (Experiment) {
|
||||
option (google.api.http) = {
|
||||
get: "/v3beta1/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Creates an [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment] in the specified [Environment][google.cloud.dialogflow.cx.v3beta1.Environment].
|
||||
rpc CreateExperiment(CreateExperimentRequest) returns (Experiment) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{parent=projects/*/locations/*/agents/*/environments/*}/experiments"
|
||||
body: "experiment"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,experiment";
|
||||
}
|
||||
|
||||
// Updates the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment].
|
||||
rpc UpdateExperiment(UpdateExperimentRequest) returns (Experiment) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v3beta1/{experiment.name=projects/*/locations/*/agents/*/environments/*/experiments/*}"
|
||||
body: "experiment"
|
||||
};
|
||||
option (google.api.method_signature) = "experiment,update_mask";
|
||||
}
|
||||
|
||||
// Deletes the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment].
|
||||
rpc DeleteExperiment(DeleteExperimentRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/v3beta1/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Starts the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment]. This rpc only changes the state of
|
||||
// experiment from PENDING to RUNNING.
|
||||
rpc StartExperiment(StartExperimentRequest) returns (Experiment) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}:start"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Stops the specified [Experiment][google.cloud.dialogflow.cx.v3beta1.Experiment]. This rpc only changes the state of
|
||||
// experiment from RUNNING to DONE.
|
||||
rpc StopExperiment(StopExperimentRequest) returns (Experiment) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}:stop"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
}
|
||||
|
||||
// Represents an experiment in an environment.
|
||||
// Next ID: 13
|
||||
message Experiment {
|
||||
option (google.api.resource) = {
|
||||
type: "dialogflow.googleapis.com/Experiment"
|
||||
pattern: "projects/{project}/locations/{location}/agents/{agent}/environments/{environment}/experiments/{experiment}"
|
||||
};
|
||||
|
||||
// Definition of the experiment.
|
||||
// Next ID: 3
|
||||
message Definition {
|
||||
// The condition defines which subset of sessions are selected for
|
||||
// this experiment. If not specified, all sessions are eligible. E.g.
|
||||
// "query_input.language_code=en" See the [conditions
|
||||
// reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
|
||||
string condition = 1;
|
||||
|
||||
// The variants of the experiment. We currently only support single variant
|
||||
// experiment.
|
||||
oneof variants {
|
||||
// The flow versions as the variants of this experiment.
|
||||
VersionVariants version_variants = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// The inference result which includes an objective metric to optimize and the
|
||||
// confidence interval.
|
||||
message Result {
|
||||
// A confidence interval is a range of possible values for the experiment
|
||||
// objective you are trying to measure.
|
||||
message ConfidenceInterval {
|
||||
// The confidence level used to construct the interval, i.e. there is X%
|
||||
// chance that the true value is within this interval.
|
||||
double confidence_level = 1;
|
||||
|
||||
// The percent change between an experiment metric's value and the value
|
||||
// for its control.
|
||||
double ratio = 2;
|
||||
|
||||
// Lower bound of the interval.
|
||||
double lower_bound = 3;
|
||||
|
||||
// Upper bound of the interval.
|
||||
double upper_bound = 4;
|
||||
}
|
||||
|
||||
// Metric and corresponding confidence intervals.
|
||||
message Metric {
|
||||
// The type of the metric.
|
||||
MetricType type = 1;
|
||||
|
||||
// The actual value of the metric.
|
||||
oneof value {
|
||||
// Ratio value of a metric.
|
||||
double ratio = 2;
|
||||
}
|
||||
|
||||
// The probability that the treatment is better than all other treatments
|
||||
// in the experiment
|
||||
ConfidenceInterval confidence_interval = 3;
|
||||
}
|
||||
|
||||
// Version variant and associated metrics.
|
||||
message VersionMetrics {
|
||||
// The name of the flow [Version][google.cloud.dialogflow.cx.v3beta1.Version].
|
||||
// Format: `projects/<Project Number>/locations/<Location
|
||||
// ID>/agents/<Agent ID>/flows/<Flow ID>/versions/<Version ID>`.
|
||||
string version = 1 [(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Version"
|
||||
}];
|
||||
|
||||
// The metrics and corresponding confidence intervals in the inference
|
||||
// result.
|
||||
repeated Metric metrics = 2;
|
||||
|
||||
// Number of sessions that were allocated to this version.
|
||||
int32 session_count = 3;
|
||||
}
|
||||
|
||||
// Types of metric for Dialogflow experiment.
|
||||
enum MetricType {
|
||||
// Metric unspecified.
|
||||
METRIC_UNSPECIFIED = 0;
|
||||
|
||||
// Percentage of contained sessions without user calling back in 24 hours.
|
||||
CONTAINED_SESSION_NO_CALLBACK_RATE = 1;
|
||||
|
||||
// Percentage of sessions that were handed to a human agent.
|
||||
LIVE_AGENT_HANDOFF_RATE = 2;
|
||||
|
||||
// Percentage of sessions with the same user calling back.
|
||||
CALLBACK_SESSION_RATE = 3;
|
||||
|
||||
// Percentage of sessions where user hung up.
|
||||
ABANDONED_SESSION_RATE = 4;
|
||||
|
||||
// Percentage of sessions reached Dialogflow 'END_PAGE' or
|
||||
// 'END_SESSION'.
|
||||
SESSION_END_RATE = 5;
|
||||
}
|
||||
|
||||
// Version variants and metrics.
|
||||
repeated VersionMetrics version_metrics = 1;
|
||||
|
||||
// The last time the experiment's stats data was updated. Will have default
|
||||
// value if stats have never been computed for this experiment.
|
||||
google.protobuf.Timestamp last_update_time = 2;
|
||||
}
|
||||
|
||||
// The state of the experiment.
|
||||
enum State {
|
||||
// State unspecified.
|
||||
STATE_UNSPECIFIED = 0;
|
||||
|
||||
// The experiment is created but not started yet.
|
||||
DRAFT = 1;
|
||||
|
||||
// The experiment is running.
|
||||
RUNNING = 2;
|
||||
|
||||
// The experiment is done.
|
||||
DONE = 3;
|
||||
}
|
||||
|
||||
// The name of the experiment.
|
||||
// Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/environments/<Environment ID>/experiments/<Experiment ID>..
|
||||
string name = 1;
|
||||
|
||||
// Required. The human-readable name of the experiment (unique in an environment). Limit
|
||||
// of 64 characters.
|
||||
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// The human-readable description of the experiment.
|
||||
string description = 3;
|
||||
|
||||
// The current state of the experiment.
|
||||
// Transition triggered by Expriments.StartExperiment: PENDING->RUNNING.
|
||||
// Transition triggered by Expriments.CancelExperiment: PENDING->CANCELLED or
|
||||
// RUNNING->CANCELLED.
|
||||
State state = 4;
|
||||
|
||||
// The definition of the experiment.
|
||||
Definition definition = 5;
|
||||
|
||||
// Inference result of the experiment.
|
||||
Result result = 6;
|
||||
|
||||
// Creation time of this experiment.
|
||||
google.protobuf.Timestamp create_time = 7;
|
||||
|
||||
// Start time of this experiment.
|
||||
google.protobuf.Timestamp start_time = 8;
|
||||
|
||||
// End time of this experiment.
|
||||
google.protobuf.Timestamp end_time = 9;
|
||||
|
||||
// Last update time of this experiment.
|
||||
google.protobuf.Timestamp last_update_time = 10;
|
||||
|
||||
// Maximum number of days to run the experiment.
|
||||
google.protobuf.Duration experiment_length = 11;
|
||||
|
||||
// The history of updates to the experiment variants.
|
||||
repeated VariantsHistory variants_history = 12;
|
||||
}
|
||||
|
||||
// A list of flow version variants.
|
||||
message VersionVariants {
|
||||
// A single flow version with specified traffic allocation.
|
||||
message Variant {
|
||||
// The name of the flow version.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/flows/<Flow ID>/versions/<Version ID>`.
|
||||
string version = 1;
|
||||
|
||||
// Percentage of the traffic which should be routed to this
|
||||
// version of flow. Traffic allocation for a single flow must sum up to 1.0.
|
||||
float traffic_allocation = 2;
|
||||
|
||||
// Whether the variant is for the control group.
|
||||
bool is_control_group = 3;
|
||||
}
|
||||
|
||||
// A list of flow version variants.
|
||||
repeated Variant variants = 1;
|
||||
}
|
||||
|
||||
// The history of variants update.
|
||||
message VariantsHistory {
|
||||
// The variants updated. We currently only support single variant
|
||||
// experiment.
|
||||
oneof variants {
|
||||
// The flow versions as the variants.
|
||||
VersionVariants version_variants = 1;
|
||||
}
|
||||
|
||||
// Update time of the variants.
|
||||
google.protobuf.Timestamp update_time = 2;
|
||||
}
|
||||
|
||||
// The request message for [Experiments.ListExperiments][google.cloud.dialogflow.cx.v3beta1.Experiments.ListExperiments].
|
||||
message ListExperimentsRequest {
|
||||
// Required. The [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] to list all environments for.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/environments/<Environment ID>`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "dialogflow.googleapis.com/Experiment"
|
||||
}
|
||||
];
|
||||
|
||||
// The maximum number of items to return in a single page. By default 20 and
|
||||
// at most 100.
|
||||
int32 page_size = 2;
|
||||
|
||||
// The next_page_token value returned from a previous list request.
|
||||
string page_token = 3;
|
||||
}
|
||||
|
||||
// The response message for [Experiments.ListExperiments][google.cloud.dialogflow.cx.v3beta1.Experiments.ListExperiments].
|
||||
message ListExperimentsResponse {
|
||||
// The list of experiments. There will be a maximum number of items
|
||||
// returned based on the page_size field in the request. The list may in some
|
||||
// cases be empty or contain fewer entries than page_size even if this isn't
|
||||
// the last page.
|
||||
repeated Experiment experiments = 1;
|
||||
|
||||
// Token to retrieve the next page of results, or empty if there are no more
|
||||
// results in the list.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// The request message for [Experiments.GetExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.GetExperiment].
|
||||
message GetExperimentRequest {
|
||||
// Required. The name of the [Environment][google.cloud.dialogflow.cx.v3beta1.Environment].
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/environments/<Environment ID>/experiments/<Experiment ID>`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Experiment"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// The request message for [Experiments.CreateExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.CreateExperiment].
|
||||
message CreateExperimentRequest {
|
||||
// Required. The [Agent][google.cloud.dialogflow.cx.v3beta1.Agent] to create an [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] for.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/environments/<Environment ID>`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "dialogflow.googleapis.com/Experiment"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The experiment to create.
|
||||
Experiment experiment = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// The request message for [Experiments.UpdateExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.UpdateExperiment].
|
||||
message UpdateExperimentRequest {
|
||||
// Required. The experiment to update.
|
||||
Experiment experiment = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. The mask to control which fields get updated.
|
||||
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// The request message for [Experiments.DeleteExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.DeleteExperiment].
|
||||
message DeleteExperimentRequest {
|
||||
// Required. The name of the [Environment][google.cloud.dialogflow.cx.v3beta1.Environment] to delete.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/environments/<Environment ID>/experiments/<Experiment ID>`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Experiment"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// The request message for [Experiments.StartExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.StartExperiment].
|
||||
message StartExperimentRequest {
|
||||
// Required. Resource name of the experiment to start.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/environments/<Environment ID>/experiments/<Experiment ID>`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Experiment"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// The request message for [Experiments.StopExperiment][google.cloud.dialogflow.cx.v3beta1.Experiments.StopExperiment].
|
||||
message StopExperimentRequest {
|
||||
// Required. Resource name of the experiment to stop.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/environments/<Environment ID>/experiments/<Experiment ID>`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Experiment"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
@ -21,6 +21,7 @@ import "google/api/client.proto";
|
|||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.proto";
|
||||
import "google/cloud/dialogflow/cx/v3beta1/page.proto";
|
||||
import "google/cloud/dialogflow/cx/v3beta1/validation_message.proto";
|
||||
import "google/longrunning/operations.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "google/protobuf/field_mask.proto";
|
||||
|
|
@ -96,6 +97,25 @@ service Flows {
|
|||
metadata_type: "google.protobuf.Struct"
|
||||
};
|
||||
}
|
||||
|
||||
// Validates the specified flow and creates or updates validation results.
|
||||
// Please call this API after the training is completed to get the complete
|
||||
// validation results.
|
||||
rpc ValidateFlow(ValidateFlowRequest) returns (FlowValidationResult) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{name=projects/*/locations/*/agents/*/flows/*}:validate"
|
||||
body: "*"
|
||||
};
|
||||
}
|
||||
|
||||
// Gets the latest flow validation result. Flow validation is performed
|
||||
// when ValidateFlow is called.
|
||||
rpc GetFlowValidationResult(GetFlowValidationResultRequest) returns (FlowValidationResult) {
|
||||
option (google.api.http) = {
|
||||
get: "/v3beta1/{name=projects/*/locations/*/agents/*/flows/*/validationResult}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
}
|
||||
|
||||
// Settings related to NLU.
|
||||
|
|
@ -364,3 +384,54 @@ message TrainFlowRequest {
|
|||
}
|
||||
];
|
||||
}
|
||||
|
||||
// The request message for [Flows.ValidateFlow][google.cloud.dialogflow.cx.v3beta1.Flows.ValidateFlow].
|
||||
message ValidateFlowRequest {
|
||||
// Required. The flow to validate.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/flows/<Flow ID>`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Flow"
|
||||
}
|
||||
];
|
||||
|
||||
// If not specified, the agent's default language is used.
|
||||
string language_code = 2;
|
||||
}
|
||||
|
||||
// The request message for [Flows.GetFlowValidationResult][google.cloud.dialogflow.cx.v3beta1.Flows.GetFlowValidationResult].
|
||||
message GetFlowValidationResultRequest {
|
||||
// Required. The flow name.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/flows/<Flow ID>/validationResult`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/FlowValidationResult"
|
||||
}
|
||||
];
|
||||
|
||||
// If not specified, the agent's default language is used.
|
||||
string language_code = 2;
|
||||
}
|
||||
|
||||
// The response message for [Flows.GetFlowValidationResult][google.cloud.dialogflow.cx.v3beta1.Flows.GetFlowValidationResult].
|
||||
message FlowValidationResult {
|
||||
option (google.api.resource) = {
|
||||
type: "dialogflow.googleapis.com/FlowValidationResult"
|
||||
pattern: "projects/{project}/locations/{location}/agents/{agent}/flows/{flow}/validationResult"
|
||||
};
|
||||
|
||||
// The unique identifier of the flow validation result.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/flows/<Flow ID>/validationResult`.
|
||||
string name = 1;
|
||||
|
||||
// Contains all validation messages.
|
||||
repeated ValidationMessage validation_messages = 2;
|
||||
|
||||
// Last time the flow was validated.
|
||||
google.protobuf.Timestamp update_time = 3;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -155,9 +155,12 @@ message Intent {
|
|||
// Indicates whether the parameter represents a list of values.
|
||||
bool is_list = 3;
|
||||
|
||||
// Indicates whether the parameter content is logged in text and audio. If
|
||||
// it is set to true, the parameter content will be replaced to parameter
|
||||
// id in both request and response. The default value is false.
|
||||
// Indicates whether the parameter content should be redacted in text and
|
||||
// audio. If the flag is set to true, the parameter content will be replaced
|
||||
// by parameter name in both request and response.
|
||||
// Note: the parameter content is subject to redaction if either parameter
|
||||
// level redaction or [entity type level redaction][google.cloud.dialogflow.cx.v3beta1.EntityType.redact] is
|
||||
// enabled.
|
||||
bool redact = 4;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -147,9 +147,13 @@ message Page {
|
|||
//
|
||||
// * TransitionRoutes defined in the page with intent specified.
|
||||
// * TransitionRoutes defined in the
|
||||
// [transition route groups][google.cloud.dialogflow.cx.v3beta1.Page.transition_route_groups].
|
||||
// [transition route groups][google.cloud.dialogflow.cx.v3beta1.Page.transition_route_groups] with intent
|
||||
// specified.
|
||||
// * TransitionRoutes defined in flow with intent specified.
|
||||
// * TransitionRoutes defined in the page with only condition specified.
|
||||
// * TransitionRoutes defined in the
|
||||
// [transition route groups][google.cloud.dialogflow.cx.v3beta1.Page.transition_route_groups] with only
|
||||
// condition specified.
|
||||
repeated TransitionRoute transition_routes = 9;
|
||||
|
||||
// Handlers associated with the page to handle events such as webhook errors,
|
||||
|
|
@ -238,9 +242,12 @@ message Form {
|
|||
// the default value will be ignored.
|
||||
google.protobuf.Value default_value = 9;
|
||||
|
||||
// Indicates whether the parameter content is logged in text and audio. If
|
||||
// it is set to true, the parameter content will be replaced to parameter
|
||||
// name in both request and response. The default value is false.
|
||||
// Indicates whether the parameter content should be redacted in text and
|
||||
// audio. If the flag is set to true, the parameter content will be replaced
|
||||
// by parameter name in both request and response.
|
||||
// Note: the parameter content is subject to redaction if either parameter
|
||||
// level redaction or [entity type level redaction][google.cloud.dialogflow.cx.v3beta1.EntityType.redact] is
|
||||
// enabled.
|
||||
bool redact = 11;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -113,6 +113,25 @@ message ResponseMessage {
|
|||
bool allow_playback_interruption = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// Indicates that interaction with the Dialogflow agent has ended.
|
||||
// This message is generated by Dialogflow only and not supposed to be
|
||||
// defined by the user.
|
||||
message EndInteraction {
|
||||
|
||||
}
|
||||
|
||||
// Specifies an audio clip to be played by the client as part of the response.
|
||||
message PlayAudio {
|
||||
// Required. URI of the audio clip. Dialogflow does not impose any validation on this
|
||||
// value. It is specific to the client that reads it.
|
||||
string audio_uri = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Output only. Whether the playback of this message can be interrupted by the end
|
||||
// user's speech and the client can then starts the next Dialogflow
|
||||
// request.
|
||||
bool allow_playback_interruption = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// Represents an audio message that is composed of both segments
|
||||
// synthesized from the Dialogflow agent prompts and ones hosted externally
|
||||
// at the specified URIs.
|
||||
|
|
@ -144,25 +163,6 @@ message ResponseMessage {
|
|||
repeated Segment segments = 1;
|
||||
}
|
||||
|
||||
// Indicates that interaction with the Dialogflow agent has ended.
|
||||
// This message is generated by Dialogflow only and not supposed to be
|
||||
// defined by the user.
|
||||
message EndInteraction {
|
||||
|
||||
}
|
||||
|
||||
// Specifies an audio clip to be played by the client as part of the response.
|
||||
message PlayAudio {
|
||||
// Required. URI of the audio clip. Dialogflow does not impose any validation on this
|
||||
// value. It is specific to the client that reads it.
|
||||
string audio_uri = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Output only. Whether the playback of this message can be interrupted by the end
|
||||
// user's speech and the client can then starts the next Dialogflow
|
||||
// request.
|
||||
bool allow_playback_interruption = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
}
|
||||
|
||||
// Required. The rich response message.
|
||||
oneof message {
|
||||
// Returns a text response.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,835 @@
|
|||
// 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.cloud.dialogflow.cx.v3beta1;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/api/client.proto";
|
||||
import "google/api/field_behavior.proto";
|
||||
import "google/api/resource.proto";
|
||||
import "google/cloud/dialogflow/cx/v3beta1/flow.proto";
|
||||
import "google/cloud/dialogflow/cx/v3beta1/intent.proto";
|
||||
import "google/cloud/dialogflow/cx/v3beta1/page.proto";
|
||||
import "google/cloud/dialogflow/cx/v3beta1/response_message.proto";
|
||||
import "google/cloud/dialogflow/cx/v3beta1/session.proto";
|
||||
import "google/longrunning/operations.proto";
|
||||
import "google/protobuf/empty.proto";
|
||||
import "google/protobuf/field_mask.proto";
|
||||
import "google/protobuf/struct.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/rpc/status.proto";
|
||||
|
||||
option cc_enable_arenas = true;
|
||||
option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1";
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3beta1;cx";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "TestCaseProto";
|
||||
option java_package = "com.google.cloud.dialogflow.cx.v3beta1";
|
||||
option objc_class_prefix = "DF";
|
||||
|
||||
// Service for managing [Test Cases][google.cloud.dialogflow.cx.v3beta1.TestCase] and
|
||||
// [Test Case Results][google.cloud.dialogflow.cx.v3beta1.TestCaseResult].
|
||||
service TestCases {
|
||||
option (google.api.default_host) = "dialogflow.googleapis.com";
|
||||
option (google.api.oauth_scopes) =
|
||||
"https://www.googleapis.com/auth/cloud-platform,"
|
||||
"https://www.googleapis.com/auth/dialogflow";
|
||||
|
||||
// Fetches a list of test cases for a given agent.
|
||||
rpc ListTestCases(ListTestCasesRequest) returns (ListTestCasesResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v3beta1/{parent=projects/*/locations/*/agents/*}/testCases"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Batch deletes test cases.
|
||||
rpc BatchDeleteTestCases(BatchDeleteTestCasesRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{parent=projects/*/locations/*/agents/*}/testCases:batchDelete"
|
||||
body: "*"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
|
||||
// Gets a test case.
|
||||
rpc GetTestCase(GetTestCaseRequest) returns (TestCase) {
|
||||
option (google.api.http) = {
|
||||
get: "/v3beta1/{name=projects/*/locations/*/agents/*/testCases/*}"
|
||||
};
|
||||
option (google.api.method_signature) = "name";
|
||||
}
|
||||
|
||||
// Creates a test case for the given agent.
|
||||
rpc CreateTestCase(CreateTestCaseRequest) returns (TestCase) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{parent=projects/*/locations/*/agents/*}/testCases"
|
||||
body: "test_case"
|
||||
};
|
||||
option (google.api.method_signature) = "parent,test_case";
|
||||
}
|
||||
|
||||
// Updates the specified test case.
|
||||
rpc UpdateTestCase(UpdateTestCaseRequest) returns (TestCase) {
|
||||
option (google.api.http) = {
|
||||
patch: "/v3beta1/{test_case.name=projects/*/locations/*/agents/*/testCases/*}"
|
||||
body: "test_case"
|
||||
};
|
||||
option (google.api.method_signature) = "test_case,update_mask";
|
||||
}
|
||||
|
||||
// Kicks off a test case run.
|
||||
rpc RunTestCase(RunTestCaseRequest) returns (google.longrunning.Operation) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/projects/*/locations/*/agents/*/testCases:run"
|
||||
body: "*"
|
||||
};
|
||||
option (google.longrunning.operation_info) = {
|
||||
response_type: "RunTestCaseResponse"
|
||||
metadata_type: "RunTestCaseMetadata"
|
||||
};
|
||||
}
|
||||
|
||||
// Kicks off a batch run of test cases.
|
||||
rpc BatchRunTestCases(BatchRunTestCasesRequest) returns (google.longrunning.Operation) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{parent=projects/*/locations/*/agents/*}/testCases:batchRun"
|
||||
body: "*"
|
||||
};
|
||||
option (google.longrunning.operation_info) = {
|
||||
response_type: "BatchRunTestCasesResponse"
|
||||
metadata_type: "BatchRunTestCasesMetadata"
|
||||
};
|
||||
}
|
||||
|
||||
// Calculates the test coverage for an agent.
|
||||
rpc CalculateCoverage(CalculateCoverageRequest) returns (CalculateCoverageResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v3beta1/{agent=projects/*/locations/*/agents/*}/testCases:calculateCoverage"
|
||||
};
|
||||
}
|
||||
|
||||
// Imports the test cases from a Cloud Storage bucket or a local file. It
|
||||
// always creates new test cases and won't overwite any existing ones. The
|
||||
// provided ID in the imported test case is neglected.
|
||||
rpc ImportTestCases(ImportTestCasesRequest) returns (google.longrunning.Operation) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{parent=projects/*/locations/*/agents/*}/testCases:import"
|
||||
body: "*"
|
||||
};
|
||||
option (google.longrunning.operation_info) = {
|
||||
response_type: "ImportTestCasesResponse"
|
||||
metadata_type: "ImportTestCasesMetadata"
|
||||
};
|
||||
}
|
||||
|
||||
// Exports the test cases under the agent to a Cloud Storage bucket or a local
|
||||
// file. Filter can be applied to export a subset of test cases.
|
||||
rpc ExportTestCases(ExportTestCasesRequest) returns (google.longrunning.Operation) {
|
||||
option (google.api.http) = {
|
||||
post: "/v3beta1/{parent=projects/*/locations/*/agents/*}/testCases:export"
|
||||
body: "*"
|
||||
};
|
||||
option (google.longrunning.operation_info) = {
|
||||
response_type: "ExportTestCasesResponse"
|
||||
metadata_type: "ExportTestCasesMetadata"
|
||||
};
|
||||
}
|
||||
|
||||
// Fetches a list of results for a given test case.
|
||||
rpc ListTestCaseResults(ListTestCaseResultsRequest) returns (ListTestCaseResultsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/v3beta1/{parent=projects/*/locations/*/agents/*/testCases/*}/results"
|
||||
};
|
||||
option (google.api.method_signature) = "parent";
|
||||
}
|
||||
}
|
||||
|
||||
// Represents a test case.
|
||||
message TestCase {
|
||||
option (google.api.resource) = {
|
||||
type: "dialogflow.googleapis.com/TestCase"
|
||||
pattern: "projects/{project}/locations/{location}/agents/{agent}/testCases/{test_case}"
|
||||
};
|
||||
|
||||
// The unique identifier of the test case.
|
||||
// [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase] will populate the name automatically.
|
||||
// Otherwise use format: `projects/<Project ID>/locations/<LocationID>/agents/
|
||||
// <AgentID>/testCases/<TestCase ID>`.
|
||||
string name = 1;
|
||||
|
||||
// Tags are short descriptions that users may apply to test cases for
|
||||
// organizational and filtering purposes. Each tag should start with "#" and
|
||||
// has a limit of 30 characters.
|
||||
repeated string tags = 2;
|
||||
|
||||
// Required. The human-readable name of the test case, unique within the agent. Limit of
|
||||
// 200 characters.
|
||||
string display_name = 3 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Additional freeform notes about the test case. Limit of 400 characters.
|
||||
string notes = 4;
|
||||
|
||||
// Config for the test case.
|
||||
TestConfig test_config = 13;
|
||||
|
||||
// The conversation turns uttered when the test case was created, in
|
||||
// chronological order. These include the canonical set of agent utterances
|
||||
// that should occur when the agent is working properly.
|
||||
repeated ConversationTurn test_case_conversation_turns = 5;
|
||||
|
||||
// Output only. When the test was created.
|
||||
google.protobuf.Timestamp creation_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// The latest test result.
|
||||
TestCaseResult last_test_result = 12;
|
||||
}
|
||||
|
||||
// Represents a result from running a test case in an agent environment.
|
||||
message TestCaseResult {
|
||||
option (google.api.resource) = {
|
||||
type: "dialogflow.googleapis.com/TestCaseResult"
|
||||
pattern: "projects/{project}/locations/{location}/agents/{agent}/testCases/{test_case}/results/{result}"
|
||||
};
|
||||
|
||||
// The resource name for the test case result. Format:
|
||||
// `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/testCases/
|
||||
// <TestCase ID>/results/<TestCaseResult ID>`.
|
||||
string name = 1;
|
||||
|
||||
// Optional. Environment where the test was run. If not set, it indicates the draft
|
||||
// environment.
|
||||
string environment = 2 [
|
||||
(google.api.field_behavior) = OPTIONAL,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Environment"
|
||||
}
|
||||
];
|
||||
|
||||
// The conversation turns uttered during the test case replay in chronological
|
||||
// order.
|
||||
repeated ConversationTurn conversation_turns = 3;
|
||||
|
||||
// Whether the test case passed in the agent environment.
|
||||
TestResult test_result = 4;
|
||||
|
||||
// The time that the test was run.
|
||||
google.protobuf.Timestamp test_time = 5;
|
||||
}
|
||||
|
||||
// Represents configurations for a test case.
|
||||
message TestConfig {
|
||||
// Session parameters to be compared when calculating differences.
|
||||
repeated string tracking_parameters = 1;
|
||||
|
||||
// Flow name. If not set, default start flow is assumed.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/flows/<Flow ID>`.
|
||||
string flow = 2 [(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Flow"
|
||||
}];
|
||||
}
|
||||
|
||||
// One interaction between a human and virtual agent. The human provides some
|
||||
// input and the virtual agent provides a response.
|
||||
message ConversationTurn {
|
||||
// The input from the human user.
|
||||
message UserInput {
|
||||
// Supports [text input][google.cloud.dialogflow.cx.v3beta1.QueryInput.text], [event input][google.cloud.dialogflow.cx.v3beta1.QueryInput.event],
|
||||
// [dtmf input][google.cloud.dialogflow.cx.v3beta1.QueryInput.dtmf] in the test case.
|
||||
QueryInput input = 5;
|
||||
|
||||
// Parameters that need to be injected into the conversation during intent
|
||||
// detection.
|
||||
google.protobuf.Struct injected_parameters = 2;
|
||||
|
||||
// If webhooks should be allowed to trigger in response to the user
|
||||
// utterance. Often if parameters are injected, webhooks should not be
|
||||
// enabled.
|
||||
bool is_webhook_enabled = 3;
|
||||
}
|
||||
|
||||
// The output from the virtual agent.
|
||||
message VirtualAgentOutput {
|
||||
// The session parameters available to the bot at this point.
|
||||
google.protobuf.Struct session_parameters = 4;
|
||||
|
||||
// Output only. If this is part of a [result conversation
|
||||
// turn][TestCaseResult.conversation_turns], the list of differences
|
||||
// between the original run and the replay for this output, if any.
|
||||
repeated TestRunDifference differences = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
||||
|
||||
// Required. Input only. The diagnostic
|
||||
// [info][Session.DetectIntentResponse.QueryResult.diagnostic_info]
|
||||
// output for the turn.
|
||||
google.protobuf.Struct diagnostic_info = 6 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.field_behavior) = INPUT_ONLY
|
||||
];
|
||||
|
||||
// The [Intent][google.cloud.dialogflow.cx.v3beta1.Intent] that triggered the response. Only some fields such as
|
||||
// name and displayname will be set.
|
||||
Intent triggered_intent = 7;
|
||||
|
||||
// The [Page][google.cloud.dialogflow.cx.v3beta1.Page] on which the utterance was spoken. Only some fields such as
|
||||
// name and displayname will be set.
|
||||
Page current_page = 8;
|
||||
|
||||
// The [text][google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text] responses from the agent for the turn.
|
||||
repeated ResponseMessage.Text text_responses = 9;
|
||||
|
||||
// Response error from the agent in the test result. If set, other output
|
||||
// is empty.
|
||||
google.rpc.Status status = 10;
|
||||
}
|
||||
|
||||
// The user input.
|
||||
UserInput user_input = 1;
|
||||
|
||||
// The virtual agent output.
|
||||
VirtualAgentOutput virtual_agent_output = 2;
|
||||
}
|
||||
|
||||
// The description of differences between original and replayed agent output.
|
||||
message TestRunDifference {
|
||||
// What part of the message replay differs from the test case.
|
||||
enum DiffType {
|
||||
// Should never be used.
|
||||
DIFF_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// The intent.
|
||||
INTENT = 1;
|
||||
|
||||
// The page.
|
||||
PAGE = 2;
|
||||
|
||||
// The parameters.
|
||||
PARAMETERS = 3;
|
||||
|
||||
// The message utterance.
|
||||
UTTERANCE = 4;
|
||||
}
|
||||
|
||||
// The type of diff.
|
||||
DiffType type = 1;
|
||||
|
||||
// A description of the diff, showing the actual output vs expected output.
|
||||
string description = 2;
|
||||
}
|
||||
|
||||
// Transition coverage represents the percentage of all possible transitions
|
||||
// present within any of a parent's test cases.
|
||||
message TransitionCoverage {
|
||||
// The source or target of a transition.
|
||||
message TransitionNode {
|
||||
// A TransitionNode can be either a page or a flow.
|
||||
oneof kind {
|
||||
// Indicates a transition to a [Page][google.cloud.dialogflow.cx.v3beta1.Page]. Only some fields such as name and
|
||||
// displayname will be set.
|
||||
Page page = 1;
|
||||
|
||||
// Indicates a transition to a [Flow][google.cloud.dialogflow.cx.v3beta1.Flow]. Only some fields such as name and
|
||||
// displayname will be set.
|
||||
Flow flow = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// A transition in the agent's graph.
|
||||
message Transition {
|
||||
// The start node of a transition.
|
||||
TransitionNode source = 1;
|
||||
|
||||
// The index of a transition in the transition list. Starting from 0.
|
||||
int32 index = 4;
|
||||
|
||||
// The end node of a transition.
|
||||
TransitionNode target = 2;
|
||||
|
||||
// Whether or not the transition is covered by at least one of the
|
||||
// agent's test cases.
|
||||
bool covered = 3;
|
||||
|
||||
// The detailed transition.
|
||||
oneof detail {
|
||||
// Intent route or condition route.
|
||||
TransitionRoute transition_route = 5;
|
||||
|
||||
// Event handler.
|
||||
EventHandler event_handler = 6;
|
||||
}
|
||||
}
|
||||
|
||||
// The list of Transitions present in the agent.
|
||||
repeated Transition transitions = 1;
|
||||
|
||||
// The percent of transitions in the agent that are covered.
|
||||
float coverage_score = 2;
|
||||
}
|
||||
|
||||
// Intent coverage represents the percentage of all possible intents in the
|
||||
// agent that are triggered in any of a parent's test cases.
|
||||
message IntentCoverage {
|
||||
// The agent's intent.
|
||||
message Intent {
|
||||
// The intent full resource name
|
||||
string intent = 1 [(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Intent"
|
||||
}];
|
||||
|
||||
// Whether or not the intent is covered by at least one of the agent's
|
||||
// test cases.
|
||||
bool covered = 2;
|
||||
}
|
||||
|
||||
// The list of Intents present in the agent
|
||||
repeated Intent intents = 1;
|
||||
|
||||
// The percent of intents in the agent that are covered.
|
||||
float coverage_score = 2;
|
||||
}
|
||||
|
||||
// The request message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage].
|
||||
message CalculateCoverageRequest {
|
||||
// The type of coverage score requested.
|
||||
enum CoverageType {
|
||||
// Should never be used.
|
||||
COVERAGE_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// Intent coverage.
|
||||
INTENT = 1;
|
||||
|
||||
// Page transition coverage
|
||||
PAGE_TRANSITION = 2;
|
||||
}
|
||||
|
||||
// Required. The agent to calculate coverage for.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
string agent = 3 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Agent"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The type of coverage requested.
|
||||
CoverageType type = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// The response message for [TestCases.CalculateCoverage][google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage].
|
||||
message CalculateCoverageResponse {
|
||||
// The agent to calculate coverage for.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
string agent = 5 [(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Agent"
|
||||
}];
|
||||
|
||||
// The type of coverage requested.
|
||||
oneof coverage_type {
|
||||
// Intent coverage.
|
||||
IntentCoverage intent_coverage = 2;
|
||||
|
||||
// Transition coverage.
|
||||
TransitionCoverage transition_coverage = 4;
|
||||
}
|
||||
}
|
||||
|
||||
// The request message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases].
|
||||
message ListTestCasesRequest {
|
||||
// Specifies how much test case information to include in the response.
|
||||
enum TestCaseView {
|
||||
// The default / unset value.
|
||||
// The API will default to the BASIC view.
|
||||
TEST_CASE_VIEW_UNSPECIFIED = 0;
|
||||
|
||||
// Include basic metadata about the test case, but not the conversation
|
||||
// turns. This is the default value.
|
||||
BASIC = 1;
|
||||
|
||||
// Include everything.
|
||||
FULL = 2;
|
||||
}
|
||||
|
||||
// Required. The agent to list all pages for.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
|
||||
// The maximum number of items to return in a single page. By default 20.
|
||||
// Note that when TestCaseView = FULL, the maximum page size allowed is 20.
|
||||
// When TestCaseView = BASIC, the maximum page size allowed is 500.
|
||||
int32 page_size = 2;
|
||||
|
||||
// The next_page_token value returned from a previous list request.
|
||||
string page_token = 3;
|
||||
|
||||
// Specifies whether response should include all fields or just the metadata.
|
||||
TestCaseView view = 4;
|
||||
}
|
||||
|
||||
// The response message for [TestCases.ListTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases].
|
||||
message ListTestCasesResponse {
|
||||
// The list of test cases. There will be a maximum number of items returned
|
||||
// based on the page_size field in the request.
|
||||
repeated TestCase test_cases = 1;
|
||||
|
||||
// Token to retrieve the next page of results, or empty if there are no more
|
||||
// results in the list.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// The request message for [TestCases.BatchDeleteTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCases].
|
||||
message BatchDeleteTestCasesRequest {
|
||||
// Required. The agent to delete test cases from.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. Format of test case names: `projects/<Project ID>/locations/
|
||||
// <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`.
|
||||
repeated string names = 3 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// The request message for [TestCases.CreateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase].
|
||||
message CreateTestCaseRequest {
|
||||
// Required. The agent to create the test case for.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The test case to create.
|
||||
TestCase test_case = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// The request message for [TestCases.UpdateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase].
|
||||
message UpdateTestCaseRequest {
|
||||
// Required. The test case to update.
|
||||
TestCase test_case = 1 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Required. The mask to specify which fields should be updated. Only a test case's
|
||||
// metadata and replayed_conversation_turns may be updated. The original
|
||||
// test_case_conversation_turns may not be updated.
|
||||
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
}
|
||||
|
||||
// The request message for [TestCases.GetTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase].
|
||||
message GetTestCaseRequest {
|
||||
// Required. The name of the testcase.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/testCases/<TestCase ID>`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// The request message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase].
|
||||
message RunTestCaseRequest {
|
||||
// Required. Format of test case name to run: `projects/<Project ID>/locations/
|
||||
// <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`.
|
||||
string name = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
|
||||
// Optional. Environment name. If not set, draft environment is assumed.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/environments/<Environment ID>`.
|
||||
string environment = 2 [
|
||||
(google.api.field_behavior) = OPTIONAL,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Environment"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// The response message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase].
|
||||
message RunTestCaseResponse {
|
||||
// The result.
|
||||
TestCaseResult result = 2;
|
||||
}
|
||||
|
||||
// Metadata returned for the [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase] long running operation.
|
||||
message RunTestCaseMetadata {
|
||||
|
||||
}
|
||||
|
||||
// The request message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases].
|
||||
message BatchRunTestCasesRequest {
|
||||
// Required. Agent name. Format: `projects/<Project ID>/locations/<Location ID>/agents/
|
||||
// <AgentID>`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
|
||||
// Optional. If not set, draft environment is assumed. Format: `projects/<Project
|
||||
// ID>/locations/<Location ID>/agents/<Agent ID>/environments/<Environment
|
||||
// ID>`.
|
||||
string environment = 2 [
|
||||
(google.api.field_behavior) = OPTIONAL,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Environment"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/testCases/<TestCase ID>`.
|
||||
repeated string test_cases = 3 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
// The response message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases].
|
||||
message BatchRunTestCasesResponse {
|
||||
// The test case results. The detailed
|
||||
// [conversation turns][google.cloud.dialogflow.cx.v3beta1.TestCaseResult.conversation_turns] are empty in this
|
||||
// response.
|
||||
repeated TestCaseResult results = 1;
|
||||
}
|
||||
|
||||
// Metadata returned for the [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases] long running
|
||||
// operation.
|
||||
message BatchRunTestCasesMetadata {
|
||||
// The test errors.
|
||||
repeated TestError errors = 1;
|
||||
}
|
||||
|
||||
// Error info for running a test.
|
||||
message TestError {
|
||||
// The test case resource name.
|
||||
string test_case = 1 [(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/TestCase"
|
||||
}];
|
||||
|
||||
// The status associated with the test.
|
||||
google.rpc.Status status = 2;
|
||||
|
||||
// The timestamp when the test was completed.
|
||||
google.protobuf.Timestamp test_time = 3;
|
||||
}
|
||||
|
||||
// The request message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases].
|
||||
message ImportTestCasesRequest {
|
||||
// Required. The agent to import test cases to.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
|
||||
// Required. The source to import.
|
||||
oneof source {
|
||||
// The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI
|
||||
// to import test cases from. The format of this URI must be
|
||||
// `gs://<bucket-name>/<object-name>`.
|
||||
string gcs_uri = 2;
|
||||
|
||||
// Uncompressed raw byte content for test cases.
|
||||
bytes content = 3;
|
||||
}
|
||||
}
|
||||
|
||||
// The response message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases].
|
||||
message ImportTestCasesResponse {
|
||||
// The unique identifiers of the new test cases.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/testCases/<TestCase ID>`.
|
||||
repeated string names = 1 [(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/TestCase"
|
||||
}];
|
||||
}
|
||||
|
||||
// Metadata returned for the [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases] long running
|
||||
// operation.
|
||||
message ImportTestCasesMetadata {
|
||||
// Errors for failed test cases.
|
||||
repeated TestCaseError errors = 1;
|
||||
}
|
||||
|
||||
// Error info for importing a test.
|
||||
message TestCaseError {
|
||||
// The test case.
|
||||
TestCase test_case = 1;
|
||||
|
||||
// The status associated with the test case.
|
||||
google.rpc.Status status = 2;
|
||||
}
|
||||
|
||||
// The request message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases].
|
||||
message ExportTestCasesRequest {
|
||||
// Data format of the exported test cases.
|
||||
enum DataFormat {
|
||||
// Unspecified format.
|
||||
DATA_FORMAT_UNSPECIFIED = 0;
|
||||
|
||||
// Raw bytes.
|
||||
BLOB = 1;
|
||||
|
||||
// JSON format.
|
||||
JSON = 2;
|
||||
}
|
||||
|
||||
// Required. The agent where to export test cases from.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "dialogflow.googleapis.com/TestCase"
|
||||
}
|
||||
];
|
||||
|
||||
// The destination to export.
|
||||
oneof destination {
|
||||
// The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to
|
||||
// export the test cases to. The format of this URI must be
|
||||
// `gs://<bucket-name>/<object-name>`. If unspecified, the serialized test
|
||||
// cases is returned inline.
|
||||
string gcs_uri = 2;
|
||||
}
|
||||
|
||||
// The data format of the exported test cases. If not specified, `BLOB` is
|
||||
// assumed.
|
||||
DataFormat data_format = 3;
|
||||
|
||||
// The filter expression used to filter exported test cases, see
|
||||
// [API Filtering](https://aip.dev/160). The expression is case insensitive
|
||||
// and supports the following syntax:
|
||||
//
|
||||
// name = <value> [OR name = <value>] ...
|
||||
//
|
||||
// For example:
|
||||
//
|
||||
// * "name = t1 OR name = t2" matches the test case with the exact resource
|
||||
// name "t1" or "t2".
|
||||
string filter = 4;
|
||||
}
|
||||
|
||||
// The response message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases].
|
||||
message ExportTestCasesResponse {
|
||||
// The exported test cases.
|
||||
oneof destination {
|
||||
// The URI to a file containing the exported test cases. This field is
|
||||
// populated only if `gcs_uri` is specified in
|
||||
// [ExportTestCasesRequest][google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest].
|
||||
string gcs_uri = 1;
|
||||
|
||||
// Uncompressed raw byte content for test cases.
|
||||
bytes content = 2;
|
||||
}
|
||||
}
|
||||
|
||||
// Metadata returned for the [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases] long running
|
||||
// operation.
|
||||
message ExportTestCasesMetadata {
|
||||
|
||||
}
|
||||
|
||||
// The request message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults].
|
||||
message ListTestCaseResultsRequest {
|
||||
// Required. The test case to list results for.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/
|
||||
// testCases/<TestCase ID>`. Specify a `-` as a wildcard for TestCase ID to
|
||||
// list results across multiple test cases.
|
||||
string parent = 1 [
|
||||
(google.api.field_behavior) = REQUIRED,
|
||||
(google.api.resource_reference) = {
|
||||
child_type: "dialogflow.googleapis.com/TestCaseResult"
|
||||
}
|
||||
];
|
||||
|
||||
// The maximum number of items to return in a single page. By default 100 and
|
||||
// at most 1000.
|
||||
int32 page_size = 2;
|
||||
|
||||
// The next_page_token value returned from a previous list request.
|
||||
string page_token = 3;
|
||||
|
||||
// The filter expression used to filter test case results. See
|
||||
// [API Filtering](https://aip.dev/160).
|
||||
//
|
||||
// The expression is case insensitive. Only 'AND' is supported for logical
|
||||
// operators. The supported syntax is listed below in detail:
|
||||
//
|
||||
// <field> <operator> <value> [AND <field> <operator> <value>] ...
|
||||
// [AND latest]
|
||||
//
|
||||
// The supported fields and operators are:
|
||||
// field operator
|
||||
// `environment` `=`, `IN` (Use value `draft` for draft environment)
|
||||
// `test_time` `>`, `<`
|
||||
//
|
||||
// `latest` only returns the latest test result in all results for each test
|
||||
// case.
|
||||
//
|
||||
// Examples:
|
||||
// * "environment=draft AND latest" matches the latest test result for each
|
||||
// test case in the draft environment.
|
||||
// * "environment IN (e1,e2)" matches any test case results with an
|
||||
// environment resource name of either "e1" or "e2".
|
||||
// * "test_time > 1602540713" matches any test case results with test time
|
||||
// later than a unix timestamp in seconds 1602540713.
|
||||
string filter = 4;
|
||||
}
|
||||
|
||||
// The response message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults].
|
||||
message ListTestCaseResultsResponse {
|
||||
// The list of test case results.
|
||||
repeated TestCaseResult test_case_results = 1;
|
||||
|
||||
// Token to retrieve the next page of results, or empty if there are no more
|
||||
// results in the list.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
// The test result for a test case and an agent environment.
|
||||
enum TestResult {
|
||||
// Not specified. Should never be used.
|
||||
TEST_RESULT_UNSPECIFIED = 0;
|
||||
|
||||
// The test passed.
|
||||
PASSED = 1;
|
||||
|
||||
// The test did not pass.
|
||||
FAILED = 2;
|
||||
}
|
||||
|
|
@ -102,11 +102,6 @@ message TransitionRouteGroup {
|
|||
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
||||
|
||||
// Transition routes associated with the [TransitionRouteGroup][google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup].
|
||||
// Duplicate transition routes (i.e. using the same
|
||||
// [`intent`][google.cloud.dialogflow.cx.v3beta1.TransitionRoute.intent]) are not allowed.
|
||||
//
|
||||
// Note that the [`name`][google.cloud.dialogflow.cx.v3beta1.TransitionRoute.name] field is not used in the
|
||||
// transition route group scope.
|
||||
repeated TransitionRoute transition_routes = 5;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,115 @@
|
|||
// 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.cloud.dialogflow.cx.v3beta1;
|
||||
|
||||
import "google/protobuf/struct.proto";
|
||||
import "google/api/annotations.proto";
|
||||
|
||||
option cc_enable_arenas = true;
|
||||
option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1";
|
||||
option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3beta1;cx";
|
||||
option java_multiple_files = true;
|
||||
option java_outer_classname = "ValidationMessageProto";
|
||||
option java_package = "com.google.cloud.dialogflow.cx.v3beta1";
|
||||
option objc_class_prefix = "DF";
|
||||
|
||||
// Agent/flow validation message.
|
||||
message ValidationMessage {
|
||||
// Resource types.
|
||||
enum ResourceType {
|
||||
// Unspecified.
|
||||
RESOURCE_TYPE_UNSPECIFIED = 0;
|
||||
|
||||
// Agent.
|
||||
AGENT = 1;
|
||||
|
||||
// Intent.
|
||||
INTENT = 2;
|
||||
|
||||
// Intent training phrase.
|
||||
INTENT_TRAINING_PHRASE = 8;
|
||||
|
||||
// Intent parameter.
|
||||
INTENT_PARAMETER = 9;
|
||||
|
||||
// Multiple intents.
|
||||
INTENTS = 10;
|
||||
|
||||
// Multiple training phrases.
|
||||
INTENT_TRAINING_PHRASES = 11;
|
||||
|
||||
// Entity type.
|
||||
ENTITY_TYPE = 3;
|
||||
|
||||
// Multiple entity types.
|
||||
ENTITY_TYPES = 12;
|
||||
|
||||
// Webhook.
|
||||
WEBHOOK = 4;
|
||||
|
||||
// Flow.
|
||||
FLOW = 5;
|
||||
|
||||
// Page.
|
||||
PAGE = 6;
|
||||
|
||||
// Multiple pages.
|
||||
PAGES = 13;
|
||||
|
||||
// Transition route group.
|
||||
TRANSITION_ROUTE_GROUP = 7;
|
||||
}
|
||||
|
||||
// Severity level.
|
||||
enum Severity {
|
||||
// Unspecified.
|
||||
SEVERITY_UNSPECIFIED = 0;
|
||||
|
||||
// The agent doesn't follow Dialogflow best practices.
|
||||
INFO = 1;
|
||||
|
||||
// The agent may not behave as expected.
|
||||
WARNING = 2;
|
||||
|
||||
// The agent may experience failures.
|
||||
ERROR = 3;
|
||||
}
|
||||
|
||||
// The type of the resources where the message is found.
|
||||
ResourceType resource_type = 1;
|
||||
|
||||
// The names of the resources where the message is found.
|
||||
repeated string resources = 2 [deprecated = true];
|
||||
|
||||
// The resource names of the resources where the message is found.
|
||||
repeated ResourceName resource_names = 6;
|
||||
|
||||
// Indicates the severity of the message.
|
||||
Severity severity = 3;
|
||||
|
||||
// The message detail.
|
||||
string detail = 4;
|
||||
}
|
||||
|
||||
// Resource name and display name.
|
||||
message ResourceName {
|
||||
// Name.
|
||||
string name = 1;
|
||||
|
||||
// Display name.
|
||||
string display_name = 2;
|
||||
}
|
||||
|
|
@ -33,6 +33,10 @@ option java_multiple_files = true;
|
|||
option java_outer_classname = "WebhookProto";
|
||||
option java_package = "com.google.cloud.dialogflow.cx.v3beta1";
|
||||
option objc_class_prefix = "DF";
|
||||
option (google.api.resource_definition) = {
|
||||
type: "servicedirectory.googleapis.com/Service"
|
||||
pattern: "projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}"
|
||||
};
|
||||
|
||||
// Service for managing [Webhooks][google.cloud.dialogflow.cx.v3beta1.Webhook].
|
||||
service Webhooks {
|
||||
|
|
@ -424,9 +428,11 @@ message PageInfo {
|
|||
message SessionInfo {
|
||||
// Always present for [WebhookRequest][google.cloud.dialogflow.cx.v3beta1.WebhookRequest]. Ignored for [WebhookResponse][google.cloud.dialogflow.cx.v3beta1.WebhookResponse].
|
||||
// The unique identifier of the [session][google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest.session]. This
|
||||
// field can be used by the webhook to identify a user.
|
||||
// field can be used by the webhook to identify a session.
|
||||
// Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
|
||||
// ID>/sessions/<Session ID>`.
|
||||
// ID>/sessions/<Session ID>` or `projects/<Project ID>/locations/<Location
|
||||
// ID>/agents/<Agent ID>/environments/<Environment ID>/sessions/<Session ID>`
|
||||
// if environment is specified.
|
||||
string session = 1 [(google.api.resource_reference) = {
|
||||
type: "dialogflow.googleapis.com/Session"
|
||||
}];
|
||||
|
|
|
|||
Loading…
Reference in New Issue