Commit Graph
100 Commits
Author SHA1 Message Date
Xiang (Sean) ZhouandCopybara-Service fb13963ded chore: Add request converter to convert a2a request to ADK request
PiperOrigin-RevId: 773894462
2025-06-20 17:09:05 -07:00
Xiang (Sean) ZhouandCopybara-Service 742478fdb7 chore: Add event converters to convert adk event to a2a event (WIP)
PiperOrigin-RevId: 773795427
2025-06-20 12:14:12 -07:00
Xiang (Sean) ZhouandCopybara-Service ffcba70686 chore: skip mcp and a2a tests for python 3.9
PiperOrigin-RevId: 773785385
2025-06-20 11:46:31 -07:00
Xiang (Sean) ZhouandCopybara-Service 7f8dc8927a chore: fix the mcp_sse_agent
PiperOrigin-RevId: 773140021
2025-06-18 18:32:06 -07:00
Xiang (Sean) ZhouandCopybara-Service 9a1115c504 chore: Remove service account support
given it was not correctly supported.

PiperOrigin-RevId: 773137317
2025-06-18 18:19:05 -07:00
Xiang (Sean) ZhouandCopybara-Service 913d771d6d chore: Raise meaningful errors when importing a2a modules for python 3.9
PiperOrigin-RevId: 773128206
2025-06-18 17:43:11 -07:00
Xiang (Sean) ZhouandCopybara-Service 157d9be88d feat: Enable MCP Tool Auth (Experimental)
PiperOrigin-RevId: 773002759
2025-06-18 11:44:02 -07:00
Xiang (Sean) ZhouandCopybara-Service 18a541c8fa chore: Ignore mcp_tool ut tests for python 3.9 given mcp sdk only supports 3.10+
PiperOrigin-RevId: 772999037
2025-06-18 11:34:10 -07:00
Xiang (Sean) ZhouandCopybara-Service dcea7767c6 feat: Add Authenticated Tool (Experimental)
PiperOrigin-RevId: 772992074
2025-06-18 11:17:01 -07:00
Xiang (Sean) ZhouandCopybara-Service 2c739ab581 chore: Add Credential Manager for managing tools credential (Experimental)
PiperOrigin-RevId: 772986051
2025-06-18 11:01:38 -07:00
Xiang (Sean) ZhouandCopybara-Service 9a207cb832 refactor: Refactor oauth2_credential_exchanger to exchanger and refresher separately
PiperOrigin-RevId: 772979993
2025-06-18 10:46:39 -07:00
Xiang (Sean) ZhouandCopybara-Service a17ebe6ebd chore: Add a credential refresher registry
PiperOrigin-RevId: 772747251
2025-06-17 21:12:30 -07:00
Xiang (Sean) ZhouandCopybara-Service 55201cb6a1 chore: Add credential exchanger registry (Experimentals)
PiperOrigin-RevId: 772713412
2025-06-17 19:09:21 -07:00
Xiang (Sean) ZhouandCopybara-Service 0a9625317a refactor: Adapt service account credential exchanger to base credential exchanger interface
PiperOrigin-RevId: 772710438
2025-06-17 18:55:46 -07:00
Xiang (Sean) ZhouandCopybara-Service 5f89a469ec chore: Add credential service to runner and invocation context
PiperOrigin-RevId: 772697298
2025-06-17 18:08:43 -07:00
Xiang (Sean) ZhouandCopybara-Service c04adaade1 chore: Add in memory credential service (Experimental)
PiperOrigin-RevId: 772534962
2025-06-17 10:45:49 -07:00
Xiang (Sean) ZhouandCopybara-Service e1812797ad chore: Add A2A Part converter (WIP)
PiperOrigin-RevId: 772282116
2025-06-16 20:35:09 -07:00
Xiang (Sean) ZhouandCopybara-Service c755cf23c5 chore: Ignore a2a ut tests for python 3.9 given a2a-sdk only supports 3.10+
PiperOrigin-RevId: 772270172
2025-06-16 19:53:46 -07:00
Xiang (Sean) ZhouandCopybara-Service 94caccc148 refactor: Extract util method from OAuth2 credential fetcher for reuse
Context: we'd like to separate fetcher into exchanger and refresher later. This cl help to extract the common utility that will be used by both exchanger and refresher.

