Commit Graph

509 Commits

Author SHA1 Message Date
Xiang (Sean) Zhou
b70e74c450 chore: auto format mcp tools
PiperOrigin-RevId: 764547299
2025-05-28 21:14:42 -07:00
Xiang (Sean) Zhou
791ac9eb68 refactor: refactor cli to use agent loader
PiperOrigin-RevId: 764546019
2025-05-28 21:09:40 -07:00
Xiang (Sean) Zhou
623957c0a8 refactor: refine agent_loader to load the most common folder structure first and don't including unnecessary case
PiperOrigin-RevId: 764545194
2025-05-28 21:06:07 -07:00
Arpit R
6157db77f2 Copybara import of the project:
--
bdb2ddff1336db7fbeae71d3d76b4d294d7c4bea by Arpit Roopchandani <17565234+whoisarpit@users.noreply.github.com>:

Fix: Set output_schema correctly for LiteLllm
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/580 from whoisarpit:fix/lite_llm_response_schema 08bdb5a993fc44adf03e985c820c2083de30ba58
PiperOrigin-RevId: 764524765
2025-05-28 19:56:03 -07:00
Danny Park
9d4ca4ed44 fix: Fix filtering by user_id for vertex ai session service listing
When the user id contains special characters (i.e. an email), we have added in extra url parsing to address those characters. We have also added an if statement to use the correct url when there is no user_id supplied.

Copybara import of the project:

--
ef8499001afaea40bd037c4e9946b883e23a5854 by Danny Park <dpark@calicolabs.com>:
--
773cd2b50d15b9b056b47b6155df492b0ca8034c by Danny Park <dpark@calicolabs.com>:

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/996 from dpark27:fix/list_vertex_ai_sessions d351d7f6017c03165129adc7d0212f21d1340d88
PiperOrigin-RevId: 764522026
2025-05-28 19:46:39 -07:00
Google Team Member
fc3e374c86 Add export to json button in the chat window.
PiperOrigin-RevId: 764504072
2025-05-28 18:37:12 -07:00
Yifan Wang
fda34ea9ff chore: bump version number to 1.1.1
Include d6c6bb4b24 in addition to 1.1.0

PiperOrigin-RevId: 764478592
2025-05-28 17:09:01 -07:00
Selcuk Gun
609b3a572c Provide sample LongRunningFunctionTool runner script and documentation
PiperOrigin-RevId: 764475345
2025-05-28 16:59:52 -07:00
Liang Wu
2a8ca06c3e chore: remove reference to genai SDK folder.
Added `from __future__ import annotations` to follow the best practice.

PiperOrigin-RevId: 764473253
2025-05-28 16:54:19 -07:00
Google Team Member
3489bb598d Minor typo fix.
PiperOrigin-RevId: 764468987
2025-05-28 16:41:40 -07:00
Liang Wu
ed63cd86eb chore: re-format import statements in mcp_session_manager.py.
They are causing Kokoro failures.

PiperOrigin-RevId: 764467630
2025-05-28 16:37:56 -07:00
Ankur Sharma
447798d573 Accounting for "references" to be absent in eval files in older format.
PiperOrigin-RevId: 764454937
2025-05-28 16:04:18 -07:00
Google Team Member
958c18db2b Add download object as json function in the download service.
PiperOrigin-RevId: 764421398
2025-05-28 14:37:47 -07:00
Google Team Member
83ba6419cd Allow GOOGLE_AI to support optional args.
PiperOrigin-RevId: 764419789
2025-05-28 14:34:11 -07:00
Omar BENHAMID
d232e6216d feat: google/adk-python#479 support for streamable http MCP servers for MCPToolset
Copybara import of the project:

--
c5b9d49d7b6d858ff0a93bd690e6d653b7c32221 by Omar BENHAMID <omar.benhamid@smart-gts.com>:

feat: google/adk-python#479 support for streamable http MCP servers for MCPToolset

--
9431bc19e6538c1b814aba0b24ff564acf046075 by Omar BENHAMID <omar.benhamid@smart-gts.com>:

feat: google/adk-python#479 streamable http added to right package

--
8b4aabed45a6f0dc828beb61f12985dc7b14f3d0 by Omar BENHAMID <omar.benhamid@smart-gts.com>:

