Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
871d849
add : version file
Dec 19, 2025
a4fe90e
Merge remote-tracking branch 'upstream/main'
Jan 20, 2026
093480b
Merge remote-tracking branch 'upstream/main'
Jan 20, 2026
b0d8f0d
removed logs
Jan 27, 2026
4daa678
Merge remote-tracking branch 'upstream/main'
Jan 28, 2026
bd29429
chore(main): release 1.5.0
adk-java-releases-bot Jun 20, 2026
a2187f8
Merge remote-tracking branch 'upstream/main'
claude Jun 20, 2026
f0a6d52
feat: track token usage for live (BIDI) sessions via plugin callbacks
claude Jun 20, 2026
fb8b5fe
docs: add live BIDI token-tracking harness example
claude Jun 20, 2026
a5a74b6
test: extend live token harness to probe per-turn vs cumulative usage
claude Jun 20, 2026
6ef37cc
fix: sum per-turn token usage instead of keeping latest value
claude Jun 20, 2026
f18b23d
Merge pull request #1239 from google:release-please--branches--main
copybara-github Jun 22, 2026
9a8aeb9
chore(main): release 1.5.1-SNAPSHOT
adk-java-releases-bot Jun 22, 2026
3737885
Merge pull request #1291 from google:release-please--branches--main
copybara-github Jun 22, 2026
fa94438
feat: Add ADK Java Issue Triaging Agent sample
google-genai-bot Jun 22, 2026
1159479
Merge branch 'claude/live-bidi-token-tracking' of https://github.com/…
alfredjimmy-redbus Jun 23, 2026
3d49867
token tracking for bidi
alfredjimmy-redbus Jun 23, 2026
f14f644
feat: Add ADK PR Triaging Agent for google/adk-java
google-genai-bot Jun 23, 2026
1fa262e
Merge branch 'main' into token_tracking
alfredjimmy-redbus Jun 23, 2026
cfe33b9
added MapDB Support and Ollama basic integration basis https://github…
alfredjimmy-redbus Jun 23, 2026
f8110ec
Merge branch 'temp-br' into token_tracking
alfredjimmy-redbus Jun 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions .github/workflows/pr-triage-adk-java.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Triages newly-opened (and reopened/edited) adk-java pull requests with the ADK
# PR Triaging Agent sample under contrib/samples/github/adkprtriaging. The agent
# labels the PR and, when it falls short of the contribution guidelines, posts a
# single comment asking the author for the missing context.
#
# Required repository secrets:
# - GOOGLE_API_KEY : Gemini API key (or wire up Vertex AI credentials and
# set GOOGLE_GENAI_USE_VERTEXAI=TRUE).
# Labeling/commenting uses the built-in GITHUB_TOKEN (no secret to manage); the
# `permissions:` block below grants it the `pull-requests: write` scope it needs.
# Swap in a PAT only if you specifically want triage actions attributed to a
# distinct bot identity.
#
# Security note: this workflow uses `pull_request_target`, so it runs with the
# base repository's token/secrets. It deliberately relies on the DEFAULT checkout
# (the base branch) and never checks out the PR head, so untrusted PR code is
# never executed — the agent only reads the PR through the GitHub API. The agent
# additionally treats the PR title/body/diff as untrusted data, binds its writes
# to the triggering PR number and a fixed label allowlist, and pins writes to
# this repository (see the sample's README for the full threat model).
name: ADK PR Triaging Agent

on:
pull_request_target:
types: [opened, reopened, edited]
workflow_dispatch:
inputs:
pr_number:
description: 'The pull request number to triage'
required: true
type: 'string'

# Serialize runs that touch the same PR so a re-trigger (e.g. an "edited" event)
# can't race an in-flight run on the same PR (which, with label appends, could
# duplicate labels or comments).
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.inputs.pr_number }}
cancel-in-progress: false

jobs:
agent-triage-pull-request:
runs-on: ubuntu-latest
# Only run on the upstream repo, for newly-opened/reopened/edited PRs or a
# manual dispatch.
if: >-
github.repository == 'google/adk-java' && (
github.event_name == 'workflow_dispatch' ||
github.event.action == 'opened' ||
github.event.action == 'reopened' ||
github.event.action == 'edited'
)
permissions:
pull-requests: write
contents: read

steps:
# Default checkout: the base branch (trusted code), NOT the PR head.
- name: Checkout repository
uses: actions/checkout@v6