PiperOrigin-RevId: 772257995
2025-06-16 19:03:16 -07:00
Xiang (Sean) ZhouandCopybara-Service 476805d5b9 chore: Add a2a extra dependency for github UT workflows
PiperOrigin-RevId: 772251530
2025-06-16 18:34:18 -07:00
Xiang (Sean) ZhouandCopybara-Service e2a81365ec chore: Add a base credential refresher interface
PiperOrigin-RevId: 772248299
2025-06-16 18:21:35 -07:00
Xiang (Sean) ZhouandCopybara-Service 28dfcd2512 chore: Add experimental decorator to Oauth2 credential fethcer
PiperOrigin-RevId: 772236406
2025-06-16 17:36:48 -07:00
Xiang (Sean) ZhouandCopybara-Service a6b1baa61b chore: Add base credential exchanger (Experimental)
PiperOrigin-RevId: 772227201
2025-06-16 17:05:20 -07:00
Xiang (Sean) ZhouandCopybara-Service 4bda245171 chore: fix oauth_calendar_agent example
PiperOrigin-RevId: 772214855
2025-06-16 16:26:59 -07:00
Xiang (Sean) ZhouandCopybara-Service 31b81a342d chore: Update streamable http mcp example agent
PiperOrigin-RevId: 772213323
2025-06-16 16:22:09 -07:00
Xiang (Sean) ZhouandCopybara-Service a4d432a9e6 chore: Add Service Account Credential Exchanger (Experimental)
PiperOrigin-RevId: 771507089
2025-06-14 13:39:50 -07:00
Xiang (Sean) ZhouandCopybara-Service d1bda9d946 chore: Allow working_in_progress feature for unittests
PiperOrigin-RevId: 771500394
2025-06-14 12:56:02 -07:00
Xiang (Sean) ZhouandCopybara-Service a19d617ed8 chore: Add experimental decorator to BigQuery tools
PiperOrigin-RevId: 771359886
2025-06-13 23:32:33 -07:00
Xiang (Sean) ZhouandCopybara-Service 8ebf229c47 chore: Add base credential service interface (WIP)
PiperOrigin-RevId: 771358480
2025-06-13 23:24:30 -07:00
Xiang (Sean) ZhouandCopybara-Service b51a1f45fd chore: support @working_in_progress and @expremental without calling parameters
PiperOrigin-RevId: 771357728
2025-06-13 23:18:43 -07:00
Xiang (Sean) ZhouandCopybara-Service 8932106246 chore: Raise error when using features decorated by working_in_progress decorator
set environment variable ADK_ALLOW_WIP_FEATURES=true can bypass it.
working_in_progress features are not working. ADK users are not supposed to set this environment variable.

PiperOrigin-RevId: 771333335
2025-06-13 21:17:31 -07:00
Xiang (Sean) ZhouandCopybara-Service d129fd636b chore: Update the comments of MCPTool
PiperOrigin-RevId: 771234262
2025-06-13 14:53:41 -07:00
Xiang (Sean) ZhouandCopybara-Service 40b15ad278 refactor: enhance mcp tool session management
1. remove unnecessary cached session instance in mcp toolset
2. move session reinitialization logic from mcp tool and mcp toolset to mcp session manager
3. add lock for the code block of session creation to avoid race conditions

PiperOrigin-RevId: 770949529
2025-06-12 23:11:06 -07:00
Xiang (Sean) ZhouandCopybara-Service dbdeb49090 chore: Add a2a-sdk to pyproject.toml
PiperOrigin-RevId: 770908052
2025-06-12 20:30:14 -07:00
Xiang (Sean) ZhouandCopybara-Service 177980106b feat: Support refresh access token automatically for rest_api_tool
1. let auth_handler.py to utilize the oauth2 credential fetcher to exchange token
2. restructure tool_auth_handler.py to support refresh token