feat: google/adk-python#479 streamable http : review feedbacks + sample agent
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/650 from omarbenhamid:feature/mcp-streamable-http 625f028784c216401d45cb1b5d4d998535ebcb00
PiperOrigin-RevId: 764419586
2025-05-28 14:33:19 -07:00
Xiang (Sean) Zhou
c7ce987676 chore: reformat load_memory_tool
PiperOrigin-RevId: 764402270
2025-05-28 13:52:40 -07:00
Shangjie Chen
bf27f22a95 fix: Make GroundingMetadata JSON serializable. Also use the same logic to simplify content serialization.
PiperOrigin-RevId: 764401248
2025-05-28 13:50:25 -07:00
avidelatm
7fc09b2c64 chore: Adding regex for claude-4 models to anthropic_llm and updating tests
Copybara import of the project:

--
824b4379d59a375191f8ce10997efd4021d5d0b3 by Andres Videla <andres.videla@trademe.co.nz>:

Adding regex for claude-4 models to anthropic_llm and updating tests

--
8fa2a2df1931026dc803eee0e9b60e82e90c9efa by Wei Sun (Jack) <Jacksunwei@gmail.com>:

Adds trailing comma.

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/934 from avidelatm:feature/add-support-for-claude-4-models-to-anthropic_llm 8d10bacdbec952ec9832180ac6c1d220916641da
PiperOrigin-RevId: 764396694
2025-05-28 13:39:04 -07:00
Yuan Chai
c4cd1802bf Copybara import of the project:
--
50b09bbe9735c889a9c815eddcee6715ebe848da by Yuan Chai <350365422@qq.com>:

fix: improve json serialization by allowing non-ascii characters
--
c66977ae6ec4edc71a2d633eb09918eb2a226461 by Yuan Chai <350365422@qq.com>:

fix: serialize function call arguments to JSON string

Previously accepted JSON objects directly, which was less robust. Now serialize arguments to JSON strings using `_safe_json_serialize`, ensuring stability and handling non-ASCII characters correctly.

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/605 from nauyiahc:fix_non_ascii_char a52513c5747296b717acee989684324e1b072d34
PiperOrigin-RevId: 764396496
2025-05-28 13:38:11 -07:00
Sanchit Rk
3cd4cd3ecf Fix: add missing kwargs to db session service
Copybara import of the project:

--
bbd21e72e46227d5bbcaef6601f4a81724e7829f by Sanchit Rk <sanchitrrk@gmail.com>:

Fix: add missing kwargs to db session service
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/946 from sanchitrk:fix/missing-kwargs-db-session-service ebb699b04d8420ad14244cf3d43a2982b01d6b7f
PiperOrigin-RevId: 764392251
2025-05-28 13:27:58 -07:00
Alankrit Verma
2a07eefc27 chore: Raises error if the last event is partial, which is an unexpected state and can happen when the model output limit is maxed out.
Copybara import of the project:

--
a6e3a220a507a27523e427e88a803f4fec40db9c by Alankrit Verma <alankrit386@gmail.com>:

test(base_llm_flow): add test for infinite loop on truncated responses

--
b5f2245788b8ed51189d1ad057372989452f070d by Alankrit Verma <alankrit386@gmail.com>:

feat(base_llm_flow): break run_async loop on partial/truncated events

--
cbbae4c468a4de3b5a737aef07cb4615f8418c38 by Wei Sun (Jack) <Jacksunwei@gmail.com>:

Raise ValueError if the last event is partial.

This is invalid state for llm flow.
--
6eebae0bc27c664eee4743ff7278ae5803415c9f by Wei Sun (Jack) <Jacksunwei@gmail.com>:

Delete tests/unittests/flows/llm_flows/test_base_llm_flow_truncation.py
--
e08b0ab19ca6eb88eb84f044bf72e815b2cf317c by Wei Sun (Jack) <Jacksunwei@gmail.com>:

format base_llm_flow.py

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/659 from AlankritVerma01:fix/522-base-llm-flow-truncation e08b0ab19ca6eb88eb84f044bf72e815b2cf317c
PiperOrigin-RevId: 764380150
2025-05-28 12:58:04 -07:00
Shangjie Chen
d83ee1a6f2 fix: Remove excessive db call to update state table.
PiperOrigin-RevId: 764375522
2025-05-28 12:46:13 -07:00
shubham rajput
3611e9fe09 Copybara import of the project:
--
19b6701800bc3a26321ff3633b356106aba5a800 by shubham rajput <42935066+shu8hamrajput@users.noreply.github.com>:

