google-adk 0.0.2__py3-none-any.whl → 0.0.4__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.
Files changed (153) hide show
  1. google/adk/agents/run_config.py +4 -0
  2. google/adk/auth/auth_preprocessor.py +19 -16
  3. google/adk/cli/agent_graph.py +31 -5
  4. google/adk/cli/browser/index.html +1 -1
  5. google/adk/cli/browser/{main-XUU6OGCC.js → main-CU22TRPI.js} +30 -30
  6. google/adk/cli/cli.py +8 -8
  7. google/adk/cli/cli_deploy.py +2 -4
  8. google/adk/cli/cli_tools_click.py +57 -12
  9. google/adk/cli/fast_api.py +19 -9
  10. google/adk/flows/llm_flows/contents.py +21 -1
  11. google/adk/flows/llm_flows/functions.py +3 -1
  12. google/adk/models/google_llm.py +0 -1
  13. google/adk/runners.py +13 -2
  14. google/adk/version.py +1 -1
  15. {google_adk-0.0.2.dist-info → google_adk-0.0.4.dist-info}/METADATA +4 -2
  16. google_adk-0.0.4.dist-info/RECORD +175 -0
  17. {google_adk-0.0.2.dist-info → google_adk-0.0.4.dist-info}/WHEEL +1 -1
  18. google/adk/cli/media_streamer/__init__.py +0 -19
  19. google/adk/cli/media_streamer/index.html +0 -228
  20. google/adk/tests/__init__.py +0 -14
  21. google/adk/tests/integration/.env.example +0 -10
  22. google/adk/tests/integration/__init__.py +0 -18
  23. google/adk/tests/integration/conftest.py +0 -119
  24. google/adk/tests/integration/fixture/__init__.py +0 -14
  25. google/adk/tests/integration/fixture/agent_with_config/__init__.py +0 -15
  26. google/adk/tests/integration/fixture/agent_with_config/agent.py +0 -88
  27. google/adk/tests/integration/fixture/callback_agent/__init__.py +0 -15
  28. google/adk/tests/integration/fixture/callback_agent/agent.py +0 -105
  29. google/adk/tests/integration/fixture/context_update_test/OWNERS +0 -1
  30. google/adk/tests/integration/fixture/context_update_test/__init__.py +0 -15
  31. google/adk/tests/integration/fixture/context_update_test/agent.py +0 -43
  32. google/adk/tests/integration/fixture/context_update_test/successful_test.session.json +0 -582
  33. google/adk/tests/integration/fixture/context_variable_agent/__init__.py +0 -15
  34. google/adk/tests/integration/fixture/context_variable_agent/agent.py +0 -115
  35. google/adk/tests/integration/fixture/customer_support_ma/__init__.py +0 -15
  36. google/adk/tests/integration/fixture/customer_support_ma/agent.py +0 -172
  37. google/adk/tests/integration/fixture/ecommerce_customer_service_agent/__init__.py +0 -15
  38. google/adk/tests/integration/fixture/ecommerce_customer_service_agent/agent.py +0 -338
  39. google/adk/tests/integration/fixture/ecommerce_customer_service_agent/order_query.test.json +0 -69
  40. google/adk/tests/integration/fixture/ecommerce_customer_service_agent/test_config.json +0 -6
  41. google/adk/tests/integration/fixture/flow_complex_spark/__init__.py +0 -15
  42. google/adk/tests/integration/fixture/flow_complex_spark/agent.py +0 -182
  43. google/adk/tests/integration/fixture/flow_complex_spark/sample.debug.log +0 -243
  44. google/adk/tests/integration/fixture/flow_complex_spark/sample.session.json +0 -190
  45. google/adk/tests/integration/fixture/hello_world_agent/__init__.py +0 -15
  46. google/adk/tests/integration/fixture/hello_world_agent/agent.py +0 -95
  47. google/adk/tests/integration/fixture/hello_world_agent/roll_die.test.json +0 -24
  48. google/adk/tests/integration/fixture/hello_world_agent/test_config.json +0 -6
  49. google/adk/tests/integration/fixture/home_automation_agent/__init__.py +0 -15
  50. google/adk/tests/integration/fixture/home_automation_agent/agent.py +0 -304
  51. google/adk/tests/integration/fixture/home_automation_agent/simple_test.test.json +0 -5
  52. google/adk/tests/integration/fixture/home_automation_agent/simple_test2.test.json +0 -5
  53. google/adk/tests/integration/fixture/home_automation_agent/test_config.json +0 -5
  54. google/adk/tests/integration/fixture/home_automation_agent/test_files/dependent_tool_calls.test.json +0 -18
  55. google/adk/tests/integration/fixture/home_automation_agent/test_files/memorizing_past_events/eval_data.test.json +0 -17
  56. google/adk/tests/integration/fixture/home_automation_agent/test_files/memorizing_past_events/test_config.json +0 -6
  57. google/adk/tests/integration/fixture/home_automation_agent/test_files/simple_multi_turn_conversation.test.json +0 -18
  58. google/adk/tests/integration/fixture/home_automation_agent/test_files/simple_test.test.json +0 -17
  59. google/adk/tests/integration/fixture/home_automation_agent/test_files/simple_test2.test.json +0 -5
  60. google/adk/tests/integration/fixture/home_automation_agent/test_files/test_config.json +0 -5
  61. google/adk/tests/integration/fixture/tool_agent/__init__.py +0 -15
  62. google/adk/tests/integration/fixture/tool_agent/agent.py +0 -218
  63. google/adk/tests/integration/fixture/tool_agent/files/Agent_test_plan.pdf +0 -0
  64. google/adk/tests/integration/fixture/trip_planner_agent/__init__.py +0 -15
  65. google/adk/tests/integration/fixture/trip_planner_agent/agent.py +0 -110
  66. google/adk/tests/integration/fixture/trip_planner_agent/initial.session.json +0 -13
  67. google/adk/tests/integration/fixture/trip_planner_agent/test_config.json +0 -5
  68. google/adk/tests/integration/fixture/trip_planner_agent/test_files/initial.session.json +0 -13
  69. google/adk/tests/integration/fixture/trip_planner_agent/test_files/test_config.json +0 -5
  70. google/adk/tests/integration/fixture/trip_planner_agent/test_files/trip_inquiry_sub_agent.test.json +0 -7
  71. google/adk/tests/integration/fixture/trip_planner_agent/trip_inquiry.test.json +0 -19
  72. google/adk/tests/integration/models/__init__.py +0 -14
  73. google/adk/tests/integration/models/test_google_llm.py +0 -65
  74. google/adk/tests/integration/test_callback.py +0 -70
  75. google/adk/tests/integration/test_context_variable.py +0 -67
  76. google/adk/tests/integration/test_evalute_agent_in_fixture.py +0 -76
  77. google/adk/tests/integration/test_multi_agent.py +0 -28
  78. google/adk/tests/integration/test_multi_turn.py +0 -42
  79. google/adk/tests/integration/test_single_agent.py +0 -23
  80. google/adk/tests/integration/test_sub_agent.py +0 -26
  81. google/adk/tests/integration/test_system_instruction.py +0 -177
  82. google/adk/tests/integration/test_tools.py +0 -287
  83. google/adk/tests/integration/test_with_test_file.py +0 -34
  84. google/adk/tests/integration/tools/__init__.py +0 -14
  85. google/adk/tests/integration/utils/__init__.py +0 -16
  86. google/adk/tests/integration/utils/asserts.py +0 -75
  87. google/adk/tests/integration/utils/test_runner.py +0 -97
  88. google/adk/tests/unittests/__init__.py +0 -14
  89. google/adk/tests/unittests/agents/__init__.py +0 -14
  90. google/adk/tests/unittests/agents/test_base_agent.py +0 -407
  91. google/adk/tests/unittests/agents/test_langgraph_agent.py +0 -191
  92. google/adk/tests/unittests/agents/test_llm_agent_callbacks.py +0 -138
  93. google/adk/tests/unittests/agents/test_llm_agent_fields.py +0 -231
  94. google/adk/tests/unittests/agents/test_loop_agent.py +0 -136
  95. google/adk/tests/unittests/agents/test_parallel_agent.py +0 -92
  96. google/adk/tests/unittests/agents/test_sequential_agent.py +0 -114
  97. google/adk/tests/unittests/artifacts/__init__.py +0 -14
  98. google/adk/tests/unittests/artifacts/test_artifact_service.py +0 -276
  99. google/adk/tests/unittests/auth/test_auth_handler.py +0 -575
  100. google/adk/tests/unittests/conftest.py +0 -73
  101. google/adk/tests/unittests/fast_api/__init__.py +0 -14
  102. google/adk/tests/unittests/fast_api/test_fast_api.py +0 -269
  103. google/adk/tests/unittests/flows/__init__.py +0 -14
  104. google/adk/tests/unittests/flows/llm_flows/__init__.py +0 -14
  105. google/adk/tests/unittests/flows/llm_flows/_test_examples.py +0 -142
  106. google/adk/tests/unittests/flows/llm_flows/test_agent_transfer.py +0 -311
  107. google/adk/tests/unittests/flows/llm_flows/test_functions_long_running.py +0 -244
  108. google/adk/tests/unittests/flows/llm_flows/test_functions_request_euc.py +0 -346
  109. google/adk/tests/unittests/flows/llm_flows/test_functions_sequential.py +0 -93
  110. google/adk/tests/unittests/flows/llm_flows/test_functions_simple.py +0 -258
  111. google/adk/tests/unittests/flows/llm_flows/test_identity.py +0 -66
  112. google/adk/tests/unittests/flows/llm_flows/test_instructions.py +0 -164
  113. google/adk/tests/unittests/flows/llm_flows/test_model_callbacks.py +0 -142
  114. google/adk/tests/unittests/flows/llm_flows/test_other_configs.py +0 -46
  115. google/adk/tests/unittests/flows/llm_flows/test_tool_callbacks.py +0 -269
  116. google/adk/tests/unittests/models/__init__.py +0 -14
  117. google/adk/tests/unittests/models/test_google_llm.py +0 -224
  118. google/adk/tests/unittests/models/test_litellm.py +0 -804
  119. google/adk/tests/unittests/models/test_models.py +0 -60
  120. google/adk/tests/unittests/sessions/__init__.py +0 -14
  121. google/adk/tests/unittests/sessions/test_session_service.py +0 -227
  122. google/adk/tests/unittests/sessions/test_vertex_ai_session_service.py +0 -246
  123. google/adk/tests/unittests/streaming/__init__.py +0 -14
  124. google/adk/tests/unittests/streaming/test_streaming.py +0 -50
  125. google/adk/tests/unittests/tools/__init__.py +0 -14
  126. google/adk/tests/unittests/tools/apihub_tool/clients/test_apihub_client.py +0 -499
  127. google/adk/tests/unittests/tools/apihub_tool/test_apihub_toolset.py +0 -204
  128. google/adk/tests/unittests/tools/application_integration_tool/clients/test_connections_client.py +0 -600
  129. google/adk/tests/unittests/tools/application_integration_tool/clients/test_integration_client.py +0 -630
  130. google/adk/tests/unittests/tools/application_integration_tool/test_application_integration_toolset.py +0 -345
  131. google/adk/tests/unittests/tools/google_api_tool/__init__.py +0 -13
  132. google/adk/tests/unittests/tools/google_api_tool/test_googleapi_to_openapi_converter.py +0 -657
  133. google/adk/tests/unittests/tools/openapi_tool/auth/credential_exchangers/test_auto_auth_credential_exchanger.py +0 -145
  134. google/adk/tests/unittests/tools/openapi_tool/auth/credential_exchangers/test_base_auth_credential_exchanger.py +0 -68
  135. google/adk/tests/unittests/tools/openapi_tool/auth/credential_exchangers/test_oauth2_exchanger.py +0 -153
  136. google/adk/tests/unittests/tools/openapi_tool/auth/credential_exchangers/test_service_account_exchanger.py +0 -196
  137. google/adk/tests/unittests/tools/openapi_tool/auth/test_auth_helper.py +0 -573
  138. google/adk/tests/unittests/tools/openapi_tool/common/test_common.py +0 -436
  139. google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test.yaml +0 -1367
  140. google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_openapi_spec_parser.py +0 -628
  141. google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_openapi_toolset.py +0 -139
  142. google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_operation_parser.py +0 -406
  143. google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_rest_api_tool.py +0 -966
  144. google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_tool_auth_handler.py +0 -201
  145. google/adk/tests/unittests/tools/retrieval/__init__.py +0 -14
  146. google/adk/tests/unittests/tools/retrieval/test_vertex_ai_rag_retrieval.py +0 -147
  147. google/adk/tests/unittests/tools/test_agent_tool.py +0 -167
  148. google/adk/tests/unittests/tools/test_base_tool.py +0 -141
  149. google/adk/tests/unittests/tools/test_build_function_declaration.py +0 -277
  150. google/adk/tests/unittests/utils.py +0 -304
  151. google_adk-0.0.2.dist-info/RECORD +0 -308
  152. {google_adk-0.0.2.dist-info → google_adk-0.0.4.dist-info}/entry_points.txt +0 -0
  153. {google_adk-0.0.2.dist-info → google_adk-0.0.4.dist-info/licenses}/LICENSE +0 -0
