google-adk 1.4.2__py3-none-any.whl → 1.5.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
google/adk/runners.py CHANGED
@@ -36,6 +36,7 @@ from .artifacts.in_memory_artifact_service import InMemoryArtifactService
36
36
  from .auth.credential_service.base_credential_service import BaseCredentialService
37
37
  from .code_executors.built_in_code_executor import BuiltInCodeExecutor
38
38
  from .events.event import Event
39
+ from .flows.llm_flows.functions import find_matching_function_call
39
40
  from .memory.base_memory_service import BaseMemoryService
40
41
  from .memory.in_memory_memory_service import InMemoryMemoryService
41
42
  from .platform.thread import create_thread
@@ -337,6 +338,8 @@ class Runner:
337
338
  """Finds the agent to run to continue the session.
338
339
 
339
340
  A qualified agent must be either of:
341
+ - The agent that returned a function call and the last user message is a
342
+ function response to this function call.
340
343
  - The root agent;
341
344
  - An LlmAgent who replied last and is capable to transfer to any other agent
342
345
  in the agent hierarchy.
@@ -348,6 +351,13 @@ class Runner:
348
351
  Returns:
349
352
  The agent of the last message in the session or the root agent.
350
353
  """
354
+ # If the last event is a function response, should send this response to
355
+ # the agent that returned the corressponding function call regardless the
356
+ # type of the agent. e.g. a remote a2a agent may surface a credential
357
+ # request as a special long running function tool call.
358
+ event = find_matching_function_call(session.events)
359
+ if event and event.author:
360
+ return root_agent.find_agent(event.author)
351
361
  for event in filter(lambda e: e.author != 'user', reversed(session.events)):
352
362
  if event.author == root_agent.name:
353
363
  # Found root agent.
@@ -16,6 +16,7 @@ from __future__ import annotations
16
16
  import asyncio
17
17
  import json
18
18
  import logging
19
+ import os
19
20
  import re
20
21
  from typing import Any
21
22
  from typing import Dict
@@ -23,6 +24,7 @@ from typing import Optional
23
24
  import urllib.parse
24
25
 
25
26
  from dateutil import parser
27
+ from google.genai.errors import ClientError
26
28
  from typing_extensions import override
27
29
 
28
30
  from google import genai
@@ -95,25 +97,46 @@ class VertexAiSessionService(BaseSessionService):
95
97
  operation_id = api_response['name'].split('/')[-1]
96
98
 
97
99
  max_retry_attempt = 5
98
- lro_response = None
99
- while max_retry_attempt >= 0:
100
- lro_response = await api_client.async_request(
101
- http_method='GET',
102
- path=f'operations/{operation_id}',
103
- request_dict={},
104
- )
105
- lro_response = _convert_api_response(lro_response)
106
100
 
107
- if lro_response.get('done', None):
108
- break
109
-
110
- await asyncio.sleep(1)
111
- max_retry_attempt -= 1
112
-
113
- if lro_response is None or not lro_response.get('done', None):
114
- raise TimeoutError(
115
- f'Timeout waiting for operation {operation_id} to complete.'
116
- )
101
+ if _is_vertex_express_mode(self._project, self._location):
102
+ # Express mode doesn't support LRO, so we need to poll
103
+ # the session resource.
104
+ # TODO: remove this once LRO polling is supported in Express mode.
105
+ for i in range(max_retry_attempt):
106
+ try:
107
+ await api_client.async_request(
108
+ http_method='GET',
109
+ path=(
110
+ f'reasoningEngines/{reasoning_engine_id}/sessions/{session_id}'
111
+ ),
112
+ request_dict={},
113
+ )
114
+ break
115
+ except ClientError as e:
116
+ logger.info('Polling for session %s: %s', session_id, e)
117
+ # Add slight exponential backoff to avoid excessive polling.
118
+ await asyncio.sleep(1 + 0.5 * i)
119
+ else:
120
+ raise TimeoutError('Session creation failed.')
121
+ else:
122
+ lro_response = None
123
+ for _ in range(max_retry_attempt):
124
+ lro_response = await api_client.async_request(
125
+ http_method='GET',
126
+ path=f'operations/{operation_id}',
127
+ request_dict={},
128
+ )
129
+ lro_response = _convert_api_response(lro_response)
130
+
131
+ if lro_response.get('done', None):
132
+ break
133
+
134
+ await asyncio.sleep(1)
135
+
136
+ if lro_response is None or not lro_response.get('done', None):
137
+ raise TimeoutError(
138
+ f'Timeout waiting for operation {operation_id} to complete.'
139
+ )
117
140
 
