@google-cloud/discoveryengine 1.1.0 → 1.2.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 (49) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +26 -0
  3. package/build/protos/google/cloud/discoveryengine/v1alpha/common.proto +155 -0
  4. package/build/protos/google/cloud/discoveryengine/v1alpha/completion_service.proto +134 -0
  5. package/build/protos/google/cloud/discoveryengine/v1alpha/conversation.proto +138 -0
  6. package/build/protos/google/cloud/discoveryengine/v1alpha/conversational_search_service.proto +306 -0
  7. package/build/protos/google/cloud/discoveryengine/v1alpha/document.proto +121 -0
  8. package/build/protos/google/cloud/discoveryengine/v1alpha/document_service.proto +318 -0
  9. package/build/protos/google/cloud/discoveryengine/v1alpha/import_config.proto +343 -0
  10. package/build/protos/google/cloud/discoveryengine/v1alpha/purge_config.proto +159 -0
  11. package/build/protos/google/cloud/discoveryengine/v1alpha/recommendation_service.proto +221 -0
  12. package/build/protos/google/cloud/discoveryengine/v1alpha/schema.proto +312 -0
  13. package/build/protos/google/cloud/discoveryengine/v1alpha/schema_service.proto +260 -0
  14. package/build/protos/google/cloud/discoveryengine/v1alpha/search_service.proto +851 -0
  15. package/build/protos/google/cloud/discoveryengine/v1alpha/site_search_engine_service.proto +152 -0
  16. package/build/protos/google/cloud/discoveryengine/v1alpha/user_event.proto +475 -0
  17. package/build/protos/google/cloud/discoveryengine/v1alpha/user_event_service.proto +154 -0
  18. package/build/protos/protos.d.ts +12587 -7
  19. package/build/protos/protos.js +34918 -3126
  20. package/build/protos/protos.json +3458 -5
  21. package/build/src/index.d.ts +3 -1
  22. package/build/src/index.js +4 -1
  23. package/build/src/v1alpha/completion_service_client.d.ts +603 -0
  24. package/build/src/v1alpha/completion_service_client.js +843 -0
  25. package/build/src/v1alpha/completion_service_client_config.json +43 -0
  26. package/build/src/v1alpha/conversational_search_service_client.d.ts +998 -0
  27. package/build/src/v1alpha/conversational_search_service_client.js +1275 -0
  28. package/build/src/v1alpha/conversational_search_service_client_config.json +68 -0
  29. package/build/src/v1alpha/document_service_client.d.ts +1140 -0
  30. package/build/src/v1alpha/document_service_client.js +1393 -0
  31. package/build/src/v1alpha/document_service_client_config.json +82 -0
  32. package/build/src/v1alpha/index.d.ts +8 -0
  33. package/build/src/v1alpha/index.js +37 -0
  34. package/build/src/v1alpha/recommendation_service_client.d.ts +735 -0
  35. package/build/src/v1alpha/recommendation_service_client.js +938 -0
  36. package/build/src/v1alpha/recommendation_service_client_config.json +43 -0
  37. package/build/src/v1alpha/schema_service_client.d.ts +935 -0
  38. package/build/src/v1alpha/schema_service_client.js +1327 -0
  39. package/build/src/v1alpha/schema_service_client_config.json +63 -0
  40. package/build/src/v1alpha/search_service_client.d.ts +1208 -0
  41. package/build/src/v1alpha/search_service_client.js +1432 -0
  42. package/build/src/v1alpha/search_service_client_config.json +43 -0
  43. package/build/src/v1alpha/site_search_engine_service_client.d.ts +704 -0
  44. package/build/src/v1alpha/site_search_engine_service_client.js +1087 -0
  45. package/build/src/v1alpha/site_search_engine_service_client_config.json +30 -0
  46. package/build/src/v1alpha/user_event_service_client.d.ts +853 -0
  47. package/build/src/v1alpha/user_event_service_client.js +1174 -0
  48. package/build/src/v1alpha/user_event_service_client_config.json +67 -0
  49. package/package.json +3 -3
