@google-cloud/discoveryengine 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +7 -1
  3. package/build/protos/google/cloud/discoveryengine/v1/common.proto +30 -2
  4. package/build/protos/google/cloud/discoveryengine/v1/completion_service.proto +15 -2
  5. package/build/protos/google/cloud/discoveryengine/v1/conversation.proto +114 -0
  6. package/build/protos/google/cloud/discoveryengine/v1/conversational_search_service.proto +303 -0
  7. package/build/protos/google/cloud/discoveryengine/v1/document.proto +8 -5
  8. package/build/protos/google/cloud/discoveryengine/v1/document_service.proto +4 -3
  9. package/build/protos/google/cloud/discoveryengine/v1/import_config.proto +27 -23
  10. package/build/protos/google/cloud/discoveryengine/v1/schema.proto +1 -1
  11. package/build/protos/google/cloud/discoveryengine/v1/search_service.proto +428 -20
  12. package/build/protos/google/cloud/discoveryengine/v1/user_event.proto +48 -39
  13. package/build/protos/google/cloud/discoveryengine/v1/user_event_service.proto +2 -2
  14. package/build/protos/google/cloud/discoveryengine/v1beta/common.proto +6 -0
  15. package/build/protos/google/cloud/discoveryengine/v1beta/conversation.proto +9 -2
  16. package/build/protos/google/cloud/discoveryengine/v1beta/conversational_search_service.proto +25 -0
  17. package/build/protos/google/cloud/discoveryengine/v1beta/search_service.proto +115 -3
  18. package/build/protos/google/cloud/discoveryengine/v1beta/user_event.proto +4 -0
  19. package/build/protos/protos.d.ts +10140 -6536
  20. package/build/protos/protos.js +26499 -17277
  21. package/build/protos/protos.json +2311 -1440
  22. package/build/src/index.d.ts +4 -1
  23. package/build/src/index.js +4 -1
  24. package/build/src/v1/completion_service_client.d.ts +156 -6
  25. package/build/src/v1/completion_service_client.js +188 -4
  26. package/build/src/v1/conversational_search_service_client.d.ts +947 -0
  27. package/build/src/v1/conversational_search_service_client.js +1205 -0
  28. package/build/src/v1/conversational_search_service_client_config.json +68 -0
  29. package/build/src/v1/document_service_client.d.ts +165 -18
  30. package/build/src/v1/document_service_client.js +215 -11
  31. package/build/src/v1/index.d.ts +1 -0
  32. package/build/src/v1/index.js +3 -1
  33. package/build/src/v1/schema_service_client.d.ts +148 -4
  34. package/build/src/v1/schema_service_client.js +207 -5
  35. package/build/src/v1/search_service_client.d.ts +238 -28
  36. package/build/src/v1/search_service_client.js +248 -20
  37. package/build/src/v1/user_event_service_client.d.ts +153 -9
  38. package/build/src/v1/user_event_service_client.js +207 -5
  39. package/build/src/v1beta/completion_service_client.d.ts +55 -4
  40. package/build/src/v1beta/completion_service_client.js +60 -4
  41. package/build/src/v1beta/conversational_search_service_client.d.ts +75 -4
  42. package/build/src/v1beta/conversational_search_service_client.js +60 -4
  43. package/build/src/v1beta/document_service_client.d.ts +55 -4
  44. package/build/src/v1beta/document_service_client.js +61 -5
  45. package/build/src/v1beta/recommendation_service_client.d.ts +55 -4
  46. package/build/src/v1beta/recommendation_service_client.js +60 -4
  47. package/build/src/v1beta/schema_service_client.d.ts +55 -4
  48. package/build/src/v1beta/schema_service_client.js +61 -5
  49. package/build/src/v1beta/search_service_client.d.ts +142 -4
  50. package/build/src/v1beta/search_service_client.js +118 -4
  51. package/build/src/v1beta/user_event_service_client.d.ts +55 -4
  52. package/build/src/v1beta/user_event_service_client.js +61 -5
  53. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.0](https://github.com/googleapis/google-cloud-node/compare/discoveryengine-v1.0.0...discoveryengine-v1.1.0) (2023-09-06)
4
+
5
+
6
+ ### Features
7
+
8
+ * [discoveryengine] support conversational / multi-turn search ([#4599](https://github.com/googleapis/google-cloud-node/issues/4599)) ([e9d23a8](https://github.com/googleapis/google-cloud-node/commit/e9d23a8deded01c17dd16c532776656eb8ce8934))
9
+ * [discoveryengine] supported bring your own embedding feature ([#4595](https://github.com/googleapis/google-cloud-node/issues/4595)) ([8f1b74f](https://github.com/googleapis/google-cloud-node/commit/8f1b74f5e752501a669db5934f37dc7480a7eba5))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * [Many APIs] simplify logic for HTTP/1.1 REST fallback option ([#4585](https://github.com/googleapis/google-cloud-node/issues/4585)) ([b6cea45](https://github.com/googleapis/google-cloud-node/commit/b6cea45d03faaa7bd6e5daa36ebd0063a1e1f251))
15
+
3
16
  ## [1.0.0](https://github.com/googleapis/google-cloud-node/compare/discoveryengine-v0.8.0...discoveryengine-v1.0.0) (2023-08-06)
4
17
 
5
18
 
package/README.md CHANGED
@@ -126,6 +126,12 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/
126
126
  | Sample | Source Code | Try it |
127
127
  | --------------------------- | --------------------------------- | ------ |
128
128
  | Completion_service.complete_query | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/completion_service.complete_query.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/completion_service.complete_query.js,packages/google-cloud-discoveryengine/samples/README.md) |
129
+ | Conversational_search_service.converse_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.converse_conversation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.converse_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
130
+ | Conversational_search_service.create_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.create_conversation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.create_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
131
+ | Conversational_search_service.delete_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.delete_conversation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.delete_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
132
+ | Conversational_search_service.get_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.get_conversation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.get_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
133
+ | Conversational_search_service.list_conversations | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.list_conversations.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.list_conversations.js,packages/google-cloud-discoveryengine/samples/README.md) |
134
+ | Conversational_search_service.update_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.update_conversation.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/conversational_search_service.update_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
129
135
  | Document_service.create_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/document_service.create_document.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/document_service.create_document.js,packages/google-cloud-discoveryengine/samples/README.md) |
130
136
  | Document_service.delete_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/document_service.delete_document.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/document_service.delete_document.js,packages/google-cloud-discoveryengine/samples/README.md) |
131
137
  | Document_service.get_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/document_service.get_document.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-discoveryengine/samples/generated/v1/document_service.get_document.js,packages/google-cloud-discoveryengine/samples/README.md) |