118
141
  # Get session resource
119
142
  get_session_api_response = await api_client.async_request(
@@ -312,6 +335,18 @@ class VertexAiSessionService(BaseSessionService):
312
335
  return client._api_client
313
336
 
314
337
 
338
+ def _is_vertex_express_mode(
339
+ project: Optional[str], location: Optional[str]
340
+ ) -> bool:
341
+ """Check if Vertex AI and API key are both enabled replacing project and location, meaning the user is using the Vertex Express Mode."""
342
+ return (
343
+ os.environ.get('GOOGLE_GENAI_USE_VERTEXAI', '0').lower() in ['true', '1']
344
+ and os.environ.get('GOOGLE_API_KEY', None) is not None
345
+ and project is None
346
+ and location is None
347
+ )
348
+
349
+
315
350
  def _convert_api_response(api_response):
316
351
  """Converts the API response to a JSON object based on the type."""
317
352
  if hasattr(api_response, 'body'):
google/adk/telemetry.py CHANGED
@@ -195,6 +195,16 @@ def trace_call_llm(
195
195
  llm_response_json,
196
196
  )
197
197
 
198
+ if llm_response.usage_metadata is not None:
199
+ span.set_attribute(
200
+ 'gen_ai.usage.input_tokens',
201
+ llm_response.usage_metadata.prompt_token_count,
202
+ )
203
+ span.set_attribute(
204
+ 'gen_ai.usage.output_tokens',
205
+ llm_response.usage_metadata.total_token_count,
206
+ )
207
+
198
208
 
199
209
  def trace_send_data(
200
210
  invocation_context: InvocationContext,
google/adk/version.py CHANGED
@@ -13,4 +13,4 @@
13
13
  # limitations under the License.
14
14
 
15
15
  # version: major.minor.patch
16
- __version__ = "1.4.2"
16
+ __version__ = "1.5.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: google-adk
3
- Version: 1.4.2
3
+ Version: 1.5.0
4
4
  Summary: Agent Development Kit
5
5
  Author-email: Google LLC <googleapis-packages@google.com>
6
6
  Requires-Python: >=3.9
@@ -19,6 +19,7 @@ Classifier: Operating System :: OS Independent
19
19
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
20
  Classifier: License :: OSI Approved :: Apache Software License
21
21
  License-File: LICENSE
22
+ Requires-Dist: PyYAML>=6.0.2
22
23
  Requires-Dist: anyio>=4.9.0;python_version>='3.10'
23
24
  Requires-Dist: authlib>=1.5.1
24
25
  Requires-Dist: click>=8.1.8
@@ -28,7 +29,7 @@ Requires-Dist: google-cloud-aiplatform[agent-engines]>=1.95.1
28
29
  Requires-Dist: google-cloud-secret-manager>=2.22.0
29
30
  Requires-Dist: google-cloud-speech>=2.30.0
30
31
  Requires-Dist: google-cloud-storage>=2.18.0, <3.0.0
31
- Requires-Dist: google-genai>=1.17.0
32
+ Requires-Dist: google-genai>=1.21.1
32
33
  Requires-Dist: graphviz>=0.20.2
33
34
  Requires-Dist: mcp>=1.8.0;python_version>='3.10'
34
35
  Requires-Dist: opentelemetry-api>=1.31.0
@@ -37,7 +38,6 @@ Requires-Dist: opentelemetry-sdk>=1.31.0
37
38
  Requires-Dist: pydantic>=2.0, <3.0.0
38
39
  Requires-Dist: python-dateutil>=2.9.0.post0
39
40
  Requires-Dist: python-dotenv>=1.0.0
40
- Requires-Dist: PyYAML>=6.0.2
41
41
  Requires-Dist: requests>=2.32.4
42
42
  Requires-Dist: sqlalchemy>=2.0
43
43
  Requires-Dist: starlette>=0.46.2
@@ -48,9 +48,9 @@ Requires-Dist: websockets>=15.0.1
48
48
  Requires-Dist: a2a-sdk>=0.2.7 ; extra == "a2a" and (python_version>='3.10')
49
49
  Requires-Dist: flit>=3.10.0 ; extra == "dev"
50
50
  Requires-Dist: isort>=6.0.0 ; extra == "dev"
51
+ Requires-Dist: mypy>=1.15.0 ; extra == "dev"
51
52
  Requires-Dist: pyink>=24.10.0 ; extra == "dev"
52
53
  Requires-Dist: pylint>=2.6.0 ; extra == "dev"
53
- Requires-Dist: mypy>=1.15.0 ; extra == "dev"
54
54
  Requires-Dist: autodoc_pydantic ; extra == "docs"
55
55
  Requires-Dist: furo ; extra == "docs"
56
56
  Requires-Dist: myst-parser ; extra == "docs"
@@ -60,6 +60,7 @@ Requires-Dist: sphinx-rtd-theme ; extra == "docs"
60
60
  Requires-Dist: google-cloud-aiplatform[evaluation]>=1.87.0 ; extra == "eval"
61
61
  Requires-Dist: pandas>=2.2.3 ; extra == "eval"
62
62
  Requires-Dist: tabulate>=0.9.0 ; extra == "eval"
63
+ Requires-Dist: rouge-score>=0.1.2 ; extra == "eval"
63
64
  Requires-Dist: anthropic>=0.43.0 ; extra == "extensions"
64
65
  Requires-Dist: beautifulsoup4>=3.2.2 ; extra == "extensions"
65
66
  Requires-Dist: crewai[tools] ; extra == "extensions" and (python_version>='3.10')
@@ -226,7 +227,7 @@ adk eval \
226
227
  ## 🤝 Contributing
227
228
 
228
229
  We welcome contributions from the community! Whether it's bug reports, feature requests, documentation improvements, or code contributions, please see our
229
- - [General contribution guideline and flow](https://google.github.io/adk-docs/contributing-guide/#questions).
230
+ - [General contribution guideline and flow](https://google.github.io/adk-docs/contributing-guide/).
230
231
  - Then if you want to contribute code, please read [Code Contributing Guidelines](./CONTRIBUTING.md) to get started.
231
232
 
232
233
  ## 📄 License
@@ -1,13 +1,14 @@
1
1
  google/adk/__init__.py,sha256=sSPQK3r0tW8ahl-k8SXkZvMcbiTbGICCtrw6KkFucyg,726
2
2
  google/adk/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- google/adk/runners.py,sha256=Tqv3HrulZGBO5YZ9bNbtAihDl-SsPv1SnW5nzUBRfZs,18558
4
- google/adk/telemetry.py,sha256=0ZHioyg4GD-A4xd2TPB_W1uW2_m5kMQGHosPwCu9cIc,8641
5
- google/adk/version.py,sha256=oy2jnAjqK4WVwWkp2NI0T0DqExGIXma2q1zr_CLnGO8,626
3
+ google/adk/runners.py,sha256=L2Ayx5JfTfhXyM4Beldw48tLZc5UlNciglCGQ_sDnHk,19174
4
+ google/adk/telemetry.py,sha256=6E6qf1tSk3J-BE2fTzJTaidiDsgsqTLyIn_8tlDJ34U,8934
5
+ google/adk/version.py,sha256=43TwDogDc_l0V9dFd_lIeA7YUbAJpoqLP99eomhpZ2M,626
6
6
  google/adk/a2a/__init__.py,sha256=Q9FlRO2IfSE9yEaiAYzWkOMBJPCaNYqh4ihcp0t0BQs,574
7
7
  google/adk/a2a/converters/__init__.py,sha256=Q9FlRO2IfSE9yEaiAYzWkOMBJPCaNYqh4ihcp0t0BQs,574
8
8
  google/adk/a2a/converters/event_converter.py,sha256=8n6_j7mkxCZlDMPhEfzG6THCCA0qSqV3PN0s3C-AT60,11183
9
9
  google/adk/a2a/converters/part_converter.py,sha256=JAkL6x7zPhKvLNDSSacpdQl2v0YwzVZS804--q1yi3U,5374
10
- google/adk/a2a/converters/utils.py,sha256=pMhM3k-KZuSprmB-ELH-sdRKLC5SZnRYJke6lCJJdJI,1011
10
+ google/adk/a2a/converters/request_converter.py,sha256=k5Bw5P05EwIFMg7TAKXiZyDFTCEC9dSgkBXhyJP0Vn4,2758
11
+ google/adk/a2a/converters/utils.py,sha256=cpnIrjc14Y8skFEuSKueiy-juYe4dy0-6gVv1nRuJOE,2049
11
12
  google/adk/agents/__init__.py,sha256=WsCiBlvI-ISWrcntboo_sULvVJNwLNxXCe42UGPLKdY,1041
12
13
  google/adk/agents/active_streaming_tool.py,sha256=vFuh_PkdF5EyyneBBJ7Al8ojeTIR3OtsxLjckr9DbXE,1194
13
14
  google/adk/agents/base_agent.py,sha256=fCwAcR12IVVx8qXWGVf773zOmQEKnXDPwmoYYQwUfR4,12168
@@ -15,7 +16,7 @@ google/adk/agents/callback_context.py,sha256=BVDcgrJEWEPEf9ZzWFyhUFcZJ2ECm8XFStg
15
16
  google/adk/agents/invocation_context.py,sha256=ytnZvN869zSLqC1eKXVwv_NDuyQ3Z2EV4tlbJ-0r2Ls,6345
16
17
  google/adk/agents/langgraph_agent.py,sha256=1MI-jsLRncMy4mpjSsGU5FL6zbK-k4FxiupnujgYVNE,4287
17
18
  google/adk/agents/live_request_queue.py,sha256=AudgMP6VfGjNgH7VeQamKJ6Yo2n5eIlikcscoOqprNU,2109
18
- google/adk/agents/llm_agent.py,sha256=LMpJeLW18ZdajNFYnhEBt2RD01oOGLXU4RpjcT4WuLs,16660
19
+ google/adk/agents/llm_agent.py,sha256=voivWnvgJ_j09QqDcXaaa-wNxMkbOMj_kHJwceXupmM,16718
19
20
  google/adk/agents/loop_agent.py,sha256=BRGCwSopdOX_x7oUTnUe7udS9GpV0zOn5vXf1USsCf0,1935
20
21
  google/adk/agents/parallel_agent.py,sha256=Wv-ODUKQp_FABo7Cbhcc8-woqgiD5B649OigAMD6DNo,3525
21
22
  google/adk/agents/readonly_context.py,sha256=MyRXiSTT8kFheq7VYQjXow6mwYpdZim4PgI2iKT-XIo,1659
@@ -24,19 +25,20 @@ google/adk/agents/sequential_agent.py,sha256=g_9mR4cMHiLwqtztclAUdnjCm0-u4nVpTpG
24
25
  google/adk/agents/transcription_entry.py,sha256=HL8j2xvtdrcP4_uxy55ASCmLFrc8KchvV2eoGnwZnqc,1178
25
26
  google/adk/artifacts/__init__.py,sha256=D5DYoVYR0tOd2E_KwRu0Cp7yvV25KGuIQmQeCRDyK-k,846
26
27
  google/adk/artifacts/base_artifact_service.py,sha256=H-t5nckLTfr330utj8vxjH45z81h_h_c9EZzd3A76dY,3452
27
- google/adk/artifacts/gcs_artifact_service.py,sha256=-YU4NhZiGMnHHCg00aJWgKq4JWkQLh7EH5OuGusM5bE,5608
28
+ google/adk/artifacts/gcs_artifact_service.py,sha256=W0uKqb3cRHSvnxRbiDQc2vfdBkr-3ihizWs37eRuSVw,5633
28
29
  google/adk/artifacts/in_memory_artifact_service.py,sha256=Iw34Ja89JwGgd3sulbxxk5pVMqzEZJCt4F2m15MC37U,4059
29
30
  google/adk/auth/__init__.py,sha256=GoFe0aZGdp0ExNE4rXNn1RuXLaB64j7Z-2C5e2Hsh8c,908
30
31
  google/adk/auth/auth_credential.py,sha256=F1cMHe_gda5N6RXlyB0IYLLos-Jz-WcNFkIm9SjSiGQ,7012
31
32
  google/adk/auth/auth_handler.py,sha256=aUJrY8fzPvSZwi1rtB_N7fHuHt6DE-H8D8HnkDUCyZQ,6828
32
33
  google/adk/auth/auth_preprocessor.py,sha256=RleOG5I7L1EWVRdX_bC1WtKnt0FDKAcXSSh1RexJqtE,4309
33
34
  google/adk/auth/auth_schemes.py,sha256=dxx9bxjOWoae1fSVxbpaVTwa0I4v76_QJJFEX--1ueA,2260
34
- google/adk/auth/auth_tool.py,sha256=2N-lR5UrgBhwPaErwRusT1MrNDQGb8fuiMHO5x3cmck,3674
35
+ google/adk/auth/auth_tool.py,sha256=m9m_ecoBLjsNpEf34s3hmv5PpWXZbpc4yaV7NgVSOoA,3694
35
36
  google/adk/auth/credential_manager.py,sha256=G5iqpStGHl4wZxkeqNDNljrEt1L_XNSfNVM9mmOqUhg,9503
36
37
  google/adk/auth/oauth2_credential_util.py,sha256=gIb1OUGA4NZRnIeLLk29T_Q9J8ibTxe7-357UhCW3FY,3340
37
38
  google/adk/auth/credential_service/__init__.py,sha256=Q9FlRO2IfSE9yEaiAYzWkOMBJPCaNYqh4ihcp0t0BQs,574
38
39
  google/adk/auth/credential_service/base_credential_service.py,sha256=4SK1UW9NiLNLrc_grpG3xyIPXySGpl0DIv9bTm-onWE,2325
39
40
  google/adk/auth/credential_service/in_memory_credential_service.py,sha256=xXG-3_uq3CU1Eilp8NGBhje0X77ROlAT5BKyJmLLyHg,2161
41
+ google/adk/auth/credential_service/session_state_credential_service.py,sha256=NlOv6Z7A2_7MRLfmnYlBqyZFXvw_H3m_Tk98Ey36k6s,2615
40
42
  google/adk/auth/exchanger/__init__.py,sha256=RHCK_Zg7hXzBKvz2Vrwvbx_cMXWittidIZToszaL3Nc,720
41
43
  google/adk/auth/exchanger/base_credential_exchanger.py,sha256=Uqzs_NhEDmuH5n0U_ES5fHlMSagyYEc5JKu-5GdOC_A,1644
42
44
  google/adk/auth/exchanger/credential_exchanger_registry.py,sha256=Nsk9BMmhFbZsXQwPckm8elXfbk6iIRSrvegR6DpcONo,1855
@@ -50,10 +52,10 @@ google/adk/cli/__main__.py,sha256=gN8rRWlkh_3gLI-oYByxrKpCW9BIfDwrr0YuyisxmHo,64
50
52
  google/adk/cli/agent_graph.py,sha256=Kj5_a4UE1QXmqdRv4i4LI4hKHOrLkBS22Q759F3aRug,9879
51
53
  google/adk/cli/cli.py,sha256=5hbWTJYn9eOd4OVNZvvfJ4WuhuNf1ICBP6j6tb-kSFg,6724
52
54
  google/adk/cli/cli_create.py,sha256=S5sAKIzTjaf3bWoh6nUCSxm9koxdkN0SkTnOtsl0Oqs,8010
53
- google/adk/cli/cli_deploy.py,sha256=qBhp8DbjbV574h73pJ9TppKFxM-_oxojmtMvhlEvp_o,12990
55
+ google/adk/cli/cli_deploy.py,sha256=PbJUo3Fa7MGl6XDYKBGola2oYINb6WxEeHva8W80P1k,13351
54
56
  google/adk/cli/cli_eval.py,sha256=iCSzi1f1ik1rytCeu0GvQqkVnIBekpfx97utHpSXUMI,10208
55
- google/adk/cli/cli_tools_click.py,sha256=5n0sgYV-J3VxuPz3MhS5NTfDnFeYJG3KF3zuJGa_Q-c,27814
56
- google/adk/cli/fast_api.py,sha256=vHD3zlN_KZB_fYFJapbjza_poxv3jhf8Fklnh-9SNms,31867
57
+ google/adk/cli/cli_tools_click.py,sha256=be-j62_qJDgaF4cE2A_ZJLoa-2_vQnkXO5rKS3ozNiw,29582
58
+ google/adk/cli/fast_api.py,sha256=JC0_707uzvDCbiQKMqqzqLZ17F_nJZyH-8abE24W2tY,32964
57
59
  google/adk/cli/browser/adk_favicon.svg,sha256=giyzTZ5Xe6HFU63NgTIZDm35L-RmID-odVFOZ4vMo1M,3132
58
60
  google/adk/cli/browser/index.html,sha256=kXlN0L6yhMrhZajFKaXIAxY-bGJXlD6kUqWl9mElbeM,18492
59
61
  google/adk/cli/browser/main-JAAWEV7F.js,sha256=SK4gb-wUizou4gmqa1Kdfoa6V8uKrYBxU5QHabOI5z8,2640561
@@ -67,7 +69,7 @@ google/adk/cli/utils/agent_loader.py,sha256=Lgde2ZYFYnnKGMNvdRyUl3GOWvaFCOVweNr9
67
69
  google/adk/cli/utils/cleanup.py,sha256=c8kMxpDoNsr49C0O68pptpmy8oce1PjaLtvUy200pWw,1296
68
70
  google/adk/cli/utils/common.py,sha256=brmJF3t-h_HCCS9FQtgqY0Ozk1meeM6a1omwcmsbDBQ,788
69
71
  google/adk/cli/utils/envs.py,sha256=XOEFNiQlgTTyDvaH1FHmgOnPeC3MHsx_DhyOGa-tSAY,1684
70
- google/adk/cli/utils/evals.py,sha256=N-X2_uivb5Nw4SzsC8HlXgkSIpvOVaZbwnV6W2kdlXY,6600
72
+ google/adk/cli/utils/evals.py,sha256=aGBEw7QOnyzmudKiz0JlUTyiLHlMd53r8_RuOqQneTQ,8235
71
73
  google/adk/cli/utils/logs.py,sha256=ARcKVGDi8vHReg1DO7ZGbUBk0RejRMzKf2xHvIWn2xA,2296
72
74
  google/adk/code_executors/__init__.py,sha256=dJ8qAZyj3jm8fNnzQWoWpI7xSVUGhU5qIxbEDpouizc,1641
73
75
  google/adk/code_executors/base_code_executor.py,sha256=QLpgVcFNI5V21U-kVleze24ADeuDKgE3wI7Uui6vUeo,3030
@@ -92,14 +94,15 @@ google/adk/evaluation/eval_sets_manager.py,sha256=j6t-Vf5vDQXPG5cCQ3VTrkWMcmJv-u
92
94
  google/adk/evaluation/evaluation_constants.py,sha256=q3FpEx1PDoj0VjVwHDZ6U-LNZ1_uApM03d2vOevvHA4,857
93
95
  google/adk/evaluation/evaluation_generator.py,sha256=jbE_Q0bdIJ94vUfyZlblzJK6UsfjzkpdZG1Pp8ge75A,8188
94
96
  google/adk/evaluation/evaluator.py,sha256=ACERS1jNCcqPPoI84qt68-B_aAr8o729cd2Qmb-FrXE,1673
97
+ google/adk/evaluation/final_response_match_v1.py,sha256=PamGQc3WwIYR1RU6Qhld4PbEFOSEA7LAK81nZVm2UCk,3768
95
98
  google/adk/evaluation/gcs_eval_set_results_manager.py,sha256=XS4kcXgiTjuLPvfA2MSR6dZDo-8PZTQTilvOFW5jo64,4444
96
- google/adk/evaluation/gcs_eval_sets_manager.py,sha256=77dTIDrlXz_7ivi0smVr2oEi3qDxqHHpVVX5FT1aTdI,7431
99
+ google/adk/evaluation/gcs_eval_sets_manager.py,sha256=K1zHJeKi8oIvuBMpCsfMEJRu20B5F6_pgN_bpHi0NCA,7559
97
100
  google/adk/evaluation/local_eval_set_results_manager.py,sha256=eLZz95r0Z-xyT1m0MxdmLxSjGzmmycLWclfsGn1aVzM,3703
98
101
  google/adk/evaluation/local_eval_sets_manager.py,sha256=CjT3cLEZfvra7QXzdPY3YaddjkQFFgupwdlRR_uOWP8,10414
99
- google/adk/evaluation/response_evaluator.py,sha256=k9uad2FmlO1rnRul_nDFO6lk_16vm7l320hquVgUXhQ,8398
102
+ google/adk/evaluation/response_evaluator.py,sha256=_tnErq0WQI7DjhrOSmgh3AkUrbAosRzOPCJIxvwCvHc,8864
100
103
  google/adk/evaluation/trajectory_evaluator.py,sha256=HdQ2W2Qwy-08o7H2wtFNYFTlF7uphi9LeD03nHXeIVY,8235
101
104
  google/adk/events/__init__.py,sha256=Lh0rh6RAt5DIxbwBUajjGMbB6bZW5K4Qli6PD_Jv74Q,688
102
- google/adk/events/event.py,sha256=LZal8tipy5mCln4WLYatFQ3yWRL5QDB30oBK0z7aczM,4719
105
+ google/adk/events/event.py,sha256=AFb6CibQCztO1fWGqz4OKB7Z5dusm7CRl91p8SdBB9M,4793
103
106
  google/adk/events/event_actions.py,sha256=-f_WTN8eQdhAj2celU5AoynGlBfplj3nia9C7OrT534,2275
104
107
  google/adk/examples/__init__.py,sha256=LCuLG_SOF9OAV3vc1tHAaBAOeQEZl0MFHC2LGmZ6e-A,851
105
108
  google/adk/examples/base_example_provider.py,sha256=tood7EnGil4pM3GPRTsSUby2TiAfstBv0x1v8djpgwQ,1074
@@ -116,16 +119,17 @@ google/adk/flows/llm_flows/audio_transcriber.py,sha256=x0LeOZLDPVPzPCYNYA3JyAEAj
116
119
  google/adk/flows/llm_flows/auto_flow.py,sha256=CnuFelyZhB_ns4U_5_dW0x_KQlzu02My7qWcB4XBCYY,1714
117
120
  google/adk/flows/llm_flows/base_llm_flow.py,sha256=uGqJ-b_Xygqgae1dndNh9tgTaj3luMKq3Qj4_jDf278,22660
118
121
  google/adk/flows/llm_flows/basic.py,sha256=263pfk6PIqKO-7BWo--bsBbpZJ8u5R9OK__WhpBgIbM,2848
119
- google/adk/flows/llm_flows/contents.py,sha256=bAklBI8YWctd0pGQCRwCVDqDxASiCNV_t8tJChPLbFg,13055
120
- google/adk/flows/llm_flows/functions.py,sha256=NRzs9MfqCI8JjKBJCPk3iO_xXn0PzaBfy7NjQrdVsUU,17512
122
+ google/adk/flows/llm_flows/contents.py,sha256=OMxxPcI_hwQ0OQCrBVBeKukVfdeefBhD3YJQP0C9B2M,14638
123
+ google/adk/flows/llm_flows/functions.py,sha256=nD74YrS2GSR4yr6erR_vpw7lE7dyx9zDPUFKmY1Uvic,18410
121
124
  google/adk/flows/llm_flows/identity.py,sha256=X4CRg12NvnopmydU9gbFJI4lW1_otN-w_GOAuPvKrXo,1651
122
125
  google/adk/flows/llm_flows/instructions.py,sha256=sO2dQ5hn6ybjXs2fWYWvEFVtACdpiiP0yKf9eNVjhhM,2879
123
126
  google/adk/flows/llm_flows/single_flow.py,sha256=gC677SxxammKx1XkZBzUdgBjDzeymKRcRQQxFGIur8Y,1904
124
- google/adk/memory/__init__.py,sha256=8LHs0wpz5bVi0kChzERh9oMCjKh4e6Nmfe_821wF7QQ,1148
127
+ google/adk/memory/__init__.py,sha256=N_K_03mtTC2Hl1biXdbkgrbdJVvF7EhKs6jgJMAsEpo,1250
125
128
  google/adk/memory/_utils.py,sha256=6hba7T4ZJ00K3tX1kLuiuiN02E844XtfR1lFEGa-AaM,797
126
129
  google/adk/memory/base_memory_service.py,sha256=KlpjlgZopqKM19QP9X0eKLBSVG10hHjD4qgEEfwdb9k,1987
127
130
  google/adk/memory/in_memory_memory_service.py,sha256=S8mxOuosgzAFyl7ZoSjIo-vWY_3mhRMf2a13YO8MObo,3024
128
131
  google/adk/memory/memory_entry.py,sha256=NSISrQHX6sww0J7wXP-eqxkGAkF2irqCU_UH-ziWACc,1092
132
+ google/adk/memory/vertex_ai_memory_bank_service.py,sha256=Nr0R37EM3uFzpQAC5g7aDogMljgn6MIIyoTXC4qrZYU,4711
129
133
  google/adk/memory/vertex_ai_rag_memory_service.py,sha256=mNilkk4VtFQj6QYyX-DCPJ4kddKRgo68I3XfVhG8B14,6817
130
134
  google/adk/models/__init__.py,sha256=jnI2M8tz4IN_WOUma4PIEdGOBDIotXcQpseH6P1VgZU,929
131
135
  google/adk/models/anthropic_llm.py,sha256=NcsQ8IfC1vM_qGQexmiM8vRFeTpIHOYqXsXYbysou80,8135
@@ -133,7 +137,7 @@ google/adk/models/base_llm.py,sha256=85Oo0U0zyZK3iJZz9XVovnCvXNgVQ9Dvcf80VecWTNo
133
137
  google/adk/models/base_llm_connection.py,sha256=y_pNFA2xlwnsP6dt7BfoezfzoZ5gSZJnTogd7o7DodI,2254
134
138
  google/adk/models/gemini_llm_connection.py,sha256=M0dXHcVgDaPB97n6DWFjGjqwhuJkJMcbDYP9drK052U,7349
135
139
  google/adk/models/google_llm.py,sha256=ZaZh9FckWGscHZ7y0BVyt7PETSdlJcSTkQu4mV2Km5o,11926
136
- google/adk/models/lite_llm.py,sha256=qRcFAPyaYKMwrOnqt4zrp8UL_ZEwOdyFBGHrTXaHRdU,23181
140
+ google/adk/models/lite_llm.py,sha256=kNpVDjcuagwdmiA9QrXnHPzToI6oH9ms53kA0OL5wVM,23445
137
141
  google/adk/models/llm_request.py,sha256=nJdE_mkAwa_QNkl7FJdw5Ys748vM5RqaRYiZtke-mDA,3008
138
142
  google/adk/models/llm_response.py,sha256=tQOfXCnJoiGp-Oxp1_lAKokx0klAzbwKklngKg4ExgQ,4563
139
143
  google/adk/models/registry.py,sha256=5VQyHMEaMbVp9TdscTqDAOo9uXB85zjrbMrT3zQElLE,2542
@@ -152,7 +156,7 @@ google/adk/sessions/database_session_service.py,sha256=zPqH1pY_euvSA9I3f3BTfvBxL
152
156
  google/adk/sessions/in_memory_session_service.py,sha256=5mU882L-0zobyWoldAkuBMmGKTQV_XlhL0A2_OySPzU,9080
153
157
  google/adk/sessions/session.py,sha256=fwJ3D4rUQ1N5cLMpFrE_BstEz6Ct637FlF52MfkxZCk,1861
154
158
  google/adk/sessions/state.py,sha256=con9G5nfJpa95J5LKTAnZ3KMPkXdaTbrdwRdKg6d6B4,2299
155
- google/adk/sessions/vertex_ai_session_service.py,sha256=ZzQeCd3lE-7htfNZjWB_pDV2C5fNksHQ7c-RvJjSEnc,13564
159
+ google/adk/sessions/vertex_ai_session_service.py,sha256=WHm8kQoWYyP3cQbnx1f7mm6X655ypbtAwOwAdQ5zELQ,14893
156
160
  google/adk/tools/__init__.py,sha256=_5JFmTAPBmXlOY8CRaYJlZubvwxoxhi2esXusovv5ME,1752
157
161
  google/adk/tools/_automatic_function_calling_util.py,sha256=p5An_BklKDo1w5_DigZGgf0p023lIDKPaZPS_-iJN6k,11100
158
162
  google/adk/tools/_forwarding_artifact_service.py,sha256=MHOfc8ntSuHLcA4jp218FP0k0qWAu3-6MSQCNWZ__S4,3022
@@ -235,8 +239,8 @@ google/adk/utils/__init__.py,sha256=Q9FlRO2IfSE9yEaiAYzWkOMBJPCaNYqh4ihcp0t0BQs,
235
239
  google/adk/utils/feature_decorator.py,sha256=DzGHMTStf4-S9BNiA4EqcCJbrdKijhgeSUSPdzM44H8,5048
236
240
  google/adk/utils/instructions_utils.py,sha256=al9Z-P8qOrbxNju8cqkeH7qRg0oQH7hfmvTG-0oSAQk,3996
237
241
  google/adk/utils/variant_utils.py,sha256=u9IuOn2aXG3ibDYshgLoogBXqH9Gd84ixArQoeLQiE8,1463
238
- google_adk-1.4.2.dist-info/entry_points.txt,sha256=zL9CU-6V2yQ2oc5lrcyj55ROHrpiIePsvQJ4H6SL-zI,43
239
- google_adk-1.4.2.dist-info/licenses/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
240
- google_adk-1.4.2.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
241
- google_adk-1.4.2.dist-info/METADATA,sha256=GFu7dUG7xYrhvSed3cY-WARhxOCrTlFmUMyzygCL2Ko,9981
242
- google_adk-1.4.2.dist-info/RECORD,,
242
+ google_adk-1.5.0.dist-info/entry_points.txt,sha256=zL9CU-6V2yQ2oc5lrcyj55ROHrpiIePsvQJ4H6SL-zI,43
243
+ google_adk-1.5.0.dist-info/licenses/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
244
+ google_adk-1.5.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
245
+ google_adk-1.5.0.dist-info/METADATA,sha256=nEiEm0DXdaSUewv4RkbxJvQDRR_836UNO7gaj7iuEYs,10023
246
+ google_adk-1.5.0.dist-info/RECORD,,