PiperOrigin-RevId: 770901469
2025-06-12 20:07:43 -07:00
Xiang (Sean) ZhouandCopybara-Service c5b063f1ff feat: Add an Oauth2 credential fetcher to exchange and refresh oauth2 token
PiperOrigin-RevId: 770892243
2025-06-12 19:40:16 -07:00
Xiang (Sean) ZhouandCopybara-Service 29e4ca9152 chore: Add empty a2a package
PiperOrigin-RevId: 770851838
2025-06-12 17:07:05 -07:00
Xiang (Sean) ZhouandCopybara-Service 4ccda99e8e fix: Merge custom http options with adk specific http options in model api request
PiperOrigin-RevId: 770836112
2025-06-12 16:20:31 -07:00
Xiang (Sean) ZhouandCopybara-Service 77f44a4e45 refactor: remove the examples filed of LlmAgent which are no longer needed after migrating to example tool
PiperOrigin-RevId: 769757803
2025-06-10 12:55:48 -07:00
Xiang (Sean) ZhouandCopybara-Service fa110c22f2 chore: refine doc string of global_instruction
PiperOrigin-RevId: 769650108
2025-06-10 08:48:43 -07:00
Xiang (Sean) ZhouandCopybara-Service 309a656f49 refactor: extract credentail key building logic to auth_config
PiperOrigin-RevId: 768124459
2025-06-06 10:19:20 -07:00
Xiang (Sean) ZhouandCopybara-Service 078ac842d7 chore: replace print with logger.info
PiperOrigin-RevId: 767732597
2025-06-05 13:09:07 -07:00
Xiang (Sean) ZhouandCopybara-Service 4269cac953 chore: change import path to import directly from module instead of package
PiperOrigin-RevId: 767697759
2025-06-05 11:40:24 -07:00
Xiang (Sean) ZhouandCopybara-Service c224626ae1 fix: handle the case when agent loading error doesn't have msg attribute in agent loader
PiperOrigin-RevId: 767447874
2025-06-04 23:13:12 -07:00
Xiang (Sean) ZhouandCopybara-Service b1a74d099f fix: relax openapi spec to gemini schema conversion to tolerate more cases
PiperOrigin-RevId: 766985694
2025-06-03 22:59:34 -07:00
Xiang (Sean) ZhouandCopybara-Service 7b51ae9724 fix: enhance agent loader exception handler and expose precise error information
PiperOrigin-RevId: 766876662
2025-06-03 16:56:29 -07:00
Xiang (Sean) ZhouandCopybara-Service 821f751b5a chore: add agent for testing Notion MCP server
PiperOrigin-RevId: 766325293
2025-06-02 13:41:56 -07:00
Xiang (Sean) ZhouandCopybara-Service 5a67a946d2 fix: fix parameter schema generation for gemini
this fixes https://github.com/google/adk-python/issues/1055
and https://github.com/google/adk-python/issues/881

PiperOrigin-RevId: 766288394
2025-06-02 12:03:02 -07:00
Xiang (Sean) ZhouandCopybara-Service 15a45a68fd chore: move fast api test case to cli package to match source codes package structure
PiperOrigin-RevId: 766268528
2025-06-02 11:16:14 -07:00
Xiang (Sean) ZhouandCopybara-Service f07abcc09c chore: fix ut for test_functions_request_euc.py
PiperOrigin-RevId: 766268126
2025-06-02 11:15:13 -07:00
Xiang (Sean) ZhouandCopybara-Service 036f954a2a refactor: uniform Google LLM variant and parsing logic and make contant value consistent with Google GenAI SDK : https://github.com/googleapis/python-genai/blob/903e0729ce5198f48193ac7301727f0c3d72f2b8/google/genai/_automatic_function_calling_util.py#L96
PiperOrigin-RevId: 765639681
2025-05-31 13:12:25 -07:00
Xiang (Sean) ZhouandCopybara-Service 2623c71086 fix: add adk icon for UI
PiperOrigin-RevId: 765453471
2025-05-30 21:21:30 -07:00
Xiang (Sean) ZhouandCopybara-Service af2180c6d0 chore: add more comments to MCPTooset and MCPSessionManager
PiperOrigin-RevId: 765448413
2025-05-30 21:01:16 -07:00
Xiang (Sean) ZhouandCopybara-Service 5d297169d0 fix: remove labels from config when using API key from Google AI Studio to call model
PiperOrigin-RevId: 765448305
2025-05-30 21:00:23 -07:00
Xiang (Sean) ZhouandCopybara-Service 3ec496dd81 chore: add requirements.txt for langchain_youtube_search_agent
PiperOrigin-RevId: 765409052
2025-05-30 18:19:01 -07:00
Xiang (Sean) ZhouandCopybara-Service 3616bb5fc4 feat:support Langchain tools that has run_manager in _run args and don't have args_schema populated
PiperOrigin-RevId: 765405793
2025-05-30 18:05:42 -07:00
Xiang (Sean) ZhouandCopybara-Service ae7d3a79c8 chore: autoformat the test_litellm.py
PiperOrigin-RevId: 764937761
2025-05-29 16:49:20 -07:00
Xiang (Sean) ZhouandCopybara-Service 2b41824e46 chore: fix fast api ut
PiperOrigin-RevId: 764935253
2025-05-29 16:40:40 -07:00
Xiang (Sean) ZhouandCopybara-Service 7e637d3fa0 feat: support Langchain StructuredTool for Langchain tool
for fixing: https://github.com/google/adk-python/issues/707