fix: Update load_memory_tool.py

make `query` args required.

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/389 from shu8hamrajput:fix/make-query-required-arg 92eb6472a380aa02b287a6ca94d2bfabdaa1c38b
PiperOrigin-RevId: 764303198
2025-05-28 09:49:36 -07:00
Wei Sun (Jack)
97bf28bad6 chore: Adds --version to adk cli.
Sample:

```
-> % adk --version
adk, version 1.0.0
```

Help with https://github.com/google/adk-python/issues/832

PiperOrigin-RevId: 764297949
2025-05-28 09:37:23 -07:00
Google Team Member
d6c6bb4b24 feat: add BigQuery first-party tools.
These tools support getting BigQuery dataset/table metadata and query results.

PiperOrigin-RevId: 764139132
2025-05-28 00:59:19 -07:00
Wei Sun (Jack)
46282eeb0d chore: Don't add prompt about parent agent when disallow_transfer_to_parent=True
Fixes https://github.com/google/adk-python/issues/844

PiperOrigin-RevId: 764116180
2025-05-27 23:41:30 -07:00
Wei Sun (Jack)
f4c7d788b0 fix: build_graph is not awaited.
Fixes https://github.com/google/adk-python/issues/927

PiperOrigin-RevId: 764113488
2025-05-27 23:32:21 -07:00
Yifan Wang
15109c6879 fix: oauth fix for adk web
PiperOrigin-RevId: 764111115
2025-05-27 23:22:45 -07:00
Xiang (Sean) Zhou
d40df2edf2 chore: fix unit tests
PiperOrigin-RevId: 764107186
2025-05-27 23:07:29 -07:00
Yifan Wang
a66f12273c bump version number to 1.1.0.
PiperOrigin-RevId: 764026739
2025-05-27 18:17:04 -07:00
Yifan Wang
5d2a876ca8 feat:update minified adk web files
PiperOrigin-RevId: 763970627
2025-05-27 15:26:19 -07:00
Yifan Wang
0c4f52699b fix: serve web app at /dev-ui/
PiperOrigin-RevId: 763965859
2025-05-27 15:14:23 -07:00
Xiang (Sean) Zhou
618c824994 feat: extract agent loading logic from fast_api.py to a separate AgentLoader class and support more agent definition folder/file structure.
Structures supported:
a) agents_dir/agent_name.py (with root_agent or agent.root_agent in it)
b) agents_dir/agent_name_folder/__init__.py (with root_agent or agent.root_agent in the package)
c) agents_dir/agent_name_folder/agent.py (where agent.py has root_agent)

PiperOrigin-RevId: 763943716
2025-05-27 14:14:51 -07:00
Wei Sun (Jack)
16d9696012 fix: avoid duplicating log in stderr.
This was introduced to work around google-auth kills all logs via `google` root logging namespace. Given we're now using `google_adk` as root logging namesapce, we don't need additional Stream log handler now.

PiperOrigin-RevId: 763924531
2025-05-27 13:28:00 -07:00
Stephen Smith
03fe909ada Copybara import of the project:
--
b781880d9bfb9786bd5e50314eaedc441fc2a93e by Stephen Smith <stephen.smith@newfront.com>:

Telemetry unit test for non-serializable data.

--
179da9db997bb3f992e126c9c64193ff7df67b3d by Stephen Smith <stephen.smith@newfront.com>:

When converting the llm_request to JSON, skip non-serializable data.

--
5dc68f4f5a6d12b753fdb81d1449716d13490afb by Stephen Smith <stephen.smith@newfront.com>:

Update _create_invocation_context() return type to InvocationContext.

--
23a33f754409fcd2a7641098d68cef7e4f1c72c6 by Stephen Smith <stephen.smith@newfront.com>:

