Skip to content

Commit 411a707

Browse files
feat: [dialogflow] added speech endpointing setting (#9760)
- [ ] Regenerate this pull request now. feat: added Knowledge Search API PiperOrigin-RevId: 561112943 Source-Link: https://togithub.com/googleapis/googleapis/commit/6d69526f72f05cd22a9ef2e4ca7af6ae19d8e612 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/5d3ab0d9ffda232d36cb148ce192ea8771510402 Copy-Tag: eyJwIjoiamF2YS1kaWFsb2dmbG93Ly5Pd2xCb3QueWFtbCIsImgiOiI1ZDNhYjBkOWZmZGEyMzJkMzZjYjE0OGNlMTkyZWE4NzcxNTEwNDAyIn0= BEGIN_NESTED_COMMIT feat: [dialogflow] added speech endpointing setting feat: added Knowledge Search API PiperOrigin-RevId: 560215389 Source-Link: https://togithub.com/googleapis/googleapis/commit/b1666e6f4fe427dd942e0afe9f5177acd954fadb Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/07e82b4d4917494d85039722f673d409c4c7305f Copy-Tag: eyJwIjoiamF2YS1kaWFsb2dmbG93Ly5Pd2xCb3QueWFtbCIsImgiOiIwN2U4MmI0ZDQ5MTc0OTRkODUwMzk3MjJmNjczZDQwOWM0YzczMDVmIn0= END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: [dialogflow] added baseline model version used to generate the summary feat: added the platform of the virtual agent response messages PiperOrigin-RevId: 556882279 Source-Link: https://togithub.com/googleapis/googleapis/commit/c8eccdafc3d1365aea0b006b2d1fec515d7ad0f7 Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/754eb3340d76e6da69f081041d97f018022a55da Copy-Tag: eyJwIjoiamF2YS1kaWFsb2dmbG93Ly5Pd2xCb3QueWFtbCIsImgiOiI3NTRlYjMzNDBkNzZlNmRhNjlmMDgxMDQxZDk3ZjAxODAyMmE1NWRhIn0= END_NESTED_COMMIT BEGIN_NESTED_COMMIT feat: [dialogflow] added baseline model version used to generate the summary feat: added the platform of the virtual agent response messages PiperOrigin-RevId: 555788605 Source-Link: https://togithub.com/googleapis/googleapis/commit/90a551c2a02613507a2f0f05fd25d133113a1a1c Source-Link: https://togithub.com/googleapis/googleapis-gen/commit/30620b4f34713860083fff036982900b1004cbf5 Copy-Tag: eyJwIjoiamF2YS1kaWFsb2dmbG93Ly5Pd2xCb3QueWFtbCIsImgiOiIzMDYyMGI0ZjM0NzEzODYwMDgzZmZmMDM2OTgyOTAwYjEwMDRjYmY1In0= END_NESTED_COMMIT
1 parent e434587 commit 411a707

109 files changed

Lines changed: 26612 additions & 1876 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

java-dialogflow/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
2020
<dependency>
2121
<groupId>com.google.cloud</groupId>
2222
<artifactId>libraries-bom</artifactId>
23-
<version>26.21.0</version>
23+
<version>26.22.0</version>
2424
<type>pom</type>
2525
<scope>import</scope>
2626
</dependency>
@@ -195,7 +195,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
195195
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.html
196196
[stability-image]: https://img.shields.io/badge/stability-stable-green
197197
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-dialogflow.svg
198-
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-dialogflow/4.28.0
198+
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-dialogflow/4.29.0
199199
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
200200
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
201201
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles

java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/ConversationsClient.java

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1273,6 +1273,89 @@ public final GenerateStatelessSummaryResponse generateStatelessSummary(
12731273
return stub.generateStatelessSummaryCallable();
12741274
}
12751275

1276+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
1277+
/**
1278+
* Get answers for the given query based on knowledge documents.
1279+
*
1280+
* <p>Sample code:
1281+
*
1282+
* <pre>{@code
1283+
* // This snippet has been automatically generated and should be regarded as a code template only.
1284+
* // It will require modifications to work:
1285+
* // - It may require correct/in-range values for request initialization.
1286+
* // - It may require specifying regional endpoints when creating the service client as shown in
1287+
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
1288+
* try (ConversationsClient conversationsClient = ConversationsClient.create()) {
1289+
* SearchKnowledgeRequest request =
1290+
* SearchKnowledgeRequest.newBuilder()
1291+
* .setParent("parent-995424086")
1292+
* .setQuery(TextInput.newBuilder().build())
1293+
* .setConversationProfile(
1294+
* ConversationProfileName.ofProjectConversationProfileName(
1295+
* "[PROJECT]", "[CONVERSATION_PROFILE]")
1296+
* .toString())
1297+
* .setSessionId("sessionId607796817")
1298+
* .setConversation(
1299+
* ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]")
1300+
* .toString())
1301+
* .setLatestMessage(
1302+
* MessageName.ofProjectConversationMessageName(
1303+
* "[PROJECT]", "[CONVERSATION]", "[MESSAGE]")
1304+
* .toString())
1305+
* .build();
1306+
* SearchKnowledgeResponse response = conversationsClient.searchKnowledge(request);
1307+
* }
1308+
* }</pre>
1309+
*
1310+
* @param request The request object containing all of the parameters for the API call.
1311+
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
1312+
*/
1313+
public final SearchKnowledgeResponse searchKnowledge(SearchKnowledgeRequest request) {
1314+
return searchKnowledgeCallable().call(request);
1315+
}
1316+
1317+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
1318+
/**
1319+
* Get answers for the given query based on knowledge documents.
1320+
*
1321+
* <p>Sample code:
1322+
*
1323+
* <pre>{@code
1324+
* // This snippet has been automatically generated and should be regarded as a code template only.
1325+
* // It will require modifications to work:
1326+
* // - It may require correct/in-range values for request initialization.
1327+
* // - It may require specifying regional endpoints when creating the service client as shown in
1328+
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
1329+
* try (ConversationsClient conversationsClient = ConversationsClient.create()) {
1330+
* SearchKnowledgeRequest request =
1331+
* SearchKnowledgeRequest.newBuilder()
1332+
* .setParent("parent-995424086")
1333+
* .setQuery(TextInput.newBuilder().build())
1334+
* .setConversationProfile(
1335+
* ConversationProfileName.ofProjectConversationProfileName(
1336+
* "[PROJECT]", "[CONVERSATION_PROFILE]")
1337+
* .toString())
1338+
* .setSessionId("sessionId607796817")
1339+
* .setConversation(
1340+
* ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]")
1341+
* .toString())
1342+
* .setLatestMessage(
1343+
* MessageName.ofProjectConversationMessageName(
1344+
* "[PROJECT]", "[CONVERSATION]", "[MESSAGE]")
1345+
* .toString())
1346+
* .build();
1347+
* ApiFuture<SearchKnowledgeResponse> future =
1348+
* conversationsClient.searchKnowledgeCallable().futureCall(request);
1349+
* // Do something.
1350+
* SearchKnowledgeResponse response = future.get();
1351+
* }
1352+
* }</pre>
1353+
*/
1354+
public final UnaryCallable<SearchKnowledgeRequest, SearchKnowledgeResponse>
1355+
searchKnowledgeCallable() {
1356+
return stub.searchKnowledgeCallable();
1357+
}
1358+
12761359
// AUTO-GENERATED DOCUMENTATION AND METHOD.
12771360
/**
12781361
* Lists information about the supported locations for this service.

java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/ConversationsSettings.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,12 @@ public UnaryCallSettings<GetConversationRequest, Conversation> getConversationSe
121121
return ((ConversationsStubSettings) getStubSettings()).generateStatelessSummarySettings();
122122
}
123123

124+
/** Returns the object with the settings used for calls to searchKnowledge. */
125+
public UnaryCallSettings<SearchKnowledgeRequest, SearchKnowledgeResponse>
126+
searchKnowledgeSettings() {
127+
return ((ConversationsStubSettings) getStubSettings()).searchKnowledgeSettings();
128+
}
129+
124130
/** Returns the object with the settings used for calls to listLocations. */
125131
public PagedCallSettings<ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
126132
listLocationsSettings() {
@@ -293,6 +299,12 @@ public Builder applyToAllUnaryMethods(
293299
return getStubSettingsBuilder().generateStatelessSummarySettings();
294300
}
295301

302+
/** Returns the builder for the settings used for calls to searchKnowledge. */
303+
public UnaryCallSettings.Builder<SearchKnowledgeRequest, SearchKnowledgeResponse>
304+
searchKnowledgeSettings() {
305+
return getStubSettingsBuilder().searchKnowledgeSettings();
306+
}
307+
296308
/** Returns the builder for the settings used for calls to listLocations. */
297309
public PagedCallSettings.Builder<
298310
ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>

java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/gapic_metadata.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,9 @@
130130
"ListMessages": {
131131
"methods": ["listMessages", "listMessages", "listMessages", "listMessagesPagedCallable", "listMessagesCallable"]
132132
},
133+
"SearchKnowledge": {
134+
"methods": ["searchKnowledge", "searchKnowledgeCallable"]
135+
},
133136
"SuggestConversationSummary": {
134137
"methods": ["suggestConversationSummary", "suggestConversationSummary", "suggestConversationSummary", "suggestConversationSummaryCallable"]
135138
}

java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/stub/ConversationsStub.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
import com.google.cloud.dialogflow.v2.ListConversationsResponse;
3333
import com.google.cloud.dialogflow.v2.ListMessagesRequest;
3434
import com.google.cloud.dialogflow.v2.ListMessagesResponse;
35+
import com.google.cloud.dialogflow.v2.SearchKnowledgeRequest;
36+
import com.google.cloud.dialogflow.v2.SearchKnowledgeResponse;
3537
import com.google.cloud.dialogflow.v2.SuggestConversationSummaryRequest;
3638
import com.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse;
3739
import com.google.cloud.location.GetLocationRequest;
@@ -90,6 +92,10 @@ public UnaryCallable<ListMessagesRequest, ListMessagesResponse> listMessagesCall
9092
throw new UnsupportedOperationException("Not implemented: generateStatelessSummaryCallable()");
9193
}
9294

95+
public UnaryCallable<SearchKnowledgeRequest, SearchKnowledgeResponse> searchKnowledgeCallable() {
96+
throw new UnsupportedOperationException("Not implemented: searchKnowledgeCallable()");
97+
}
98+
9399
public UnaryCallable<ListLocationsRequest, ListLocationsPagedResponse>
94100
listLocationsPagedCallable() {
95101
throw new UnsupportedOperationException("Not implemented: listLocationsPagedCallable()");

java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/stub/ConversationsStubSettings.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@
5656
import com.google.cloud.dialogflow.v2.ListMessagesRequest;
5757
import com.google.cloud.dialogflow.v2.ListMessagesResponse;
5858
import com.google.cloud.dialogflow.v2.Message;
59+
import com.google.cloud.dialogflow.v2.SearchKnowledgeRequest;
60+
import com.google.cloud.dialogflow.v2.SearchKnowledgeResponse;
5961
import com.google.cloud.dialogflow.v2.SuggestConversationSummaryRequest;
6062
import com.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse;
6163
import com.google.cloud.location.GetLocationRequest;
@@ -133,6 +135,8 @@ public class ConversationsStubSettings extends StubSettings<ConversationsStubSet
133135
suggestConversationSummarySettings;
134136
private final UnaryCallSettings<GenerateStatelessSummaryRequest, GenerateStatelessSummaryResponse>
135137
generateStatelessSummarySettings;
138+
private final UnaryCallSettings<SearchKnowledgeRequest, SearchKnowledgeResponse>
139+
searchKnowledgeSettings;
136140
private final PagedCallSettings<
137141
ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
138142
listLocationsSettings;
@@ -346,6 +350,12 @@ public UnaryCallSettings<GetConversationRequest, Conversation> getConversationSe
346350
return generateStatelessSummarySettings;
347351
}
348352

353+
/** Returns the object with the settings used for calls to searchKnowledge. */
354+
public UnaryCallSettings<SearchKnowledgeRequest, SearchKnowledgeResponse>
355+
searchKnowledgeSettings() {
356+
return searchKnowledgeSettings;
357+
}
358+
349359
/** Returns the object with the settings used for calls to listLocations. */
350360
public PagedCallSettings<ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
351361
listLocationsSettings() {
@@ -471,6 +481,7 @@ protected ConversationsStubSettings(Builder settingsBuilder) throws IOException
471481
suggestConversationSummarySettings =
472482
settingsBuilder.suggestConversationSummarySettings().build();
473483
generateStatelessSummarySettings = settingsBuilder.generateStatelessSummarySettings().build();
484+
searchKnowledgeSettings = settingsBuilder.searchKnowledgeSettings().build();
474485
listLocationsSettings = settingsBuilder.listLocationsSettings().build();
475486
getLocationSettings = settingsBuilder.getLocationSettings().build();
476487
}
@@ -496,6 +507,8 @@ public static class Builder extends StubSettings.Builder<ConversationsStubSettin
496507
private final UnaryCallSettings.Builder<
497508
GenerateStatelessSummaryRequest, GenerateStatelessSummaryResponse>
498509
generateStatelessSummarySettings;
510+
private final UnaryCallSettings.Builder<SearchKnowledgeRequest, SearchKnowledgeResponse>
511+
searchKnowledgeSettings;
499512
private final PagedCallSettings.Builder<
500513
ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>
501514
listLocationsSettings;
@@ -545,6 +558,7 @@ protected Builder(ClientContext clientContext) {
545558
listMessagesSettings = PagedCallSettings.newBuilder(LIST_MESSAGES_PAGE_STR_FACT);
546559
suggestConversationSummarySettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
547560
generateStatelessSummarySettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
561+
searchKnowledgeSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
548562
listLocationsSettings = PagedCallSettings.newBuilder(LIST_LOCATIONS_PAGE_STR_FACT);
549563
getLocationSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
550564

@@ -557,6 +571,7 @@ protected Builder(ClientContext clientContext) {
557571
listMessagesSettings,
558572
suggestConversationSummarySettings,
559573
generateStatelessSummarySettings,
574+
searchKnowledgeSettings,
560575
listLocationsSettings,
561576
getLocationSettings);
562577
initDefaults(this);
@@ -572,6 +587,7 @@ protected Builder(ConversationsStubSettings settings) {
572587
listMessagesSettings = settings.listMessagesSettings.toBuilder();
573588
suggestConversationSummarySettings = settings.suggestConversationSummarySettings.toBuilder();
574589
generateStatelessSummarySettings = settings.generateStatelessSummarySettings.toBuilder();
590+
searchKnowledgeSettings = settings.searchKnowledgeSettings.toBuilder();
575591
listLocationsSettings = settings.listLocationsSettings.toBuilder();
576592
getLocationSettings = settings.getLocationSettings.toBuilder();
577593

@@ -584,6 +600,7 @@ protected Builder(ConversationsStubSettings settings) {
584600
listMessagesSettings,
585601
suggestConversationSummarySettings,
586602
generateStatelessSummarySettings,
603+
searchKnowledgeSettings,
587604
listLocationsSettings,
588605
getLocationSettings);
589606
}
@@ -650,6 +667,11 @@ private static Builder initDefaults(Builder builder) {
650667
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
651668
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
652669

670+
builder
671+
.searchKnowledgeSettings()
672+
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
673+
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params"));
674+
653675
builder
654676
.listLocationsSettings()
655677
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes"))
@@ -724,6 +746,12 @@ public Builder applyToAllUnaryMethods(
724746
return generateStatelessSummarySettings;
725747
}
726748

749+
/** Returns the builder for the settings used for calls to searchKnowledge. */
750+
public UnaryCallSettings.Builder<SearchKnowledgeRequest, SearchKnowledgeResponse>
751+
searchKnowledgeSettings() {
752+
return searchKnowledgeSettings;
753+
}
754+
727755
/** Returns the builder for the settings used for calls to listLocations. */
728756
public PagedCallSettings.Builder<
729757
ListLocationsRequest, ListLocationsResponse, ListLocationsPagedResponse>

java-dialogflow/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2/stub/GrpcConversationsStub.java

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@
3737
import com.google.cloud.dialogflow.v2.ListConversationsResponse;
3838
import com.google.cloud.dialogflow.v2.ListMessagesRequest;
3939
import com.google.cloud.dialogflow.v2.ListMessagesResponse;
40+
import com.google.cloud.dialogflow.v2.SearchKnowledgeRequest;
41+
import com.google.cloud.dialogflow.v2.SearchKnowledgeResponse;
4042
import com.google.cloud.dialogflow.v2.SuggestConversationSummaryRequest;
4143
import com.google.cloud.dialogflow.v2.SuggestConversationSummaryResponse;
4244
import com.google.cloud.location.GetLocationRequest;
@@ -137,6 +139,17 @@ public class GrpcConversationsStub extends ConversationsStub {
137139
ProtoUtils.marshaller(GenerateStatelessSummaryResponse.getDefaultInstance()))
138140
.build();
139141

142+
private static final MethodDescriptor<SearchKnowledgeRequest, SearchKnowledgeResponse>
143+
searchKnowledgeMethodDescriptor =
144+
MethodDescriptor.<SearchKnowledgeRequest, SearchKnowledgeResponse>newBuilder()
145+
.setType(MethodDescriptor.MethodType.UNARY)
146+
.setFullMethodName("google.cloud.dialogflow.v2.Conversations/SearchKnowledge")
147+
.setRequestMarshaller(
148+
ProtoUtils.marshaller(SearchKnowledgeRequest.getDefaultInstance()))
149+
.setResponseMarshaller(
150+
ProtoUtils.marshaller(SearchKnowledgeResponse.getDefaultInstance()))
151+
.build();
152+
140153
private static final MethodDescriptor<ListLocationsRequest, ListLocationsResponse>
141154
listLocationsMethodDescriptor =
142155
MethodDescriptor.<ListLocationsRequest, ListLocationsResponse>newBuilder()
@@ -171,6 +184,8 @@ public class GrpcConversationsStub extends ConversationsStub {
171184
suggestConversationSummaryCallable;
172185
private final UnaryCallable<GenerateStatelessSummaryRequest, GenerateStatelessSummaryResponse>
173186
generateStatelessSummaryCallable;
187+
private final UnaryCallable<SearchKnowledgeRequest, SearchKnowledgeResponse>
188+
searchKnowledgeCallable;
174189
private final UnaryCallable<ListLocationsRequest, ListLocationsResponse> listLocationsCallable;
175190
private final UnaryCallable<ListLocationsRequest, ListLocationsPagedResponse>
176191
listLocationsPagedCallable;
@@ -296,6 +311,18 @@ protected GrpcConversationsStub(
296311
return builder.build();
297312
})
298313
.build();
314+
GrpcCallSettings<SearchKnowledgeRequest, SearchKnowledgeResponse>
315+
searchKnowledgeTransportSettings =
316+
GrpcCallSettings.<SearchKnowledgeRequest, SearchKnowledgeResponse>newBuilder()
317+
.setMethodDescriptor(searchKnowledgeMethodDescriptor)
318+
.setParamsExtractor(
319+
request -> {
320+
RequestParamsBuilder builder = RequestParamsBuilder.create();
321+
builder.add("conversation", String.valueOf(request.getConversation()));
322+
builder.add("parent", String.valueOf(request.getParent()));
323+
return builder.build();
324+
})
325+
.build();
299326
GrpcCallSettings<ListLocationsRequest, ListLocationsResponse> listLocationsTransportSettings =
300327
GrpcCallSettings.<ListLocationsRequest, ListLocationsResponse>newBuilder()
301328
.setMethodDescriptor(listLocationsMethodDescriptor)
@@ -356,6 +383,9 @@ protected GrpcConversationsStub(
356383
generateStatelessSummaryTransportSettings,
357384
settings.generateStatelessSummarySettings(),
358385
clientContext);
386+
this.searchKnowledgeCallable =
387+
callableFactory.createUnaryCallable(
388+
searchKnowledgeTransportSettings, settings.searchKnowledgeSettings(), clientContext);
359389
this.listLocationsCallable =
360390
callableFactory.createUnaryCallable(
361391
listLocationsTransportSettings, settings.listLocationsSettings(), clientContext);
@@ -423,6 +453,11 @@ public UnaryCallable<ListMessagesRequest, ListMessagesPagedResponse> listMessage
423453
return generateStatelessSummaryCallable;
424454
}
425455

456+
@Override
457+
public UnaryCallable<SearchKnowledgeRequest, SearchKnowledgeResponse> searchKnowledgeCallable() {
458+
return searchKnowledgeCallable;
459+
}
460+
426461
@Override
427462
public UnaryCallable<ListLocationsRequest, ListLocationsResponse> listLocationsCallable() {
428463
return listLocationsCallable;

0 commit comments

Comments
 (0)