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.
- google/adk/agents/run_config.py +4 -0
- google/adk/auth/auth_preprocessor.py +19 -16
- google/adk/cli/agent_graph.py +31 -5
- google/adk/cli/browser/index.html +1 -1
- google/adk/cli/browser/{main-XUU6OGCC.js → main-CU22TRPI.js} +30 -30
- google/adk/cli/cli.py +8 -8
- google/adk/cli/cli_deploy.py +2 -4
- google/adk/cli/cli_tools_click.py +57 -12
- google/adk/cli/fast_api.py +19 -9
- google/adk/flows/llm_flows/contents.py +21 -1
- google/adk/flows/llm_flows/functions.py +3 -1
- google/adk/models/google_llm.py +0 -1
- google/adk/runners.py +13 -2
- google/adk/version.py +1 -1
- {google_adk-0.0.2.dist-info → google_adk-0.0.4.dist-info}/METADATA +4 -2
- google_adk-0.0.4.dist-info/RECORD +175 -0
- {google_adk-0.0.2.dist-info → google_adk-0.0.4.dist-info}/WHEEL +1 -1
- google/adk/cli/media_streamer/__init__.py +0 -19
- google/adk/cli/media_streamer/index.html +0 -228
- google/adk/tests/__init__.py +0 -14
- google/adk/tests/integration/.env.example +0 -10
- google/adk/tests/integration/__init__.py +0 -18
- google/adk/tests/integration/conftest.py +0 -119
- google/adk/tests/integration/fixture/__init__.py +0 -14
- google/adk/tests/integration/fixture/agent_with_config/__init__.py +0 -15
- google/adk/tests/integration/fixture/agent_with_config/agent.py +0 -88
- google/adk/tests/integration/fixture/callback_agent/__init__.py +0 -15
- google/adk/tests/integration/fixture/callback_agent/agent.py +0 -105
- google/adk/tests/integration/fixture/context_update_test/OWNERS +0 -1
- google/adk/tests/integration/fixture/context_update_test/__init__.py +0 -15
- google/adk/tests/integration/fixture/context_update_test/agent.py +0 -43
- google/adk/tests/integration/fixture/context_update_test/successful_test.session.json +0 -582
- google/adk/tests/integration/fixture/context_variable_agent/__init__.py +0 -15
- google/adk/tests/integration/fixture/context_variable_agent/agent.py +0 -115
- google/adk/tests/integration/fixture/customer_support_ma/__init__.py +0 -15
- google/adk/tests/integration/fixture/customer_support_ma/agent.py +0 -172
- google/adk/tests/integration/fixture/ecommerce_customer_service_agent/__init__.py +0 -15
- google/adk/tests/integration/fixture/ecommerce_customer_service_agent/agent.py +0 -338
- google/adk/tests/integration/fixture/ecommerce_customer_service_agent/order_query.test.json +0 -69
- google/adk/tests/integration/fixture/ecommerce_customer_service_agent/test_config.json +0 -6
- google/adk/tests/integration/fixture/flow_complex_spark/__init__.py +0 -15
- google/adk/tests/integration/fixture/flow_complex_spark/agent.py +0 -182
- google/adk/tests/integration/fixture/flow_complex_spark/sample.debug.log +0 -243
- google/adk/tests/integration/fixture/flow_complex_spark/sample.session.json +0 -190
- google/adk/tests/integration/fixture/hello_world_agent/__init__.py +0 -15
- google/adk/tests/integration/fixture/hello_world_agent/agent.py +0 -95
- google/adk/tests/integration/fixture/hello_world_agent/roll_die.test.json +0 -24
- google/adk/tests/integration/fixture/hello_world_agent/test_config.json +0 -6
- google/adk/tests/integration/fixture/home_automation_agent/__init__.py +0 -15
- google/adk/tests/integration/fixture/home_automation_agent/agent.py +0 -304
- google/adk/tests/integration/fixture/home_automation_agent/simple_test.test.json +0 -5
- google/adk/tests/integration/fixture/home_automation_agent/simple_test2.test.json +0 -5
- google/adk/tests/integration/fixture/home_automation_agent/test_config.json +0 -5
- google/adk/tests/integration/fixture/home_automation_agent/test_files/dependent_tool_calls.test.json +0 -18
- google/adk/tests/integration/fixture/home_automation_agent/test_files/memorizing_past_events/eval_data.test.json +0 -17
- google/adk/tests/integration/fixture/home_automation_agent/test_files/memorizing_past_events/test_config.json +0 -6
- google/adk/tests/integration/fixture/home_automation_agent/test_files/simple_multi_turn_conversation.test.json +0 -18
- google/adk/tests/integration/fixture/home_automation_agent/test_files/simple_test.test.json +0 -17
- google/adk/tests/integration/fixture/home_automation_agent/test_files/simple_test2.test.json +0 -5
- google/adk/tests/integration/fixture/home_automation_agent/test_files/test_config.json +0 -5
- google/adk/tests/integration/fixture/tool_agent/__init__.py +0 -15
- google/adk/tests/integration/fixture/tool_agent/agent.py +0 -218
- google/adk/tests/integration/fixture/tool_agent/files/Agent_test_plan.pdf +0 -0
- google/adk/tests/integration/fixture/trip_planner_agent/__init__.py +0 -15
- google/adk/tests/integration/fixture/trip_planner_agent/agent.py +0 -110
- google/adk/tests/integration/fixture/trip_planner_agent/initial.session.json +0 -13
- google/adk/tests/integration/fixture/trip_planner_agent/test_config.json +0 -5
- google/adk/tests/integration/fixture/trip_planner_agent/test_files/initial.session.json +0 -13
- google/adk/tests/integration/fixture/trip_planner_agent/test_files/test_config.json +0 -5
- google/adk/tests/integration/fixture/trip_planner_agent/test_files/trip_inquiry_sub_agent.test.json +0 -7
- google/adk/tests/integration/fixture/trip_planner_agent/trip_inquiry.test.json +0 -19
- google/adk/tests/integration/models/__init__.py +0 -14
- google/adk/tests/integration/models/test_google_llm.py +0 -65
- google/adk/tests/integration/test_callback.py +0 -70
- google/adk/tests/integration/test_context_variable.py +0 -67
- google/adk/tests/integration/test_evalute_agent_in_fixture.py +0 -76
- google/adk/tests/integration/test_multi_agent.py +0 -28
- google/adk/tests/integration/test_multi_turn.py +0 -42
- google/adk/tests/integration/test_single_agent.py +0 -23
- google/adk/tests/integration/test_sub_agent.py +0 -26
- google/adk/tests/integration/test_system_instruction.py +0 -177
- google/adk/tests/integration/test_tools.py +0 -287
- google/adk/tests/integration/test_with_test_file.py +0 -34
- google/adk/tests/integration/tools/__init__.py +0 -14
- google/adk/tests/integration/utils/__init__.py +0 -16
- google/adk/tests/integration/utils/asserts.py +0 -75
- google/adk/tests/integration/utils/test_runner.py +0 -97
- google/adk/tests/unittests/__init__.py +0 -14
- google/adk/tests/unittests/agents/__init__.py +0 -14
- google/adk/tests/unittests/agents/test_base_agent.py +0 -407
- google/adk/tests/unittests/agents/test_langgraph_agent.py +0 -191
- google/adk/tests/unittests/agents/test_llm_agent_callbacks.py +0 -138
- google/adk/tests/unittests/agents/test_llm_agent_fields.py +0 -231
- google/adk/tests/unittests/agents/test_loop_agent.py +0 -136
- google/adk/tests/unittests/agents/test_parallel_agent.py +0 -92
- google/adk/tests/unittests/agents/test_sequential_agent.py +0 -114
- google/adk/tests/unittests/artifacts/__init__.py +0 -14
- google/adk/tests/unittests/artifacts/test_artifact_service.py +0 -276
- google/adk/tests/unittests/auth/test_auth_handler.py +0 -575
- google/adk/tests/unittests/conftest.py +0 -73
- google/adk/tests/unittests/fast_api/__init__.py +0 -14
- google/adk/tests/unittests/fast_api/test_fast_api.py +0 -269
- google/adk/tests/unittests/flows/__init__.py +0 -14
- google/adk/tests/unittests/flows/llm_flows/__init__.py +0 -14
- google/adk/tests/unittests/flows/llm_flows/_test_examples.py +0 -142
- google/adk/tests/unittests/flows/llm_flows/test_agent_transfer.py +0 -311
- google/adk/tests/unittests/flows/llm_flows/test_functions_long_running.py +0 -244
- google/adk/tests/unittests/flows/llm_flows/test_functions_request_euc.py +0 -346
- google/adk/tests/unittests/flows/llm_flows/test_functions_sequential.py +0 -93
- google/adk/tests/unittests/flows/llm_flows/test_functions_simple.py +0 -258
- google/adk/tests/unittests/flows/llm_flows/test_identity.py +0 -66
- google/adk/tests/unittests/flows/llm_flows/test_instructions.py +0 -164
- google/adk/tests/unittests/flows/llm_flows/test_model_callbacks.py +0 -142
- google/adk/tests/unittests/flows/llm_flows/test_other_configs.py +0 -46
- google/adk/tests/unittests/flows/llm_flows/test_tool_callbacks.py +0 -269
- google/adk/tests/unittests/models/__init__.py +0 -14
- google/adk/tests/unittests/models/test_google_llm.py +0 -224
- google/adk/tests/unittests/models/test_litellm.py +0 -804
- google/adk/tests/unittests/models/test_models.py +0 -60
- google/adk/tests/unittests/sessions/__init__.py +0 -14
- google/adk/tests/unittests/sessions/test_session_service.py +0 -227
- google/adk/tests/unittests/sessions/test_vertex_ai_session_service.py +0 -246
- google/adk/tests/unittests/streaming/__init__.py +0 -14
- google/adk/tests/unittests/streaming/test_streaming.py +0 -50
- google/adk/tests/unittests/tools/__init__.py +0 -14
- google/adk/tests/unittests/tools/apihub_tool/clients/test_apihub_client.py +0 -499
- google/adk/tests/unittests/tools/apihub_tool/test_apihub_toolset.py +0 -204
- google/adk/tests/unittests/tools/application_integration_tool/clients/test_connections_client.py +0 -600
- google/adk/tests/unittests/tools/application_integration_tool/clients/test_integration_client.py +0 -630
- google/adk/tests/unittests/tools/application_integration_tool/test_application_integration_toolset.py +0 -345
- google/adk/tests/unittests/tools/google_api_tool/__init__.py +0 -13
- google/adk/tests/unittests/tools/google_api_tool/test_googleapi_to_openapi_converter.py +0 -657
- google/adk/tests/unittests/tools/openapi_tool/auth/credential_exchangers/test_auto_auth_credential_exchanger.py +0 -145
- google/adk/tests/unittests/tools/openapi_tool/auth/credential_exchangers/test_base_auth_credential_exchanger.py +0 -68
- google/adk/tests/unittests/tools/openapi_tool/auth/credential_exchangers/test_oauth2_exchanger.py +0 -153
- google/adk/tests/unittests/tools/openapi_tool/auth/credential_exchangers/test_service_account_exchanger.py +0 -196
- google/adk/tests/unittests/tools/openapi_tool/auth/test_auth_helper.py +0 -573
- google/adk/tests/unittests/tools/openapi_tool/common/test_common.py +0 -436
- google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test.yaml +0 -1367
- google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_openapi_spec_parser.py +0 -628
- google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_openapi_toolset.py +0 -139
- google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_operation_parser.py +0 -406
- google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_rest_api_tool.py +0 -966
- google/adk/tests/unittests/tools/openapi_tool/openapi_spec_parser/test_tool_auth_handler.py +0 -201
- google/adk/tests/unittests/tools/retrieval/__init__.py +0 -14
- google/adk/tests/unittests/tools/retrieval/test_vertex_ai_rag_retrieval.py +0 -147
- google/adk/tests/unittests/tools/test_agent_tool.py +0 -167
- google/adk/tests/unittests/tools/test_base_tool.py +0 -141
- google/adk/tests/unittests/tools/test_build_function_declaration.py +0 -277
- google/adk/tests/unittests/utils.py +0 -304
- google_adk-0.0.2.dist-info/RECORD +0 -308
- {google_adk-0.0.2.dist-info → google_adk-0.0.4.dist-info}/entry_points.txt +0 -0
- {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
|
-
|
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)
|
google/adk/cli/cli_deploy.py
CHANGED
@@ -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
|
-
|
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
|
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
|
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
|
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
|
-
|
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
|
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
|
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
|
|
google/adk/cli/fast_api.py
CHANGED
@@ -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
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
)
|
150
|
-
|
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(
|
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
|
|
google/adk/models/google_llm.py
CHANGED
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'
|
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.
|
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
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: google-adk
|
3
|
-
Version: 0.0.
|
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,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
|
-
)
|