google-adk 1.6.1__tar.gz → 1.8.0__tar.gz
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-1.6.1 → google_adk-1.8.0}/PKG-INFO +3 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/pyproject.toml +2 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/event_converter.py +5 -85
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/request_converter.py +1 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/executor/a2a_agent_executor.py +45 -16
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/logs/log_utils.py +1 -2
- google_adk-1.8.0/src/google/adk/a2a/utils/agent_card_builder.py +544 -0
- google_adk-1.8.0/src/google/adk/a2a/utils/agent_to_a2a.py +118 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/__init__.py +5 -0
- google_adk-1.8.0/src/google/adk/agents/agent_config.py +46 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/base_agent.py +239 -41
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/callback_context.py +41 -0
- google_adk-1.8.0/src/google/adk/agents/common_configs.py +79 -0
- google_adk-1.8.0/src/google/adk/agents/config_agent_utils.py +184 -0
- google_adk-1.8.0/src/google/adk/agents/config_schemas/AgentConfig.json +566 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/invocation_context.py +5 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/live_request_queue.py +15 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/llm_agent.py +201 -9
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/loop_agent.py +35 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/parallel_agent.py +24 -3
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/remote_a2a_agent.py +17 -5
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/sequential_agent.py +22 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/artifacts/gcs_artifact_service.py +110 -20
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_handler.py +3 -3
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_manager.py +23 -23
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_service/base_credential_service.py +6 -6
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_service/in_memory_credential_service.py +10 -8
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_service/session_state_credential_service.py +8 -8
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/exchanger/oauth2_credential_exchanger.py +3 -3
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/oauth2_credential_util.py +2 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/refresher/oauth2_credential_refresher.py +4 -4
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/agent_graph.py +3 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/index.html +2 -2
- google_adk-1.8.0/src/google/adk/cli/browser/main-W7QZBYAR.js +3914 -0
- google_adk-1.8.0/src/google/adk/cli/browser/polyfills-B6TNHZQ6.js +17 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli_eval.py +87 -12
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli_tools_click.py +143 -82
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/fast_api.py +150 -69
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/agent_loader.py +35 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/base_code_executor.py +14 -19
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/built_in_code_executor.py +4 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/base_eval_service.py +46 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_metrics.py +4 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_sets_manager.py +5 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/evaluation_generator.py +1 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/final_response_match_v2.py +2 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/gcs_eval_sets_manager.py +2 -1
- google_adk-1.8.0/src/google/adk/evaluation/in_memory_eval_sets_manager.py +151 -0
- google_adk-1.8.0/src/google/adk/evaluation/local_eval_service.py +389 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/local_eval_set_results_manager.py +2 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/local_eval_sets_manager.py +24 -9
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/metric_evaluator_registry.py +16 -6
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/vertex_ai_eval_facade.py +7 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/events/event.py +7 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/auto_flow.py +6 -11
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/base_llm_flow.py +66 -29
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/contents.py +16 -10
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/functions.py +89 -52
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/in_memory_memory_service.py +21 -15
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/vertex_ai_memory_bank_service.py +12 -10
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/anthropic_llm.py +46 -6
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/base_llm_connection.py +2 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/gemini_llm_connection.py +17 -6
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/google_llm.py +46 -11
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/lite_llm.py +52 -22
- google_adk-1.8.0/src/google/adk/plugins/__init__.py +17 -0
- google_adk-1.8.0/src/google/adk/plugins/base_plugin.py +317 -0
- google_adk-1.8.0/src/google/adk/plugins/plugin_manager.py +265 -0
- google_adk-1.8.0/src/google/adk/py.typed +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/runners.py +122 -18
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/database_session_service.py +51 -52
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/vertex_ai_session_service.py +27 -12
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/__init__.py +2 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_automatic_function_calling_util.py +20 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/agent_tool.py +15 -3
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/apihub_toolset.py +38 -39
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/application_integration_toolset.py +35 -37
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/integration_connector_tool.py +2 -3
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/base_tool.py +9 -9
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/base_toolset.py +29 -5
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/__init__.py +3 -3
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/metadata_tool.py +2 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/query_tool.py +15 -1
- google_adk-1.8.0/src/google/adk/tools/computer_use/base_computer.py +265 -0
- google_adk-1.8.0/src/google/adk/tools/computer_use/computer_use_tool.py +166 -0
- google_adk-1.8.0/src/google/adk/tools/computer_use/computer_use_toolset.py +220 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/enterprise_search_tool.py +4 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/exit_loop_tool.py +1 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/google_api_tool.py +16 -1
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/google_api_toolset.py +9 -7
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/google_api_toolsets.py +41 -20
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_search_tool.py +4 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/langchain_tool.py +16 -6
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/long_running_tool.py +21 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/mcp_toolset.py +27 -28
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.py +5 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/openapi_spec_parser/openapi_toolset.py +8 -8
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/openapi_spec_parser/rest_api_tool.py +4 -6
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/vertex_ai_rag_retrieval.py +3 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/tool_context.py +0 -10
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/url_context_tool.py +4 -2
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/vertex_ai_search_tool.py +4 -2
- google_adk-1.8.0/src/google/adk/utils/__init__.py +13 -0
- google_adk-1.8.0/src/google/adk/utils/model_name_utils.py +90 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/version.py +1 -1
- google_adk-1.6.1/src/google/adk/cli/browser/main-RXDVX3K6.js +0 -3914
- google_adk-1.6.1/src/google/adk/cli/browser/polyfills-FFHMD2TL.js +0 -17
- {google_adk-1.6.1 → google_adk-1.8.0}/LICENSE +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/README.md +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/part_converter.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/utils.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/executor/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/executor/task_result_aggregator.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/logs/__init__.py +0 -0
- /google_adk-1.6.1/src/google/adk/py.typed → /google_adk-1.8.0/src/google/adk/a2a/utils/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/active_streaming_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/langgraph_agent.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/readonly_context.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/run_config.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/transcription_entry.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/artifacts/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/artifacts/base_artifact_service.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/artifacts/in_memory_artifact_service.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_credential.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_preprocessor.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_schemes.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_service/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/exchanger/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/exchanger/base_credential_exchanger.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/exchanger/credential_exchanger_registry.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/refresher/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/refresher/base_credential_refresher.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/refresher/credential_refresher_registry.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/__main__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/adk_favicon.svg +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/assets/ADK-512-color.svg +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/assets/audio-processor.js +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/assets/config/runtime-config.json +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/chunk-EQDQRRRY.js +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/chunk-TXJFAAIW.js +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/styles-4VDSPQ37.css +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli_create.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli_deploy.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/cleanup.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/common.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/envs.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/evals.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/logs.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/code_execution_utils.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/code_executor_context.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/container_code_executor.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/unsafe_local_code_executor.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/vertex_ai_code_executor.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/errors/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/errors/not_found_error.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/_eval_set_results_manager_utils.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/_eval_sets_manager_utils.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/agent_evaluator.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/constants.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_case.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_result.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_set.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_set_results_manager.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/evaluation_constants.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/evaluator.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/final_response_match_v1.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/gcs_eval_set_results_manager.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/llm_as_judge.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/llm_as_judge_utils.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/response_evaluator.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/safety_evaluator.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/trajectory_evaluator.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/events/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/events/event_actions.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/base_example_provider.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/example.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/example_util.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/vertex_ai_example_store.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/_base_llm_processor.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/_code_execution.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/_nl_planning.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/agent_transfer.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/audio_transcriber.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/basic.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/identity.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/instructions.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/single_flow.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/_utils.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/base_memory_service.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/memory_entry.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/vertex_ai_rag_memory_service.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/base_llm.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/llm_request.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/llm_response.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/registry.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/planners/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/planners/base_planner.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/planners/built_in_planner.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/planners/plan_re_act_planner.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/platform/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/platform/internal/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/platform/internal/thread.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/platform/thread.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/_session_util.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/base_session_service.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/in_memory_session_service.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/session.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/state.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/telemetry.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_forwarding_artifact_service.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_function_parameter_parse_util.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_gemini_schema_util.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_memory_entry_utils.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/clients/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/clients/apihub_client.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/clients/secret_client.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/clients/connections_client.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/clients/integration_client.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/authenticated_function_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/base_authenticated_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/bigquery_credentials.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/bigquery_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/bigquery_toolset.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/client.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/config.py +0 -0
- {google_adk-1.6.1/src/google/adk/utils → google_adk-1.8.0/src/google/adk/tools/computer_use}/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/crewai_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/example_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/function_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/get_user_choice_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/googleapi_to_openapi_converter.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/load_artifacts_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/load_memory_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/load_web_page.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/conversion_utils.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/mcp_session_manager.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/mcp_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/auth_helpers.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/credential_exchangers/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/credential_exchangers/base_credential_exchanger.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/common/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/common/common.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/openapi_spec_parser/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/openapi_spec_parser/operation_parser.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/preload_memory_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/__init__.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/base_retrieval_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/files_retrieval.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/llama_index_retrieval.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/toolbox_toolset.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/transfer_to_agent_tool.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/utils/feature_decorator.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/utils/instructions_utils.py +0 -0
- {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/utils/variant_utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: google-adk
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.8.0
|
4
4
|
Summary: Agent Development Kit
|
5
5
|
Author-email: Google LLC <googleapis-packages@google.com>
|
6
6
|
Requires-Python: >=3.9
|
@@ -47,7 +47,7 @@ Requires-Dist: tzlocal>=5.3
|
|
47
47
|
Requires-Dist: uvicorn>=0.34.0
|
48
48
|
Requires-Dist: watchdog>=6.0.0
|
49
49
|
Requires-Dist: websockets>=15.0.1
|
50
|
-
Requires-Dist: a2a-sdk>=0.2.
|
50
|
+
Requires-Dist: a2a-sdk>=0.2.11 ; extra == "a2a" and (python_version>='3.10')
|
51
51
|
Requires-Dist: flit>=3.10.0 ; extra == "dev"
|
52
52
|
Requires-Dist: isort>=6.0.0 ; extra == "dev"
|
53
53
|
Requires-Dist: mypy>=1.15.0 ; extra == "dev"
|
@@ -81,6 +81,7 @@ Requires-Dist: pytest-asyncio>=0.25.0 ; extra == "test"
|
|
81
81
|
Requires-Dist: pytest-mock>=3.14.0 ; extra == "test"
|
82
82
|
Requires-Dist: pytest-xdist>=3.6.1 ; extra == "test"
|
83
83
|
Requires-Dist: pytest>=8.3.4 ; extra == "test"
|
84
|
+
Requires-Dist: python-multipart>=0.0.9 ; extra == "test"
|
84
85
|
Project-URL: changelog, https://github.com/google/adk-python/blob/main/CHANGELOG.md
|
85
86
|
Project-URL: documentation, https://google.github.io/adk-docs/
|
86
87
|
Project-URL: homepage, https://google.github.io/adk-docs/
|
@@ -80,7 +80,7 @@ dev = [
|
|
80
80
|
|
81
81
|
a2a = [
|
82
82
|
# go/keep-sorted start
|
83
|
-
"a2a-sdk>=0.2.
|
83
|
+
"a2a-sdk>=0.2.11;python_version>='3.10'"
|
84
84
|
# go/keep-sorted end
|
85
85
|
]
|
86
86
|
|
@@ -105,6 +105,7 @@ test = [
|
|
105
105
|
"pytest-mock>=3.14.0",
|
106
106
|
"pytest-xdist>=3.6.1",
|
107
107
|
"pytest>=8.3.4",
|
108
|
+
"python-multipart>=0.0.9",
|
108
109
|
# go/keep-sorted end
|
109
110
|
]
|
110
111
|
|
@@ -24,13 +24,11 @@ from typing import Optional
|
|
24
24
|
import uuid
|
25
25
|
|
26
26
|
from a2a.server.events import Event as A2AEvent
|
27
|
-
from a2a.types import Artifact
|
28
27
|
from a2a.types import DataPart
|
29
28
|
from a2a.types import Message
|
30
29
|
from a2a.types import Part as A2APart
|
31
30
|
from a2a.types import Role
|
32
31
|
from a2a.types import Task
|
33
|
-
from a2a.types import TaskArtifactUpdateEvent
|
34
32
|
from a2a.types import TaskState
|
35
33
|
from a2a.types import TaskStatus
|
36
34
|
from a2a.types import TaskStatusUpdateEvent
|
@@ -145,81 +143,6 @@ def _create_artifact_id(
|
|
145
143
|
return ARTIFACT_ID_SEPARATOR.join(components)
|
146
144
|
|
147
145
|
|
148
|
-
def _convert_artifact_to_a2a_events(
|
149
|
-
event: Event,
|
150
|
-
invocation_context: InvocationContext,
|
151
|
-
filename: str,
|
152
|
-
version: int,
|
153
|
-
task_id: Optional[str] = None,
|
154
|
-
context_id: Optional[str] = None,
|
155
|
-
) -> TaskArtifactUpdateEvent:
|
156
|
-
"""Converts a new artifact version to an A2A TaskArtifactUpdateEvent.
|
157
|
-
|
158
|
-
Args:
|
159
|
-
event: The ADK event containing the artifact information.
|
160
|
-
invocation_context: The invocation context.
|
161
|
-
filename: The name of the artifact file.
|
162
|
-
version: The version number of the artifact.
|
163
|
-
task_id: Optional task ID to use for generated events. If not provided, new UUIDs will be generated.
|
164
|
-
|
165
|
-
Returns:
|
166
|
-
A TaskArtifactUpdateEvent representing the artifact update.
|
167
|
-
|
168
|
-
Raises:
|
169
|
-
ValueError: If required parameters are invalid.
|
170
|
-
RuntimeError: If artifact loading fails.
|
171
|
-
"""
|
172
|
-
if not filename:
|
173
|
-
raise ValueError("Filename cannot be empty")
|
174
|
-
if version < 0:
|
175
|
-
raise ValueError("Version must be non-negative")
|
176
|
-
|
177
|
-
try:
|
178
|
-
artifact_part = invocation_context.artifact_service.load_artifact(
|
179
|
-
app_name=invocation_context.app_name,
|
180
|
-
user_id=invocation_context.user_id,
|
181
|
-
session_id=invocation_context.session.id,
|
182
|
-
filename=filename,
|
183
|
-
version=version,
|
184
|
-
)
|
185
|
-
|
186
|
-
converted_part = convert_genai_part_to_a2a_part(part=artifact_part)
|
187
|
-
if not converted_part:
|
188
|
-
raise RuntimeError(f"Failed to convert artifact part for {filename}")
|
189
|
-
|
190
|
-
artifact_id = _create_artifact_id(
|
191
|
-
invocation_context.app_name,
|
192
|
-
invocation_context.user_id,
|
193
|
-
invocation_context.session.id,
|
194
|
-
filename,
|
195
|
-
version,
|
196
|
-
)
|
197
|
-
|
198
|
-
return TaskArtifactUpdateEvent(
|
199
|
-
taskId=task_id,
|
200
|
-
append=False,
|
201
|
-
contextId=context_id,
|
202
|
-
lastChunk=True,
|
203
|
-
artifact=Artifact(
|
204
|
-
artifactId=artifact_id,
|
205
|
-
name=filename,
|
206
|
-
metadata={
|
207
|
-
"filename": filename,
|
208
|
-
"version": version,
|
209
|
-
},
|
210
|
-
parts=[converted_part],
|
211
|
-
),
|
212
|
-
)
|
213
|
-
except Exception as e:
|
214
|
-
logger.error(
|
215
|
-
"Failed to convert artifact for %s, version %s: %s",
|
216
|
-
filename,
|
217
|
-
version,
|
218
|
-
e,
|
219
|
-
)
|
220
|
-
raise RuntimeError(f"Artifact conversion failed: {e}") from e
|
221
|
-
|
222
|
-
|
223
146
|
def _process_long_running_tool(a2a_part: A2APart, event: Event) -> None:
|
224
147
|
"""Processes long-running tool metadata for an A2A part.
|
225
148
|
|
@@ -268,7 +191,11 @@ def convert_a2a_task_to_event(
|
|
268
191
|
try:
|
269
192
|
# Extract message from task status or history
|
270
193
|
message = None
|
271
|
-
if a2a_task.
|
194
|
+
if a2a_task.artifacts:
|
195
|
+
message = Message(
|
196
|
+
messageId="", role=Role.agent, parts=a2a_task.artifacts[-1].parts
|
197
|
+
)
|
198
|
+
elif a2a_task.status and a2a_task.status.message:
|
272
199
|
message = a2a_task.status.message
|
273
200
|
elif a2a_task.history:
|
274
201
|
message = a2a_task.history[-1]
|
@@ -573,13 +500,6 @@ def convert_event_to_a2a_events(
|
|
573
500
|
a2a_events = []
|
574
501
|
|
575
502
|
try:
|
576
|
-
# Handle artifact deltas
|
577
|
-
if event.actions.artifact_delta:
|
578
|
-
for filename, version in event.actions.artifact_delta.items():
|
579
|
-
artifact_event = _convert_artifact_to_a2a_events(
|
580
|
-
event, invocation_context, filename, version, task_id, context_id
|
581
|
-
)
|
582
|
-
a2a_events.append(artifact_event)
|
583
503
|
|
584
504
|
# Handle error scenarios
|
585
505
|
if event.error_code:
|
@@ -22,8 +22,7 @@ try:
|
|
22
22
|
except ImportError as e:
|
23
23
|
if sys.version_info < (3, 10):
|
24
24
|
raise ImportError(
|
25
|
-
'A2A
|
26
|
-
' version.'
|
25
|
+
'A2A requires Python 3.10 or above. Please upgrade your Python version.'
|
27
26
|
) from e
|
28
27
|
else:
|
29
28
|
raise e
|
@@ -28,8 +28,10 @@ try:
|
|
28
28
|
from a2a.server.agent_execution import AgentExecutor
|
29
29
|
from a2a.server.agent_execution.context import RequestContext
|
30
30
|
from a2a.server.events.event_queue import EventQueue
|
31
|
+
from a2a.types import Artifact
|
31
32
|
from a2a.types import Message
|
32
33
|
from a2a.types import Role
|
34
|
+
from a2a.types import TaskArtifactUpdateEvent
|
33
35
|
from a2a.types import TaskState
|
34
36
|
from a2a.types import TaskStatus
|
35
37
|
from a2a.types import TaskStatusUpdateEvent
|
@@ -218,22 +220,49 @@ class A2aAgentExecutor(AgentExecutor):
|
|
218
220
|
await event_queue.enqueue_event(a2a_event)
|
219
221
|
|
220
222
|
# publish the task result event - this is final
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
223
|
+
if (
|
224
|
+
task_result_aggregator.task_state == TaskState.working
|
225
|
+
and task_result_aggregator.task_status_message is not None
|
226
|
+
and task_result_aggregator.task_status_message.parts
|
227
|
+
):
|
228
|
+
# if task is still working properly, publish the artifact update event as
|
229
|
+
# the final result according to a2a protocol.
|
230
|
+
await event_queue.enqueue_event(
|
231
|
+
TaskArtifactUpdateEvent(
|
232
|
+
taskId=context.task_id,
|
233
|
+
lastChunk=True,
|
234
|
+
contextId=context.context_id,
|
235
|
+
artifact=Artifact(
|
236
|
+
artifactId=str(uuid.uuid4()),
|
237
|
+
parts=task_result_aggregator.task_status_message.parts,
|
238
|
+
),
|
239
|
+
)
|
240
|
+
)
|
241
|
+
# public the final status update event
|
242
|
+
await event_queue.enqueue_event(
|
243
|
+
TaskStatusUpdateEvent(
|
244
|
+
taskId=context.task_id,
|
245
|
+
status=TaskStatus(
|
246
|
+
state=TaskState.completed,
|
247
|
+
timestamp=datetime.now(timezone.utc).isoformat(),
|
248
|
+
),
|
249
|
+
contextId=context.context_id,
|
250
|
+
final=True,
|
251
|
+
)
|
252
|
+
)
|
253
|
+
else:
|
254
|
+
await event_queue.enqueue_event(
|
255
|
+
TaskStatusUpdateEvent(
|
256
|
+
taskId=context.task_id,
|
257
|
+
status=TaskStatus(
|
258
|
+
state=task_result_aggregator.task_state,
|
259
|
+
timestamp=datetime.now(timezone.utc).isoformat(),
|
260
|
+
message=task_result_aggregator.task_status_message,
|
261
|
+
),
|
262
|
+
contextId=context.context_id,
|
263
|
+
final=True,
|
264
|
+
)
|
265
|
+
)
|
237
266
|
|
238
267
|
async def _prepare_session(
|
239
268
|
self, context: RequestContext, run_args: dict[str, Any], runner: Runner
|
@@ -30,8 +30,7 @@ try:
|
|
30
30
|
except ImportError as e:
|
31
31
|
if sys.version_info < (3, 10):
|
32
32
|
raise ImportError(
|
33
|
-
"A2A
|
34
|
-
" version."
|
33
|
+
"A2A requires Python 3.10 or above. Please upgrade your Python version."
|
35
34
|
) from e
|
36
35
|
else:
|
37
36
|
raise e
|