Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions src/main/java/com/google/genai/AfcUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ static GenerateContentConfig transformGenerateContentConfig(GenerateContentConfi
config.tools().get().stream()
.map(tool -> Transformers.tTool(tool))
.collect(toImmutableList());
ObjectNode configNode = JsonSerializable.objectMapper.valueToTree(config);
configNode.set("tools", JsonSerializable.objectMapper.valueToTree(transformedTools));
transformedConfig = JsonSerializable.fromJsonNode(configNode, GenerateContentConfig.class);
ObjectNode configNode = Common.objectMapper.valueToTree(config);
configNode.set("tools", Common.objectMapper.valueToTree(transformedTools));
transformedConfig = Common.fromJsonNode(configNode, GenerateContentConfig.class);
} else {
transformedConfig = config;
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/google/genai/AsyncBatches.java
Original file line number Diff line number Diff line change
Expand Up @@ -167,22 +167,22 @@ public CompletableFuture<AsyncPager<BatchJob>> list(ListBatchJobsConfig config)
config = ListBatchJobsConfig.builder().build();
}
ListBatchJobsConfig finalConfig = config;
Function<JsonSerializable, CompletableFuture<JsonNode>> request =
Function<Object, CompletableFuture<JsonNode>> request =
requestConfig -> {
if (!(requestConfig instanceof ListBatchJobsConfig)) {
throw new GenAiIOException(
"Internal error: Pager expected ListBatchJobsConfig but received "
+ requestConfig.getClass().getName());
}
return this.privateList((ListBatchJobsConfig) requestConfig)
.thenApply(JsonSerializable::toJsonNode);
.thenApply(Common::toJsonNode);
};
return CompletableFuture.supplyAsync(
() ->
new AsyncPager<BatchJob>(
Pager.PagedItem.BATCH_JOBS,
request,
(ObjectNode) JsonSerializable.toJsonNode(finalConfig),
(ObjectNode) Common.toJsonNode(finalConfig),
request.apply(finalConfig)));
}

Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/google/genai/AsyncCaches.java
Original file line number Diff line number Diff line change
Expand Up @@ -152,22 +152,22 @@ public CompletableFuture<AsyncPager<CachedContent>> list(ListCachedContentsConfi
config = ListCachedContentsConfig.builder().build();
}
ListCachedContentsConfig finalConfig = config;
Function<JsonSerializable, CompletableFuture<JsonNode>> request =
Function<Object, CompletableFuture<JsonNode>> request =
requestConfig -> {
if (!(requestConfig instanceof ListCachedContentsConfig)) {
throw new GenAiIOException(
"Internal error: Pager expected ListCachedContentsConfig but received "
+ requestConfig.getClass().getName());
}
return this.privateList((ListCachedContentsConfig) requestConfig)
.thenApply(JsonSerializable::toJsonNode);
.thenApply(Common::toJsonNode);
};
return CompletableFuture.supplyAsync(
() ->
new AsyncPager<CachedContent>(
Pager.PagedItem.CACHED_CONTENTS,
request,
(ObjectNode) JsonSerializable.toJsonNode(finalConfig),
(ObjectNode) Common.toJsonNode(finalConfig),
request.apply(finalConfig)));
}
}
6 changes: 3 additions & 3 deletions src/main/java/com/google/genai/AsyncDocuments.java
Original file line number Diff line number Diff line change
Expand Up @@ -94,22 +94,22 @@ public CompletableFuture<AsyncPager<Document>> list(String parent, ListDocuments
config = ListDocumentsConfig.builder().build();
}
ListDocumentsConfig finalConfig = config;
Function<JsonSerializable, CompletableFuture<JsonNode>> request =
Function<Object, CompletableFuture<JsonNode>> request =
requestConfig -> {
if (!(requestConfig instanceof ListDocumentsConfig)) {
throw new GenAiIOException(
"Internal error: Pager expected ListDocumentsConfig but received "
+ requestConfig.getClass().getName());
}
return this.privateList(parent, (ListDocumentsConfig) requestConfig)
.thenApply(JsonSerializable::toJsonNode);
.thenApply(Common::toJsonNode);
};
return CompletableFuture.supplyAsync(
() ->
new AsyncPager<Document>(
Pager.PagedItem.DOCUMENTS,
request,
(ObjectNode) JsonSerializable.toJsonNode(finalConfig),
(ObjectNode) Common.toJsonNode(finalConfig),
request.apply(finalConfig)));
}
}
6 changes: 3 additions & 3 deletions src/main/java/com/google/genai/AsyncFileSearchStores.java
Original file line number Diff line number Diff line change
Expand Up @@ -155,22 +155,22 @@ public CompletableFuture<AsyncPager<FileSearchStore>> list(ListFileSearchStoresC
config = ListFileSearchStoresConfig.builder().build();
}
ListFileSearchStoresConfig finalConfig = config;
Function<JsonSerializable, CompletableFuture<JsonNode>> request =
Function<Object, CompletableFuture<JsonNode>> request =
requestConfig -> {
if (!(requestConfig instanceof ListFileSearchStoresConfig)) {
throw new GenAiIOException(
"Internal error: Pager expected ListFileSearchStoresConfig but received "
+ requestConfig.getClass().getName());
}
return this.privateList((ListFileSearchStoresConfig) requestConfig)
.thenApply(JsonSerializable::toJsonNode);
.thenApply(Common::toJsonNode);
};
return CompletableFuture.supplyAsync(
() ->
new AsyncPager<FileSearchStore>(
Pager.PagedItem.FILE_SEARCH_STORES,
request,
(ObjectNode) JsonSerializable.toJsonNode(finalConfig),
(ObjectNode) Common.toJsonNode(finalConfig),
request.apply(finalConfig)));
}

