Sergei Lilichenko
Sergei Lilichenko
### What would you like to happen? `*Option` classes contain `@Description` annotations which contain the details about the given option. But these annotations are no displayed in the generated Javadoc...
### What happened? BigQueryIO's CDC ingestion requires usage of RowMutationInformation class. This class was two pairs of methods to return the change sequence number. The recently deprecated pair, "public static...
### What would you like to happen? The current implementation recreates a TableRow from the protobuf message when withPropagateSuccessfulStorageApiWrites(true) is used. For tables with a large number of rows this...
### What would you like to happen? Stateful DoFns which use looping timers in ProcessTime domain need to clear the timers in order for the pipeline to drain properly when...
When actively developing in ADK a server reload is often required, which by default removes all in-memory stores. The UI is not aware that the current session is no longer...
Sometimes Gemini models generate a response like this: ``` { "candidates": [ { "content": { "role": "model" }, "finishReason": "MAX_TOKENS" } ], "createTime": "2025-06-12T20:56:46.627184Z", "modelVersion": "gemini-2.5-pro-preview-05-06", "responseId": "Dj9LaPCjJsCvgLUPgeGuqAU", "usageMetadata": {...
Similarly to tools, model's sub_agents are often need to be dynamically configured: based on the session's state, current user's permissions or some other factors. Tools can be dynamically configured using...
Occasionally the grounding metadata is returned in a partial response and is missing in the final one (occurred with gemini-2.5-flash model). In this case the ADK event don't contain the...
A tool ("get_incident_data) which has the following code ``` await tool_context.save_artifact("incident_data", Part(inline_data=Blob( display_name=f"Full data for incident {incident_id}", mime_type="text/json", data=full_data.model_dump_json().encode( "utf-8")))) ``` displays the follow widget in the UI: The button...
Currently, display name is not used, but it can be useful to provide in the UI. For example, this code: ``` await tool_context.save_artifact("incident_data", Part(inline_data=Blob( display_name=f"Full data for incident {incident_id}", mime_type="text/json",...