PiperOrigin-RevId: 764781197
2025-05-29 11:48:15 -07:00
Xiang (Sean) ZhouandCopybara-Service 96b36b70dc chore: fix base_llm_flow ut
PiperOrigin-RevId: 764585592
2025-05-29 11:47:31 -07:00
Xiang (Sean) ZhouandCopybara-Service 0250d9e3ac chore: reformat codes using autoformat.sh
PiperOrigin-RevId: 764584699
2025-05-29 11:47:22 -07:00
Xiang (Sean) ZhouandCopybara-Service 2b5c89b3a9 feat: expose more config of VertexAiSearchTool from latest Google GenAI SDK
for fixing: https://github.com/google/adk-python/issues/955

PiperOrigin-RevId: 764568728
2025-05-28 22:32:44 -07:00
Xiang (Sean) ZhouandCopybara-Service b92e068155 chore: fix function tool UT
PiperOrigin-RevId: 764567867
2025-05-28 22:30:42 -07:00
Xiang (Sean) ZhouandCopybara-Service a0714b8afc ADK changes
PiperOrigin-RevId: 764564638
2025-05-28 22:19:24 -07:00
Xiang (Sean) ZhouandCopybara-Service b70e74c450 chore: auto format mcp tools
PiperOrigin-RevId: 764547299
2025-05-28 21:14:42 -07:00
Xiang (Sean) ZhouandCopybara-Service 791ac9eb68 refactor: refactor cli to use agent loader
PiperOrigin-RevId: 764546019
2025-05-28 21:09:40 -07:00
Xiang (Sean) ZhouandCopybara-Service 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
Xiang (Sean) ZhouandCopybara-Service c7ce987676 chore: reformat load_memory_tool
PiperOrigin-RevId: 764402270
2025-05-28 13:52:40 -07:00
Xiang (Sean) ZhouandCopybara-Service d40df2edf2 chore: fix unit tests
PiperOrigin-RevId: 764107186
2025-05-27 23:07:29 -07:00
Xiang (Sean) ZhouandCopybara-Service 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
Xiang (Sean) ZhouandCopybara-Service 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
Xiang (Sean) ZhouandCopybara-Service 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
Xiang (Sean) ZhouandCopybara-Service 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
Xiang (Sean) ZhouandCopybara-Service 74a331f1fb chore: reformat the code with autoformat.sh
PiperOrigin-RevId: 763256626
2025-05-25 20:33:45 -07:00
Xiang (Sean) ZhouandCopybara-Service 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) ZhouandCopybara-Service b0fb3536e5 chore: cleanup unused import in cli module
PiperOrigin-RevId: 763233551
2025-05-25 18:50:31 -07:00
Xiang (Sean) ZhouandCopybara-Service a380d70ac7 chore: fix cli UT
PiperOrigin-RevId: 762734348
2025-05-24 00:11:32 -07:00
Xiang (Sean) ZhouandCopybara-Service a134ba6f7a feat: add toolset cleanup logic to run_cli
PiperOrigin-RevId: 762638389
2025-05-23 18:06:30 -07:00
Xiang (Sean) ZhouandCopybara-Service 756a326033 feat: add customized bigquer tool wrapper class to facilitate developer to handcraft bigquery api tool
PiperOrigin-RevId: 762626700
2025-05-23 17:23:41 -07:00
Xiang (Sean) ZhouandCopybara-Service 92c37496d3 refactor: simplify toolset cleanup codes and extract common cleanup codes to utils which could be utilized by cli or client codes that directly call runners
PiperOrigin-RevId: 762463028
2025-05-23 09:49:19 -07:00
Xiang (Sean) ZhouandCopybara-Service ff8a3c9b43 chore: reformat the codes using autoformat.sh
PiperOrigin-RevId: 762004002
2025-05-22 09:43:54 -07:00
Xiang (Sean) ZhouandCopybara-Service a2263b1808 refactor: refactor toolset to extract tool_filter logic to base class
PiperOrigin-RevId: 761828251
2025-05-21 23:54:33 -07:00
Xiang (Sean) ZhouandCopybara-Service 09cb128cf9 fix: fix function tool name parsing
to fix https://github.com/google/adk-python/issues/824

