in prompt/prompt-executor/prompt-executor-clients/prompt-executor-google-client/src/commonMain/kotlin/ai/koog/prompt/executor/clients/google/GoogleLLMClient.kt [764:787]
public override suspend fun models(): List<String> {
var response: GoogleModelsResponse? = null
val models = mutableListOf<String>()
while ((response == null) || response.nextPageToken != null) {
val parameters = response?.nextPageToken?.let {
mapOf("pageToken" to it)
} ?: emptyMap()
try {
response = httpClient.get(
settings.defaultPath,
GoogleModelsResponse::class,
parameters = parameters
)
models.addAll(response.models.map { it.name })
} catch (e: CancellationException) {
throw e
} catch (e: Exception) {
throw LLMClientException(clientName, e.message, e)
}
}
return models
}