- name: Set up Java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: '17'
cache: maven

- name: Run PR Triaging Agent
env:
# Built-in token scoped by the `permissions:` block above. Replace with a
# PAT (e.g. ${{ secrets.ADK_TRIAGE_AGENT }}) only if you need a distinct
# bot identity for the label/comment actions.
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_GENAI_USE_VERTEXAI: '0'
OWNER: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
INTERACTIVE: '0'
# Defaults to a dry run (logs intended labels/comments without writing).
# Verify the pipeline, then set DRY_RUN to '0' to go live.
DRY_RUN: '1'
EVENT_NAME: ${{ github.event_name }}
PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number || github.event.inputs.pr_number }}
run: |
# Install the ADK libs + this sample, then run exec:java scoped to this
# module (exec:java with -am would also run on the parent/core modules,
# which have no mainClass).
./mvnw -B -q -pl contrib/samples/github/adkprtriaging -am install -DskipTests
./mvnw -B -q -pl contrib/samples/github/adkprtriaging exec:java
82 changes: 82 additions & 0 deletions .github/workflows/triage-adk-java-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Triages newly-opened (and, on a schedule, untriaged) adk-java issues with the
# ADK Issue Triaging Agent sample under contrib/samples/github/adktriaging.
#
# Required repository secrets:
# - GOOGLE_API_KEY : Gemini API key (or wire up Vertex AI credentials and
# set GOOGLE_GENAI_USE_VERTEXAI=TRUE).
# Labeling/assignment uses the built-in GITHUB_TOKEN (no secret to manage); the
# `permissions:` block below grants it the `issues: write` scope it needs. Swap
# in a PAT only if you specifically want triage actions attributed to a distinct
# bot identity.
name: ADK Issue Triaging Agent

on:
issues:
types: [opened]
schedule:
# Run every 6 hours to triage untriaged issues.
- cron: '0 */6 * * *'
workflow_dispatch:

# Serialize runs that touch the same issue so the scheduled batch sweep can't race
# a per-issue run on that issue (which, with label appends, could duplicate labels).
concurrency:
group: ${{ github.workflow }}-${{ github.event.issue.number || github.ref }}
cancel-in-progress: false

jobs:
agent-triage-issues:
runs-on: ubuntu-latest
# Only run on the upstream repo, for newly-opened issues, the scheduled
# batch sweep, or a manual dispatch.
if: >-
github.repository == 'google/adk-java' && (
github.event_name == 'schedule' ||
github.event_name == 'workflow_dispatch' ||
github.event.action == 'opened'
)
permissions:
issues: write
contents: read

steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Set up Java
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: '17'
cache: maven

- name: Run Triaging Agent
env:
# Built-in token scoped by the `permissions:` block above. Replace with a
# PAT (e.g. ${{ secrets.ADK_TRIAGE_AGENT }}) only if you need a distinct
# bot identity for the label/assignment actions.
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_GENAI_USE_VERTEXAI: '0'
OWNER: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
INTERACTIVE: '0'
# Defaults to a dry run (logs intended labels/assignees without writing).
# Verify the pipeline, then set DRY_RUN to '0' to go live.
DRY_RUN: '1'
EVENT_NAME: ${{ github.event_name }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
ISSUE_TITLE: ${{ github.event.issue.title }}
ISSUE_BODY: ${{ github.event.issue.body }}
# Number of issues to process per scheduled batch run.
ISSUE_COUNT_TO_PROCESS: '3'
# Comma-separated GitHub handles to round-robin assign issues to.
# Owner assignment is skipped while this is empty. Store the real
# handles in a repo secret/variable rather than committing them.
GTECH_ASSIGNEES: ${{ vars.GTECH_ASSIGNEES }}
run: |
# Install the ADK libs + this sample, then run exec:java scoped to this
# module (exec:java with -am would also run on the parent/core modules,
# which have no mainClass).
./mvnw -B -q -pl contrib/samples/github/adktriaging -am install -DskipTests
./mvnw -B -q -pl contrib/samples/github/adktriaging exec:java
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.4.0"
".": "1.5.0"
}
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# Changelog

## [1.5.0](https://github.com/google/adk-java/compare/v1.4.0...v1.5.0) (2026-06-20)


### Features