@@ -175,7 +181,7 @@ also contains samples.
175
181
 
176
182
  ## Supported Node.js Versions
177
183
 
178
- Our client libraries follow the [Node.js release schedule](https://nodejs.org/en/about/releases/).
184
+ Our client libraries follow the [Node.js release schedule](https://github.com/nodejs/release#release-schedule).
179
185
  Libraries are compatible with all current _active_ and _maintenance_ versions of
180
186
  Node.js.
181
187
  If you are using an end-of-life version of Node.js, we recommend that you update
@@ -42,6 +42,35 @@ option (google.api.resource_definition) = {
42
42
  pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}"
43
43
  };
44
44
 
45
+ // A floating point interval.
46
+ message Interval {
47
+ // The lower bound of the interval. If neither of the min fields are
48
+ // set, then the lower bound is negative infinity.
49
+ //
50
+ // This field must be not larger than max.
51
+ // Otherwise, an `INVALID_ARGUMENT` error is returned.
52
+ oneof min {
53
+ // Inclusive lower bound.
54
+ double minimum = 1;
55
+
56
+ // Exclusive lower bound.
57
+ double exclusive_minimum = 2;
58
+ }
59
+
60
+ // The upper bound of the interval. If neither of the max fields are
61
+ // set, then the upper bound is positive infinity.
62
+ //
63
+ // This field must be not smaller than min.
64
+ // Otherwise, an `INVALID_ARGUMENT` error is returned.
65
+ oneof max {
66
+ // Inclusive upper bound.
67
+ double maximum = 3;
68
+
69
+ // Exclusive upper bound.
70
+ double exclusive_maximum = 4;
71
+ }
72
+ }
73
+
45
74
  // A custom attribute that is not explicitly modeled in a resource, e.g.
46
75
  // [UserEvent][google.cloud.discoveryengine.v1.UserEvent].
47
76
  message CustomAttribute {
@@ -84,8 +113,7 @@ message UserInfo {
84
113
  // characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
85
114
  string user_id = 1;
86
115
 
87
- // User agent as included in the HTTP header. Required for getting
88
- // [SearchResponse.sponsored_results][].
116
+ // User agent as included in the HTTP header.
89
117
  //
90
118
  // The field must be a UTF-8 encoded string with a length limit of 1,000
91
119
  // characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
@@ -74,13 +74,14 @@ message CompleteQueryRequest {
74
74
  // API calls. Do not use it when there is no traffic for Search API.
75
75
  // * `user-event` - Using suggestions generated from user-imported search
76
76
  // events.
77
+ // * `document-completable` - Using suggestions taken directly from
78
+ // user-imported document fields marked as completable.
77
79
  //
78
80
  // Default values:
79
81
  //
80
82
  // * `document` is the default model for regular dataStores.
81
83
  // * `search-history` is the default model for
82
- // [IndustryVertical.SITE_SEARCH][google.cloud.discoveryengine.v1.IndustryVertical.SITE_SEARCH]
83
- // dataStores.
84
+ // [IndustryVertical.SITE_SEARCH][] dataStores.
84
85
  string query_model = 3;
85
86
 
86
87
  // A unique identifier for tracking visitors. For example, this could be
@@ -98,6 +99,12 @@ message CompleteQueryRequest {
98
99
  // The field must be a UTF-8 encoded string with a length limit of 128
99
100
  // characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
100
101
  string user_pseudo_id = 4;
102
+
103
+ // Indicates if tail suggestions should be returned if there are no
104
+ // suggestions that match the full query. Even if set to true, if there are
105
+ // suggestions that match the full query, those are returned and no
106
+ // tail suggestions are returned.
107
+ bool include_tail_suggestions = 5;
101
108
  }
102
109
 
103
110
  // Response message for
@@ -113,4 +120,10 @@ message CompleteQueryResponse {
113
120
  // Results of the matched query suggestions. The result list is ordered and
114
121
  // the first result is a top suggestion.
115
122
  repeated QuerySuggestion query_suggestions = 1;
123
+
124
+ // True if the returned suggestions are all tail suggestions.
125
+ //
126
+ // For tail matching to be triggered, include_tail_suggestions in the request
127
+ // must be true and there must be no suggestions that match the full query.
128
+ bool tail_match_triggered = 2;
116
129
  }
@@ -0,0 +1,114 @@
1
+ // Copyright 2022 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
+
15
+ syntax = "proto3";
16
+
17
+ package google.cloud.discoveryengine.v1;
18
+
19
+ import "google/api/field_behavior.proto";
20
+ import "google/api/resource.proto";
21
+ import "google/cloud/discoveryengine/v1/search_service.proto";
22
+ import "google/protobuf/timestamp.proto";
23
+
24
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1";
25
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb";
26
+ option java_multiple_files = true;
27
+ option java_outer_classname = "ConversationProto";
28
+ option java_package = "com.google.cloud.discoveryengine.v1";
29
+ option objc_class_prefix = "DISCOVERYENGINE";
30
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1";
31
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1";
32
+
33
+ // External conversation proto definition.
34
+ message Conversation {
35
+ option (google.api.resource) = {
36
+ type: "discoveryengine.googleapis.com/Conversation"
37
+ pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/conversations/{conversation}"
38
+ pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/conversations/{conversation}"
39
+ };
40
+
41
+ // Enumeration of the state of the conversation.
42
+ enum State {
43
+ // Unknown.
44
+ STATE_UNSPECIFIED = 0;
45
+
46
+ // Conversation is currently open.
47
+ IN_PROGRESS = 1;
48
+
49
+ // Conversation has been completed.
50
+ COMPLETED = 2;
51
+ }
52
+
53
+ // Immutable. Fully qualified name
54
+ // `project/*/locations/global/collections/{collection}/dataStore/*/conversations/*`
55
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
56
+
57
+ // The state of the Conversation.
58
+ State state = 2;
59
+
60
+ // A unique identifier for tracking users.
61
+ string user_pseudo_id = 3;
62
+
63
+ // Conversation messages.
64
+ repeated ConversationMessage messages = 4;
65
+
66
+ // Output only. The time the conversation started.
67
+ google.protobuf.Timestamp start_time = 5
68
+ [(google.api.field_behavior) = OUTPUT_ONLY];
69
+
70
+ // Output only. The time the conversation finished.
71
+ google.protobuf.Timestamp end_time = 6
72
+ [(google.api.field_behavior) = OUTPUT_ONLY];
73
+ }
74
+
75
+ // Defines a reply message to user.
76
+ message Reply {
77
+ // Summary based on search results.
78
+ SearchResponse.Summary summary = 3;
79
+ }
80
+
81
+ // Defines context of the conversation
82
+ message ConversationContext {
83
+ // The current list of documents the user is seeing.
84
+ // It contains the document resource references.
85
+ repeated string context_documents = 1;
86
+
87
+ // The current active document the user opened.
88
+ // It contains the document resource reference.
89
+ string active_document = 2;
90
+ }
91
+
92
+ // Defines text input.
93
+ message TextInput {
94
+ // Text input.
95
+ string input = 1;
96
+
97
+ // Conversation context of the input.
98
+ ConversationContext context = 2;
99
+ }
100
+
101
+ // Defines a conversation message.
102
+ message ConversationMessage {
103
+ oneof message {
104
+ // User text input.
105
+ TextInput user_input = 1;
106
+
107
+ // Search reply.
108
+ Reply reply = 2;
109
+ }
110
+
111
+ // Output only. Message creation timestamp.
112
+ google.protobuf.Timestamp create_time = 3
113
+ [(google.api.field_behavior) = OUTPUT_ONLY];
114
+ }
@@ -0,0 +1,303 @@
1
+ // Copyright 2022 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
+
15
+ syntax = "proto3";
16
+
17
+ package google.cloud.discoveryengine.v1;
18
+
19
+ import "google/api/annotations.proto";
20
+ import "google/api/client.proto";
21
+ import "google/api/field_behavior.proto";
22
+ import "google/api/resource.proto";
23
+ import "google/cloud/discoveryengine/v1/conversation.proto";
24
+ import "google/cloud/discoveryengine/v1/search_service.proto";
25
+ import "google/protobuf/empty.proto";
26
+ import "google/protobuf/field_mask.proto";
27
+
28
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1";
29
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb";
30
+ option java_multiple_files = true;
31
+ option java_outer_classname = "ConversationalSearchServiceProto";
32
+ option java_package = "com.google.cloud.discoveryengine.v1";
33
+ option objc_class_prefix = "DISCOVERYENGINE";
34
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1";
35
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1";
36
+
37
+ // Service for conversational search.
38
+ service ConversationalSearchService {
39
+ option (google.api.default_host) = "discoveryengine.googleapis.com";
40
+ option (google.api.oauth_scopes) =
41
+ "https://www.googleapis.com/auth/cloud-platform";
42
+
43
+ // Converses a conversation.
44
+ rpc ConverseConversation(ConverseConversationRequest)
45
+ returns (ConverseConversationResponse) {
46
+ option (google.api.http) = {
47
+ post: "/v1/{name=projects/*/locations/*/dataStores/*/conversations/*}:converse"
48
+ body: "*"
49
+ additional_bindings {
50
+ post: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}:converse"
51
+ body: "*"
52
+ }
53
+ };
54
+ option (google.api.method_signature) = "name,query";
55
+ }
56
+
57
+ // Creates a Conversation.
58
+ //
59
+ // If the [Conversation][google.cloud.discoveryengine.v1.Conversation] to
60
+ // create already exists, an ALREADY_EXISTS error is returned.
61
+ rpc CreateConversation(CreateConversationRequest) returns (Conversation) {
62
+ option (google.api.http) = {
63
+ post: "/v1/{parent=projects/*/locations/*/dataStores/*}/conversations"
64
+ body: "conversation"
65
+ additional_bindings {
66
+ post: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations"
67
+ body: "conversation"
68
+ }
69
+ };
70
+ option (google.api.method_signature) = "parent,conversation";
71
+ }
72
+
73
+ // Deletes a Conversation.
74
+ //
75
+ // If the [Conversation][google.cloud.discoveryengine.v1.Conversation] to
76
+ // delete does not exist, a NOT_FOUND error is returned.
77
+ rpc DeleteConversation(DeleteConversationRequest)
78
+ returns (google.protobuf.Empty) {
79
+ option (google.api.http) = {
80
+ delete: "/v1/{name=projects/*/locations/*/dataStores/*/conversations/*}"
81
+ additional_bindings {
82
+ delete: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}"
83
+ }
84
+ };
85
+ option (google.api.method_signature) = "name";
86
+ }
87
+
88
+ // Updates a Conversation.
89
+ //
90
+ // [Conversation][google.cloud.discoveryengine.v1.Conversation] action type
91
+ // cannot be changed. If the
92
+ // [Conversation][google.cloud.discoveryengine.v1.Conversation] to update does
93
+ // not exist, a NOT_FOUND error is returned.
94
+ rpc UpdateConversation(UpdateConversationRequest) returns (Conversation) {
95
+ option (google.api.http) = {
96
+ patch: "/v1/{conversation.name=projects/*/locations/*/dataStores/*/conversations/*}"
97
+ body: "conversation"
98
+ additional_bindings {
99
+ patch: "/v1/{conversation.name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}"
100
+ body: "conversation"
101
+ }
102
+ };
103
+ option (google.api.method_signature) = "conversation,update_mask";
104
+ }
105
+
106
+ // Gets a Conversation.
107
+ rpc GetConversation(GetConversationRequest) returns (Conversation) {
108
+ option (google.api.http) = {
109
+ get: "/v1/{name=projects/*/locations/*/dataStores/*/conversations/*}"
110
+ additional_bindings {
111
+ get: "/v1/{name=projects/*/locations/*/collections/*/dataStores/*/conversations/*}"
112
+ }
113
+ };
114
+ option (google.api.method_signature) = "name";
115
+ }
116
+
117
+ // Lists all Conversations by their parent
118
+ // [DataStore][google.cloud.discoveryengine.v1.DataStore].
119
+ rpc ListConversations(ListConversationsRequest)
120
+ returns (ListConversationsResponse) {
121
+ option (google.api.http) = {
122
+ get: "/v1/{parent=projects/*/locations/*/dataStores/*}/conversations"
123
+ additional_bindings {
124
+ get: "/v1/{parent=projects/*/locations/*/collections/*/dataStores/*}/conversations"
125
+ }
126
+ };
127
+ option (google.api.method_signature) = "parent";
128
+ }
129
+ }
130
+
131
+ // Request message for
132
+ // [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1.ConversationalSearchService.ConverseConversation]
133
+ // method.
134
+ message ConverseConversationRequest {
135
+ // Required. The resource name of the Conversation to get. Format:
136
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`.
137
+ // Use
138
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/-`
139
+ // to activate auto session mode, which automatically creates a new
140
+ // conversation inside a ConverseConversation session.
141
+ string name = 1 [
142
+ (google.api.field_behavior) = REQUIRED,
143
+ (google.api.resource_reference) = {
144
+ type: "discoveryengine.googleapis.com/Conversation"
145
+ }
146
+ ];
147
+
148
+ // Required. Current user input.
149
+ TextInput query = 2 [(google.api.field_behavior) = REQUIRED];
150
+
151
+ // The resource name of the Serving Config to use. Format:
152
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}`
153
+ // If this is not set, the default serving config will be used.
154
+ string serving_config = 3 [(google.api.resource_reference) = {
155
+ type: "discoveryengine.googleapis.com/ServingConfig"
156
+ }];
157
+
158
+ // The conversation to be used by auto session only. The name field will be
159
+ // ignored as we automatically assign new name for the conversation in auto
160
+ // session.
161
+ Conversation conversation = 5;
162
+
163
+ // Whether to turn on safe search.
164
+ bool safe_search = 6;
165
+
166
+ // The user labels applied to a resource must meet the following requirements:
167
+ //
168
+ // * Each resource can have multiple labels, up to a maximum of 64.
169
+ // * Each label must be a key-value pair.
170
+ // * Keys have a minimum length of 1 character and a maximum length of 63
171
+ // characters and cannot be empty. Values can be empty and have a maximum
172
+ // length of 63 characters.
173
+ // * Keys and values can contain only lowercase letters, numeric characters,
174
+ // underscores, and dashes. All characters must use UTF-8 encoding, and
175
+ // international characters are allowed.
176
+ // * The key portion of a label must be unique. However, you can use the same
177
+ // key with multiple resources.
178
+ // * Keys must start with a lowercase letter or international character.
179
+ //
180
+ // See [Google Cloud
181
+ // Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
182
+ // for more details.
183
+ map<string, string> user_labels = 7;
184
+
185
+ // A specification for configuring the summary returned in the response.
186
+ SearchRequest.ContentSearchSpec.SummarySpec summary_spec = 8;
187
+ }
188
+
189
+ // Response message for
190
+ // [ConversationalSearchService.ConverseConversation][google.cloud.discoveryengine.v1.ConversationalSearchService.ConverseConversation]
191
+ // method.
192
+ message ConverseConversationResponse {
193
+ // Answer to the current query.
194
+ Reply reply = 1;
195
+
196
+ // Updated conversation including the answer.
197
+ Conversation conversation = 2;
198
+
199
+ // Search Results.
200
+ repeated SearchResponse.SearchResult search_results = 3;
201
+ }
202
+
203
+ // Request for CreateConversation method.
204
+ message CreateConversationRequest {
205
+ // Required. Full resource name of parent data store. Format:
206
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}`
207
+ string parent = 1 [
208
+ (google.api.field_behavior) = REQUIRED,
209
+ (google.api.resource_reference) = {
210
+ type: "discoveryengine.googleapis.com/DataStore"
211
+ }
212
+ ];
213
+
214
+ // Required. The conversation to create.
215
+ Conversation conversation = 2 [(google.api.field_behavior) = REQUIRED];
216
+ }
217
+
218
+ // Request for UpdateConversation method.
219
+ message UpdateConversationRequest {
220
+ // Required. The Conversation to update.
221
+ Conversation conversation = 1 [(google.api.field_behavior) = REQUIRED];
222
+
223
+ // Indicates which fields in the provided
224
+ // [Conversation][google.cloud.discoveryengine.v1.Conversation] to update. The
225
+ // following are NOT supported:
226
+ //
227
+ // * [conversation.name][]
228
+ //
229
+ // If not set or empty, all supported fields are updated.
230
+ google.protobuf.FieldMask update_mask = 2;
231
+ }
232
+
233
+ // Request for DeleteConversation method.
234
+ message DeleteConversationRequest {
235
+ // Required. The resource name of the Conversation to delete. Format:
236
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`
237
+ string name = 1 [
238
+ (google.api.field_behavior) = REQUIRED,
239
+ (google.api.resource_reference) = {
240
+ type: "discoveryengine.googleapis.com/Conversation"
241
+ }
242
+ ];
243
+ }
244
+
245
+ // Request for GetConversation method.
246
+ message GetConversationRequest {
247
+ // Required. The resource name of the Conversation to get. Format:
248
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`
249
+ string name = 1 [
250
+ (google.api.field_behavior) = REQUIRED,
251
+ (google.api.resource_reference) = {
252
+ type: "discoveryengine.googleapis.com/Conversation"
253
+ }
254
+ ];
255
+ }
256
+
257
+ // Request for ListConversations method.
258
+ message ListConversationsRequest {
259
+ // Required. The data store resource name. Format:
260
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}`
261
+ string parent = 1 [
262
+ (google.api.field_behavior) = REQUIRED,
263
+ (google.api.resource_reference) = {
264
+ type: "discoveryengine.googleapis.com/DataStore"
265
+ }
266
+ ];
267
+
268
+ // Maximum number of results to return. If unspecified, defaults
269
+ // to 50. Max allowed value is 1000.
270
+ int32 page_size = 2;
271
+
272
+ // A page token, received from a previous `ListConversations` call.
273
+ // Provide this to retrieve the subsequent page.
274
+ string page_token = 3;
275
+
276
+ // A filter to apply on the list results. The supported features are:
277
+ // user_pseudo_id, state.
278
+ //
279
+ // Example:
280
+ // "user_pseudo_id = some_id"
281
+ string filter = 4;
282
+
283
+ // A comma-separated list of fields to order by, sorted in ascending order.
284
+ // Use "desc" after a field name for descending.
285
+ // Supported fields:
286
+ // * `update_time`
287
+ // * `create_time`
288
+ // * `conversation_name`
289
+ //
290
+ // Example:
291
+ // "update_time desc"
292
+ // "create_time"
293
+ string order_by = 5;
294
+ }
295
+
296
+ // Response for ListConversations method.
297
+ message ListConversationsResponse {
298
+ // All the Conversations for a given data store.
299
+ repeated Conversation conversations = 1;
300
+
301
+ // Pagination token, if not returned indicates the last page.
302
+ string next_page_token = 2;
303
+ }
@@ -59,8 +59,11 @@ message Document {
59
59
 
60
60
  // The MIME type of the content. Supported types:
61
61
  //
62
- // * `application/pdf` (PDF)
62
+ // * `application/pdf` (PDF, only native PDFs are supported for now)
63
63
  // * `text/html` (HTML)
64
+ // * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
65
+ // * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
66
+ // * `text/plain` (TXT)
64
67
  //
65
68
  // See https://www.iana.org/assignments/media-types/media-types.xhtml.
66
69
  string mime_type = 1;
@@ -72,13 +75,13 @@ message Document {
72
75
  // provided otherwise an `INVALID_ARGUMENT` error is thrown.
73
76
  oneof data {
74
77
  // The structured JSON data for the document. It should conform to the
75
- // registered [Schema.schema][google.cloud.discoveryengine.v1.Schema.schema]
76
- // or an `INVALID_ARGUMENT` error is thrown.
78
+ // registered [Schema][google.cloud.discoveryengine.v1.Schema] or an
79
+ // `INVALID_ARGUMENT` error is thrown.
77
80
  google.protobuf.Struct struct_data = 4;
78
81
 
79
82
  // The JSON string representation of the document. It should conform to the
80
- // registered [Schema.schema][google.cloud.discoveryengine.v1.Schema.schema]
81
- // or an `INVALID_ARGUMENT` error is thrown.
83
+ // registered [Schema][google.cloud.discoveryengine.v1.Schema] or an
84
+ // `INVALID_ARGUMENT` error is thrown.
82
85
  string json_data = 5;
83
86
  }
84
87
 
@@ -187,9 +187,10 @@ message ListDocumentsRequest {
187
187
  // Use `default_branch` as the branch ID, to list documents under the default
188
188
  // branch.
189
189
  //
190
- // If the caller does not have permission to list [Documents][]s under this
191
- // branch, regardless of whether or not this branch exists, a
192
- // `PERMISSION_DENIED` error is returned.
190
+ // If the caller does not have permission to list
191
+ // [Document][google.cloud.discoveryengine.v1.Document]s under this branch,
192
+ // regardless of whether or not this branch exists, a `PERMISSION_DENIED`
193
+ // error is returned.
193
194
  string parent = 1 [
194
195
  (google.api.field_behavior) = REQUIRED,
195
196
  (google.api.resource_reference) = {