Update

all: run golangci-lint fmt happy (#308)

Koichi Shiraishi
2 weeks ago

Commit: e0c09d1

Date: November 19, 2025 at 8:01 AM

Signed-off-by: Koichi Shiraishi

$ go run github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest fmt

Signed-off-by: Koichi Shiraishi

---------

Signed-off-by: Koichi Shiraishi

Update

Added minor linter fixes. (#311)

Dmitry Pasiukevich
3 weeks ago

Commit: a09263b

Date: November 18, 2025 at 1:29 PM

Commit: 0a038b6

Date: November 14, 2025 at 4:18 PM

fix TraceMergedToolCalls() comment

fix untracked files

Commit: dabb9bd

Date: November 14, 2025 at 4:15 PM

Update

Add CONTRIBUTING.md (#286)

Dmitry Pasiukevich
3 weeks ago

Commit: 8df5415

Date: November 14, 2025 at 10:47 AM

Fix

all: run modernize happy (#281)

Koichi Shiraishi
3 weeks ago

Commit: 7a27c16

Date: November 14, 2025 at 3:33 AM

$ go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...

Signed-off-by: Koichi Shiraishi

Commit: f1d3cc5

Date: November 13, 2025 at 9:26 PM

Add nil check in Flow.callLLM() after BeforeModelCallbacks but before

accessing Model.GenerateContent(). This prevents a nil pointer dereference

panic when an llmagent is created without a Model configuration.

The check is positioned after BeforeModelCallbacks to allow callbacks that

return cached responses to short-circuit execution without requiring a Model.

This provides a clear error message instead of a cryptic segmentation fault:

'agent %q has no Model configured; ensure Model is set in llmagent.Config'

Preserves valid use cases:

Fixes panic: runtime error: invalid memory address or nil pointer

dereference when sub-agents without Models were invoked.

Update

Allow using a custom MCP client (#276)

Jaana Dogan
3 weeks ago

Commit: 7f5fe5e

Date: November 13, 2025 at 4:39 PM

Update

Restructure the REST API packages (#254)

Jaana Dogan
3 weeks ago

Commit: f5d265a

Date: November 13, 2025 at 4:30 PM

Commit: 437ef38

Date: November 13, 2025 at 4:29 PM

This change re-introduces error as a possible return value for function tools. The previous removal of this feature led to poor error-handling patterns, as functions often need to signal failures from validation, I/O, or network calls. Restoring the ability to return errors allows for conventional error handling.

Fixes #260.

Breaking

Remove misleading session service (#273)

Jaana Dogan
3 weeks ago

Commit: 7b07455

Date: November 13, 2025 at 3:43 PM

VertexAI chat isn't suitable for session storage, and the implementation returns a fake "test-id" as the session ID. Remove this package.

Commit: b5bc2c3

Date: November 13, 2025 at 3:40 PM

Per Go style guideline, avoid repetitiveness caused by package name in identifier names.

Commit: 9992414

Date: November 13, 2025 at 10:01 AM

Commit: cffe3b0

Date: November 12, 2025 at 12:18 PM

Removed comments about the preferred integration method and the public SetupRouter helper.

Add a newline at the end of the file.

---------

Co-authored-by: Dmitry Pasiukevich

Improvement

Add automigrate function to database package. (#241)

João Westerberg
3 weeks ago

Commit: 4336819

Date: November 12, 2025 at 9:11 AM

---------

Co-authored-by: Dmitry Pasiukevich

Commit: f7322b1

Date: November 12, 2025 at 5:39 AM

Beacuse there will be other protocols we will have to support soon, and implement new Agent implementations. We can provide all first class remote agent implementations from this package.

Commit: b51b0ee

Date: November 11, 2025 at 10:31 AM

---------

Co-authored-by: Dmitry Pasiukevich

Improvement

Improve readability in examples (#253)

Jaana Dogan
4 weeks ago

Commit: 9157fd1

Date: November 11, 2025 at 10:15 AM

Developers usually copy/paste these sample. Provide minor readability improvements.

---------

Co-authored-by: Dmitry Pasiukevich

Breaking

Remove the cmd/launcher/adk package (#252)

Jaana Dogan
4 weeks ago

Commit: e385395

Date: November 11, 2025 at 9:53 AM

---------

Co-authored-by: Dmitry Pasiukevich

Commit: c6af0f0

Date: November 11, 2025 at 9:37 AM

Commit: e4c5333

Date: November 11, 2025 at 9:36 AM

Update

Avoid the unnecessary type alias (#250)

Jaana Dogan
4 weeks ago

Commit: 7e06e5b

Date: November 11, 2025 at 9:36 AM

Type aliases are useful for large scale refactoring for a gradual transition. They used to be used only exceptional cases when the old code has to keep using the old type.

Update

Typo in package comment (#246)

Marc Herbrechter
4 weeks ago

Commit: 2325424

Date: November 10, 2025 at 1:34 PM

---------

Co-authored-by: Dmitry Pasiukevich

New

Bo-Yi Wu
4 weeks ago

Commit: cbf8d4f

Date: November 10, 2025 at 12:46 PM

Signed-off-by: appleboy

Signed-off-by: appleboy

Signed-off-by: appleboy

---------

Signed-off-by: appleboy

Breaking

Add .gitignore for adk-go (#230)

hulk
4 weeks ago

Commit: db9205e

Date: November 10, 2025 at 12:25 PM

---------

Co-authored-by: Dmitry Pasiukevich

Update

cmd/adkgo: hide adkgo subpackages to internal (#232)

Hyang-Ah Hana Kim
1 month ago

Commit: 445add1

Date: November 7, 2025 at 6:46 PM

They don't need to be public yet.

Update

Add artifact docs (#231)

ngeorgy
1 month ago

Commit: 185ba8d

Date: November 7, 2025 at 3:03 PM

Breaking

Remove examples.Run method and update public docs (#229)

Dmitry Pasiukevich
1 month ago

Commit: 25c34c5

Date: November 7, 2025 at 12:03 PM

Fix

branch prefix checking (#228)

ngeorgy
1 month ago

Commit: 1aee1b5

Date: November 7, 2025 at 11:12 AM

Update

Add runner package docs. (#227)

Dmitry Pasiukevich
1 month ago

Commit: 68a9844

Date: November 7, 2025 at 10:27 AM

Update

Add tool docs (#224)

ngeorgy
1 month ago

Commit: 693f47b

Date: November 7, 2025 at 10:26 AM

Commit: b82cf83

Date: November 6, 2025 at 6:00 PM

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

New

a2a example (#222)

Yaroslav
1 month ago

Commit: a8f2b0e

Date: November 6, 2025 at 2:59 PM

Update

Comments for cmd/adkgo and cmd/launcher (#220)

Karol Droste
1 month ago

Commit: 4251f7d

Date: November 6, 2025 at 1:55 PM

Update

Add llmagent docs (#221)

Dmitry Pasiukevich
1 month ago

Commit: 5ba0fd7

Date: November 6, 2025 at 1:50 PM

Update

Handle partial events in console launcher (#219)

Dmitry Pasiukevich
1 month ago

Commit: 18150b3

Date: November 6, 2025 at 12:32 PM

Update

Add gemini tracking headers. (#218)

João Westerberg
1 month ago

Commit: b81ab80

Date: November 6, 2025 at 12:31 PM

Update

Expose event.IsFinalResponse() (#217)

Dmitry Pasiukevich
1 month ago

Commit: bd771b9

Date: November 6, 2025 at 11:05 AM

Fix

Add handling for nil Content (#216)

Karol Droste
1 month ago

Commit: 0e799ff

Date: November 6, 2025 at 10:52 AM

Update

Add nightly build badges (#215)

Dmitry Pasiukevich
1 month ago

Commit: 88f07ba

Date: November 6, 2025 at 9:05 AM

Update

Update LICENSE file name and go doc link (#214)

Dmitry Pasiukevich
1 month ago

Commit: ccd61aa

Date: November 5, 2025 at 9:27 PM

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

Update

Update README.md (#213)

Maciej Zasada
1 month ago

Commit: 257321e

Date: November 5, 2025 at 7:23 PM

Use google.golang.org/adk instead of github.com target

Update

Update README.md (#212)

Maciej Zasada
1 month ago

Commit: 4e594e4

Date: November 5, 2025 at 7:00 PM

Update

Add docs for the agent package. (#209)

Dmitry Pasiukevich
1 month ago

Commit: 2fc2a4b

Date: November 5, 2025 at 6:21 PM

Update

Implement EndInvocation (#206)

ngeorgy
1 month ago

Commit: a5f7812

Date: November 5, 2025 at 2:53 PM

Commit: 4e3f8ef

Date: November 5, 2025 at 2:48 PM

Update

Update README.md (#207)

Maciej Zasada
1 month ago

Commit: 40a2ba2

Date: November 5, 2025 at 1:59 PM

Add links to the other ADKs.

Fix

parallel agent data race (#203)

João Westerberg
1 month ago

Commit: 2ebcd61

Date: November 5, 2025 at 1:18 PM

New

Remove unsupported RunConfig fields. (#202)

Dmitry Pasiukevich
1 month ago

Commit: dd8b832

Date: November 4, 2025 at 3:22 PM

Those were added in the very beginning. But we kept Live feature support for later adk-go versions.

I'm removing these fields to adoid confusion from users.

Breaking

Remove adkgo run local and build webui (#201)

Karol Droste
1 month ago

Commit: fc146ad

Date: November 4, 2025 at 12:24 PM

Commit: 1ac0a25

Date: November 4, 2025 at 12:17 PM

Commit: 294c298

Date: November 4, 2025 at 12:09 PM

Update

Comments and names (#199)

Karol Droste
1 month ago

Commit: 82bef94

Date: November 4, 2025 at 11:25 AM

Fix

universal launcher test example (#181)

Yaroslav
1 month ago

Commit: c390af8

Date: November 3, 2025 at 6:39 PM

---------

Co-authored-by: Dmitry Pasiukevich

Update

Add region to gcloud proxy (#197)

Karol Droste
1 month ago

Commit: bcf15ed

Date: November 3, 2025 at 6:29 PM

Commit: deddaac

Date: November 3, 2025 at 6:26 PM

Commit: cc1a990

Date: November 3, 2025 at 4:03 PM

Update

Add rootname validation to parentMap (#195)

João Westerberg
1 month ago

Commit: 96f2973

Date: November 3, 2025 at 3:20 PM

Commit: d682fb2

Date: November 3, 2025 at 10:26 AM

New

Add callback state modification (#192)

João Westerberg
1 month ago

Commit: 64491bf

Date: October 31, 2025 at 5:18 PM

New

Unified launcher (#185)

Karol Droste
1 month ago

Commit: 0befb4d

Date: October 31, 2025 at 2:44 PM

Commit: 15a76de

Date: October 31, 2025 at 10:27 AM

Fix

Add state scopes to inmemmory session service (#182)

João Westerberg
1 month ago

Commit: 91262b5

Date: October 31, 2025 at 9:17 AM

Commit: 5eb9968

Date: October 31, 2025 at 9:06 AM

Commit: e96b399

Date: October 30, 2025 at 2:36 PM

Fix

fix flaky remoteagent test (#190)

Yaroslav
1 month ago

Commit: 3248d98

Date: October 30, 2025 at 1:08 PM

Fix

Add DatabaseSessionService (#177)

João Westerberg
1 month ago

Commit: de4e4a1

Date: October 30, 2025 at 10:48 AM

New

Add InstructionProviders (#123)

Dmitry Pasiukevich
1 month ago

Commit: d80c2c1

Date: October 30, 2025 at 9:35 AM

Added for instruction and globalinstruction.

Also exported util InjectSessionState func.

Commit: 7cdc189

Date: October 29, 2025 at 1:48 PM

Update

use latest a2a (#187)

Yaroslav
1 month ago

Commit: d458a22

Date: October 29, 2025 at 10:37 AM

Commit: 5b52d9b

Date: October 28, 2025 at 12:27 PM

New

remote a2a agent (#167)

Yaroslav
1 month ago

Commit: a6cc67e

Date: October 24, 2025 at 11:03 AM

Implements a remote a2a agent.

An agent can be created as `remoteagent.New(remoteagent.A2AConfig{...})`.

The agent can be configured with either an `a2a.AgentCard` or an `AgentCardSource` pointing to a local file or an http resource.

Other options contain configurations for the various steps of execution: card resolution, message send configuration, client creation.

For remote agent input:

1. If the last session event is a user function tool response: send content parts as new message parts with the task and contextID matching those on the matching function tool call.

2. Combine parts from all the events after the last event authored by the remote agent and present them as a single user message.

For remote agent output:

1. `TaskStatusUpdate` event parts are converted to thoughts, unless it's the final task status updates.

2. Empty `TaskArtifactUpdate`s (no parts) are skipped.

3. Every event has a `CustomMetadata` with task and context IDs, the original A2A request and a matching A2A event.

4. If an error is generated during an execution it's converted to a session event with ErrorMessage.

These are slightly different from Python, but changes changes were made based on the implementation of `adka2a.NewExecutor`, I'll open a bug in their tracker to reconcile implementations.

New

remoteagent utils (#166)

Yaroslav
1 month ago

Commit: 37e0403

Date: October 24, 2025 at 6:57 AM

1. `getUserFunctionCallAt` returns a non-nil response if the last session event is a user function call response.

2. `toMissingRemoteSessionParts` collects parts from all the events not present in the remote agent session. An event is considered present in a remote session if there's an event at a higher index with remote agent as an author.

3. `presentAsUserMessage` takes an event authored by another agent and converts it to a user event describing the provided event, eg:

Update

Make llmagent.Config.IncludeContents a custom type (#180)

Dmitry Pasiukevich
1 month ago

Commit: 959ef80

Date: October 24, 2025 at 5:54 AM

This clarifies for users which actual values are available.

Commit: adb487b

Date: October 23, 2025 at 6:35 PM

Commit: 4d5117b

Date: October 23, 2025 at 3:54 PM

New

adka2a event mapper code (#165)

Yaroslav
1 month ago

Commit: f4f6a84

Date: October 23, 2025 at 2:27 PM

Commit: 93eccf7

Date: October 23, 2025 at 1:35 PM

Commit: d759896

Date: October 23, 2025 at 12:32 PM

Update

Rename tool.Set -> tool.Toolset (#176)

Dmitry Pasiukevich
1 month ago

Commit: 18bc277

Date: October 22, 2025 at 1:48 PM

From the feedback of ADK team, Toolset is one word so it should be named

as Toolset.

New

adka2a cli integration (part 4) (#153)

Yaroslav
1 month ago

Commit: 977d08a

Date: October 22, 2025 at 12:20 PM

Commit: 484c1b3

Date: October 22, 2025 at 12:18 PM

Update

Update agent/model callback name in agent config (#175)

Dmitry Pasiukevich
1 month ago

Commit: ee2a659

Date: October 22, 2025 at 11:24 AM

Update

Move each tool to its own package (#170)

Dmitry Pasiukevich
1 month ago

Commit: 7651a0a

Date: October 22, 2025 at 9:02 AM

This converges the tools API, as now some tools are in its package and

some are in the tool package.

Update

Update agent.Artifacts and Memory interfaces (#174)

Dmitry Pasiukevich
1 month ago

Commit: 8aca055

Date: October 22, 2025 at 8:44 AM

1. They now return actual responses instead a subset of it. This should

make it more prone to changes in future.

2. Added a context to parameters to get rid of context.Background() in

the Artifacts/Memory implementation.

Breaking

Remove tool.Tool from tool.Set interface (#173)

Dmitry Pasiukevich
1 month ago

Commit: 68f6428

Date: October 21, 2025 at 7:58 PM

Update

Update event.LLMResponse to be a struct (#168)

Dmitry Pasiukevich
1 month ago

Commit: d3427db

Date: October 21, 2025 at 12:24 PM

Right now it's a pointer, which requires checking for nil or explicitly

setting the field.

In addition, I've made llm.CreateLLMResponse func as adk internal, as

it's not needed to be in the public API.

Update

Add toolFilter to MCP ToolSet (#164)

Dmitry Pasiukevich
1 month ago

Commit: 2198be0

Date: October 20, 2025 at 6:53 PM

Update

Enable streaming by default in cli launcher (#163)

Dmitry Pasiukevich
1 month ago

Commit: 3a9f522

Date: October 20, 2025 at 3:10 PM

Fix

fix go.sum

Yaroslav Shevchuk
1 month ago

Commit: 94d7967

Date: October 20, 2025 at 12:26 PM

Commit: 20fee56

Date: October 20, 2025 at 8:13 AM

Executor invokes an ADK agent and translates session.Events to a2a.Events according to the following rules:

Else if there was an `LLMResponse` with long-running tool invocation, produce a `TaskStatusUpdateEvent` with `TaskStateInputRequired`.

Else produce a `TaskStatusUpdateEvent` with `TaskStateCompleted`.

There's no `TaskAuthRequiredState` production rules at the moment, because A2A assumes an Agent is still executing while waiting for auth credentials. A proper integration will require more research and planning.

Commit: 4b493e0

Date: October 20, 2025 at 7:51 AM

Event processing logic required for adka2a adapter.

Else if there was an `LLMResponse` with long-running tool invocation, produce a `TaskStatusUpdateEvent` with `TaskStateInputRequired`.

Else produce a `TaskStatusUpdateEvent` with `TaskStateCompleted`.

Fix

Universal executor (#159)

Karol Droste
1 month ago

Commit: cf95b74

Date: October 17, 2025 at 12:56 PM

Adds functionality to run the same code in console or web (according to command-line params).

Allows easier e2e tests for examples

Commit: 7cc2548

Date: October 15, 2025 at 1:46 PM

New

adka2a part mapping (part 1) (#150)

Yaroslav
1 month ago

Commit: 92bd90d

Date: October 14, 2025 at 5:24 PM

Fix

Add ExitLoop Tool (#138)

João Westerberg
1 month ago

Commit: 051d855

Date: October 13, 2025 at 8:44 PM

Update

Add Agent Tool (#140)

ngeorgy
1 month ago

Commit: 952b61c

Date: October 13, 2025 at 2:50 PM

Fix

Static UI serving path fix (#155)

Karol Droste
1 month ago

Commit: a223885

Date: October 13, 2025 at 1:32 PM

Commit: 41760bc

Date: October 13, 2025 at 11:11 AM

Python's ReadonlyContext/CallbackContext/ToolContext will allow

to access user id, branch, etc.

In the mean time, fix the tool.Context so it doesn't allow to

access to InvocationContext.

And add tests.

Commit: 08020f8

Date: October 10, 2025 at 4:11 PM

Commit: bb28888

Date: October 9, 2025 at 2:51 PM

Commit: 48a3a1c

Date: October 9, 2025 at 1:35 PM

Breaking

Remove 3rdpartylicenses.txt (#148)

ngeorgy
2 months ago

Commit: 735e0fe

Date: October 9, 2025 at 1:23 PM

Commit: af7b60a

Date: October 9, 2025 at 11:43 AM

Update

Small fixes (#145)

ngeorgy
2 months ago

Commit: b6e070d

Date: October 9, 2025 at 8:03 AM

Fix

the language name spelling in README (#143)

Jaana Dogan
2 months ago

Commit: 140b564

Date: October 8, 2025 at 7:47 AM

Update

Rename package memoryservice -> memory (#144)

Dmitry Pasiukevich
2 months ago

Commit: 1c967fb

Date: October 8, 2025 at 7:47 AM

Also:

internal/memory (with imemory import name) to make the internal

package naming consistent.

Update

Extract ProcessRequest from tools (#141)

ngeorgy
2 months ago

Commit: b5fb31f

Date: October 7, 2025 at 11:28 PM

Breaking

Remove agent.Context (#136)

Dmitry Pasiukevich
2 months ago

Commit: d893163

Date: October 7, 2025 at 1:45 PM

It's replaced with InvocationContext, ReadonlyContext and

CallbackContext to have ADK conformity.

Commit: 76e862b

Date: October 6, 2025 at 12:14 PM

Fix

examples to ignore aggregated event (#137)

João Westerberg
2 months ago

Commit: 0fd811f

Date: October 6, 2025 at 12:09 PM

New

Align to New(Config) for consistency (#135)

Dmitry Pasiukevich
2 months ago

Commit: a594958

Date: October 3, 2025 at 9:29 AM

In all places we use New(Config). The runner had New(*Config). Updating

it to align to one consistent approach.

Update

Rename artifactservice to artifact. (#134)

Dmitry Pasiukevich
2 months ago

Commit: 9b53121

Date: October 3, 2025 at 8:10 AM

Update

Rename sessionservice -> session.Service (#133)

Dmitry Pasiukevich
2 months ago

Commit: edad99a

Date: October 2, 2025 at 8:10 PM

Removed StoredSession and Session.ID for ADK conformity

Update

Update model.LLM interface to be ADK conformant (#132)

Dmitry Pasiukevich
2 months ago

Commit: 28e3009

Date: October 2, 2025 at 5:02 PM

Other ADKs' BaseLLM class exposes only one method: generate_content(req,

stream) -> iterator

Fix

multiple tools issue (#129)

ngeorgy
2 months ago

Commit: c2d13de

Date: October 2, 2025 at 12:54 PM

Commit: acb5dfb

Date: October 2, 2025 at 11:45 AM

Update

Rename package llm->model (#130)

Dmitry Pasiukevich
2 months ago

Commit: ea22150

Date: October 2, 2025 at 9:35 AM

Also 2 types rename:

llm.Request -> model.LLMRequest

llm.Response -> model.LLMResponse

Commit: ce11bc5

Date: October 1, 2025 at 12:06 PM

Commit: ca9cdbc

Date: September 30, 2025 at 2:42 PM

llmagent.Config.GenerateContentConfig was dropped. Correctly pass it.

Add a test that uses llmagent's handling of streaming genai api

and thinking mode, which indirectly tests GenerateContentConfig

configuration handling.

Commit: 556f806

Date: September 30, 2025 at 2:27 PM

Commit: 693415d

Date: September 29, 2025 at 1:21 PM

Update

adding run config for userloop example

Dima Stabrouski
2 months ago

Commit: 4d0e5c3

Date: September 29, 2025 at 10:22 AM

Commit: 1599bc5

Date: September 26, 2025 at 1:45 PM

Update LLMAgent to remove DisplayName from media files as Gemini API doesn't support that

Commit: 0d91e9a

Date: September 26, 2025 at 11:31 AM

There were two issues with load artifacts tool:

Unmarshalling json string array, it was treating string array as []any instead of []string, because of it it wasn't converting properly, leaving the artifactsName array empty.

The prompt wasn't completely right, the older prompt ran into issues like failing to process the artifact since it thought it could load them once and be done. But we want it to issue the load_artifact function call every time it needs to access them. I've asked about the issue to Java adk developer and they fixed it on their side as well.

I've also added example where I insert two artifacts and you can ask the agent about it and it can describe them without issues.

Fix

CLI for command build webui (#116)

Karol Droste
2 months ago

Commit: f1bef15

Date: September 26, 2025 at 9:39 AM

New

add the internal agent state (#121)

Dmitry Pasiukevich
2 months ago

Commit: 7d877d1

Date: September 26, 2025 at 8:00 AM

Update

extend mcp example with github mcp server (#122)

Dmitry Pasiukevich
2 months ago

Commit: 80de3f1

Date: September 25, 2025 at 6:53 PM

Improvement

Add rearrange events to content processor (#97)

João Westerberg
2 months ago

Commit: 9899067

Date: September 25, 2025 at 3:26 PM

Improvement

Add GCSArtifactService (#110)

João Westerberg
2 months ago

Commit: fe3a283

Date: September 25, 2025 at 2:41 PM

Rename functions and methods within the gcsService to improve clarity and align with Go conventions.

Moved the gcs artifact service implementation to a separate gcs package, and the test suite to artifactservice_test.

The mockable_gcs interface is only relevant for testing and its use can be limited to the gcs package.

Commit: f1d8000

Date: September 25, 2025 at 12:38 PM

update to jsonschema-go@v0.3.0

update github.com/modelcontextprotocol/go-sdk@v0.7.0

jsonschema-go@v0.3.0 isn't compatible with older version of mcp-go

New

Add MCP tool set basic logic (#100)

Dmitry Pasiukevich
2 months ago

Commit: 20c97a8

Date: September 25, 2025 at 7:34 AM

Tool sets are used for their Tools() method to extract tools during llm.request preprocess

Update

initial implementation of vertex ai session creation

Dima Stabrouski
2 months ago

Commit: c7ab027

Date: September 24, 2025 at 11:43 AM

Update

initial structure for vertex ai session service

Dima Stabrouski
2 months ago

Commit: e765c59

Date: September 23, 2025 at 3:03 PM

Commit: 7e70cc3

Date: September 23, 2025 at 9:52 AM

Commit: 4fa468a

Date: September 19, 2025 at 2:21 PM

Update

Rename CLI to adkgo (#113)

Karol Droste
2 months ago

Commit: 1dd3df1

Date: September 19, 2025 at 2:02 PM

Commit: 025b502

Date: September 19, 2025 at 11:55 AM

Implement basic graph representation of agents structure.

Commit: 8a2eb76

Date: September 19, 2025 at 11:48 AM

Implementation of artifact handlers in ADK-Web REST API.

Commit: f951e94

Date: September 19, 2025 at 11:04 AM

Implementation of runtime and app endpoints in ADK-Web REST API

Update

CLI & ADK WebUI support (#111)

Karol Droste
2 months ago

Commit: 8205a65

Date: September 19, 2025 at 10:30 AM

commands

Update

Minor fixes (#107)

ngeorgy
2 months ago

Commit: 4b8df2e

Date: September 18, 2025 at 3:15 PM

Commit: cba136a

Date: September 18, 2025 at 8:31 AM

Initial version of implementation of session service in ADK Web REST API.

Commit: 366201d

Date: September 17, 2025 at 3:55 PM

Commit: 11eec05

Date: September 17, 2025 at 3:47 PM

Update

Add LongRunningFunctionTool (#96)

João Westerberg
2 months ago

Commit: 26a8c68

Date: September 17, 2025 at 3:04 PM

Added LongRunningFunctionTool struct, the callIDs to long running tool are now stored in the Event.

Changes to longRunningTool and Tool comments.

Update

Init ADK-Web structure (#93)

Anastasia
2 months ago

Commit: 3ae0694

Date: September 16, 2025 at 11:10 AM

Initial structure for ADK-Web REST API service.

Update

Implement runner.Config (#102)

ngeorgy
2 months ago

Commit: a304842

Date: September 16, 2025 at 10:02 AM

Commit: 0ab6f11

Date: September 15, 2025 at 8:34 PM

Commit: 66870dc

Date: September 12, 2025 at 11:14 AM

Commit: 09ae8a8

Date: September 11, 2025 at 10:51 AM

Co-authored-by: Dmitry Pasiukevich

---------

Co-authored-by: Dmitry Pasiukevich

Commit: 6908892

Date: September 10, 2025 at 8:16 AM

Update

Add memoryservice with in-memory implementation. (#89)

Dmitry Pasiukevich
3 months ago

Commit: 4f35d0e

Date: September 9, 2025 at 12:48 PM

Reflects

https://github.com/google/adk-python/tree/e45c3be23895b5ec68908ad9ee19bd622dcbd003/src/google/adk/memory

It currently operates with session.Session. I'd follow up regarding the

use-cases for Session vs StoredSession and update if needed in future

PR.

Inmemory implementation is based on the 2-level map: {appName, userID} ->

sessionID -> {event + eventWords}

eventWords is a precomputation to fetch based on the read request words.

Commit: b246f59

Date: September 5, 2025 at 5:38 PM

Updated httprr files to reflect changes in jsonschema json marshalling

Reference: internal CL/803459492 by rfindley

Update

Implement load artifacts tool (#62)

ngeorgy
3 months ago

Commit: cc5edc3

Date: September 5, 2025 at 12:32 PM

Update

Make gemini tool adapter. (#90)

Dmitry Pasiukevich
3 months ago

Commit: f3d3773

Date: September 3, 2025 at 7:50 PM

Update

Add parallel agent. (#83)

Dmitry Pasiukevich
3 months ago

Commit: a1cb067

Date: August 29, 2025 at 4:41 PM

Commit: be08481

Date: August 28, 2025 at 8:59 PM

This would allow the callback implementation to inspect and take action

based on the actual agent response and errors.

Update

Minimize tool interface. (#87)

Dmitry Pasiukevich
3 months ago

Commit: 73f639c

Date: August 28, 2025 at 8:53 PM

Also added test to verify tools implement toolinternal interfaces.

Update

Align sessionservice interface with artifactservice. (#86)

Dmitry Pasiukevich
3 months ago

Commit: b7492cf

Date: August 26, 2025 at 5:29 PM

New

Ensure runner is created with a constructor. (#82)

Dmitry Pasiukevich
3 months ago

Commit: 4693cea

Date: August 22, 2025 at 10:24 AM

runner.New() creates agent tree

Update

Updated licensing, including httprr (#73)

Karol Droste
3 months ago

Commit: a19fcac

Date: August 21, 2025 at 1:19 PM

different parts )

Breaking

Remove types directory. (#81)

Dmitry Pasiukevich
3 months ago

Commit: 500d94f

Date: August 21, 2025 at 8:47 AM

Originally it held all public adk types together but we restructured it

to separate own packages.

Update

Migrate agent_run_config. (#75)

Dmitry Pasiukevich
3 months ago

Commit: 914bc3a

Date: August 21, 2025 at 8:32 AM

Added as runner.AgentRunConfig for users to specify runtime

configuration.

Update

Use Gemini 2.5 Flash in the example (#78)

Jaana Dogan
3 months ago

Commit: 4c853b7

Date: August 20, 2025 at 5:52 PM

Update

Use log.Fatal in examples instead of panic (#77)

Jaana Dogan
3 months ago

Commit: c6aadfc

Date: August 20, 2025 at 5:40 PM

Breaking

Remove empty file (#76)

Jaana Dogan
3 months ago

Commit: b262229

Date: August 20, 2025 at 5:40 PM

Breaking

Remove dead code (#74)

Jaana Dogan
3 months ago

Commit: 1bcecf5

Date: August 20, 2025 at 4:51 PM

As a part of the overall reconsuction effort, the contents of the types package is living in their corresponding package. Removing the dead/duplicate code that is not used for the rest of the packages.

Breaking

Minor code cleanup (#72)

Dmitry Pasiukevich
3 months ago

Commit: e7df4a5

Date: August 20, 2025 at 8:50 AM

1. Used t.Context() in tests instead of ctx.Background()

2. Minor updates to the in-memory service implementation:

* no error on delete not_found

* required fields set validation

Update

Introduce the internal parentmap. (#71)

Dmitry Pasiukevich
3 months ago

Commit: ff5f5ed

Date: August 19, 2025 at 7:27 AM

When an agent is created, adk automatically sets a parent for subagents.

This is done in the "agent" package.

For LLMAgent creation this means, it's needed to propagate "self" to

this code to ensure each subagent.Parent is set with a proper concrete

type of llmagent (and not just a base agent).

To get rid of the "self" field in the public API, we can move the agent

tree setup to an internal package, used by runner on creation.

Also, this shows an example of propagating data from runner to the

agent.

Such propagation will be done only for 2 cases:

logic).

Breaking

Remove old model package in favor of llm. (#70)

Dmitry Pasiukevich
3 months ago

Commit: 26eace3

Date: August 18, 2025 at 2:08 PM

Update

Bump genai to v1.20.0 (#69)

Dmitry Pasiukevich
3 months ago

Commit: dedaf8b

Date: August 18, 2025 at 1:36 PM

To sync with g3. Genai lib version 1.13 client generated URLs with

double //. This was captured by httprr.

But internally we use version genai 1.20 and its client has proper / in

the URIs.

This diff caused test failures internally due to httprr URL

mismatch.

New

Move llm agent code to new packages. (#68)

Dmitry Pasiukevich
3 months ago

Commit: 3c040a3

Date: August 18, 2025 at 7:36 AM

1. Now it uses new session, llm, agent, llmagent packages.

2. LLMAgent request processors are now moved to the internal package.

3. Test case logic is kept the same everywhere.

4. Diffs with the doc (these are temporary to simplify the

migration):

* Tool interface has ProcessRequest method and llm.Request has Tools

field. This is to keep current request_processors logic for

llmagent.

* agent.Config accepts Self field to allow setting correct entity as a

parent.

New

Update runner to new packages (#67)

Dmitry Pasiukevich
3 months ago

Commit: 363d074

Date: August 13, 2025 at 3:04 PM

It's mostly a placeholder for now.

agent.NewContext(...) will be used by the runner or agent packages to

create a new context for each agent Run call.

Now runner uses new packages: session, agent.

There is only types.AgentRunConfig but this will be updated in

subsequent PRs.

Remove internal runner -- because callback logic (the only logic there)

is now moved to agent, wrapping each agent Run.

Workflow agents are now structured as:

agent/workflowagents

loopagent/

sequentialagent/

And they are created now with

loopagent.New(...)

sequentialagent.New(...)

New

Update agent constructors. (#66)

Dmitry Pasiukevich
3 months ago

Commit: fef856d

Date: August 12, 2025 at 9:01 AM

From Builder{}.Agent() to more agent.New(agent.Config{}) and similarly

for LLMAgent.

Introduce internal/llmagent package to allow reading LLMAgent properties

in adk (e.g. runner).

Update

extend checks on CI (#57)

Yaroslav
3 months ago

Commit: 69503f3

Date: August 11, 2025 at 8:05 AM

Update

Partially migrate types.Event -> session.Event (#64)

Dmitry Pasiukevich
4 months ago

Commit: 77293cb

Date: August 8, 2025 at 10:10 AM

Let's do it iterativery, otherwise the PR may get quite large.

Update

Add sessionservice and inmemory implementation (#63)

Dmitry Pasiukevich
4 months ago

Commit: f4a0689

Date: August 8, 2025 at 8:35 AM

Update

Add loop and sequential agents. (#51)

Dmitry Pasiukevich
4 months ago

Commit: 2c77bb6

Date: August 6, 2025 at 10:03 AM

In addition also update runner to set event.Author if it's not set (e.g.

by a custom agent).

Logic to determine author is same as in adk-python: if event.contents.author

== "user" -> "user" else agent_name.

Commit: a63b6c6

Date: August 5, 2025 at 8:16 PM

It provides basic LLM definitions.

Current code is kept to have a buildable code. Later we will

update/move/cleanup this code.

Update

"Add ArtifactService to InvocationContext"

Giorgi Nigalidze
4 months ago

Commit: a6c7b48

Date: August 5, 2025 at 2:32 PM

This reverts commit 31206ec096b176480f6f05b317eed97711f43364.

Update

"Add ListArtifacts method to ToolContext"

Giorgi Nigalidze
4 months ago

Commit: 935c761

Date: August 5, 2025 at 2:31 PM

This reverts commit c0a642e0b0ec86ad51bc20950f581f4e401200ff.

Update

Add ListArtifacts method to ToolContext

Giorgi Nigalidze
4 months ago

Commit: c0a642e

Date: August 5, 2025 at 1:58 PM

Update

Add ArtifactService to InvocationContext

Giorgi Nigalidze
4 months ago

Commit: 31206ec

Date: August 5, 2025 at 11:15 AM

Breaking

Add agent events to session service in runner (#49)

Dmitry Pasiukevich
4 months ago

Commit: 86d3a16

Date: August 1, 2025 at 2:03 PM

Current implementation only adds user events.

Update

all: move core types to the types package (#56)

Hyang-Ah Hana Kim
4 months ago

Commit: bec9f02

Date: August 1, 2025 at 12:20 PM

The root of the module will host the documentation for users

and contributors.

Update

tool: add Google Search Tool (#46)

ngeorgy
4 months ago

Commit: b8e7b6d

Date: August 1, 2025 at 9:22 AM

Java example: https://github.com/google/adk-java/blob/main/core/src/main/java/com/google/adk/tools/GoogleSearchTool.java

Python example:

Python example: https://github.com/google/adk-python/blob/main/src/google/adk/tools/googlesearchtool.py

Update

all: use google.golang.org/adk (#52)

Hyang-Ah Hana Kim
4 months ago

Commit: dcddd83

Date: August 1, 2025 at 8:02 AM

Related: go.dev/cl/692135

New

Add examples dir (#50)

Dmitry Pasiukevich
4 months ago

Commit: 3babda3

Date: July 31, 2025 at 10:44 AM

It hosts basic simple examples with the intention for new users to easily try out ADK Go.

Update

Add before/after model callbacks (#48)

Dmitry Pasiukevich
4 months ago

Commit: f9c785d

Date: July 31, 2025 at 6:51 AM

Update

artifact: in-memory artifact service (#39)

Hyang-Ah Hana Kim
4 months ago

Commit: a82f85b

Date: July 31, 2025 at 6:31 AM

This is similar to the in-memory session service, and built on top

of the omap.

Update

Set initial user message in the invocation context (#47)

Dmitry Pasiukevich
4 months ago

Commit: 48a6557

Date: July 30, 2025 at 2:58 PM

Update

Add before/after agent callbacks. (#45)

Dmitry Pasiukevich
4 months ago

Commit: b31ac57

Date: July 30, 2025 at 7:19 AM

Update

Add findAgentToRun to the runner implementation. (#44)

Dmitry Pasiukevich
4 months ago

Commit: fbe6ba9

Date: July 30, 2025 at 5:59 AM

Update

"Update code for AgentSpec (#41)" (#43)

Dmitry Pasiukevich
4 months ago

Commit: 8c1db63

Date: July 29, 2025 at 7:51 AM

This reverts commit 0fbfaf374b8b0b89a71b698d01efaa96d796db17.

Update

Update code for AgentSpec (#41)

Dmitry Pasiukevich
4 months ago

Commit: 0fbfaf3

Date: July 28, 2025 at 9:23 AM

This removes need to embed/cast between agent types.

Currently all fields are exported but if we decide it would be easy to hide them behind constructor and accessors.

Update

Add basic runner implementation. (#36)

Dmitry Pasiukevich
4 months ago

Commit: e4d83d9

Date: July 25, 2025 at 8:18 AM

Commit: ccf7ac7

Date: July 25, 2025 at 5:54 AM

This change simplifies the Agent interface to be

```

type Agent interface {

Spec() *AgentSpec

Run(context.Context, InvocationContext) iter.Seq2[Event, error]

// TODO: RunLive

}

```

And consolidate common properties of ADK Agents into `AgentSpec`.

In the offline discussion, AgentSpec was suggested as a type in a sub package and used by LLMAgent and other custom agents. However, circular dependency makes it challenging and harder to maintain.

I hope it's not too bad to have AgentSpec along with the Agent.

The AgentSpec needs some initialization so it can be associated with the Agent that is containing the AgentSpec.

This is done by `Init`.

For example, if a logic in the AgentSpec needs to call the logic implemented in the containing Agent, it needs to know which Agent implementation it should use. See the usage of `AgentSpec.self` in this draft.

Instead of making the interface include methods like `Name`, `Parent`, `SubAgents`, `Description`, ...

I propose to have just `Spec()` that returns the Agent's AgentSpec. That will help us avoid expanding the interface.

Adding methods or fields to AgentSpec won't break custom agents in the future.

For LLMAgent, this PR experiments with the variadic Option

that can configure both LLMAgent's AgentSpec and LLMAgent's own properties.

Fix

agent: fix typo (#37)

Hyang-Ah Hana Kim
4 months ago

Commit: d3426f3

Date: July 25, 2025 at 12:09 AM

Obviously, we don't use this field yet.