* Migrating from Map to typed data classes in FuncTool and LongRunningTool kotlin examples
* lint cleanup of kotlin snippets
* adding gradle wrapper for kotlin snippets
* cleaning up build file for kotlin
* fixing ktlint_code_style, added focus on included Gradle Wrapper
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add Kotlin to hero / front page
* Add quickstart page for Kotlin
* Complete Kotlin quickstart guide and fix hero code sample (#2)
* Replace GitHub repo links with language icons in header (#3)
* Fix header icon FOUC and homepage font weight regression (#4)
* Testing staging pipeline
* Revert test edit (for staging pipeline)
* Update language icon tooltips to indicate GitHub destination (#5)
* Add link to ADK Kotlin release notes (#7)
* Initial commit of ADK Kotlin API reference docs (#6)
* Add script to generate ADK Kotlin API reference docs (#8)
* Update links and link checker ignore list (temporarily) (#9)
* Add ADK Kotlin for Android getting started guide to Advanced setup page (#10)
* Add advanced setup page with steps to "Use ADK Kotlin in Android projects"
* Update temp link checker rules
* Add placeholder folder for adk-samples (#13)
* adding linter/compilation checks for kotlin snippets (#12)
* adding linter/compilation checks for kotlin snippets
* Add Kotlin validation scripts
* Initial commit of Kotlin sample agents for adk-samples (#15)
* Adding kotlin snippet for llm agents (#16)
* Adding kotlin snippets to Events (#17)
* Pull changes to docs/events/index.md from glaforge-kotlin-snippets
* fixing kotlin event timestamp and longRunningToolIds
* Fix language tags (#19)
* Fix language tags
* Update
* Fix wrapping
* Fix wrapping (again)
* Fix wrapping/format
* Fix language tag on integration page
* Enable check_paths in PyMdown Snippets Extension to make the build fail if a snippet can't be found (#20)
* Update mkdocs config (#21)
* Fix broken links, update URLs to adk.dev, and improve (temp) lychee config (#22)
* Add Kotlin/maven badge to README (#23)
* Adding Kotlin snippets for artifacts (#18)
* Pull Kotlin snippets for artifacts from glaforge-kotlin-snippets
* Add comprehensive Kotlin snippets for artifacts
* Refactor artifacts documentation to use external Kotlin snippets
* Update Kotlin model to gemini-flash-latest
* Fix GCS initialization in Kotlin artifact snippet
* afixi failing test with capital-agent added to files_to_check
* Fix snippet label syntax for MkDocs build
* Configure proper Gradle project for Kotlin snippets and fix dependencies
* Add KSP support and generated sources to Kotlin snippets build
* fixing capital_agent turnComplete
* Fix syntax error in build.gradle.kts by removing invalid placeholders (#25)
* Adding Kotlin snippets to google-gemini.md (#27)
Pulling kotlin changes to google-gemini.md from glaforge-kotlin-snippets
* Add a warning about not adding an api key to production code. (#28)
* Add a warning about not adding an api key to production code.
* Update note
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add ADK Demo App sample showcasing Gemini-powered agents (#29)
This sample demonstrates how to use the Google ADK (Agent Development Kit) in an Android application to create a chat interface powered by a Gemini-based "Fun Facts" agent. The implementation features:
* Integration with the Kotlin ADK core and processor libraries.
* A `FunFactsAgent` defined using `LlmAgent` and the Gemini model.
* A `ChatViewModel` utilizing `InMemoryRunner` for asynchronous message streaming.
* A modern UI built with Jetpack Compose and Material 3.
* Build configuration logic for secure API key management via environment variables or `local.properties`.
* Update Kotlin docs and samples to align with adk-kotlin API changes (#30)
Rename GeminiModel to Gemini, @AdkTool/@AdkParam to @Tool/@Param,
adkTools() to generatedTools(), replace DebugRunner with InMemoryRunner,
fix AgentLoader import path, use SingleAgentLoader, bump Kotlin to
2.3.21 and KSP to 2.3.7, and update Android minSdk from 24 to 26.
* adding kotlin info to READMEs (#14)
* Reorganize Android sample agent and add READMEs (#31)
* Move Android sample agent
* Update repo README, add Android README, update sample agent README
* Minor edit to language support tags (#32)
* Remove blog post link (#33)
Will re-add after it's published
* Remove examples link (#34)
* Adding Kotlin snippets for Sessions docs (#26)
* initial kotlins snippets additions to sessions docs
* Updating memory docs with kotlin snippets
* Adding kotlin snippets to session state docs.
* update model to gemini-flash-latest
* sessions examples clean-up
* fixing sessions snippet markers
* adding kotlin session snippets to files to test
* adding callback to memory_example
* Fixing capital agent snippet (#35)
Fixing file name
Updating adkTool > Tool
Updating GeminiModel > Gemini
* Adding kotlin snippets for tools docs (#36)
* adding function tool kotlin snippets
* adding function_tools snippets to files to test
* Adding kotlin snippets to observability docs (#37)
* initial kotlin observability updates
* adding observability snippets to file check (#38)
* Adding Kotlin snippets to Callbacks docs (#39)
* kotlin callbacks snippets
* adding callbacks snippets to file check
* Align Kotlin and KSP versions with published 0.1.0 artifacts (#40)
* switch CLI entry points from InMemoryRunner to ReplRunner (#41)
* Switch CLI entry points from InMemoryRunner to ReplRunner
* Fix wording
* Update API reference docs for Kotlin, 2026-05-18 (#42)
* Remove ADK on Android note until published (#43)
* Update Kotlin code samples (#44)
* Rename GeminiModel to Gemini in Kotlin snippets and docs
* Remove broken SessionKey call and use sessionId directly in AgentTool snippet
* Rewrite Go hero snippet to use llmagent API
* Use isFinalResponse with safe access in CapitalAgent snippet
* Use Role.USER constant instead of raw string in SetupExample
* Use full semver v0.1.0 in Kotlin language support tags
* Remove Android setup steps, moving to new property (#45)
* Tutorial Kotlin agent (#46)
* Adding multi-tool-agent snippet and updating tutorial
* Fixing Go language order on tutorial page
* adding multi tool agent example to files to test
* Inline Kotlin get-started code sample
* Kotlin Multi agents snippets (#47)
* Multi-agent kotlin snippets
* Fixing docs tags in multiagent example
* Fix Kotlin language support tags, code samples, and google-gemini.md cleanup (#48)
* Add Kotlin v0.1.0 to language support tags across docs
* Fix MultiToolAgent.kt model string and argument style
* Update MultiAgentExample.kt to use gemini-flash-latest model string
* Fix google-gemini.md: add Kotlin sample, remove unsupported Java tabs
* Remove explicit apiKey from CallbackBasic.kt for consistency
* Standardize Gemini() constructor to use named args in all snippets
* Remove adk-samples directory (moved to google/adk-samples#1969)
* Remove adk-samples directory (moved to google/adk-samples#1969) (#49)
* Update API reference docs for ADK Kotlin 0.1.0 (#50)
* Remove adk-samples directory (moved to google/adk-samples#1969)
* Update API reference docs for ADK Kotlin 0.1.0
* Remove kotlin lycheeignore config (#51)
* Remove adk-samples directory (moved to google/adk-samples#1969)
* Remove Kotlin .lycheeignore config links
---------
Co-authored-by: Toni Klopfenstein <2359976+ToniCorinne@users.noreply.github.com>
Co-authored-by: Jolanda Verhoef <JolandaVerhoef@users.noreply.github.com>
* Add agent routing and model routing docs for RoutedAgent and RoutedLlm in ADK JS
* Update example code snippets
* Add renamed code sample files
* Update lychee link checker config
* Shorten docs and snippets paths and filenames
* Update titles
* Rework intros
* Rework intros
* Add notes about experimental status
* Move InMemoryRunner outside of code snippet regions since it's unused in rendered snippet
* fix: working code for the new version
* fix: typos
* fix: lint
* Fix import paths, remove trailing underscore from prefix, and replace Runner with InMemoryRunner/run_debug for a self-contained runnable example.
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Adding initial confirmation js snippets
* updating confirmation tools examples to output text response to user to improve test flow
* fixing boolean_confirmation failure to deny excessive requests
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Add ambient agents documentation
Document how to build event-driven ambient agents using ADK trigger
endpoints and the /run endpoint. Covers Pub/Sub, Eventarc (Standard
and Advanced), Cloud Scheduler, concurrency control, retry logic,
session lifecycle, and deployment to Cloud Run.
* Address reviewer feedback: clarify event processing flow
- Move "How events are processed" higher, right after trigger endpoints
intro, so the mental model comes before setup instructions
- Reword step 5: explicitly describe status code behavior (200 = ack,
500 = retry) instead of vague "determines whether to retry"
- Clarify that trigger endpoints auto-create sessions without needing
the --auto_create_session flag
- Restructure heading hierarchy under "Using trigger endpoints"
* Address reviewer feedback from koverholt
- Use named sections (--8<-- [start/end]) in code snippets to hide
license headers in doc embeds
- Change model to gemini-flash-latest alias
- Restructure: show example agent first, then enable instructions,
then "Try it locally" with step-by-step commands and curl test
- Fix port consistency (curl uses 8000 matching adk api_server default)
- Add curl example for /run endpoint
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Replace google.github.io/adk-docs URLs and /adk-docs/ paths with adk.dev
Migrate all hardcoded documentation references to use the new custom
domain. Update root-relative links to remove the /adk-docs/ subpath
prefix since the site will be served from the root of adk.dev.
* Additional fixes
* updating memeory docs for new adk-go functionality
* fixing code snippets alignment on memory docs
* fix Go notes on memory docs
---------
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
* Update snippets to new Context type
* Updating documentation to reflect the unified Context type in Typescript
* Incorporating review feedback
---------
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
While the check_and_transfer function is wrapped as a FunctionTool named as escalation_tool , this name is later on remains unused. This fix should clarify the example using the right name.
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
Was wondering if BaseAgent was used in the code, since it's redundant, I thought of removing it.
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* fix(docs): Update bigquery.py creds
I required this to make it work
application_default_credentials, _ = google.auth.default()
* Update examples/python/snippets/tools/built-in-tools/bigquery.py
---------
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* doc: fixing typos in various files
* Update code-exec-agent-engine.md
---------
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
* fix(deploy): simplifying Agent Engine deployment
* revise and update ae deploy doc structure
* respond to review comments
* docs: break up Models page into multiple pages
- Create page per model and access method
- Push Models topic up to top level TOC entry
* updates based on review feedback
* fix broken links due to page move
* consistency updates and review input updates
* update gemini-2.0-flash to 2.5
* respond to review comments
* docs: update Python API docs to 1.22.0 (#1129)
* build(deps): bump golang.org/x/crypto (#987)
Bumps the go_modules group with 1 update in the /tools/feature-matrix directory: [golang.org/x/crypto](https://github.com/golang/crypto).
Updates `golang.org/x/crypto` from 0.42.0 to 0.45.0
- [Commits](https://github.com/golang/crypto/compare/v0.42.0...v0.45.0)
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.45.0
dependency-type: indirect
dependency-group: go_modules
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sita Lakshmi Sangameswaran <sitalakshmi@google.com>
* Update model version from gemini-2.0 to gemini-2.5, since gemini-2.0-flash will be deprecated on Feb 5,2026. (#1132)
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
* Changes model MODEL_2_0_FLASH to MODEL_2_5_FLASH as gemini-2.0 is deprecating (#1131)
* Update model constants to use GEMINI 2.5
* Corrected model name
---------
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
* Add Agent Runtime pages for Web Interface and Command Line; reorganize existing Agent Runtime pages (#1130)
* Add pages for adk web, adk run, reorganize runtime pages
* Minor edit
* Updates based on review
* docs: break up Models page into multiple pages
- Create page per model and access method
- Push Models topic up to top level TOC entry
* minor update
* add placeholder file
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Polong Lin <polong-lin@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sita Lakshmi Sangameswaran <sitalakshmi@google.com>
Co-authored-by: llalitkumarrr <llalitkumarrr@google.com>
Co-authored-by: Dinesh Thumma <160909147+DineshThumma9@users.noreply.github.com>
Co-authored-by: Kristopher Overholt <koverholt@google.com>
* Deleted redundant files.
* Deleted redundant files.
* Deleted redundant files.
* Deleted redundant files.
* Deleted redundant files.
* Deleted redundant files.
* Delete .gitignore
Deleted redundant files.
* Delete .gitignore
Deleted redundant files.
* Delete .gitignore
* Delete .gitignore
* Delete .gitignore
* Revert changes to .gitignore
* Revert changes to .gitignore
* Revert changes to .gitignore
* Revert changes to .gitignore
* Revert changes to .gitignore
* Revert changes to .gitignore
* Add MCP Tools TS example
* Removed unnecessary changes
* Removed extra slashes
* Added the custom agent sample.
* Corrected an error in the package.json file.
* Updated custom-agent.md
* Made small fixes.
* Add Session TS examples
* Added the typescript code snippets for multi agent.
* added the code sample for loop agent
* Added the code sample for loop agent
* Added the code sample for parallel agent
* Fixed a few issues and bugs
* Added the code sample for sequential agent
* Renamed run back to runAsync
* Updated the capital agent code sample.
* Corrected the snippet
* Renamed run() to runAsync()
* Add Runtime TS examples
* Fixed the snippets after library updates.
* Fixed the sample code after library changes.
* Added final touchups and fixes.
* Updated the code based on recent library changes.
* Updated package.json
* Updated package.json
* Updated package.json
* Updated the code with runAsync and package.json
* Updated the typescript sample.
* Updated after_tool_callback.ts with runAsync
* Updated after_model_callback.ts
* Updated before_model_callback.ts
* Updated before_tool_callback.ts
* Created before_agent_callback.ts
* Update before_agent_callback.ts
Changed the condition
* Update before_model_callback.ts
Changed the condition
* Update after_model_callback.ts
Changed the condition
* Update after_tool_callback.ts
Changed the condition
* Update after_agent_callback.ts
Changed the condition
* Update callback_basic.ts
Changed the condition
* Update storyflow_agent.ts
Changed the condition
* Update sequential_agent_code_development_agent.ts
Changed the condition
* Updated before_agent_callback.ts
* Removed unnecessary comment.
* Updated comment
* Renamed run to runAsync
* Added artifact code snippets.
* Fixed .link-checker-config.json
* Added tsconfig.json
* Update .gitignore with node modules files
* Added 7 typescript code snippets
* Cleaned up and corrected the snippets for plugins
* Update index.md
Undid the changes in artifacts/index.md
* Escaped properly.
* Add Long Running Function Tool TS examples
* Resolved code review feedback
* Fixed the code sample per git comments.
* Fixed the code per git comments.
* Fixed the md file per git comments.
* Fixed the issues per git comments.
* Fixed issues per github comments.
* Fixed the issues per PR comments.
* Fixed issues per PR comments.
* Added a code sample for HITL
* Fixed the indentations in the typescript code
* Used createPartFromBase64 when appropriate.
* Switched to use createUserContent.
* docs: Add JavaScript Quickstart, short unified format
* Added a simulated user delay to the code sample.
* Made some cosmetic improvements
* Added the code snippet with HITL with policy
* Made cosmetic modifications to multi-agents.md
* Added more tutorial for the HITL with policy
* Modularized the main function and added helper functions.
* Resolved code review feedback
* Resolved code review feedback
* Resolved code review feedback
* Fixed minor things in the typescript code per PR comments.
* Fixed the import for Event and used createEventActions.
* Simplified functionResponse code.
* Corrected the Event import and used createEventActions.
* Updated ADK versions in package.json.
* Final review of all changes & Add Safety TS example
* Make tsconfig.json files consistent
* Generated the API Reference for typescript
* Resolved code review feedback
* feat: Add Typescript API reference to docs
This commit adds the generated TypeDoc documentation for the Typescript ADK to the documentation site.
It also updates the main API reference page to include a link to the new Typescript API reference.
* docs: update TypeScript quickstart
* docs: Add version tags for Build Agents topics
- add version tags
- move TS content to second position (after Python)
* docs: Add MCP Toolbox for databases TS SDK Documentation
* Update mcp-toolbox-for-databases.md
* use typescript code block
* minor changes
* Update mcp-toolbox-for-databases.md
* Auto generated the typescript API reference.
* Added the TS code snippets for context.
* Fixed TS code snippets for context.
* Modified the sample based on the comment.
* docs: adding TypeScript language tags (2 of 3)
- Update all Run Agents section topics
- change all TS tags to v0.2.0 per eng agreement
* docs: Add TypeScript language support tags, Components (3 of 3)
- add TS language support tags
- re-order TS examples to be second
- minor fixes: remove trailing spaces
* Added callback samples for typescript to the markdown files.
* Updated adk version in quickstart
* Updated google/adk version for typescript.
---------
Co-authored-by: manchan <manchan@google.com>
Co-authored-by: Mandy Chan <75594070+slothwriter@users.noreply.github.com>
Co-authored-by: Joe Fernandez <joefernandez@google.com>
Co-authored-by: Joe Fernandez <joefernandez@users.noreply.github.com>
Co-authored-by: Twisha Bansal <58483338+twishabansal@users.noreply.github.com>
* Added pr checks and regression test code
* Added github workflows and go.mod/go.sum
* Added comments to files_to_test.txt
* Moved check_go_snippets.sh
* Fixed issues with workflows
* Removed unneeded workflow
* Revert bad change
* Added runner tests
* Added README
* refactor(go-snippets): Unify Go module structure and dynamically update ADK dependency
Consolidate all Go snippet module dependencies to a single file located at . This simplifies dependency management and ensures consistent versions across all Go examples.
Update Usage: tools/go-snippets/runner.sh <build|run> [file1 file2 ...] to dynamically fetch the latest module () before running any builds or tests. This ensures that PR and regression checks always validate against the most recent ADK release, preventing outdated dependency issues.
Address breaking changes in by removing the initialization from , which is no longer available.
Cleaned up extraneous and files from subdirectories within , as well as the unused file.
* feat(go-snippets): Reinforce strict `files_to_test.txt` adherence
Reverts previous attempts to infer Go snippet dependencies and clarifies the strict testing model.
- **`runner.sh`**: Restores `find_snippet_line` to rely on exact substring matching of changed files within `files_to_test.txt` lines. Adds `go get` exit code check.
- **`tools/go-snippets/README.md`**: Adds "Understanding the Test Runner" section detailing `files_to_test.txt` adherence, multi-file `package main` requirements, and `_test.go` file handling.
- **`runner_test.sh`**: Adds `test_find_snippet_line_multi_file_match` to verify correct behavior for multi-file snippets listed on a single line.
---------
Co-authored-by: ivanmkc <ivanmkc@google.com>