@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
@@ -60,8 +60,7 @@ class SchemaServiceClient {
60
60
  * API remote host.
61
61
  * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
62
62
  * Follows the structure of {@link gapicConfig}.
63
- * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode.
64
- * Pass "rest" to use HTTP/1.1 REST API instead of gRPC.
63
+ * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
65
64
  * For more information, please check the
66
65
  * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
67
66
  * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
@@ -69,7 +68,7 @@ class SchemaServiceClient {
69
68
  * HTTP implementation. Load only fallback version and pass it to the constructor:
70
69
  * ```
71
70
  * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
72
- * const client = new SchemaServiceClient({fallback: 'rest'}, gax);
71
+ * const client = new SchemaServiceClient({fallback: true}, gax);
73
72
  * ```
74
73
  */
75
74
  constructor(opts, gaxInstance) {
@@ -115,6 +114,7 @@ class SchemaServiceClient {
115
114
  if (servicePath === staticMembers.servicePath) {
116
115
  this.auth.defaultScopes = staticMembers.scopes;
117
116
  }
117
+ this.locationsClient = new this._gaxModule.LocationsClient(this._gaxGrpc, opts);
118
118
  // Determine the client header string.
119
119
  const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
120
120
  if (typeof process !== 'undefined' && 'versions' in process) {
@@ -126,7 +126,7 @@ class SchemaServiceClient {
126
126
  if (!opts.fallback) {
127
127
  clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`);
128
128
  }
129
- else if (opts.fallback === 'rest') {
129
+ else {
130
130
  clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`);
131
131
  }
132
132
  if (opts.libName && opts.libVersion) {
@@ -140,9 +140,11 @@ class SchemaServiceClient {
140
140
  this.pathTemplates = {
141
141
  projectLocationCollectionDataStorePathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}'),
142
142
  projectLocationCollectionDataStoreBranchDocumentPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}'),
143
+ projectLocationCollectionDataStoreConversationPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/conversations/{conversation}'),
143
144
  projectLocationCollectionDataStoreSchemaPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}'),
144
145
  projectLocationDataStorePathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/dataStores/{data_store}'),
145
146
  projectLocationDataStoreBranchDocumentPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}/documents/{document}'),
147
+ projectLocationDataStoreConversationPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/dataStores/{data_store}/conversations/{conversation}'),
146
148
  projectLocationDataStoreSchemaPathTemplate: new this._gaxModule.PathTemplate('projects/{project}/locations/{location}/dataStores/{data_store}/schemas/{schema}'),
147
149
  };
148
150
  // Some of the methods on this service return "paged" results,
@@ -159,7 +161,7 @@ class SchemaServiceClient {
159
161
  auth: this.auth,
160
162
  grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined,
161
163
  };
162
- if (opts.fallback === 'rest') {
164
+ if (opts.fallback) {
163
165
  lroOptions.protoJson = protoFilesRoot;
164
166
  lroOptions.httpRules = [
165
167
  {
@@ -178,6 +180,15 @@ class SchemaServiceClient {
178
180
  {
179
181
  get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*/operations/*}',
180
182
  },
183
+ {
184
+ get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/operations/*}',
185
+ },
186
+ {
187
+ get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/operations/*}',
188
+ },
189
+ {
190
+ get: '/v1/{name=projects/*/locations/*/collections/*/engines/*/operations/*}',
191
+ },
181
192
  {
182
193
  get: '/v1/{name=projects/*/locations/*/collections/*/operations/*}',
183
194
  },
@@ -207,9 +218,18 @@ class SchemaServiceClient {
207
218
  {
208
219
  get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/schemas/*}/operations',
209
220
  },
221
+ {
222
+ get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites}/operations',
223
+ },
224
+ {
225
+ get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/operations',
226
+ },
210
227
  {
211
228
  get: '/v1/{name=projects/*/locations/*/collections/*/dataStores/*}/operations',
212
229
  },
230
+ {
231
+ get: '/v1/{name=projects/*/locations/*/collections/*/engines/*}/operations',
232
+ },
213
233
  { get: '/v1/{name=projects/*/locations/*/collections/*}/operations' },
214
234
  {
215
235
  get: '/v1/{name=projects/*/locations/*/dataStores/*/branches/*}/operations',
@@ -594,6 +614,61 @@ class SchemaServiceClient {
594
614
  this.initialize();
595
615
  return this.descriptors.page.listSchemas.asyncIterate(this.innerApiCalls['listSchemas'], request, callSettings);
596
616
  }
617
+ /**
618
+ * Gets information about a location.
619
+ *
620
+ * @param {Object} request
621
+ * The request object that will be sent.
622
+ * @param {string} request.name
623
+ * Resource name for the location.
624
+ * @param {object} [options]
625
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html | CallOptions} for more details.
626
+ * @returns {Promise} - The promise which resolves to an array.
627
+ * The first element of the array is an object representing {@link google.cloud.location.Location | Location}.
628
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
629
+ * for more details and examples.
630
+ * @example
631
+ * ```
632
+ * const [response] = await client.getLocation(request);
633
+ * ```
634
+ */
635
+ getLocation(request, options, callback) {
636
+ return this.locationsClient.getLocation(request, options, callback);
637
+ }
638
+ /**
639
+ * Lists information about the supported locations for this service. Returns an iterable object.
640
+ *
641
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
642
+ * @param {Object} request
643
+ * The request object that will be sent.
644
+ * @param {string} request.name
645
+ * The resource that owns the locations collection, if applicable.
646
+ * @param {string} request.filter
647
+ * The standard list filter.
648
+ * @param {number} request.pageSize
649
+ * The standard list page size.
650
+ * @param {string} request.pageToken
651
+ * The standard list page token.
652
+ * @param {object} [options]
653
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
654
+ * @returns {Object}
655
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
656
+ * When you iterate the returned iterable, each element will be an object representing
657
+ * {@link google.cloud.location.Location | Location}. The API will be called under the hood as needed, once per the page,
658
+ * so you can stop the iteration when you don't need more results.
659
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
660
+ * for more details and examples.
661
+ * @example
662
+ * ```
663
+ * const iterable = client.listLocationsAsync(request);
664
+ * for await (const response of iterable) {
665
+ * // process response
666
+ * }
667
+ * ```
668
+ */
669
+ listLocationsAsync(request, options) {
670
+ return this.locationsClient.listLocationsAsync(request, options);
671
+ }
597
672
  /**
598
673
  * Gets the latest state of a long-running operation. Clients can use this
599
674
  * method to poll the operation result at intervals as recommended by the API
@@ -863,6 +938,75 @@ class SchemaServiceClient {
863
938
  matchDocumentFromProjectLocationCollectionDataStoreBranchDocumentName(projectLocationCollectionDataStoreBranchDocumentName) {
864
939
  return this.pathTemplates.projectLocationCollectionDataStoreBranchDocumentPathTemplate.match(projectLocationCollectionDataStoreBranchDocumentName).document;
865
940
  }
941
+ /**
942
+ * Return a fully-qualified projectLocationCollectionDataStoreConversation resource name string.
943
+ *
944
+ * @param {string} project
945
+ * @param {string} location
946
+ * @param {string} collection
947
+ * @param {string} data_store
948
+ * @param {string} conversation
949
+ * @returns {string} Resource name string.
950
+ */
951
+ projectLocationCollectionDataStoreConversationPath(project, location, collection, dataStore, conversation) {
952
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.render({
953
+ project: project,
954
+ location: location,
955
+ collection: collection,
956
+ data_store: dataStore,
957
+ conversation: conversation,
958
+ });
959
+ }
960
+ /**
961
+ * Parse the project from ProjectLocationCollectionDataStoreConversation resource.
962
+ *
963
+ * @param {string} projectLocationCollectionDataStoreConversationName
964
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
965
+ * @returns {string} A string representing the project.
966
+ */
967
+ matchProjectFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
968
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).project;
969
+ }
970
+ /**
971
+ * Parse the location from ProjectLocationCollectionDataStoreConversation resource.
972
+ *
973
+ * @param {string} projectLocationCollectionDataStoreConversationName
974
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
975
+ * @returns {string} A string representing the location.
976
+ */
977
+ matchLocationFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
978
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).location;
979
+ }
980
+ /**
981
+ * Parse the collection from ProjectLocationCollectionDataStoreConversation resource.
982
+ *
983
+ * @param {string} projectLocationCollectionDataStoreConversationName
984
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
985
+ * @returns {string} A string representing the collection.
986
+ */
987
+ matchCollectionFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
988
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).collection;
989
+ }
990
+ /**
991
+ * Parse the data_store from ProjectLocationCollectionDataStoreConversation resource.
992
+ *
993
+ * @param {string} projectLocationCollectionDataStoreConversationName
994
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
995
+ * @returns {string} A string representing the data_store.
996
+ */
997
+ matchDataStoreFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
998
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).data_store;
999
+ }
1000
+ /**
1001
+ * Parse the conversation from ProjectLocationCollectionDataStoreConversation resource.
1002
+ *
1003
+ * @param {string} projectLocationCollectionDataStoreConversationName
1004
+ * A fully-qualified path representing project_location_collection_data_store_conversation resource.
1005
+ * @returns {string} A string representing the conversation.
1006
+ */
1007
+ matchConversationFromProjectLocationCollectionDataStoreConversationName(projectLocationCollectionDataStoreConversationName) {
1008
+ return this.pathTemplates.projectLocationCollectionDataStoreConversationPathTemplate.match(projectLocationCollectionDataStoreConversationName).conversation;
1009
+ }
866
1010
  /**
867
1011
  * Return a fully-qualified projectLocationCollectionDataStoreSchema resource name string.
868
1012
  *
@@ -1046,6 +1190,63 @@ class SchemaServiceClient {
1046
1190
  matchDocumentFromProjectLocationDataStoreBranchDocumentName(projectLocationDataStoreBranchDocumentName) {
1047
1191
  return this.pathTemplates.projectLocationDataStoreBranchDocumentPathTemplate.match(projectLocationDataStoreBranchDocumentName).document;
1048
1192
  }
1193
+ /**
1194
+ * Return a fully-qualified projectLocationDataStoreConversation resource name string.
1195
+ *
1196
+ * @param {string} project
1197
+ * @param {string} location
1198
+ * @param {string} data_store
1199
+ * @param {string} conversation
1200
+ * @returns {string} Resource name string.
1201
+ */
1202
+ projectLocationDataStoreConversationPath(project, location, dataStore, conversation) {
1203
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.render({
1204
+ project: project,
1205
+ location: location,
1206
+ data_store: dataStore,
1207
+ conversation: conversation,
1208
+ });
1209
+ }
1210
+ /**
1211
+ * Parse the project from ProjectLocationDataStoreConversation resource.
1212
+ *
1213
+ * @param {string} projectLocationDataStoreConversationName
1214
+ * A fully-qualified path representing project_location_data_store_conversation resource.
1215
+ * @returns {string} A string representing the project.
1216
+ */
1217
+ matchProjectFromProjectLocationDataStoreConversationName(projectLocationDataStoreConversationName) {
1218
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.match(projectLocationDataStoreConversationName).project;
1219
+ }
1220
+ /**
1221
+ * Parse the location from ProjectLocationDataStoreConversation resource.
1222
+ *
1223
+ * @param {string} projectLocationDataStoreConversationName
1224
+ * A fully-qualified path representing project_location_data_store_conversation resource.
1225
+ * @returns {string} A string representing the location.
1226
+ */
1227
+ matchLocationFromProjectLocationDataStoreConversationName(projectLocationDataStoreConversationName) {
1228
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.match(projectLocationDataStoreConversationName).location;
1229
+ }
1230
+ /**
1231
+ * Parse the data_store from ProjectLocationDataStoreConversation resource.
1232
+ *
1233
+ * @param {string} projectLocationDataStoreConversationName
1234
+ * A fully-qualified path representing project_location_data_store_conversation resource.
1235
+ * @returns {string} A string representing the data_store.
1236
+ */
1237
+ matchDataStoreFromProjectLocationDataStoreConversationName(projectLocationDataStoreConversationName) {
1238
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.match(projectLocationDataStoreConversationName).data_store;
1239
+ }
1240
+ /**
1241
+ * Parse the conversation from ProjectLocationDataStoreConversation resource.
1242
+ *
1243
+ * @param {string} projectLocationDataStoreConversationName
1244
+ * A fully-qualified path representing project_location_data_store_conversation resource.
1245
+ * @returns {string} A string representing the conversation.
1246
+ */
1247
+ matchConversationFromProjectLocationDataStoreConversationName(projectLocationDataStoreConversationName) {
1248
+ return this.pathTemplates.projectLocationDataStoreConversationPathTemplate.match(projectLocationDataStoreConversationName).conversation;
1249
+ }
1049
1250
  /**
1050
1251
  * Return a fully-qualified projectLocationDataStoreSchema resource name string.
1051
1252
  *
@@ -1114,6 +1315,7 @@ class SchemaServiceClient {
1114
1315
  return this.schemaServiceStub.then(stub => {
1115
1316
  this._terminated = true;
1116
1317
  stub.close();
1318
+ this.locationsClient.close();
1117
1319
  this.operationsClient.close();
1118
1320
  });
1119
1321
  }