@google-cloud/discoveryengine 0.8.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +13 -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 +7 -2
  15. package/build/protos/google/cloud/discoveryengine/v1beta/completion_service.proto +13 -2
  16. package/build/protos/google/cloud/discoveryengine/v1beta/conversation.proto +138 -0
  17. package/build/protos/google/cloud/discoveryengine/v1beta/conversational_search_service.proto +306 -0
  18. package/build/protos/google/cloud/discoveryengine/v1beta/document.proto +2 -4
  19. package/build/protos/google/cloud/discoveryengine/v1beta/document_service.proto +2 -1
  20. package/build/protos/google/cloud/discoveryengine/v1beta/import_config.proto +17 -17
  21. package/build/protos/google/cloud/discoveryengine/v1beta/schema.proto +1 -1
  22. package/build/protos/google/cloud/discoveryengine/v1beta/search_service.proto +276 -64
  23. package/build/protos/google/cloud/discoveryengine/v1beta/user_event.proto +45 -36
  24. package/build/protos/google/cloud/discoveryengine/v1beta/user_event_service.proto +2 -2
  25. package/build/protos/protos.d.ts +13913 -8367
  26. package/build/protos/protos.js +36766 -22883
  27. package/build/protos/protos.json +3956 -2571
  28. package/build/src/index.d.ts +4 -1
  29. package/build/src/index.js +4 -1
  30. package/build/src/v1/completion_service_client.d.ts +161 -12
  31. package/build/src/v1/completion_service_client.js +188 -4
  32. package/build/src/v1/conversational_search_service_client.d.ts +947 -0
  33. package/build/src/v1/conversational_search_service_client.js +1205 -0
  34. package/build/src/v1/conversational_search_service_client_config.json +68 -0
  35. package/build/src/v1/document_service_client.d.ts +245 -109
  36. package/build/src/v1/document_service_client.js +231 -31
  37. package/build/src/v1/index.d.ts +1 -0
  38. package/build/src/v1/index.js +3 -1
  39. package/build/src/v1/schema_service_client.d.ts +187 -53
  40. package/build/src/v1/schema_service_client.js +224 -27
  41. package/build/src/v1/search_service_client.d.ts +266 -59
  42. package/build/src/v1/search_service_client.js +267 -41
  43. package/build/src/v1/user_event_service_client.d.ts +159 -19
  44. package/build/src/v1/user_event_service_client.js +208 -7
  45. package/build/src/v1beta/completion_service_client.d.ts +159 -12
  46. package/build/src/v1beta/completion_service_client.js +188 -4
  47. package/build/src/v1beta/conversational_search_service_client.d.ts +947 -0
  48. package/build/src/v1beta/conversational_search_service_client.js +1205 -0
  49. package/build/src/v1beta/conversational_search_service_client_config.json +68 -0
  50. package/build/src/v1beta/document_service_client.d.ts +237 -101
  51. package/build/src/v1beta/document_service_client.js +227 -27
  52. package/build/src/v1beta/index.d.ts +1 -0
  53. package/build/src/v1beta/index.js +3 -1
  54. package/build/src/v1beta/recommendation_service_client.d.ts +158 -15
  55. package/build/src/v1beta/recommendation_service_client.js +188 -4
  56. package/build/src/v1beta/schema_service_client.d.ts +187 -53
  57. package/build/src/v1beta/schema_service_client.js +224 -27
  58. package/build/src/v1beta/search_service_client.d.ts +305 -71
  59. package/build/src/v1beta/search_service_client.js +293 -49
  60. package/build/src/v1beta/user_event_service_client.d.ts +156 -16
  61. package/build/src/v1beta/user_event_service_client.js +208 -7
  62. package/package.json +10 -13
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
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
+
16
+ ## [1.0.0](https://github.com/googleapis/google-cloud-node/compare/discoveryengine-v0.8.0...discoveryengine-v1.0.0) (2023-08-06)
17
+
18
+
19
+ ### ⚠ BREAKING CHANGES
20
+
21
+ * migrate to Node 14 ([#4443](https://github.com/googleapis/google-cloud-node/issues/4443))
22
+ * [discoveryengine] fix typings for IAM methods ([#4457](https://github.com/googleapis/google-cloud-node/issues/4457)) and update node 14
23
+
24
+ ### Bug Fixes
25
+
26
+ * [discoveryengine] fix typings for IAM methods ([#4457](https://github.com/googleapis/google-cloud-node/issues/4457)) and update node 14 ([91b7527](https://github.com/googleapis/google-cloud-node/commit/91b75277f651cbe16c10987c56743868a48dd3f1))
27
+
28
+
29
+ ### Miscellaneous Chores
30
+
31
+ * Migrate to Node 14 ([#4443](https://github.com/googleapis/google-cloud-node/issues/4443)) ([2260f12](https://github.com/googleapis/google-cloud-node/commit/2260f12543d171bda95345e53475f5f0fdc45770))
32
+
3
33
  ## [0.8.0](https://github.com/googleapis/google-cloud-node/compare/discoveryengine-v0.7.0...discoveryengine-v0.8.0) (2023-06-28)
4
34
 
5
35
 
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) |
@@ -143,6 +149,12 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/
143
149
  | User_event_service.import_user_events | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/user_event_service.import_user_events.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/user_event_service.import_user_events.js,packages/google-cloud-discoveryengine/samples/README.md) |
144
150
  | User_event_service.write_user_event | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1/user_event_service.write_user_event.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/user_event_service.write_user_event.js,packages/google-cloud-discoveryengine/samples/README.md) |
145
151
  | Completion_service.complete_query | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/completion_service.complete_query.js,packages/google-cloud-discoveryengine/samples/README.md) |
152
+ | Conversational_search_service.converse_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/conversational_search_service.converse_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
153
+ | Conversational_search_service.create_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/conversational_search_service.create_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
154
+ | Conversational_search_service.delete_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/conversational_search_service.delete_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
155
+ | Conversational_search_service.get_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/conversational_search_service.get_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
156
+ | Conversational_search_service.list_conversations | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/conversational_search_service.list_conversations.js,packages/google-cloud-discoveryengine/samples/README.md) |
157
+ | Conversational_search_service.update_conversation | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/conversational_search_service.update_conversation.js,packages/google-cloud-discoveryengine/samples/README.md) |
146
158
  | Document_service.create_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/document_service.create_document.js,packages/google-cloud-discoveryengine/samples/README.md) |
147
159
  | Document_service.delete_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/document_service.delete_document.js,packages/google-cloud-discoveryengine/samples/README.md) |
148
160
  | Document_service.get_document | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-discoveryengine/samples/generated/v1beta/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/v1beta/document_service.get_document.js,packages/google-cloud-discoveryengine/samples/README.md) |
@@ -169,7 +181,7 @@ also contains samples.
169
181
 
170
182
  ## Supported Node.js Versions
171
183
 
172
- 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).
173
185
  Libraries are compatible with all current _active_ and _maintenance_ versions of
174
186
  Node.js.
175
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) = {