@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,159 @@
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/timestamp.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 = "PurgeConfigProto";
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
+ // Request message for PurgeUserEvents method.
33
+ message PurgeUserEventsRequest {
34
+ // Required. The resource name of the catalog under which the events are
35
+ // created. The format is
36
+ // `projects/${projectId}/locations/global/collections/{$collectionId}/dataStores/${dataStoreId}`
37
+ string parent = 1 [
38
+ (google.api.field_behavior) = REQUIRED,
39
+ (google.api.resource_reference) = {
40
+ type: "discoveryengine.googleapis.com/DataStore"
41
+ }
42
+ ];
43
+
44
+ // Required. The filter string to specify the events to be deleted with a
45
+ // length limit of 5,000 characters. The eligible fields for filtering are:
46
+ //
47
+ // * `eventType`: Double quoted
48
+ // [UserEvent.event_type][google.cloud.discoveryengine.v1alpha.UserEvent.event_type]
49
+ // string.
50
+ // * `eventTime`: in ISO 8601 "zulu" format.
51
+ // * `userPseudoId`: Double quoted string. Specifying this will delete all
52
+ // events associated with a visitor.
53
+ // * `userId`: Double quoted string. Specifying this will delete all events
54
+ // associated with a user.
55
+ //
56
+ // Examples:
57
+ //
58
+ // * Deleting all events in a time range:
59
+ // `eventTime > "2012-04-23T18:25:43.511Z"
60
+ // eventTime < "2012-04-23T18:30:43.511Z"`
61
+ // * Deleting specific eventType:
62
+ // `eventType = "search"`
63
+ // * Deleting all events for a specific visitor:
64
+ // `userPseudoId = "visitor1024"`
65
+ // * Deleting all events inside a DataStore:
66
+ // `*`
67
+ //
68
+ // The filtering fields are assumed to have an implicit AND.
69
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
70
+
71
+ // The `force` field is currently not supported. Purge user event requests
72
+ // will permanently delete all purgeable events. Once the development is
73
+ // complete:
74
+ // If `force` is set to false, the method will return the expected
75
+ // purge count without deleting any user events. This field will default to
76
+ // false if not included in the request.
77
+ bool force = 3;
78
+ }
79
+
80
+ // Response of the PurgeUserEventsRequest. If the long running operation is
81
+ // successfully done, then this message is returned by the
82
+ // google.longrunning.Operations.response field.
83
+ message PurgeUserEventsResponse {
84
+ // The total count of events purged as a result of the operation.
85
+ int64 purge_count = 1;
86
+ }
87
+
88
+ // Metadata related to the progress of the PurgeUserEvents operation.
89
+ // This will be returned by the google.longrunning.Operation.metadata field.
90
+ message PurgeUserEventsMetadata {
91
+ // Operation create time.
92
+ google.protobuf.Timestamp create_time = 1;
93
+
94
+ // Operation last update time. If the operation is done, this is also the
95
+ // finish time.
96
+ google.protobuf.Timestamp update_time = 2;
97
+
98
+ // Count of entries that were deleted successfully.
99
+ int64 success_count = 3;
100
+
101
+ // Count of entries that encountered errors while processing.
102
+ int64 failure_count = 4;
103
+ }
104
+
105
+ // Request message for
106
+ // [DocumentService.PurgeDocuments][google.cloud.discoveryengine.v1alpha.DocumentService.PurgeDocuments]
107
+ // method.
108
+ message PurgeDocumentsRequest {
109
+ // Required. The parent resource name, such as
110
+ // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}`.
111
+ string parent = 1 [
112
+ (google.api.field_behavior) = REQUIRED,
113
+ (google.api.resource_reference) = {
114
+ type: "discoveryengine.googleapis.com/Branch"
115
+ }
116
+ ];
117
+
118
+ // Required. Filter matching documents to purge. Only currently supported
119
+ // value is
120
+ // `*` (all items).
121
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
122
+
123
+ // Actually performs the purge. If `force` is set to false, return the
124
+ // expected purge count without deleting any documents.
125
+ bool force = 3;
126
+ }
127
+
128
+ // Response message for
129
+ // [DocumentService.PurgeDocuments][google.cloud.discoveryengine.v1alpha.DocumentService.PurgeDocuments]
130
+ // method. If the long running operation is successfully done, then this message
131
+ // is returned by the google.longrunning.Operations.response field.
132
+ message PurgeDocumentsResponse {
133
+ // The total count of documents purged as a result of the operation.
134
+ int64 purge_count = 1;
135
+
136
+ // A sample of document names that will be deleted. Only populated if `force`
137
+ // is set to false. A max of 100 names will be returned and the names are
138
+ // chosen at random.
139
+ repeated string purge_sample = 2 [(google.api.resource_reference) = {
140
+ type: "discoveryengine.googleapis.com/Document"
141
+ }];
142
+ }
143
+
144
+ // Metadata related to the progress of the PurgeDocuments operation.
145
+ // This will be returned by the google.longrunning.Operation.metadata field.
146
+ message PurgeDocumentsMetadata {
147
+ // Operation create time.
148
+ google.protobuf.Timestamp create_time = 1;
149
+
150
+ // Operation last update time. If the operation is done, this is also the
151
+ // finish time.
152
+ google.protobuf.Timestamp update_time = 2;
153
+
154
+ // Count of entries that were deleted successfully.
155
+ int64 success_count = 3;
156
+
157
+ // Count of entries that encountered errors while processing.
158
+ int64 failure_count = 4;
159
+ }
@@ -0,0 +1,221 @@
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/document.proto";
24
+ import "google/cloud/discoveryengine/v1alpha/user_event.proto";
25
+ import "google/protobuf/struct.proto";
26
+
27
+ option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Alpha";
28
+ option go_package = "cloud.google.com/go/discoveryengine/apiv1alpha/discoveryenginepb;discoveryenginepb";
29
+ option java_multiple_files = true;
30
+ option java_outer_classname = "RecommendationServiceProto";
31
+ option java_package = "com.google.cloud.discoveryengine.v1alpha";
32
+ option objc_class_prefix = "DISCOVERYENGINE";
33
+ option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1alpha";
34
+ option ruby_package = "Google::Cloud::DiscoveryEngine::V1alpha";
35
+
36
+ // Service for making recommendations.
37
+ service RecommendationService {
38
+ option (google.api.default_host) = "discoveryengine.googleapis.com";
39
+ option (google.api.oauth_scopes) =
40
+ "https://www.googleapis.com/auth/cloud-platform";
41
+
42
+ // Makes a recommendation, which requires a contextual user event.
43
+ rpc Recommend(RecommendRequest) returns (RecommendResponse) {
44
+ option (google.api.http) = {
45
+ post: "/v1alpha/{serving_config=projects/*/locations/*/dataStores/*/servingConfigs/*}:recommend"
46
+ body: "*"
47
+ additional_bindings {
48
+ post: "/v1alpha/{serving_config=projects/*/locations/*/collections/*/dataStores/*/servingConfigs/*}:recommend"
49
+ body: "*"
50
+ }
51
+ additional_bindings {
52
+ post: "/v1alpha/{serving_config=projects/*/locations/*/collections/*/engines/*/servingConfigs/*}:recommend"
53
+ body: "*"
54
+ }
55
+ };
56
+ }
57
+ }
58
+
59
+ // Request message for Recommend method.
60
+ message RecommendRequest {
61
+ // Required. Full resource name of the format:
62
+ // `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*`
63
+ //
64
+ // Before you can request recommendations from your model, you must create at
65
+ // least one serving config for it.
66
+ string serving_config = 1 [
67
+ (google.api.field_behavior) = REQUIRED,
68
+ (google.api.resource_reference) = {
69
+ type: "discoveryengine.googleapis.com/ServingConfig"
70
+ }
71
+ ];
72
+
73
+ // Required. Context about the user, what they are looking at and what action
74
+ // they took to trigger the Recommend request. Note that this user event
75
+ // detail won't be ingested to userEvent logs. Thus, a separate userEvent
76
+ // write request is required for event logging.
77
+ //
78
+ // Don't set
79
+ // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1alpha.UserEvent.user_pseudo_id]
80
+ // or
81
+ // [UserEvent.user_info.user_id][google.cloud.discoveryengine.v1alpha.UserInfo.user_id]
82
+ // to the same fixed ID for different users. If you are trying to receive
83
+ // non-personalized recommendations (not recommended; this can negatively
84
+ // impact model performance), instead set
85
+ // [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1alpha.UserEvent.user_pseudo_id]
86
+ // to a random unique ID and leave
87
+ // [UserEvent.user_info.user_id][google.cloud.discoveryengine.v1alpha.UserInfo.user_id]
88
+ // unset.
89
+ UserEvent user_event = 2 [(google.api.field_behavior) = REQUIRED];
90
+
91
+ // Maximum number of results to return. Set this property
92
+ // to the number of recommendation results needed. If zero, the service will
93
+ // choose a reasonable default. The maximum allowed value is 100. Values
94
+ // above 100 will be coerced to 100.
95
+ int32 page_size = 3;
96
+
97
+ // Filter for restricting recommendation results with a length limit of 5,000
98
+ // characters. Currently, only filter expressions on the `filter_tags`
99
+ // attribute is supported.
100
+ //
101
+ //
102
+ // Examples:
103
+ //
104
+ // * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))`
105
+ // * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))`
106
+ //
107
+ // If `attributeFilteringSyntax` is set to true under the `params` field, then
108
+ // attribute-based expressions are expected instead of the above described
109
+ // tag-based syntax. Examples:
110
+ //
111
+ // * (launguage: ANY("en", "es")) AND NOT (categories: ANY("Movie"))
112
+ // * (available: true) AND
113
+ // (launguage: ANY("en", "es")) OR (categories: ANY("Movie"))
114
+ //
115
+ // If your filter blocks all results, the API will return generic
116
+ // (unfiltered) popular Documents. If you only want results strictly matching
117
+ // the filters, set `strictFiltering` to True in
118
+ // [RecommendRequest.params][google.cloud.discoveryengine.v1alpha.RecommendRequest.params]
119
+ // to receive empty results instead.
120
+ //
121
+ // Note that the API will never return
122
+ // [Document][google.cloud.discoveryengine.v1alpha.Document]s with
123
+ // `storageStatus` of `EXPIRED` or `DELETED` regardless of filter choices.
124
+ string filter = 4;
125
+
126
+ // Use validate only mode for this recommendation query. If set to true, a
127
+ // fake model will be used that returns arbitrary Document IDs.
128
+ // Note that the validate only mode should only be used for testing the API,
129
+ // or if the model is not ready.
130
+ bool validate_only = 5;
131
+
132
+ // Additional domain specific parameters for the recommendations.
133
+ //
134
+ // Allowed values:
135
+ //
136
+ // * `returnDocument`: Boolean. If set to true, the associated Document
137
+ // object will be returned in
138
+ // [RecommendResponse.RecommendationResult.document][google.cloud.discoveryengine.v1alpha.RecommendResponse.RecommendationResult.document].
139
+ // * `returnScore`: Boolean. If set to true, the recommendation 'score'
140
+ // corresponding to each returned Document will be set in
141
+ // [RecommendResponse.RecommendationResult.metadata][google.cloud.discoveryengine.v1alpha.RecommendResponse.RecommendationResult.metadata].
142
+ // The given 'score' indicates the probability of a Document conversion
143
+ // given the user's context and history.
144
+ // * `strictFiltering`: Boolean. True by default. If set to false, the service
145
+ // will return generic (unfiltered) popular Documents instead of empty if
146
+ // your filter blocks all recommendation results.
147
+ // * `diversityLevel`: String. Default empty. If set to be non-empty, then
148
+ // it needs to be one of:
149
+ // * `no-diversity`
150
+ // * `low-diversity`
151
+ // * `medium-diversity`
152
+ // * `high-diversity`
153
+ // * `auto-diversity`
154
+ // This gives request-level control and adjusts recommendation results
155
+ // based on Document category.
156
+ // * `attributeFilteringSyntax`: Boolean. False by default. If set to true,
157
+ // the `filter` field is interpreted according to the new,
158
+ // attribute-based syntax.
159
+ map<string, google.protobuf.Value> params = 6;
160
+
161
+ // The user labels applied to a resource must meet the following requirements:
162
+ //
163
+ // * Each resource can have multiple labels, up to a maximum of 64.
164
+ // * Each label must be a key-value pair.
165
+ // * Keys have a minimum length of 1 character and a maximum length of 63
166
+ // characters and cannot be empty. Values can be empty and have a maximum
167
+ // length of 63 characters.
168
+ // * Keys and values can contain only lowercase letters, numeric characters,
169
+ // underscores, and dashes. All characters must use UTF-8 encoding, and
170
+ // international characters are allowed.
171
+ // * The key portion of a label must be unique. However, you can use the same
172
+ // key with multiple resources.
173
+ // * Keys must start with a lowercase letter or international character.
174
+ //
175
+ // See [Requirements for
176
+ // labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements)
177
+ // for more details.
178
+ map<string, string> user_labels = 8;
179
+ }
180
+
181
+ // Response message for Recommend method.
182
+ message RecommendResponse {
183
+ // RecommendationResult represents a generic recommendation result with
184
+ // associated metadata.
185
+ message RecommendationResult {
186
+ // Resource ID of the recommended Document.
187
+ string id = 1;
188
+
189
+ // Set if `returnDocument` is set to true in
190
+ // [RecommendRequest.params][google.cloud.discoveryengine.v1alpha.RecommendRequest.params].
191
+ Document document = 2;
192
+
193
+ // Additional Document metadata / annotations.
194
+ //
195
+ // Possible values:
196
+ //
197
+ // * `score`: Recommendation score in double value. Is set if
198
+ // `returnScore` is set to true in
199
+ // [RecommendRequest.params][google.cloud.discoveryengine.v1alpha.RecommendRequest.params].
200
+ map<string, google.protobuf.Value> metadata = 3;
201
+ }
202
+
203
+ // A list of recommended Documents. The order represents the ranking (from the
204
+ // most relevant Document to the least).
205
+ repeated RecommendationResult results = 1;
206
+
207
+ // A unique attribution token. This should be included in the
208
+ // [UserEvent][google.cloud.discoveryengine.v1alpha.UserEvent] logs resulting
209
+ // from this recommendation, which enables accurate attribution of
210
+ // recommendation model performance.
211
+ string attribution_token = 2;
212
+
213
+ // IDs of documents in the request that were missing from the default Branch
214
+ // associated with the requested ServingConfig.
215
+ repeated string missing_ids = 3;
216
+
217
+ // True if
218
+ // [RecommendRequest.validate_only][google.cloud.discoveryengine.v1alpha.RecommendRequest.validate_only]
219
+ // was set.
220
+ bool validate_only = 4;
221
+ }