* add avatar config support to the live streaming flow ([fb9274e](https://github.com/google/adk-java/commit/fb9274e37d20f57deee303346884d5e16b02be41))
* add GitHub release-docs analyzer (Java) ([792d2f4](https://github.com/google/adk-java/commit/792d2f404c0da73b4ca0cd77c3a2838cd2b8e185))
* Add thought signature support for chat completions ([287987a](https://github.com/google/adk-java/commit/287987a182203f1333299adffe9cf2d281ac94b7))
* bump google-genai dependency to 1.58.0 ([3abcf4f](https://github.com/google/adk-java/commit/3abcf4fbbe024c563ec7762b26fca4d7c72cda6a))
* Enhance BigQuery Agent Analytics Plugin with new event types ([ec93f50](https://github.com/google/adk-java/commit/ec93f50f10125f5a3728d372e16be4530f12553f))
* support optional types in function tool parameters ([9a06dd3](https://github.com/google/adk-java/commit/9a06dd34dc823af54d3ea229a0d141768593d376))
* Update token usage reporting to include thoughts and cache tokens ([436b802](https://github.com/google/adk-java/commit/436b80246b97b149c931e8eea07fc5737db8ad01))


### Bug Fixes

* Bypass redundant getSession read in ADK Runner ([aaedcaf](https://github.com/google/adk-java/commit/aaedcaf9877b62a34001009727cdaaa1df03c03d))
* convert unsupported artifact MIME types to text ([a60c246](https://github.com/google/adk-java/commit/a60c246de7ebf42530ad06674c086d416b0377ba))
* initialize event ID when creating compaction events ([fc480ec](https://github.com/google/adk-java/commit/fc480eccbdbe864812f30724678d8879682d76ca))
* SkillMdPath should be public ([29d3203](https://github.com/google/adk-java/commit/29d3203a6fab4268a3588acddde7b59c73f7b624))
* stop dropping the latest event(s) in VertexAiSessionService.getSession ([987ef4e](https://github.com/google/adk-java/commit/987ef4e9d169cdde5afa736aa920f207863c10b9))
* wait for the Runner to persist a step's events before the ADK flow's next step (sequential-tool-execution race) ([0a40557](https://github.com/google/adk-java/commit/0a405576a14393a4131f014defc354b44644c4f0))


### Performance Improvements

* filter session events server-side by afterTimestamp in VertexAiSessionService.getSession ([e12baa2](https://github.com/google/adk-java/commit/e12baa28f7be17564ab122ba73072d7772e25601))

## [1.4.0](https://github.com/google/adk-java/compare/v1.3.0...v1.4.0) (2026-05-29)


Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,13 @@ If you're using Maven, add the following to your dependencies:
<dependency>
<groupId>com.google.adk</groupId>
<artifactId>google-adk</artifactId>
<version>1.4.0</version>
<version>1.5.0</version>
</dependency>
<!-- Dev UI -->
<dependency>
<groupId>com.google.adk</groupId>
<artifactId>google-adk-dev</artifactId>
<version>1.4.0</version>
<version>1.5.0</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion a2a/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.google.adk</groupId>
<artifactId>google-adk-parent</artifactId>
<version>1.4.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<version>1.5.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
</parent>

<artifactId>google-adk-a2a</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion contrib/firestore-session-service/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<parent>
<groupId>com.google.adk</groupId>
<artifactId>google-adk-parent</artifactId>
<version>1.4.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<version>1.5.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion contrib/langchain4j/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<parent>
<groupId>com.google.adk</groupId>
<artifactId>google-adk-parent</artifactId>
<version>1.4.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<version>1.5.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion contrib/planners/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<parent>
<groupId>com.google.adk</groupId>
<artifactId>google-adk-parent</artifactId>
<version>1.4.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<version>1.5.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion contrib/samples/a2a_basic/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.google.adk</groupId>
<artifactId>google-adk-samples</artifactId>
<version>1.4.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<version>1.5.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<relativePath>..</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion contrib/samples/a2a_server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.google.adk</groupId>
<artifactId>google-adk-samples</artifactId>
<version>1.4.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<version>1.5.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<relativePath>..</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion contrib/samples/configagent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.google.adk</groupId>
<artifactId>google-adk-samples</artifactId>
<version>1.4.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<version>1.5.1-SNAPSHOT</version><!-- {x-version-update:google-adk:current} -->
<relativePath>..</relativePath>
</parent>

Expand Down
Loading