xref: /aosp_15_r20/external/googleapis/google/cloud/dialogflow/cx/v3beta1/agent.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.cloud.dialogflow.cx.v3beta1;
18
19import "google/api/annotations.proto";
20import "google/api/client.proto";
21import "google/api/field_behavior.proto";
22import "google/api/resource.proto";
23import "google/cloud/dialogflow/cx/v3beta1/advanced_settings.proto";
24import "google/cloud/dialogflow/cx/v3beta1/audio_config.proto";
25import "google/cloud/dialogflow/cx/v3beta1/flow.proto";
26import "google/cloud/dialogflow/cx/v3beta1/generative_settings.proto";
27import "google/longrunning/operations.proto";
28import "google/protobuf/empty.proto";
29import "google/protobuf/field_mask.proto";
30import "google/protobuf/struct.proto";
31
32option cc_enable_arenas = true;
33option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3Beta1";
34option go_package = "cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb";
35option java_multiple_files = true;
36option java_outer_classname = "AgentProto";
37option java_package = "com.google.cloud.dialogflow.cx.v3beta1";
38option objc_class_prefix = "DF";
39option ruby_package = "Google::Cloud::Dialogflow::CX::V3beta1";
40
41// Service for managing [Agents][google.cloud.dialogflow.cx.v3beta1.Agent].
42service Agents {
43  option (google.api.default_host) = "dialogflow.googleapis.com";
44  option (google.api.oauth_scopes) =
45      "https://www.googleapis.com/auth/cloud-platform,"
46      "https://www.googleapis.com/auth/dialogflow";
47
48  // Returns the list of all agents in the specified location.
49  rpc ListAgents(ListAgentsRequest) returns (ListAgentsResponse) {
50    option (google.api.http) = {
51      get: "/v3beta1/{parent=projects/*/locations/*}/agents"
52    };
53    option (google.api.method_signature) = "parent";
54  }
55
56  // Retrieves the specified agent.
57  rpc GetAgent(GetAgentRequest) returns (Agent) {
58    option (google.api.http) = {
59      get: "/v3beta1/{name=projects/*/locations/*/agents/*}"
60    };
61    option (google.api.method_signature) = "name";
62  }
63
64  // Creates an agent in the specified location.
65  //
66  // Note: You should always train a flow prior to sending it queries. See the
67  // [training
68  // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).
69  rpc CreateAgent(CreateAgentRequest) returns (Agent) {
70    option (google.api.http) = {
71      post: "/v3beta1/{parent=projects/*/locations/*}/agents"
72      body: "agent"
73    };
74    option (google.api.method_signature) = "parent,agent";
75  }
76
77  // Updates the specified agent.
78  //
79  // Note: You should always train a flow prior to sending it queries. See the
80  // [training
81  // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).
82  rpc UpdateAgent(UpdateAgentRequest) returns (Agent) {
83    option (google.api.http) = {
84      patch: "/v3beta1/{agent.name=projects/*/locations/*/agents/*}"
85      body: "agent"
86    };
87    option (google.api.method_signature) = "agent,update_mask";
88  }
89
90  // Deletes the specified agent.
91  rpc DeleteAgent(DeleteAgentRequest) returns (google.protobuf.Empty) {
92    option (google.api.http) = {
93      delete: "/v3beta1/{name=projects/*/locations/*/agents/*}"
94    };
95    option (google.api.method_signature) = "name";
96  }
97
98  // Exports the specified agent to a binary file.
99  //
100  // This method is a [long-running
101  // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
102  // The returned `Operation` type has the following method-specific fields:
103  //
104  // - `metadata`: An empty [Struct
105  //   message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
106  // - `response`:
107  // [ExportAgentResponse][google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse]
108  rpc ExportAgent(ExportAgentRequest) returns (google.longrunning.Operation) {
109    option (google.api.http) = {
110      post: "/v3beta1/{name=projects/*/locations/*/agents/*}:export"
111      body: "*"
112    };
113    option (google.longrunning.operation_info) = {
114      response_type: "ExportAgentResponse"
115      metadata_type: "google.protobuf.Struct"
116    };
117  }
118
119  // Restores the specified agent from a binary file.
120  //
121  // Replaces the current agent with a new one. Note that all existing resources
122  // in agent (e.g. intents, entity types, flows) will be removed.
123  //
124  // This method is a [long-running
125  // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation).
126  // The returned `Operation` type has the following method-specific fields:
127  //
128  // - `metadata`: An empty [Struct
129  //   message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct)
130  // - `response`: An [Empty
131  //   message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty)
132  //
133  // Note: You should always train a flow prior to sending it queries. See the
134  // [training
135  // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).
136  rpc RestoreAgent(RestoreAgentRequest) returns (google.longrunning.Operation) {
137    option (google.api.http) = {
138      post: "/v3beta1/{name=projects/*/locations/*/agents/*}:restore"
139      body: "*"
140    };
141    option (google.longrunning.operation_info) = {
142      response_type: "google.protobuf.Empty"
143      metadata_type: "google.protobuf.Struct"
144    };
145  }
146
147  // Validates the specified agent and creates or updates validation results.
148  // The agent in draft version is validated. Please call this API after the
149  // training is completed to get the complete validation results.
150  rpc ValidateAgent(ValidateAgentRequest) returns (AgentValidationResult) {
151    option (google.api.http) = {
152      post: "/v3beta1/{name=projects/*/locations/*/agents/*}:validate"
153      body: "*"
154    };
155  }
156
157  // Gets the latest agent validation result. Agent validation is performed
158  // when ValidateAgent is called.
159  rpc GetAgentValidationResult(GetAgentValidationResultRequest)
160      returns (AgentValidationResult) {
161    option (google.api.http) = {
162      get: "/v3beta1/{name=projects/*/locations/*/agents/*/validationResult}"
163    };
164    option (google.api.method_signature) = "name";
165  }
166
167  // Gets the generative settings for the agent.
168  rpc GetGenerativeSettings(GetGenerativeSettingsRequest)
169      returns (GenerativeSettings) {
170    option (google.api.http) = {
171      get: "/v3beta1/{name=projects/*/locations/*/agents/*/generativeSettings}"
172    };
173    option (google.api.method_signature) = "name,language_code";
174  }
175
176  // Updates the generative settings for the agent.
177  rpc UpdateGenerativeSettings(UpdateGenerativeSettingsRequest)
178      returns (GenerativeSettings) {
179    option (google.api.http) = {
180      patch: "/v3beta1/{generative_settings.name=projects/*/locations/*/agents/*/generativeSettings}"
181      body: "generative_settings"
182    };
183    option (google.api.method_signature) = "generative_settings,update_mask";
184  }
185}
186
187// Settings related to speech recognition.
188message SpeechToTextSettings {
189  // Whether to use speech adaptation for speech recognition.
190  bool enable_speech_adaptation = 1;
191}
192
193// Agents are best described as Natural Language Understanding (NLU) modules
194// that transform user requests into actionable data. You can include agents
195// in your app, product, or service to determine user intent and respond to the
196// user in a natural way.
197//
198// After you create an agent, you can add
199// [Intents][google.cloud.dialogflow.cx.v3beta1.Intent], [Entity
200// Types][google.cloud.dialogflow.cx.v3beta1.EntityType],
201// [Flows][google.cloud.dialogflow.cx.v3beta1.Flow],
202// [Fulfillments][google.cloud.dialogflow.cx.v3beta1.Fulfillment],
203// [Webhooks][google.cloud.dialogflow.cx.v3beta1.Webhook],
204// [TransitionRouteGroups][google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup]
205// and so on to manage the conversation flows.
206message Agent {
207  option (google.api.resource) = {
208    type: "dialogflow.googleapis.com/Agent"
209    pattern: "projects/{project}/locations/{location}/agents/{agent}"
210  };
211
212  // Settings for connecting to Git repository for an agent.
213  message GitIntegrationSettings {
214    // Settings of integration with GitHub.
215    message GithubSettings {
216      // The unique repository display name for the GitHub repository.
217      string display_name = 1;
218
219      // The GitHub repository URI related to the agent.
220      string repository_uri = 2;
221
222      // The branch of the GitHub repository tracked for this agent.
223      string tracking_branch = 3;
224
225      // The access token used to authenticate the access to the GitHub
226      // repository.
227      string access_token = 4;
228
229      // A list of branches configured to be used from Dialogflow.
230      repeated string branches = 5;
231    }
232
233    // The git settings to specific systems.
234    oneof git_settings {
235      // GitHub settings.
236      GithubSettings github_settings = 1;
237    }
238  }
239
240  // Settings for Gen App Builder.
241  message GenAppBuilderSettings {
242    // Required. The full name of the Gen App Builder engine related to this
243    // agent if there is one. Format: `projects/{Project ID}/locations/{Location
244    // ID}/collections/{Collection ID}/engines/{Engine ID}`
245    string engine = 1 [(google.api.field_behavior) = REQUIRED];
246  }
247
248  // Settings for answer feedback collection.
249  message AnswerFeedbackSettings {
250    // Optional. If enabled, end users will be able to provide
251    // [answer feedback][google.cloud.dialogflow.cx.v3beta1.AnswerFeedback] to
252    // Dialogflow responses. Feature works only if interaction logging is
253    // enabled in the Dialogflow agent.
254    bool enable_answer_feedback = 1 [(google.api.field_behavior) = OPTIONAL];
255  }
256
257  // Settings for end user personalization.
258  message PersonalizationSettings {
259    // Optional. Default end user metadata, used when processing DetectIntent
260    // requests. Recommended to be filled as a template instead of hard-coded
261    // value, for example { "age": "$session.params.age" }. The data will be
262    // merged with the
263    // [QueryParameters.end_user_metadata][google.cloud.dialogflow.cx.v3beta1.QueryParameters.end_user_metadata]
264    // in
265    // [DetectIntentRequest.query_params][google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest.query_params]
266    // during query processing.
267    google.protobuf.Struct default_end_user_metadata = 1
268        [(google.api.field_behavior) = OPTIONAL];
269  }
270
271  // The unique identifier of the agent.
272  // Required for the
273  // [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgent]
274  // method.
275  // [Agents.CreateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.CreateAgent]
276  // populates the name automatically.
277  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
278  string name = 1;
279
280  // Required. The human-readable name of the agent, unique within the location.
281  string display_name = 2 [(google.api.field_behavior) = REQUIRED];
282
283  // Required. Immutable. The default language of the agent as a language tag.
284  // See [Language
285  // Support](https://cloud.google.com/dialogflow/cx/docs/reference/language)
286  // for a list of the currently supported language codes.
287  // This field cannot be set by the
288  // [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgent]
289  // method.
290  string default_language_code = 3 [
291    (google.api.field_behavior) = REQUIRED,
292    (google.api.field_behavior) = IMMUTABLE
293  ];
294
295  // The list of all languages supported by the agent (except for the
296  // `default_language_code`).
297  repeated string supported_language_codes = 4;
298
299  // Required. The time zone of the agent from the [time zone
300  // database](https://www.iana.org/time-zones), e.g., America/New_York,
301  // Europe/Paris.
302  string time_zone = 5 [(google.api.field_behavior) = REQUIRED];
303
304  // The description of the agent. The maximum length is 500 characters. If
305  // exceeded, the request is rejected.
306  string description = 6;
307
308  // The URI of the agent's avatar. Avatars are used throughout the Dialogflow
309  // console and in the self-hosted [Web
310  // Demo](https://cloud.google.com/dialogflow/docs/integrations/web-demo)
311  // integration.
312  string avatar_uri = 7;
313
314  // Speech recognition related settings.
315  SpeechToTextSettings speech_to_text_settings = 13;
316
317  // Immutable. Name of the start flow in this agent. A start flow will be
318  // automatically created when the agent is created, and can only be deleted by
319  // deleting the agent. Format: `projects/<Project ID>/locations/<Location
320  // ID>/agents/<Agent ID>/flows/<Flow ID>`.
321  string start_flow = 16 [
322    (google.api.field_behavior) = IMMUTABLE,
323    (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" }
324  ];
325
326  // Optional. Name of the start playbook in this agent. A start playbook will
327  // be automatically created when the agent is created, and can only be deleted
328  // by deleting the agent.
329  // Format: `projects/<Project ID>/locations/<Location
330  // ID>/agents/<Agent ID>/playbooks/<Playbook ID>`. Currently only the
331  // default playbook with id
332  // "00000000-0000-0000-0000-000000000000" is allowed.
333  //
334  // Only one of `start_flow` or `start_playbook` should be set, but not both.
335  string start_playbook = 39 [
336    (google.api.field_behavior) = OPTIONAL,
337    (google.api.resource_reference) = {
338      type: "dialogflow.googleapis.com/Playbook"
339    }
340  ];
341
342  // Name of the
343  // [SecuritySettings][google.cloud.dialogflow.cx.v3beta1.SecuritySettings]
344  // reference for the agent. Format: `projects/<Project ID>/locations/<Location
345  // ID>/securitySettings/<Security Settings ID>`.
346  string security_settings = 17 [(google.api.resource_reference) = {
347    type: "dialogflow.googleapis.com/SecuritySettings"
348  }];
349
350  // Indicates if stackdriver logging is enabled for the agent.
351  // Please use
352  // [agent.advanced_settings][google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.LoggingSettings]
353  // instead.
354  bool enable_stackdriver_logging = 18 [deprecated = true];
355
356  // Indicates if automatic spell correction is enabled in detect intent
357  // requests.
358  bool enable_spell_correction = 20;
359
360  // Optional. Enable training multi-lingual models for this agent. These models
361  // will be trained on all the languages supported by the agent.
362  bool enable_multi_language_training = 40
363      [(google.api.field_behavior) = OPTIONAL];
364
365  // Indicates whether the agent is locked for changes. If the agent is locked,
366  // modifications to the agent will be rejected except for [RestoreAgent][].
367  bool locked = 27;
368
369  // Hierarchical advanced settings for this agent. The settings exposed at the
370  // lower level overrides the settings exposed at the higher level.
371  AdvancedSettings advanced_settings = 22;
372
373  // Git integration settings for this agent.
374  GitIntegrationSettings git_integration_settings = 30;
375
376  // Settings on instructing the speech synthesizer on how to generate the
377  // output audio content.
378  TextToSpeechSettings text_to_speech_settings = 31;
379
380  // Gen App Builder-related agent-level settings.
381  optional GenAppBuilderSettings gen_app_builder_settings = 33;
382
383  // Optional. Answer feedback collection settings.
384  AnswerFeedbackSettings answer_feedback_settings = 38
385      [(google.api.field_behavior) = OPTIONAL];
386
387  // Optional. Settings for end user personalization.
388  PersonalizationSettings personalization_settings = 42
389      [(google.api.field_behavior) = OPTIONAL];
390}
391
392// The request message for
393// [Agents.ListAgents][google.cloud.dialogflow.cx.v3beta1.Agents.ListAgents].
394message ListAgentsRequest {
395  // Required. The location to list all agents for.
396  // Format: `projects/<Project ID>/locations/<Location ID>`.
397  string parent = 1 [
398    (google.api.field_behavior) = REQUIRED,
399    (google.api.resource_reference) = {
400      child_type: "dialogflow.googleapis.com/Agent"
401    }
402  ];
403
404  // The maximum number of items to return in a single page. By default 100 and
405  // at most 1000.
406  int32 page_size = 2;
407
408  // The next_page_token value returned from a previous list request.
409  string page_token = 3;
410}
411
412// The response message for
413// [Agents.ListAgents][google.cloud.dialogflow.cx.v3beta1.Agents.ListAgents].
414message ListAgentsResponse {
415  // The list of agents. There will be a maximum number of items returned based
416  // on the page_size field in the request.
417  repeated Agent agents = 1;
418
419  // Token to retrieve the next page of results, or empty if there are no more
420  // results in the list.
421  string next_page_token = 2;
422}
423
424// The request message for
425// [Agents.GetAgent][google.cloud.dialogflow.cx.v3beta1.Agents.GetAgent].
426message GetAgentRequest {
427  // Required. The name of the agent.
428  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
429  string name = 1 [
430    (google.api.field_behavior) = REQUIRED,
431    (google.api.resource_reference) = {
432      type: "dialogflow.googleapis.com/Agent"
433    }
434  ];
435}
436
437// The request message for
438// [Agents.CreateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.CreateAgent].
439message CreateAgentRequest {
440  // Required. The location to create a agent for.
441  // Format: `projects/<Project ID>/locations/<Location ID>`.
442  string parent = 1 [
443    (google.api.field_behavior) = REQUIRED,
444    (google.api.resource_reference) = {
445      child_type: "dialogflow.googleapis.com/Agent"
446    }
447  ];
448
449  // Required. The agent to create.
450  Agent agent = 2 [(google.api.field_behavior) = REQUIRED];
451}
452
453// The request message for
454// [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgent].
455message UpdateAgentRequest {
456  // Required. The agent to update.
457  Agent agent = 1 [(google.api.field_behavior) = REQUIRED];
458
459  // The mask to control which fields get updated. If the mask is not present,
460  // all fields will be updated.
461  google.protobuf.FieldMask update_mask = 2;
462}
463
464// The request message for
465// [Agents.DeleteAgent][google.cloud.dialogflow.cx.v3beta1.Agents.DeleteAgent].
466message DeleteAgentRequest {
467  // Required. The name of the agent to delete.
468  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
469  string name = 1 [
470    (google.api.field_behavior) = REQUIRED,
471    (google.api.resource_reference) = {
472      type: "dialogflow.googleapis.com/Agent"
473    }
474  ];
475}
476
477// The request message for
478// [Agents.ExportAgent][google.cloud.dialogflow.cx.v3beta1.Agents.ExportAgent].
479message ExportAgentRequest {
480  // Data format of the exported agent.
481  enum DataFormat {
482    // Unspecified format.
483    DATA_FORMAT_UNSPECIFIED = 0;
484
485    // Agent content will be exported as raw bytes.
486    BLOB = 1;
487
488    // Agent content will be exported in JSON Package format.
489    JSON_PACKAGE = 4;
490  }
491
492  // Settings for exporting to a git branch.
493  message GitDestination {
494    // Tracking branch for the git push.
495    string tracking_branch = 1;
496
497    // Commit message for the git push.
498    string commit_message = 2;
499  }
500
501  // Required. The name of the agent to export.
502  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
503  string name = 1 [
504    (google.api.field_behavior) = REQUIRED,
505    (google.api.resource_reference) = {
506      type: "dialogflow.googleapis.com/Agent"
507    }
508  ];
509
510  // Optional. The [Google Cloud
511  // Storage](https://cloud.google.com/storage/docs/) URI to export the agent
512  // to. The format of this URI must be `gs://<bucket-name>/<object-name>`. If
513  // left unspecified, the serialized agent is returned inline.
514  //
515  // Dialogflow performs a write operation for the Cloud Storage object
516  // on the caller's behalf, so your request authentication must
517  // have write permissions for the object. For more information, see
518  // [Dialogflow access
519  // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).
520  string agent_uri = 2 [(google.api.field_behavior) = OPTIONAL];
521
522  // Optional. The data format of the exported agent. If not specified, `BLOB`
523  // is assumed.
524  DataFormat data_format = 3 [(google.api.field_behavior) = OPTIONAL];
525
526  // Optional. Environment name. If not set, draft environment is assumed.
527  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
528  // ID>/environments/<Environment ID>`.
529  string environment = 5 [
530    (google.api.field_behavior) = OPTIONAL,
531    (google.api.resource_reference) = {
532      type: "dialogflow.googleapis.com/Environment"
533    }
534  ];
535
536  // Optional. The Git branch to export the agent to.
537  GitDestination git_destination = 6 [(google.api.field_behavior) = OPTIONAL];
538
539  // Optional. Whether to include BigQuery Export setting.
540  bool include_bigquery_export_settings = 7
541      [(google.api.field_behavior) = OPTIONAL];
542}
543
544// The response message for
545// [Agents.ExportAgent][google.cloud.dialogflow.cx.v3beta1.Agents.ExportAgent].
546message ExportAgentResponse {
547  // The exported agent.
548  oneof agent {
549    // The URI to a file containing the exported agent. This field is populated
550    // if `agent_uri` is specified in
551    // [ExportAgentRequest][google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest].
552    string agent_uri = 1;
553
554    // Uncompressed raw byte content for agent. This field is populated
555    // if none of `agent_uri` and `git_destination` are specified in
556    // [ExportAgentRequest][google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest].
557    bytes agent_content = 2;
558
559    // Commit SHA of the git push. This field is populated if
560    // `git_destination` is specified in
561    // [ExportAgentRequest][google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest].
562    string commit_sha = 3;
563  }
564}
565
566// The request message for
567// [Agents.RestoreAgent][google.cloud.dialogflow.cx.v3beta1.Agents.RestoreAgent].
568message RestoreAgentRequest {
569  // Settings for restoring from a git branch
570  message GitSource {
571    // tracking branch for the git pull
572    string tracking_branch = 1;
573  }
574
575  // Restore option.
576  enum RestoreOption {
577    // Unspecified. Treated as KEEP.
578    RESTORE_OPTION_UNSPECIFIED = 0;
579
580    // Always respect the settings from the exported agent file. It may cause
581    // a restoration failure if some settings (e.g. model type) are not
582    // supported in the target agent.
583    KEEP = 1;
584
585    // Fallback to default settings if some settings are not supported in the
586    // target agent.
587    FALLBACK = 2;
588  }
589
590  // Required. The name of the agent to restore into.
591  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
592  string name = 1 [
593    (google.api.field_behavior) = REQUIRED,
594    (google.api.resource_reference) = {
595      type: "dialogflow.googleapis.com/Agent"
596    }
597  ];
598
599  // Required. The agent to restore.
600  oneof agent {
601    // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI
602    // to restore agent from. The format of this URI must be
603    // `gs://<bucket-name>/<object-name>`.
604    //
605    // Dialogflow performs a read operation for the Cloud Storage object
606    // on the caller's behalf, so your request authentication must
607    // have read permissions for the object. For more information, see
608    // [Dialogflow access
609    // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).
610    string agent_uri = 2;
611
612    // Uncompressed raw byte content for agent.
613    bytes agent_content = 3;
614
615    // Setting for restoring from a git branch
616    GitSource git_source = 6;
617  }
618
619  // Agent restore mode. If not specified, `KEEP` is assumed.
620  RestoreOption restore_option = 5;
621}
622
623// The request message for
624// [Agents.ValidateAgent][google.cloud.dialogflow.cx.v3beta1.Agents.ValidateAgent].
625message ValidateAgentRequest {
626  // Required. The agent to validate.
627  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.
628  string name = 1 [
629    (google.api.field_behavior) = REQUIRED,
630    (google.api.resource_reference) = {
631      type: "dialogflow.googleapis.com/Agent"
632    }
633  ];
634
635  // If not specified, the agent's default language is used.
636  string language_code = 2;
637}
638
639// The request message for
640// [Agents.GetAgentValidationResult][google.cloud.dialogflow.cx.v3beta1.Agents.GetAgentValidationResult].
641message GetAgentValidationResultRequest {
642  // Required. The agent name.
643  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
644  // ID>/validationResult`.
645  string name = 1 [
646    (google.api.field_behavior) = REQUIRED,
647    (google.api.resource_reference) = {
648      type: "dialogflow.googleapis.com/AgentValidationResult"
649    }
650  ];
651
652  // If not specified, the agent's default language is used.
653  string language_code = 2;
654}
655
656// The response message for
657// [Agents.GetAgentValidationResult][google.cloud.dialogflow.cx.v3beta1.Agents.GetAgentValidationResult].
658message AgentValidationResult {
659  option (google.api.resource) = {
660    type: "dialogflow.googleapis.com/AgentValidationResult"
661    pattern: "projects/{project}/locations/{location}/agents/{agent}/validationResult"
662  };
663
664  // The unique identifier of the agent validation result.
665  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
666  // ID>/validationResult`.
667  string name = 1;
668
669  // Contains all flow validation results.
670  repeated FlowValidationResult flow_validation_results = 2;
671}
672
673// Request for
674// [GetGenerativeSettings][google.cloud.dialogflow.cx.v3beta1.Agents.GetGenerativeSettings]
675// RPC.
676message GetGenerativeSettingsRequest {
677  // Required. Format: `projects/<Project ID>/locations/<Location
678  // ID>/agents/<Agent ID>/generativeSettings`.
679  string name = 1 [
680    (google.api.field_behavior) = REQUIRED,
681    (google.api.resource_reference) = {
682      type: "dialogflow.googleapis.com/AgentGenerativeSettings"
683    }
684  ];
685
686  // Required. Language code of the generative settings.
687  string language_code = 2 [(google.api.field_behavior) = REQUIRED];
688}
689
690// Request for
691// [UpdateGenerativeSettings][google.cloud.dialogflow.cx.v3beta1.Agents.UpdateGenerativeSettings]
692// RPC.
693message UpdateGenerativeSettingsRequest {
694  // Required. Generative settings to update.
695  GenerativeSettings generative_settings = 1
696      [(google.api.field_behavior) = REQUIRED];
697
698  // Optional. The mask to control which fields get updated. If the mask is not
699  // present, all fields will be updated.
700  google.protobuf.FieldMask update_mask = 2
701      [(google.api.field_behavior) = OPTIONAL];
702}
703