Oops, remove unnecessary import.

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/879 from stephensmithnewfront:main f71e195a9ed157e4c0b3abfa74ae078b0c1a920a
PiperOrigin-RevId: 763922003
2025-05-27 13:21:44 -07:00
Google Team Member
b79400162d Use audio player component in the artifact tab
PiperOrigin-RevId: 763875097
2025-05-27 11:23:04 -07:00
Yongsul Kim
c024ac5762 Align event filtering and ordering logic
Copybara import of the project:

--
d01a8fd5f079bc4fca9e4b71796dbe65312ce9ff by Leo Yongsul Kim <ystory84@gmail.com>:

fix(DatabaseSessionService): Align event filtering and ordering logic

This commit addresses inconsistencies in how DatabaseSessionService
handles config.after_timestamp and config.num_recent_events
parameters, aligning its behavior with InMemorySessionService and
VertexAiSessionService.

Key changes:
- Made after_timestamp filtering inclusive
- Corrected num_recent_events behavior to fetch the N most recent events
- Refined timezone handling for after_timestamp
- Updated the unit test test_get_session_with_config to includeSessionServiceType.DATABASE, allowing verification of these fixes.

Fixes #911

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/915 from ystory:fix/database-session-timestamp-recency 5cc8cf5f5a5c0cb3e87f6ab178a5725d3f696c88
PiperOrigin-RevId: 763874840
2025-05-27 11:22:04 -07:00
Wei Sun (Jack)
19ca61d241 fix: model_config is misplaced for EvalMetricResultPerInvocation.
PiperOrigin-RevId: 763648920
2025-05-26 23:50:05 -07:00
Xiang (Sean) Zhou
7c2df7e4f6 refactor: refactor evaluation to make cli module depends on evaluation module. Modules outside of cli module should not reference cli module
PiperOrigin-RevId: 763577749
2025-05-26 19:18:55 -07:00
Wei Sun (Jack)
d43c80b718 chore: updates mypy config in pyproject.toml.
1. Use non-strict as starting point;
2. Apply python_version to 3.9.
3. Sets `follow_imports` to skip.

PiperOrigin-RevId: 763553672
2025-05-26 17:25:48 -07:00
Xiang (Sean) Zhou
be0786ea88 refactor: rename agent_dir to agents_dir and rename app_id to app_name in fast_api.py to make it consistent among every endpoints
PiperOrigin-RevId: 763483339
2025-05-26 11:51:19 -07:00
Wei Sun (Jack)
6b89ceb49a fix: mutable object cannot be default value in parameter.
PiperOrigin-RevId: 763479612
2025-05-26 11:32:07 -07:00
Xiang (Sean) Zhou
694eca08e5 fix: fix bigquery credentials and bigquery tool to make it compatible with python 3.9 and make the credential serializable in session
PiperOrigin-RevId: 763332829
2025-05-26 01:58:52 -07:00
Google Team Member
55cb36edfe Add handling for None param.annotation.
This is the case for function tools that have no return value.

PiperOrigin-RevId: 763306054
2025-05-26 00:21:15 -07:00
Xiang (Sean) Zhou
74a331f1fb chore: reformat the code with autoformat.sh
PiperOrigin-RevId: 763256626
2025-05-25 20:33:45 -07:00
Xiang (Sean) Zhou
98c8a71d67 refactor: rename parameter name and add type annotation of _get_agent_to_run method
PiperOrigin-RevId: 763234780
2025-05-25 18:56:16 -07:00
Xiang (Sean) Zhou
b0fb3536e5 chore: cleanup unused import in cli module
PiperOrigin-RevId: 763233551
2025-05-25 18:50:31 -07:00
Calvin Giles
1a43cf0f60 Copybara import of the project:
--
73826d258b136f92a8da8171f7dc14d5f07de8dd by Calvin Giles <calvin.giles@trademe.co.nz>:

fix: Enable InMemoryRunner to be used in async tests
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/868 from calvingiles:enable-test-runner-in-async fb9033ed6f350a3114859715cae51798f864ecf6
PiperOrigin-RevId: 763233472
2025-05-25 18:49:35 -07:00
Xiang (Sean) Zhou
a380d70ac7 chore: fix cli UT
PiperOrigin-RevId: 762734348
2025-05-24 00:11:32 -07:00
Xiang (Sean) Zhou
a134ba6f7a feat: add toolset cleanup logic to run_cli
PiperOrigin-RevId: 762638389
2025-05-23 18:06:30 -07:00