google/adk/cli/cli.py CHANGED
@@ -168,14 +168,14 @@ async def run_cli(
168
168
  else:
169
169
  session_id = input('Session ID to save: ')
170
170
  session_path = f'{agent_module_path}/{session_id}.session.json'
171
+
172
+ # Fetch the session again to get all the details.
173
+ session = session_service.get_session(
174
+ app_name=session.app_name,
175
+ user_id=session.user_id,
176
+ session_id=session.id,
177
+ )
171
178
  with open(session_path, 'w') as f:
172
179
  f.write(session.model_dump_json(indent=2, exclude_none=True))
173
- # TODO: Save from opentelemetry.
174
- # logs_path = session_path.replace('.session.json', '.logs.json')
175
- # with open(logs_path, 'w') as f:
176
- # f.write(
177
- # session.model_dump_json(
178
- # indent=2, exclude_none=True, include='event_logs'
179
- # )
180
- # )
180
+
181
181
  print('Session saved to', session_path)
@@ -36,10 +36,8 @@ USER myuser
36
36
  ENV PATH="/home/myuser/.local/bin:$PATH"
37
37
 
38
38
  ENV GOOGLE_GENAI_USE_VERTEXAI=1
39
- # TODO: use passed-in value
40
39
  ENV GOOGLE_CLOUD_PROJECT={gcp_project_id}
41
40
  ENV GOOGLE_CLOUD_LOCATION={gcp_region}
42
- ENV ADK_TRACE_TO_CLOUD={with_cloud_trace}
43
41
 
44
42
  # Set up environment variables - End
45
43
 
@@ -56,7 +54,7 @@ COPY "agents/{app_name}/" "/app/agents/{app_name}/"
56
54
 
57
55
  EXPOSE {port}
58
56
 
59
- CMD adk {command} --port={port} "/app/agents"
57
+ CMD adk {command} --port={port} {trace_to_cloud_option} "/app/agents"
60
58
  """
61
59
 
62
60
 
@@ -144,7 +142,7 @@ def to_cloud_run(
144
142
  port=port,
145
143
  command='web' if with_ui else 'api_server',
146
144
  install_agent_deps=install_agent_deps,
147
- with_cloud_trace='1' if with_cloud_trace else '0',
145
+ trace_to_cloud_option='--trace_to_cloud' if with_cloud_trace else '',
148
146
  )
149
147
  dockerfile_path = os.path.join(temp_folder, 'Dockerfile')
150
148
  os.makedirs(temp_folder, exist_ok=True)
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  import asyncio
16
+ from contextlib import asynccontextmanager
16
17
  from datetime import datetime
17
18
  import logging
18
19
  import os
@@ -20,6 +21,7 @@ import tempfile
20
21
  from typing import Optional
21
22
 
22
23
  import click
24
+ from fastapi import FastAPI
23
25
  import uvicorn
24
26
 
25
27
  from . import cli_deploy
@@ -98,7 +100,7 @@ def cli_run(agent: str, save_session: bool):
98
100
  default=False,
99
101
  help="Optional. Whether to print detailed results on console or not.",
100
102
  )
101
- def eval_command(
103
+ def cli_eval(
102
104
  agent_module_file_path: str,
103
105
  eval_set_file_path: tuple[str],
104
106
  config_file_path: str,
@@ -230,6 +232,13 @@ def eval_command(
230
232
  " This is useful for local debugging."
231
233
  ),
232
234
  )
235
+ @click.option(
236
+ "--trace_to_cloud",
237
+ is_flag=True,
238
+ show_default=True,
239
+ default=False,
240
+ help="Optional. Whether to enable cloud trace for telemetry.",
241
+ )
233
242
  @click.argument(
234
243
  "agents_dir",
235
244
  type=click.Path(
@@ -237,15 +246,16 @@ def eval_command(
237
246
  ),
238
247
  default=os.getcwd(),
239
248
  )
240
- def web(
249
+ def cli_web(
241
250
  agents_dir: str,
242
251
  log_to_tmp: bool,
243
252
  session_db_url: str = "",
244
253
  log_level: str = "INFO",
245
254
  allow_origins: Optional[list[str]] = None,
246
255
  port: int = 8000,
256
+ trace_to_cloud: bool = False,
247
257
  ):
248
- """Start a FastAPI server with web UI for a certain agent.
258
+ """Start a FastAPI server with Web UI for agents.
249
259
 
250
260
  AGENTS_DIR: The directory of agents, where each sub-directory is a single
251
261
  agent, containing at least `__init__.py` and `agent.py` files.
@@ -261,17 +271,43 @@ def web(
261
271
 
262
272
  logging.getLogger().setLevel(log_level)
263
273
 
274
+ @asynccontextmanager
275
+ async def _lifespan(app: FastAPI):
276
+ click.secho(
277
+ f"""\
278
+ +-----------------------------------------------------------------------------+
279
+ | ADK Web Server started |
280
+ | |
281
+ | For local testing, access at http://localhost:{port}.{" "*(29 - len(str(port)))}|
282
+ +-----------------------------------------------------------------------------+
283
+ """,
284
+ fg="green",
285
+ )
286
+ yield # Startup is done, now app is running
287
+ click.secho(
288
+ """\
289
+ +-----------------------------------------------------------------------------+
290
+ | ADK Web Server shutting down... |
291
+ +-----------------------------------------------------------------------------+
292
+ """,
293
+ fg="green",
294
+ )
295
+
296
+ app = get_fast_api_app(
297
+ agent_dir=agents_dir,
298
+ session_db_url=session_db_url,
299
+ allow_origins=allow_origins,
300
+ web=True,
301
+ trace_to_cloud=trace_to_cloud,
302
+ lifespan=_lifespan,
303
+ )
264
304
  config = uvicorn.Config(
265
- get_fast_api_app(
266
- agent_dir=agents_dir,
267
- session_db_url=session_db_url,
268
- allow_origins=allow_origins,
269
- web=True,
270
- ),
305
+ app,
271
306
  host="0.0.0.0",
272
307
  port=port,
273
308
  reload=True,
274
309
  )
310
+
275
311
  server = uvicorn.Server(config)
276
312
  server.run()
277
313
 
@@ -317,6 +353,13 @@ def web(
317
353
  " This is useful for local debugging."
318
354
  ),
319
355
  )
356
+ @click.option(
357
+ "--trace_to_cloud",
358
+ is_flag=True,
359
+ show_default=True,
360
+ default=False,
361
+ help="Optional. Whether to enable cloud trace for telemetry.",
362
+ )
320
363
  # The directory of agents, where each sub-directory is a single agent.
321
364
  # By default, it is the current working directory
322
365
  @click.argument(
@@ -333,8 +376,9 @@ def cli_api_server(
333
376
  log_level: str = "INFO",
334
377
  allow_origins: Optional[list[str]] = None,
335
378
  port: int = 8000,
379
+ trace_to_cloud: bool = False,
336
380
  ):
337
- """Start an api server for a certain agent.
381
+ """Start a FastAPI server for agents.
338
382
 
339
383
  AGENTS_DIR: The directory of agents, where each sub-directory is a single
340
384
  agent, containing at least `__init__.py` and `agent.py` files.
@@ -356,6 +400,7 @@ def cli_api_server(
356
400
  session_db_url=session_db_url,
357
401
  allow_origins=allow_origins,
358
402
  web=False,
403
+ trace_to_cloud=trace_to_cloud,
359
404
  ),
360
405
  host="0.0.0.0",
361
406
  port=port,
@@ -444,7 +489,7 @@ def cli_api_server(
444
489
  exists=True, dir_okay=True, file_okay=False, resolve_path=True
445
490
  ),
446
491
  )
447
- def deploy_to_cloud_run(
492
+ def cli_deploy_cloud_run(
448
493
  agent: str,
449
494
  project: Optional[str],
450
495
  region: Optional[str],
@@ -455,7 +500,7 @@ def deploy_to_cloud_run(
455
500
  with_cloud_trace: bool,
456
501
  with_ui: bool,
457
502
  ):
458
- """Deploys agent to Cloud Run.
503
+ """Deploys an agent to Cloud Run.
459
504
 
460
505
  AGENT: The path to the agent source code folder.
461
506
 
@@ -31,7 +31,6 @@ import click
31
31
  from fastapi import FastAPI
32
32
  from fastapi import HTTPException
33
33
  from fastapi import Query
34
- from fastapi import Response
35
34
  from fastapi.middleware.cors import CORSMiddleware
36
35
  from fastapi.responses import FileResponse
37
36
  from fastapi.responses import RedirectResponse
@@ -48,6 +47,7 @@ from opentelemetry.sdk.trace import ReadableSpan
48
47
  from opentelemetry.sdk.trace import TracerProvider
49
48
  from pydantic import BaseModel
50
49
  from pydantic import ValidationError
50
+ from starlette.types import Lifespan
51
51
 
52
52
  from ..agents import RunConfig
53
53
  from ..agents.live_request_queue import LiveRequest
@@ -132,6 +132,8 @@ def get_fast_api_app(
132
132
  session_db_url: str = "",
133
133
  allow_origins: Optional[list[str]] = None,
134
134
  web: bool,
135
+ trace_to_cloud: bool = False,
136
+ lifespan: Optional[Lifespan[FastAPI]] = None,
135
137
  ) -> FastAPI:
136
138
  # InMemory tracing dict.
137
139
  trace_dict: dict[str, Any] = {}
@@ -141,18 +143,26 @@ def get_fast_api_app(
141
143
  provider.add_span_processor(
142
144
  export.SimpleSpanProcessor(ApiServerSpanExporter(trace_dict))
143
145
  )
144
- if os.environ.get("ADK_TRACE_TO_CLOUD", "0") == "1":
145
- processor = export.BatchSpanProcessor(
146
- CloudTraceSpanExporter(
147
- project_id=os.environ.get("GOOGLE_CLOUD_PROJECT", "")
148
- )
149
- )
150
- provider.add_span_processor(processor)
146
+ envs.load_dotenv()
147
+ enable_cloud_tracing = trace_to_cloud or os.environ.get(
148
+ "ADK_TRACE_TO_CLOUD", "0"
149
+ ).lower() in ["1", "true"]
150
+ if enable_cloud_tracing:
151
+ if project_id := os.environ.get("GOOGLE_CLOUD_PROJECT", None):
152
+ processor = export.BatchSpanProcessor(
153
+ CloudTraceSpanExporter(project_id=project_id)
154
+ )
155
+ provider.add_span_processor(processor)
156
+ else:
157
+ logging.warning(
158
+ "GOOGLE_CLOUD_PROJECT environment variable is not set. Tracing will"
159
+ " not be enabled."
160
+ )
151
161
 
152
162
  trace.set_tracer_provider(provider)
153
163
 
154
164
  # Run the FastAPI server.
155
- app = FastAPI()
165
+ app = FastAPI(lifespan=lifespan)
156
166
 
157
167
  if allow_origins:
158
168
  app.add_middleware(
@@ -27,6 +27,7 @@ from ...events.event import Event
27
27
  from ...models.llm_request import LlmRequest
28
28
  from ._base_llm_processor import BaseLlmRequestProcessor
29
29
  from .functions import remove_client_function_call_id
30
+ from .functions import REQUEST_EUC_FUNCTION_CALL_NAME
30
31
 
31
32
 
32
33
  class _ContentLlmRequestProcessor(BaseLlmRequestProcessor):
@@ -208,7 +209,9 @@ def _get_contents(
208
209
  if not _is_event_belongs_to_branch(current_branch, event):
209
210
  # Skip events not belong to current branch.
210
211
  continue
211
-
212
+ if _is_auth_event(event):
213
+ # skip auth event
214
+ continue
212
215
  filtered_events.append(
213
216
  _convert_foreign_event(event)
214
217
  if _is_other_agent_reply(agent_name, event)
@@ -368,3 +371,20 @@ def _is_event_belongs_to_branch(
368
371
  if not invocation_branch or not event.branch:
369
372
  return True
370
373
  return invocation_branch.startswith(event.branch)
374
+
375
+
376
+ def _is_auth_event(event: Event) -> bool:
377
+ if not event.content.parts:
378
+ return False
379
+ for part in event.content.parts:
380
+ if (
381
+ part.function_call
382
+ and part.function_call.name == REQUEST_EUC_FUNCTION_CALL_NAME
383
+ ):
384
+ return True
385
+ if (
386
+ part.function_response
387
+ and part.function_response.name == REQUEST_EUC_FUNCTION_CALL_NAME
388
+ ):
389
+ return True
390
+ return False
@@ -116,7 +116,9 @@ def generate_auth_event(
116
116
  invocation_id=invocation_context.invocation_id,
117
117
  author=invocation_context.agent.name,
118
118
  branch=invocation_context.branch,
119
- content=types.Content(parts=parts),
119
+ content=types.Content(
120
+ parts=parts, role=function_response_event.content.role
121
+ ),
120
122
  long_running_tool_ids=long_running_tool_ids,
121
123
  )
122
124
 
@@ -19,7 +19,6 @@ import logging
19
19
  import sys
20
20
  from typing import AsyncGenerator
21
21
  from typing import cast
22
- from typing import Generator
23
22
  from typing import TYPE_CHECKING
24
23
 
25
24
  from google.genai import Client
google/adk/runners.py CHANGED
@@ -259,6 +259,10 @@ class Runner:
259
259
 
260
260
  Yields:
261
261
  The events generated by the agent.
262
+
263
+ .. warning::
264
+ This feature is **experimental** and its API or behavior may change
265
+ in future releases.
262
266
  """
263
267
  # TODO: right now, only works for a single audio agent without FC.
264
268
  invocation_context = self._new_invocation_context_for_live(
@@ -416,9 +420,16 @@ class Runner:
416
420
  if self.agent.sub_agents and live_request_queue:
417
421
  if not run_config.response_modalities:
418
422
  # default
419
- run_config.response_modalities = ['AUDIO', 'TEXT']
423
+ run_config.response_modalities = ['AUDIO']
424
+ if not run_config.output_audio_transcription:
425
+ run_config.output_audio_transcription = (
426
+ types.AudioTranscriptionConfig()
427
+ )
420
428
  elif 'TEXT' not in run_config.response_modalities:
421
- run_config.response_modalities.append('TEXT')
429
+ if not run_config.output_audio_transcription:
430
+ run_config.output_audio_transcription = (
431
+ types.AudioTranscriptionConfig()
432
+ )
422
433
  return self._new_invocation_context(
423
434
  session,
424
435
  live_request_queue=live_request_queue,
google/adk/version.py CHANGED
@@ -13,4 +13,4 @@
13
13
  # limitations under the License.
14
14
 
15
15
  # version: date+base_cl
16
- __version__ = "0.0.2"
16
+ __version__ = "0.0.4"
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: google-adk
3
- Version: 0.0.2
3
+ Version: 0.0.4
4
4
  Summary:
5
5
  Author-email: Google LLC <googleapis-packages@google.com>
6
6
  Requires-Python: >=3.9
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
20
20
  Classifier: License :: OSI Approved :: Apache Software License
21
+ License-File: LICENSE
21
22
  Requires-Dist: authlib>=1.5.1
22
23
  Requires-Dist: click>=8.1.8
23
24
  Requires-Dist: fastapi>=0.115.0
@@ -71,3 +72,4 @@ Provides-Extra: extensions
71
72
  Provides-Extra: test
72
73
 
73
74
  hello world
75
+
@@ -0,0 +1,175 @@
1
+ google/adk/__init__.py,sha256=sSPQK3r0tW8ahl-k8SXkZvMcbiTbGICCtrw6KkFucyg,726
2
+ google/adk/runners.py,sha256=r5EG6-3vC-tcW3svdTnebyOw4owIKaRnsPcL4OxvgDg,15506
3
+ google/adk/telemetry.py,sha256=kxR9VxIMJKAwtTOS0lnq-rS-ZYTZt3pIegHvcV86z7w,6284
4
+ google/adk/version.py,sha256=xnURRlgFpF4S_bFlteCOVwTSfdNg1DMZ9S2tOMvbYiM,621
5
+ google/adk/agents/__init__.py,sha256=WsCiBlvI-ISWrcntboo_sULvVJNwLNxXCe42UGPLKdY,1041
6
+ google/adk/agents/active_streaming_tool.py,sha256=AYrT9aCFBzaESFzkMTil_fuK1zDoKDfZQaQXL3_Jxog,1159
7
+ google/adk/agents/base_agent.py,sha256=wBiVLK11jBDB-bExFeNwoWnbw2dv_f3aYOKKGaSDnjU,10574
8
+ google/adk/agents/callback_context.py,sha256=RKO_7-3Svg7F9csGGit1Nrus8biZn2z8NCu3m_jn-kc,3609
9
+ google/adk/agents/invocation_context.py,sha256=n0OZperhEvQGDgSYpd26exjLK9YODRRvmB_JxKh0jBk,6174
10
+ google/adk/agents/langgraph_agent.py,sha256=CU3onlHGBp61-SgHHJQu6f2KrFXp5qrDYI9nGvLGQC4,4252
11
+ google/adk/agents/live_request_queue.py,sha256=auQnKALpHQSCh__7CikfGgteqErZaPsivQ7goFySlXI,2074
12
+ google/adk/agents/llm_agent.py,sha256=7OkwfsWkl2Dy9hP6F78dPqkDgvkXrHkVps9MAT3duUg,12266
13
+ google/adk/agents/loop_agent.py,sha256=IjmcFQ-vFeXXKuCb7pYOH1vJUdUUEx4sQaynZ7n0cKU,1940
14
+ google/adk/agents/parallel_agent.py,sha256=PVwlpAO1es7cPsGlK_Pax0sAmPsprn2X6v3cNxRDC3Y,2981
15
+ google/adk/agents/readonly_context.py,sha256=O5n4Eupq-lWRoMi1MSA3lZu_DoMtcXYpRoK8wknSLX8,1409
16
+ google/adk/agents/remote_agent.py,sha256=qPHa770oBh2c9xZgSruW90QhNRP1sWjzX3MR1FlpwJ8,1494
17
+ google/adk/agents/run_config.py,sha256=CECuvll8away1rzvWmmh13R_fc1KnJmuh3v6V0iDyMM,2914
18
+ google/adk/agents/sequential_agent.py,sha256=wlinEKlMlpKyNyzqjPmGO7xpCQpUvXxIwqiazZvXiKQ,1388
19
+ google/adk/agents/transcription_entry.py,sha256=JQahrPoqllljN2mQf9yI9Y7bX3Fhllez6rQGpslzeVw,1060
20
+ google/adk/artifacts/__init__.py,sha256=D5DYoVYR0tOd2E_KwRu0Cp7yvV25KGuIQmQeCRDyK-k,846
21
+ google/adk/artifacts/base_artifact_service.py,sha256=Z0Vt052rKpKDfXvHIlSvUFvrtdKIuXvPzRrYHzN61tU,3507
22
+ google/adk/artifacts/gcs_artifact_service.py,sha256=_SmtK23ryte-4B8QmlWkxaD_z08DN-YehV94BSg402k,5544
23
+ google/adk/artifacts/in_memory_artifact_service.py,sha256=aiA2PtjuL_dWndoMuB-00HPqjhuaS-Q4aTcg_HMz86g,4013
24
+ google/adk/auth/__init__.py,sha256=GoFe0aZGdp0ExNE4rXNn1RuXLaB64j7Z-2C5e2Hsh8c,908
25
+ google/adk/auth/auth_credential.py,sha256=oOBR5VgsYr1rUrWrddBjKOHf4mym49VhRfT_RAIrEaU,6671
26
+ google/adk/auth/auth_handler.py,sha256=rzTlrdjMncvGlHbKXzHNIAMaUbMmJJvDqYHSaXzn68k,9322
27
+ google/adk/auth/auth_preprocessor.py,sha256=_ihvPwMB0LSWicYBoUCMQcmIM3Y8ESiMN9VHrVfaAww,4171
28
+ google/adk/auth/auth_schemes.py,sha256=dxx9bxjOWoae1fSVxbpaVTwa0I4v76_QJJFEX--1ueA,2260
29
+ google/adk/auth/auth_tool.py,sha256=yTljVLHsxyWIdTu4lKF71NU2Xhw57YAx2b0sBgRQ78U,2265
30
+ google/adk/cli/__init__.py,sha256=ouPYnIY02VmGNfpA6IT8oSQdfeZd1LHVoDSt_x8zQPU,609
31
+ google/adk/cli/__main__.py,sha256=gN8rRWlkh_3gLI-oYByxrKpCW9BIfDwrr0YuyisxmHo,646
32
+ google/adk/cli/agent_graph.py,sha256=H5gvs2wG6ks3F6pk14f33txmvAN9rr0_2H2fNMF96VE,4754
33
+ google/adk/cli/cli.py,sha256=uVWDcVSggD0otDq7OBbOer6EelwmOlpOU2gq8xH9awI,5768
34
+ google/adk/cli/cli_deploy.py,sha256=zVo3FlyoMPiboDQ-Y6TdE7ryIDKs10xNP8Q-yxXxxHM,5017
35
+ google/adk/cli/cli_eval.py,sha256=HCEpPEe89L2woswTeL3pML4R8fo4uJbAw7ThLg_gb3s,9218
36
+ google/adk/cli/cli_tools_click.py,sha256=Lb3RdGBghm5DJE9AhuJTVxY6p3Sg9bAtjFYz6cvauAQ,14097
37
+ google/adk/cli/fast_api.py,sha256=b171jDFYBYO4k_Lgbudgkd2fsVeK8TLNdYC-p8R0uEc,25684
38
+ google/adk/cli/browser/adk_favicon.svg,sha256=giyzTZ5Xe6HFU63NgTIZDm35L-RmID-odVFOZ4vMo1M,3132
39
+ google/adk/cli/browser/index.html,sha256=x_JwOveRkv76Lp_FuU4Ag0FPG2Rs8mnpcFDNuRtH22Q,18483
40
+ google/adk/cli/browser/main-CU22TRPI.js,sha256=zVtLdKTdG3fNPUff_WPEFtT5ZUDe8MzV6PsI3mZaYRc,2440508
41
+ google/adk/cli/browser/polyfills-FFHMD2TL.js,sha256=6tcwOogi31Djphkq1hP2H5TxfN1MBg3P4YYrxHNdH5M,35115
42
+ google/adk/cli/browser/styles-4VDSPQ37.css,sha256=QF3xmtXMt44nFiCh0aKnvQwQiZptr3sW1u9bzltukAI,5522
43
+ google/adk/cli/browser/assets/audio-processor.js,sha256=BTYefpDeOz7VQveAoC_WFleLY9JkJs_FuGS0oQiadIA,1769
44
+ google/adk/cli/browser/assets/config/runtime-config.json,sha256=obOpZdzA-utX_wG6I687-5W7i1f8W9ixXOb7ky7rdvU,22
45
+ google/adk/cli/utils/__init__.py,sha256=2PrkBZeLjc3mXZMDJkev3IKgd07d4CheASgTB3tqz8Y,1528
46
+ google/adk/cli/utils/envs.py,sha256=dqNooABP_xaU35H9rqlMwESX4gsQJSdc4_cxXGM1Asw,1786
47
+ google/adk/cli/utils/evals.py,sha256=02FOqE0m7aE7EgRStCyslXB5rNQ2sV1mZHvLf-xWR0E,3350
48
+ google/adk/cli/utils/logs.py,sha256=J6JpYaRhnPztlQQRuF1_Z05Oo-lKWHohfWLOR5tCgcE,2149
49
+ google/adk/code_executors/__init__.py,sha256=wqLHiAx2EmwcRfyUwhBYACPGidGgBU8smRTHH8sV21s,1542
50
+ google/adk/code_executors/base_code_executor.py,sha256=QLpgVcFNI5V21U-kVleze24ADeuDKgE3wI7Uui6vUeo,3030
51
+ google/adk/code_executors/code_execution_utils.py,sha256=95VgarO7Q9EvwfEdQKc8RAD4XotcYYzagiIwIuEO6_s,7354
52
+ google/adk/code_executors/code_executor_context.py,sha256=W8kLnyDLq0Ci_8dDHXv9CmkQITmNKhGc8f82gC7v5ik,6732
53
+ google/adk/code_executors/container_code_executor.py,sha256=KW6ESSFcsh9WMmohOJIntV7cct2QRclNhBkYGiRwEy8,6418
54
+ google/adk/code_executors/unsafe_local_code_executor.py,sha256=0UHcjaFF5V8swin3WLs6UjAaW7P_tPmSyaaPOOiDPys,2387
55
+ google/adk/code_executors/vertex_ai_code_executor.py,sha256=CvPv0cZw-PjPxMFzf01e83bTSy_yksunub8r62hBOgg,7254
56
+ google/adk/evaluation/__init__.py,sha256=h39Lgl_gUiF2OVyJi5nJMKZBgNwKpeo9Bt3YN4JdKng,1004
57
+ google/adk/evaluation/agent_evaluator.py,sha256=PS8MobbBtrRB8t1biSe-2k7yHtyCooYvY9MeKKPdWjc,11490
58
+ google/adk/evaluation/evaluation_constants.py,sha256=P5f9V-0JS9Hre1InJc4-aSHwI3Laedbp5huzEX1FnqI,856
59
+ google/adk/evaluation/evaluation_generator.py,sha256=UHgyeYWxDhE1DX-ZAHWjn_8uk5cRy0C-IbXwflEO-Z4,9238
60
+ google/adk/evaluation/response_evaluator.py,sha256=l-O2-2Y5WTVqBXCy927f8yeMEFbLtpLLhbXnVjHtEYE,4641
61
+ google/adk/evaluation/trajectory_evaluator.py,sha256=UWnLOS7VZsPwXkvNUMpemGnc-Ovlr0py412v4OHT_VE,5410
62
+ google/adk/events/__init__.py,sha256=Lh0rh6RAt5DIxbwBUajjGMbB6bZW5K4Qli6PD_Jv74Q,688
63
+ google/adk/events/event.py,sha256=am5z1jNsayugQ4mElRd6gdlgntTPML7y_23nJZwyzZg,4556
64
+ google/adk/events/event_actions.py,sha256=k8kn-jXPHDslvv2InUIgaNUyCj7oR86YveqyTl3-cOQ,1889
65
+ google/adk/examples/__init__.py,sha256=LCuLG_SOF9OAV3vc1tHAaBAOeQEZl0MFHC2LGmZ6e-A,851
66
+ google/adk/examples/base_example_provider.py,sha256=MkY_4filPUOd_M_YgK-pJpOuNxvD1b8sp_pty-BNnmM,1073
67
+ google/adk/examples/example.py,sha256=pA50kiWeWjwzO43p23ztNoRP8lI2Gabik9yphTw8JRw,867
68
+ google/adk/examples/example_util.py,sha256=PvxZkuwunWW87ztjQnuox_fRTa5ok8-h20wxp4Yucl8,4237
69
+ google/adk/examples/vertex_ai_example_store.py,sha256=0w2N8oB0QTLjbM2gRRUMGY3D9zt8kQDlW4Y6p2jAcJQ,3632
70
+ google/adk/flows/__init__.py,sha256=hDKKnwuWGIioev3K1jWuv-pLc7o_OKf71OYj_qWyOSw,575
71
+ google/adk/flows/llm_flows/__init__.py,sha256=KLTQguz-10H8LbB6Ou-rjyJzX6rx9N1G5BRVWJTKdho,729
72
+ google/adk/flows/llm_flows/_base_llm_processor.py,sha256=Y7p-zwW7MxLB3vLlZthSdCjqjqMRl0DaoSVNCzyADw0,1770
73
+ google/adk/flows/llm_flows/_code_execution.py,sha256=qQFFYS2JCEBLcgD8fsZpRKmeVJVXglSb0FSF16jBslo,14821
74
+ google/adk/flows/llm_flows/_nl_planning.py,sha256=4F7bDQXLSMLsTR1FZ0LUs6ddE8XSCrFII_Fu2-OSz0c,3877
75
+ google/adk/flows/llm_flows/agent_transfer.py,sha256=GsLWu-I1D6tATf9E0l9fBq8HE0iFKu0Z2X_n0B6k_sE,3901
76
+ google/adk/flows/llm_flows/audio_transcriber.py,sha256=uEa6727OIHaiShvT3w4S8bDz-QnZWHdNsDDwyXHzW7I,3483
77
+ google/adk/flows/llm_flows/auto_flow.py,sha256=CnuFelyZhB_ns4U_5_dW0x_KQlzu02My7qWcB4XBCYY,1714
78
+ google/adk/flows/llm_flows/base_llm_flow.py,sha256=2IkEj_s-UFr_SwL0kG8J02GlWx5GSYR9G419yCLNuCc,19350
79
+ google/adk/flows/llm_flows/basic.py,sha256=79DM3qVOspJn2bHWMPptWDJRuFQxdX7ZYM1h-V8X9QQ,2344
80
+ google/adk/flows/llm_flows/contents.py,sha256=zl9YZ2pa8AdJCl_KsuER8V12TTrCBwbuQRMkgvsQoLo,12879
81
+ google/adk/flows/llm_flows/functions.py,sha256=itOKNKDsmtJb614cHy67uKlyFUcqvpLsv7YFz67cGXQ,15970
82
+ google/adk/flows/llm_flows/identity.py,sha256=X4CRg12NvnopmydU9gbFJI4lW1_otN-w_GOAuPvKrXo,1651
83
+ google/adk/flows/llm_flows/instructions.py,sha256=76Pvgq57ZlQulVBU92YQzKy0ozol00P0La3GLHtj_bk,4434
84
+ google/adk/flows/llm_flows/single_flow.py,sha256=FTy_cJqhD9FZT_PCYdMlHVvOBSq4mWq1WCAwOnTI6W8,1888
85
+ google/adk/memory/__init__.py,sha256=zx38Ra_dXvHcIgyNnQtFQde4qQF-OFTrRRlT7epJpL4,1132
86
+ google/adk/memory/base_memory_service.py,sha256=SsmA5GJqkgky6khWPXdpOT6FAd5HC9iTObpnKcXw1Ik,2055
87
+ google/adk/memory/in_memory_memory_service.py,sha256=n436KjijEH7ZrvQBANJDczT9OMGIok-pTUMmWT2ff-U,2218
88
+ google/adk/memory/vertex_ai_rag_memory_service.py,sha256=0Wn5ak7tjgZE0axkZP64YUXJQRHECK0oAv3WRbMIFVk,6284
89
+ google/adk/models/__init__.py,sha256=jnI2M8tz4IN_WOUma4PIEdGOBDIotXcQpseH6P1VgZU,929
90
+ google/adk/models/anthropic_llm.py,sha256=czluhIoj6910BC2P41XM1SF7YPKq2RGFIKRrsV1zfTg,7318
91
+ google/adk/models/base_llm.py,sha256=ckyXjogAz28v5A2ijQmu7K78lE0VcLGfEdR8ynJtqK8,2677
92
+ google/adk/models/base_llm_connection.py,sha256=_zBmSa4RLfnadXG0_hsJLP_x_1UMtoLKagouIp0Y0-g,2252
93
+ google/adk/models/gemini_llm_connection.py,sha256=s27-l-liThQ39WuBVUK_u6bMLXTRgojW4I3upbH0C_c,6825
94
+ google/adk/models/google_llm.py,sha256=vVENYoslt-WXsoLa74J0dQcom4c6zJsE5IgUMGxVuBY,10164
95
+ google/adk/models/lite_llm.py,sha256=pTjhDxdkIWkP3OvuS3F1WkWH9DZ0BOiUQXAl70peQrE,18428
96
+ google/adk/models/llm_request.py,sha256=VGmXaupKLunv9Q4fdb8VDgLK0NUsHCY2_-DMMdE7VcY,2999
97
+ google/adk/models/llm_response.py,sha256=nLIGiH9JnVFqBwnyqhg0grLydUZCODvw3gMbhkXazKE,3775
98
+ google/adk/models/registry.py,sha256=kIMqGxX_S2MsYwCwG64_0O471OCt1ljWns548Keazgs,2526
99
+ google/adk/planners/__init__.py,sha256=6G_uYtLawi99HcgGGCOxcNleNezD2IaYLKz0P8nFkPQ,788
100
+ google/adk/planners/base_planner.py,sha256=cGlgxgxb_EAI8gkgiCpnLaf_rLs0U64yg94X32kGY2I,1961
101
+ google/adk/planners/built_in_planner.py,sha256=i1JDtv9_pbSspxsqxxAjrknlTjh_ClL0J8uUumr7qMU,2371
102
+ google/adk/planners/plan_re_act_planner.py,sha256=wI5QzlSvWiAg7sfltnFAv5xz2n03jbR2DgFc_8I1PUA,8478
103
+ google/adk/sessions/__init__.py,sha256=hbSFrzrbKbpL-akrCD1SYxjk92BVvzGxJzuuwn5dmEI,1248
104
+ google/adk/sessions/base_session_service.py,sha256=0UuEXFRaXwO16PJntUk9VtPZDiCa1tkLnvvnjqCQjtA,3579
105
+ google/adk/sessions/database_session_service.py,sha256=x8ygzOS2ICNNDHGCayQhL3REI6TxndROhpX8VmS6Yys,16610
106
+ google/adk/sessions/in_memory_session_service.py,sha256=4_wvZRBya2W-lYcGkIcCvdueHMN-GN2n9vcpehNmP3o,6398
107
+ google/adk/sessions/session.py,sha256=H3nm9u-0JMbd0HZygsVdnkcdO78xraoNaDSmjor6lCA,1710
108
+ google/adk/sessions/state.py,sha256=RCcJJIS8t73ttJf0X76XB8bbrXh3P_447m9OQZpSAoo,2298
109
+ google/adk/sessions/vertex_ai_session_service.py,sha256=UHRAQxvtADoe0dYwdKHPGPJ4D1KTgeapq-19IqyZlOc,11090
110
+ google/adk/tools/__init__.py,sha256=IpyRAQ29HdslRGMQd2RwAEVV3rvgSQdJuAulJLn_brM,1825
111
+ google/adk/tools/_automatic_function_calling_util.py,sha256=Cf6bBNuBggMCKPK26-T-Y0EKGTFqNvhPhMhL0s4cYAM,10882
112
+ google/adk/tools/agent_tool.py,sha256=WaR-0D7HvddxF-wfocan4pBkuRll_LG5q7qDNHOX_oQ,5851
113
+ google/adk/tools/base_tool.py,sha256=208kQsM2qRDqpN689dMd2BVva02ANZ_V9YNMO7aBWDg,4447
114
+ google/adk/tools/built_in_code_execution_tool.py,sha256=oPkLz9EEHQE6vjidUwjHLrHWFLm6NNDHWddvRRAt6UY,1902
115
+ google/adk/tools/crewai_tool.py,sha256=CAOcizXvW_cQts5lFpS9IYcX71q_7eHoBxvFasdTBX8,2293
116
+ google/adk/tools/example_tool.py,sha256=gaG68obDbI29omDRmtoGSDEe1BFTV4MXk1JkfcoztFM,1947
117
+ google/adk/tools/exit_loop_tool.py,sha256=qjeQsHiOt6qgjlgNSQ0HhxyVt-X-JTwaSGo5--j2SpA,784
118
+ google/adk/tools/function_parameter_parse_util.py,sha256=VZYknHchEmiCvaOkc2m-CmamHAGJ0kYxCNEuF20fP0k,10639
119
+ google/adk/tools/function_tool.py,sha256=Nfiz4qrxKXYF8gRdvoR9Bc6gEfJe5Ve4_gL1MI_eEdA,2766
120
+ google/adk/tools/get_user_choice_tool.py,sha256=RuShc25aJB1ZcB_t38y8e75O1uFTNimyZbiLEbZMntg,993
121
+ google/adk/tools/google_search_tool.py,sha256=0DeRgDhqxraQ-9waYp4hfgEssxNYddrpsHxDtrHsZEc,2282
122
+ google/adk/tools/langchain_tool.py,sha256=Hq4VHnMTFsN1vSBEO-QSnzhs1lS59n-yHFswq5gHtO4,2842
123
+ google/adk/tools/load_artifacts_tool.py,sha256=OueIF1KNPz97iRB0F0hbDKbo7UPZGIQfvc_yPpvPFGc,3710
124
+ google/adk/tools/load_memory_tool.py,sha256=XbCrWuVL0pwLI8y9pl855TBK8DLpv_hF2KeR4Oea5sg,1754
125
+ google/adk/tools/load_web_page.py,sha256=PiIX6KzHqBPy0cdskhXtT3RWUOTGS4RTbzFQGHG80pU,1263
126
+ google/adk/tools/long_running_tool.py,sha256=au3THXaV_uRsC3Q-v4rSz6Tt895vSd2xz-85nyWKSJ4,1309
127
+ google/adk/tools/preload_memory_tool.py,sha256=k7dCNW2XBgxQ-TtOJkJGq9xfU1z6gAsAmXKzmy-IFMg,2239
128
+ google/adk/tools/tool_context.py,sha256=koVZiB05SpcR0sSrLHGpz8btDQXjc4-7MF5mKa9YS1g,3596
129
+ google/adk/tools/toolbox_tool.py,sha256=i6RxoVEkPK0GYemuifWSyvlcw9ruJwSr7HlyR7XpeiA,1428
130
+ google/adk/tools/transfer_to_agent_tool.py,sha256=V2XBCoQ5jV8qlCE3qX82TPJvglnyI-KqKYYMq-swxCY,863
131
+ google/adk/tools/vertex_ai_search_tool.py,sha256=8i3dRzH0dQBYxg7OZ2O1TzjB9KvxzVX0QUjChUz5Er4,3268
132
+ google/adk/tools/apihub_tool/__init__.py,sha256=89tWC4Mm-MYoJ9Al_b8nbqFLeTgPO0-j411SkLuuzaQ,653
133
+ google/adk/tools/apihub_tool/apihub_toolset.py,sha256=IZeyZ8n9r4RbAo7UHg6fYAlrRCESkpS-eSpaeK0qhPw,7132
134
+ google/adk/tools/apihub_tool/clients/__init__.py,sha256=Q9FlRO2IfSE9yEaiAYzWkOMBJPCaNYqh4ihcp0t0BQs,574
135
+ google/adk/tools/apihub_tool/clients/apihub_client.py,sha256=dkNIjZosawkP1yB2OhkW8ZZBpfamLfFJ5WFiEw1Umn8,11264
136
+ google/adk/tools/apihub_tool/clients/secret_client.py,sha256=U1YsWUJvq2mmLRQETX91l0fwteyBTZWsP4USozA144c,4126
137
+ google/adk/tools/application_integration_tool/__init__.py,sha256=r_xoeFyCL4sHuWQAlCeMUJRO1je7eayqy6ffxYyhByA,702
138
+ google/adk/tools/application_integration_tool/application_integration_toolset.py,sha256=wWVhoRq3US4unAGcTuOnurHdy2uieifVHJOlwsVHIXU,8615
139
+ google/adk/tools/application_integration_tool/clients/connections_client.py,sha256=DwnzG6RQVPUd87O7Y0-d4GzYL5oeBPJKmecAmYwC45Q,31763
140
+ google/adk/tools/application_integration_tool/clients/integration_client.py,sha256=KInIWmawrlLafeY2X_y8dkCUC71LHaoiQz7VMNvbsgE,10542
141
+ google/adk/tools/google_api_tool/__init__.py,sha256=aH5NmECxXejTgVZi_5Rov9gszAqSPXbcDee3Y9wlpFU,626
142
+ google/adk/tools/google_api_tool/google_api_tool.py,sha256=CeVKiXxqOZ5hQWHMdmT_Ld5TQDiv7NBucKEpHBEW0G8,1876
143
+ google/adk/tools/google_api_tool/google_api_tool_set.py,sha256=oTwHQNiWT5V3412HPO6Y-5t-oqV-Jr7SOWH7aKFN6Os,3616
144
+ google/adk/tools/google_api_tool/google_api_tool_sets.py,sha256=O4PS0844QNuOaVW-8BP_XFTEvivU_lgHyp38qyYq3IM,1370
145
+ google/adk/tools/google_api_tool/googleapi_to_openapi_converter.py,sha256=vQpYRYfidKgxZTFnSbGxJH-sJl6qgHs0Et3iLeLWf2I,16260
146
+ google/adk/tools/mcp_tool/__init__.py,sha256=IsiZy3XvGhrdrp8AGd9596aXacro4x2VbKeWU2cH3wk,1190
147
+ google/adk/tools/mcp_tool/conversion_utils.py,sha256=utge8KGqp15uBhi9UORccOoZ66dCA0-TUhfFrznDQjI,5222
148
+ google/adk/tools/mcp_tool/mcp_tool.py,sha256=ryuHINpTfnhmq8feWx5_DVjjOCd51Icu8mNGWwwjA9o,3720
149
+ google/adk/tools/mcp_tool/mcp_toolset.py,sha256=W3Bfk6EWB7lP2q04Kjp7tWuEl8edJb-XzlDUBZyClcc,7840
150
+ google/adk/tools/openapi_tool/__init__.py,sha256=UMsewNCQjd-r1GBX1OMuUJTzJ0AlQuegIc98g04-0oU,724
151
+ google/adk/tools/openapi_tool/auth/__init__.py,sha256=NVRXscqN4V0CSCvIp8J_ee8Xyw4m-OGoZn7SmrtOsQk,637
152
+ google/adk/tools/openapi_tool/auth/auth_helpers.py,sha256=73GGGxvLZWH_YW7BEObAY-rVz3r401dm98kl5oq-nwM,15901
153
+ google/adk/tools/openapi_tool/auth/credential_exchangers/__init__.py,sha256=yKpIfNIaQD2dmPsly9Usq4lvfu1ZReVAtHlvZuSglF8,1002
154
+ google/adk/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.py,sha256=E1wuilbik3KhzbXZC2XR0fs3NZhpOglXYwpzr6Bj6lY,3398
155
+ google/adk/tools/openapi_tool/auth/credential_exchangers/base_credential_exchanger.py,sha256=XxW5vQk_AaD_vSOwwWpLIMzHvPUfvuouSzh74ZxBqDk,1790
156
+ google/adk/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.py,sha256=Q9GxX4q8cY4-gZBoYjawEqCly9U1BsoItOHqgwUmefc,3881
157
+ google/adk/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.py,sha256=saG7AZNqH_a4rQc3m1Fx2t4extiH1QZCifxgkxvxRAI,3335
158
+ google/adk/tools/openapi_tool/common/__init__.py,sha256=XqwyKnQGngeU1EzoBMkL5c9BF_rD-s3nw_d2Va1MLhQ,625
159
+ google/adk/tools/openapi_tool/common/common.py,sha256=oI_5KM2J1GdYTzKVqJnIxQ00PJZBvNTR3dPnxFQrtWA,8971
160
+ google/adk/tools/openapi_tool/openapi_spec_parser/__init__.py,sha256=S89I_GQukqn5edJ13oqyDufMkZUMpWokX3ju4QziFBQ,1155
161
+ google/adk/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.py,sha256=OomWa0rYWPPTs16pzT-3AvIcXwJeYBoQQgBy0R3opdI,7881
162
+ google/adk/tools/openapi_tool/openapi_spec_parser/openapi_toolset.py,sha256=jhCIqmJxyTJiyKwKHVfTb8IiNmztgJjDFxsw3Q8I6-s,4794
163
+ google/adk/tools/openapi_tool/openapi_spec_parser/operation_parser.py,sha256=Wsp83l0BfYEp7_AEicpcA-J4JU5wO4sAtXm67xMuWWw,8687
164
+ google/adk/tools/openapi_tool/openapi_spec_parser/rest_api_tool.py,sha256=m0On4lp5O2T8zcszzp8nGSLxcn05rTbf07a6jmU2c3Y,17513
165
+ google/adk/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.py,sha256=XM0Wo7lCswS9XTsrho8jlBd8PV68I4vohI4Ao-55nlU,9118
166
+ google/adk/tools/retrieval/__init__.py,sha256=vHWHIFl9KEnlPw0kBHVo0q5FqPCUY_lNeL4YeuhQRK0,1172
167
+ google/adk/tools/retrieval/base_retrieval_tool.py,sha256=4aar8Kg-6rQG7Ht1n18D5fvJnuffodFdSjeCp-GzA7w,1174
168
+ google/adk/tools/retrieval/files_retrieval.py,sha256=bucma_LL7aw15GQnYwgpDP1Lo9UqN-RFlG3w1w0sWfw,1158
169
+ google/adk/tools/retrieval/llama_index_retrieval.py,sha256=r9HUQXqygxizX0OXz7pJAWxzRRwmofAtFa3UvRR2di0,1304
170
+ google/adk/tools/retrieval/vertex_ai_rag_retrieval.py,sha256=FzLpZctWX232wn24M-CvjV8s1StivNy8H7e5IqgWphg,3340
171
+ google_adk-0.0.4.dist-info/entry_points.txt,sha256=zL9CU-6V2yQ2oc5lrcyj55ROHrpiIePsvQJ4H6SL-zI,43
172
+ google_adk-0.0.4.dist-info/licenses/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
173
+ google_adk-0.0.4.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
174
+ google_adk-0.0.4.dist-info/METADATA,sha256=aLel2HjtmjjljG0UQO1UOydDEAi44WElhcT_4mCtHZk,3153
175
+ google_adk-0.0.4.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: flit 3.10.1
2
+ Generator: flit 3.12.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,19 +0,0 @@
1
- # Copyright 2025 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- import streamlit.components.v1 as components
16
-
17
- media_streamer = components.declare_component(
18
- name='media_streamer', path='./media_streamer'
19
- )