Expand Down
7 changes: 3 additions & 4 deletions src/main/java/com/google/genai/AsyncFiles.java
Original file line number Diff line number Diff line change
Expand Up @@ -150,22 +150,21 @@ public CompletableFuture<AsyncPager<File>> list(ListFilesConfig config) {
config = ListFilesConfig.builder().build();
}
ListFilesConfig finalConfig = config;
Function<JsonSerializable, CompletableFuture<JsonNode>> request =
Function<Object, CompletableFuture<JsonNode>> request =
requestConfig -> {
if (!(requestConfig instanceof ListFilesConfig)) {
throw new GenAiIOException(
"Internal error: Pager expected ListFilesConfig but received "
+ requestConfig.getClass().getName());
}
return this.privateList((ListFilesConfig) requestConfig)
.thenApply(JsonSerializable::toJsonNode);
return this.privateList((ListFilesConfig) requestConfig).thenApply(Common::toJsonNode);
};
return CompletableFuture.supplyAsync(
() ->
new AsyncPager<File>(
Pager.PagedItem.FILES,
request,
(ObjectNode) JsonSerializable.toJsonNode(finalConfig),
(ObjectNode) Common.toJsonNode(finalConfig),
request.apply(finalConfig)));
}

Expand Down
8 changes: 4 additions & 4 deletions src/main/java/com/google/genai/AsyncLive.java
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ private String getSetupRequest(String model, LiveConnectConfig config) {
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());