PiperOrigin-RevId: 761703269
2025-05-21 16:00:09 -07:00
Xiang (Sean) ZhouandCopybara-Service b2a2b11776 ADK changes
PiperOrigin-RevId: 761650284
2025-05-21 13:39:16 -07:00
Xiang (Sean) ZhouandCopybara-Service cbdb5fc507 chore: fix ut for fast api server
PiperOrigin-RevId: 761350248
2025-05-20 21:17:39 -07:00
Xiang (Sean) ZhouandCopybara-Service 76700d790b chore: add doc string for auto generated google api toolset
PiperOrigin-RevId: 761266870
2025-05-20 16:08:27 -07:00
Xiang (Sean) ZhouandCopybara-Service f67ccf32c3 fix: support Callable that has __call__ as coroutine function in FunctionTool
PiperOrigin-RevId: 760913537
2025-05-19 22:09:44 -07:00
Xiang (Sean) ZhouandCopybara-Service de7c9c6509 enhance toolbox toolset:
1. use async client
2. expose add headers and bind parameters functionality of toolbox tool

PiperOrigin-RevId: 760845486
2025-05-19 18:08:02 -07:00
Xiang (Sean) ZhouandCopybara-Service 9eef4464c6 fix: fix toolbox import path in sample toolbox agent
PiperOrigin-RevId: 760837908
2025-05-19 17:43:41 -07:00
Xiang (Sean) ZhouandCopybara-Service 74454170a3 refactor: refactor and refine LangChainTool
PiperOrigin-RevId: 760726719
2025-05-19 12:29:44 -07:00
Xiang (Sean) ZhouandCopybara-Service 3f117391a5 refactor: remote remote agent as there is no use case and it's not implemented properly
PiperOrigin-RevId: 760652423
2025-05-19 09:24:37 -07:00
Xiang (Sean) ZhouandCopybara-Service 3b5232c14f feat: add sample mcp agent that connects to mcp server via sse endpoint directly
PiperOrigin-RevId: 760388717
2025-05-18 17:00:03 -07:00
Xiang (Sean) ZhouandCopybara-Service 2ad1f79422 refactor: replace logger.warn which is deprecated with logger.warning
PiperOrigin-RevId: 760311574
2025-05-18 10:25:29 -07:00
Xiang (Sean) ZhouandCopybara-Service f83504dffb chore: add toolbox sample agent
PiperOrigin-RevId: 759746416
2025-05-16 14:01:53 -07:00
Xiang (Sean) ZhouandCopybara-Service 939b45a1c8 feat: add Toolbox Toolset
PiperOrigin-RevId: 759741922
2025-05-16 13:48:47 -07:00
Xiang (Sean) ZhouandCopybara-Service 015c667917 refactor: refactor base toolset to import from relative path
PiperOrigin-RevId: 759735824
2025-05-16 13:33:04 -07:00
Xiang (Sean) ZhouandCopybara-Service f384793649 fix: fix mcp agent filter logic
PiperOrigin-RevId: 759638254
2025-05-16 09:10:49 -07:00
Xiang (Sean) ZhouandCopybara-Service 05a853bc91 fix:fix mcp toolset close issue
PiperOrigin-RevId: 759636772
2025-05-16 09:05:56 -07:00
Xiang (Sean) ZhouandCopybara-Service 12507dc6cc fix: fix tool filtering in mcp toolset
PiperOrigin-RevId: 759632573
2025-05-16 08:53:21 -07:00
Xiang (Sean) ZhouandCopybara-Service 755ce74550 fix: stage correct ui files to adk
PiperOrigin-RevId: 759632290
2025-05-16 08:52:22 -07:00