@@ -0,0 +1,306 @@
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.v1alpha;
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/v1alpha/conversation.proto";
24
+ import "google/cloud/discoveryengine/v1alpha/search_service.proto";
25
+ import "google/protobuf/empty.proto";
26
+ import "google/protobuf/field_mask.proto";
27
+
28
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha";
29
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb";
30
+ option java_multiple_files = true;
31
+ option java_outer_classname = "ConversationalSearchServiceProto";
32
+ option java_package = "com.google.cloud.discoveryengine.v1alpha";
33
+ option objc_class_prefix = "DISCOVERYENGINE";
34
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha";
35
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha";
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: "/v1alpha/{name=projects/*/locations/*/dataStores/*/conversations/*}:converse"
48
+ body: "*"
49
+ additional_bindings {
50
+ post: "/v1alpha/{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.v1alpha.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: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/conversations"
64
+ body: "conversation"
65
+ additional_bindings {
66
+ post: "/v1alpha/{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.v1alpha.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: "/v1alpha/{name=projects/*/locations/*/dataStores/*/conversations/*}"
81
+ additional_bindings {
82
+ delete: "/v1alpha/{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.v1alpha.Conversation] action
91
+ // type cannot be changed. If the
92
+ // [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to update
93
+ // does not exist, a NOT_FOUND error is returned.
94
+ rpc UpdateConversation(UpdateConversationRequest) returns (Conversation) {
95
+ option (google.api.http) = {
96
+ patch: "/v1alpha/{conversation.name=projects/*/locations/*/dataStores/*/conversations/*}"
97
+ body: "conversation"
98
+ additional_bindings {
99
+ patch: "/v1alpha/{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: "/v1alpha/{name=projects/*/locations/*/dataStores/*/conversations/*}"
110
+ additional_bindings {
111
+ get: "/v1alpha/{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.v1alpha.DataStore].
119
+ rpc ListConversations(ListConversationsRequest)
120
+ returns (ListConversationsResponse) {
121
+ option (google.api.http) = {
122
+ get: "/v1alpha/{parent=projects/*/locations/*/dataStores/*}/conversations"
123
+ additional_bindings {
124
+ get: "/v1alpha/{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.v1alpha.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.v1alpha.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
+ // Suggested related questions.
200
+ repeated string related_questions = 6;
201
+
202
+ // Search Results.
203
+ repeated SearchResponse.SearchResult search_results = 3;
204
+ }
205
+
206
+ // Request for CreateConversation method.
207
+ message CreateConversationRequest {
208
+ // Required. Full resource name of parent data store. Format:
209
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}`
210
+ string parent = 1 [
211
+ (google.api.field_behavior) = REQUIRED,
212
+ (google.api.resource_reference) = {
213
+ type: "discoveryengine.googleapis.com/DataStore"
214
+ }
215
+ ];
216
+
217
+ // Required. The conversation to create.
218
+ Conversation conversation = 2 [(google.api.field_behavior) = REQUIRED];
219
+ }
220
+
221
+ // Request for UpdateConversation method.
222
+ message UpdateConversationRequest {
223
+ // Required. The Conversation to update.
224
+ Conversation conversation = 1 [(google.api.field_behavior) = REQUIRED];
225
+
226
+ // Indicates which fields in the provided
227
+ // [Conversation][google.cloud.discoveryengine.v1alpha.Conversation] to
228
+ // update. The following are NOT supported:
229
+ //
230
+ // * [conversation.name][]
231
+ //
232
+ // If not set or empty, all supported fields are updated.
233
+ google.protobuf.FieldMask update_mask = 2;
234
+ }
235
+
236
+ // Request for DeleteConversation method.
237
+ message DeleteConversationRequest {
238
+ // Required. The resource name of the Conversation to delete. Format:
239
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`
240
+ string name = 1 [
241
+ (google.api.field_behavior) = REQUIRED,
242
+ (google.api.resource_reference) = {
243
+ type: "discoveryengine.googleapis.com/Conversation"
244
+ }
245
+ ];
246
+ }
247
+
248
+ // Request for GetConversation method.
249
+ message GetConversationRequest {
250
+ // Required. The resource name of the Conversation to get. Format:
251
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}/conversations/{conversation_id}`
252
+ string name = 1 [
253
+ (google.api.field_behavior) = REQUIRED,
254
+ (google.api.resource_reference) = {
255
+ type: "discoveryengine.googleapis.com/Conversation"
256
+ }
257
+ ];
258
+ }
259
+
260
+ // Request for ListConversations method.
261
+ message ListConversationsRequest {
262
+ // Required. The data store resource name. Format:
263
+ // `projects/{project_number}/locations/{location_id}/collections/{collection}/dataStores/{data_store_id}`
264
+ string parent = 1 [
265
+ (google.api.field_behavior) = REQUIRED,
266
+ (google.api.resource_reference) = {
267
+ type: "discoveryengine.googleapis.com/DataStore"
268
+ }
269
+ ];
270
+
271
+ // Maximum number of results to return. If unspecified, defaults
272
+ // to 50. Max allowed value is 1000.
273
+ int32 page_size = 2;
274
+
275
+ // A page token, received from a previous `ListConversations` call.
276
+ // Provide this to retrieve the subsequent page.
277
+ string page_token = 3;
278
+
279
+ // A filter to apply on the list results. The supported features are:
280
+ // user_pseudo_id, state.
281
+ //
282
+ // Example:
283
+ // "user_pseudo_id = some_id"
284
+ string filter = 4;
285
+
286
+ // A comma-separated list of fields to order by, sorted in ascending order.
287
+ // Use "desc" after a field name for descending.
288
+ // Supported fields:
289
+ // * `update_time`
290
+ // * `create_time`
291
+ // * `conversation_name`
292
+ //
293
+ // Example:
294
+ // "update_time desc"
295
+ // "create_time"
296
+ string order_by = 5;
297
+ }
298
+
299
+ // Response for ListConversations method.
300
+ message ListConversationsResponse {
301
+ // All the Conversations for a given data store.
302
+ repeated Conversation conversations = 1;
303
+
304
+ // Pagination token, if not returned indicates the last page.
305
+ string next_page_token = 2;
306
+ }
@@ -0,0 +1,121 @@
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.v1alpha;
18
+
19
+ import "google/api/field_behavior.proto";
20
+ import "google/api/resource.proto";
21
+ import "google/protobuf/struct.proto";
22
+
23
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha";
24
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb";
25
+ option java_multiple_files = true;
26
+ option java_outer_classname = "DocumentProto";
27
+ option java_package = "com.google.cloud.discoveryengine.v1alpha";
28
+ option objc_class_prefix = "DISCOVERYENGINE";
29
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha";
30
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha";
31
+
32
+ // Document captures all raw metadata information of items to be recommended or
33
+ // searched.
34
+ message Document {
35
+ option (google.api.resource) = {
36
+ type: "discoveryengine.googleapis.com/Document"
37
+ pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}/documents/{document}"
38
+ pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}"
39
+ };
40
+
41
+ // Unstructured data linked to this document.
42
+ message Content {
43
+ oneof content {
44
+ // The content represented as a stream of bytes. The maximum length is
45
+ // 1,000,000 bytes (1 MB / ~0.95 MiB).
46
+ //
47
+ // Note: As with all `bytes` fields, this field is represented as pure
48
+ // binary in Protocol Buffers and base64-encoded string in JSON. For
49
+ // example, `abc123!?$*&()'-=@~` should be represented as
50
+ // `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See
51
+ // https://developers.google.com/protocol-buffers/docs/proto3#json.
52
+ bytes raw_bytes = 2;
53
+
54
+ // The URI of the content. Only Cloud Storage URIs (e.g.
55
+ // `gs://bucket-name/path/to/file`) are supported. The maximum file size
56
+ // is 100 MB.
57
+ string uri = 3;
58
+ }
59
+
60
+ // The MIME type of the content. Supported types:
61
+ //
62
+ // * `application/pdf` (PDF, only native PDFs are supported for now)
63
+ // * `text/html` (HTML)
64
+ // * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX)
65
+ // * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX)
66
+ // * `text/plain` (TXT)
67
+ //
68
+ // See https://www.iana.org/assignments/media-types/media-types.xhtml.
69
+ string mime_type = 1;
70
+ }
71
+
72
+ // Data representation. One of
73
+ // [struct_data][google.cloud.discoveryengine.v1alpha.Document.struct_data] or
74
+ // [json_data][google.cloud.discoveryengine.v1alpha.Document.json_data] should
75
+ // be provided otherwise an `INVALID_ARGUMENT` error is thrown.
76
+ oneof data {
77
+ // The structured JSON data for the document. It should conform to the
78
+ // registered [Schema][google.cloud.discoveryengine.v1alpha.Schema] or an
79
+ // `INVALID_ARGUMENT` error is thrown.
80
+ google.protobuf.Struct struct_data = 4;
81
+
82
+ // The JSON string representation of the document. It should conform to the
83
+ // registered [Schema][google.cloud.discoveryengine.v1alpha.Schema] or an
84
+ // `INVALID_ARGUMENT` error is thrown.
85
+ string json_data = 5;
86
+ }
87
+
88
+ // Immutable. The full resource name of the document.
89
+ // Format:
90
+ // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`.
91
+ //
92
+ // This field must be a UTF-8 encoded string with a length limit of 1024
93
+ // characters.
94
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
95
+
96
+ // Immutable. The identifier of the document.
97
+ //
98
+ // Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
99
+ // standard with a length limit of 63 characters.
100
+ string id = 2 [(google.api.field_behavior) = IMMUTABLE];
101
+
102
+ // The identifier of the schema located in the same data store.
103
+ string schema_id = 3;
104
+
105
+ // The unstructured data linked to this document. Content must be set if this
106
+ // document is under a
107
+ // `CONTENT_REQUIRED` data store.
108
+ Content content = 10;
109
+
110
+ // The identifier of the parent document. Currently supports at most two level
111
+ // document hierarchy.
112
+ //
113
+ // Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034)
114
+ // standard with a length limit of 63 characters.
115
+ string parent_document_id = 7;
116
+
117
+ // Output only. This field is OUTPUT_ONLY.
118
+ // It contains derived data that are not in the original input document.
119
+ google.protobuf.Struct derived_struct_data = 6
120
+ [(google.api.field_behavior) = OUTPUT_ONLY];
121
+ }