ObjectNode body;
if (this.apiClient.vertexAI()) {
Expand All @@ -206,7 +206,7 @@ private String getSetupRequest(String model, LiveConnectConfig config) {
// TODO: Remove the hack that removes config.
body.remove("config");

return JsonSerializable.toJsonString(body);
return Common.toJsonString(body);
}

static class GenAiWebSocketClient extends WebSocketListener {
Expand Down Expand Up @@ -336,12 +336,12 @@ private void handleIncomingMessage(String message) {
if (messageCallback != null) {
try {
LiveConverters liveConverters = new LiveConverters(this.apiClient);
JsonNode responseNode = JsonSerializable.stringToJsonNode(message);
JsonNode responseNode = Common.stringToJsonNode(message);
if (this.apiClient.vertexAI()) {
responseNode = liveConverters.liveServerMessageFromVertex(responseNode, null);
}
LiveServerMessage serverMessage =
JsonSerializable.fromJsonNode(responseNode, LiveServerMessage.class);
Common.fromJsonNode(responseNode, LiveServerMessage.class);
messageCallback.accept(serverMessage);
} catch (RuntimeException e) {
logger.log(Level.SEVERE, "Error deserializing message", e);
Expand Down
32 changes: 16 additions & 16 deletions src/main/java/com/google/genai/AsyncModels.java
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ CompletableFuture<GenerateContentResponse> privateGenerateContent(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest =
models.buildRequestForPrivateGenerateContent(model, contents, config);
return this.apiClient
Expand All @@ -134,7 +134,7 @@ CompletableFuture<ResponseStream<GenerateContentResponse>> privateGenerateConten
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest =
models.buildRequestForPrivateGenerateContentStream(model, contents, config);
return this.apiClient
Expand Down Expand Up @@ -170,7 +170,7 @@ CompletableFuture<EmbedContentResponse> privateEmbedContent(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest =
models.buildRequestForPrivateEmbedContent(
model, contents, content, embeddingApiType, config);
Expand Down Expand Up @@ -198,7 +198,7 @@ CompletableFuture<GenerateImagesResponse> privateGenerateImages(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest = models.buildRequestForPrivateGenerateImages(model, prompt, config);
return this.apiClient
.asyncRequest("post", builtRequest.path(), builtRequest.body(), builtRequest.httpOptions())
Expand Down Expand Up @@ -230,7 +230,7 @@ CompletableFuture<EditImageResponse> privateEditImage(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest =
models.buildRequestForPrivateEditImage(model, prompt, referenceImages, config);
return this.apiClient
Expand Down Expand Up @@ -260,7 +260,7 @@ CompletableFuture<UpscaleImageResponse> privateUpscaleImage(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest =
models.buildRequestForPrivateUpscaleImage(model, image, upscaleFactor, config);
return this.apiClient
Expand Down Expand Up @@ -302,7 +302,7 @@ public CompletableFuture<RecontextImageResponse> recontextImage(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest = models.buildRequestForRecontextImage(model, source, config);
return this.apiClient
.asyncRequest("post", builtRequest.path(), builtRequest.body(), builtRequest.httpOptions())
Expand Down Expand Up @@ -340,7 +340,7 @@ public CompletableFuture<SegmentImageResponse> segmentImage(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest = models.buildRequestForSegmentImage(model, source, config);
return this.apiClient
.asyncRequest("post", builtRequest.path(), builtRequest.body(), builtRequest.httpOptions())
Expand All @@ -366,7 +366,7 @@ public CompletableFuture<Model> get(String model, GetModelConfig config) {
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest = models.buildRequestForGet(model, config);
return this.apiClient
.asyncRequest("get", builtRequest.path(), builtRequest.body(), builtRequest.httpOptions())
Expand All @@ -384,7 +384,7 @@ CompletableFuture<ListModelsResponse> privateList(ListModelsConfig config) {
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest = models.buildRequestForPrivateList(config);
return this.apiClient
.asyncRequest("get", builtRequest.path(), builtRequest.body(), builtRequest.httpOptions())
Expand Down Expand Up @@ -416,7 +416,7 @@ public CompletableFuture<Model> update(String model, UpdateModelConfig config) {
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest = models.buildRequestForUpdate(model, config);
return this.apiClient
.asyncRequest("patch", builtRequest.path(), builtRequest.body(), builtRequest.httpOptions())
Expand All @@ -442,7 +442,7 @@ public CompletableFuture<DeleteModelResponse> delete(String model, DeleteModelCo
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest = models.buildRequestForDelete(model, config);
return this.apiClient
.asyncRequest(
Expand Down Expand Up @@ -479,7 +479,7 @@ public CompletableFuture<CountTokensResponse> countTokens(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest = models.buildRequestForCountTokens(model, contents, config);
return this.apiClient
.asyncRequest("post", builtRequest.path(), builtRequest.body(), builtRequest.httpOptions())
Expand Down Expand Up @@ -515,7 +515,7 @@ public CompletableFuture<ComputeTokensResponse> computeTokens(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest = models.buildRequestForComputeTokens(model, contents, config);
return this.apiClient
.asyncRequest("post", builtRequest.path(), builtRequest.body(), builtRequest.httpOptions())
Expand Down Expand Up @@ -555,7 +555,7 @@ CompletableFuture<GenerateVideosOperation> privateGenerateVideos(
if (!Common.isZero(config)) {
parameterBuilder.config(config);
}
JsonNode parameterNode = JsonSerializable.toJsonNode(parameterBuilder.build());
JsonNode parameterNode = Common.toJsonNode(parameterBuilder.build());
BuiltRequest builtRequest =
models.buildRequestForPrivateGenerateVideos(model, prompt, image, video, source, config);
return this.apiClient
Expand Down Expand Up @@ -1076,7 +1076,7 @@ public CompletableFuture<AsyncPager<Model>> list(ListModelsConfig config) {
}
final ListModelsConfig updatedConfig = configBuilder.build();

Function<JsonSerializable, CompletableFuture<JsonNode>> request =
Function<Object, CompletableFuture<JsonNode>> request =
requestConfig -> {
if (!(requestConfig instanceof ListModelsConfig)) {
throw new GenAiIOException(
Expand Down
8 changes: 3 additions & 5 deletions src/main/java/com/google/genai/AsyncPager.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@
/** AsyncPager class for handling paginated results asynchronously. */
public class AsyncPager<T extends JsonSerializable> extends BasePager<T> {

private final Function<JsonSerializable, CompletableFuture<JsonNode>> asyncRequest;
private final Function<Object, CompletableFuture<JsonNode>> asyncRequest;
private final CompletableFuture<Void> initializationFuture;

/** Constructs an AsyncPager. */
AsyncPager(
BasePager.PagedItem pagedItem,
Function<JsonSerializable, CompletableFuture<JsonNode>> asyncRequest,
Function<Object, CompletableFuture<JsonNode>> asyncRequest,
ObjectNode requestConfig,
CompletableFuture<JsonNode> responseFuture) {
super(pagedItem, requestConfig);
Expand Down Expand Up @@ -67,9 +67,7 @@ public CompletableFuture<ImmutableList<T>> nextPage() {
}
try {
return asyncRequest
.apply(
JsonSerializable.fromJsonNode(
requestConfig, pagedItem.requestConfigClass()))
.apply(Common.fromJsonNode(requestConfig, pagedItem.requestConfigClass()))
.thenApply(
response -> {
initNewPage((JsonNode) response);
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/google/genai/AsyncSession.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
import com.google.genai.types.LiveClientContent;
import com.google.genai.types.LiveClientMessage;
import com.google.genai.types.LiveClientToolResponse;
import com.google.genai.types.LiveServerSetupComplete;
import com.google.genai.types.LiveSendClientContentParameters;
import com.google.genai.types.LiveSendRealtimeInputParameters;
import com.google.genai.types.LiveSendToolResponseParameters;
import com.google.genai.types.LiveServerMessage;
import com.google.genai.types.LiveServerSetupComplete;
import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;

Expand Down Expand Up @@ -105,7 +105,7 @@ public CompletableFuture<Void> sendToolResponse(LiveSendToolResponseParameters t
private CompletableFuture<Void> send(LiveClientMessage input) {

LiveConverters liveConverters = new LiveConverters(apiClient);
JsonNode parameterNode = JsonSerializable.toJsonNode(input);
JsonNode parameterNode = Common.toJsonNode(input);

ObjectNode body;
if (this.apiClient.vertexAI()) {
Expand All @@ -114,7 +114,7 @@ private CompletableFuture<Void> send(LiveClientMessage input) {
body = liveConverters.liveClientMessageToMldev(parameterNode, null);
}

return CompletableFuture.runAsync(() -> websocket.send(JsonSerializable.toJsonString(body)));
return CompletableFuture.runAsync(() -> websocket.send(Common.toJsonString(body)));
}

/**
Expand Down
Loading
Loading