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.
Files changed (280) hide show
  1. {google_adk-1.6.1 → google_adk-1.8.0}/PKG-INFO +3 -2
  2. {google_adk-1.6.1 → google_adk-1.8.0}/pyproject.toml +2 -1
  3. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/event_converter.py +5 -85
  4. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/request_converter.py +1 -2
  5. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/executor/a2a_agent_executor.py +45 -16
  6. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/logs/log_utils.py +1 -2
  7. google_adk-1.8.0/src/google/adk/a2a/utils/agent_card_builder.py +544 -0
  8. google_adk-1.8.0/src/google/adk/a2a/utils/agent_to_a2a.py +118 -0
  9. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/__init__.py +5 -0
  10. google_adk-1.8.0/src/google/adk/agents/agent_config.py +46 -0
  11. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/base_agent.py +239 -41
  12. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/callback_context.py +41 -0
  13. google_adk-1.8.0/src/google/adk/agents/common_configs.py +79 -0
  14. google_adk-1.8.0/src/google/adk/agents/config_agent_utils.py +184 -0
  15. google_adk-1.8.0/src/google/adk/agents/config_schemas/AgentConfig.json +566 -0
  16. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/invocation_context.py +5 -1
  17. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/live_request_queue.py +15 -0
  18. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/llm_agent.py +201 -9
  19. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/loop_agent.py +35 -1
  20. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/parallel_agent.py +24 -3
  21. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/remote_a2a_agent.py +17 -5
  22. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/sequential_agent.py +22 -1
  23. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/artifacts/gcs_artifact_service.py +110 -20
  24. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_handler.py +3 -3
  25. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_manager.py +23 -23
  26. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_service/base_credential_service.py +6 -6
  27. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_service/in_memory_credential_service.py +10 -8
  28. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_service/session_state_credential_service.py +8 -8
  29. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/exchanger/oauth2_credential_exchanger.py +3 -3
  30. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/oauth2_credential_util.py +2 -2
  31. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/refresher/oauth2_credential_refresher.py +4 -4
  32. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/agent_graph.py +3 -1
  33. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/index.html +2 -2
  34. google_adk-1.8.0/src/google/adk/cli/browser/main-W7QZBYAR.js +3914 -0
  35. google_adk-1.8.0/src/google/adk/cli/browser/polyfills-B6TNHZQ6.js +17 -0
  36. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli_eval.py +87 -12
  37. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli_tools_click.py +143 -82
  38. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/fast_api.py +150 -69
  39. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/agent_loader.py +35 -1
  40. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/base_code_executor.py +14 -19
  41. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/built_in_code_executor.py +4 -1
  42. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/base_eval_service.py +46 -2
  43. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_metrics.py +4 -0
  44. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_sets_manager.py +5 -1
  45. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/evaluation_generator.py +1 -1
  46. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/final_response_match_v2.py +2 -2
  47. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/gcs_eval_sets_manager.py +2 -1
  48. google_adk-1.8.0/src/google/adk/evaluation/in_memory_eval_sets_manager.py +151 -0
  49. google_adk-1.8.0/src/google/adk/evaluation/local_eval_service.py +389 -0
  50. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/local_eval_set_results_manager.py +2 -2
  51. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/local_eval_sets_manager.py +24 -9
  52. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/metric_evaluator_registry.py +16 -6
  53. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/vertex_ai_eval_facade.py +7 -1
  54. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/events/event.py +7 -2
  55. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/auto_flow.py +6 -11
  56. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/base_llm_flow.py +66 -29
  57. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/contents.py +16 -10
  58. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/functions.py +89 -52
  59. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/in_memory_memory_service.py +21 -15
  60. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/vertex_ai_memory_bank_service.py +12 -10
  61. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/anthropic_llm.py +46 -6
  62. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/base_llm_connection.py +2 -0
  63. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/gemini_llm_connection.py +17 -6
  64. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/google_llm.py +46 -11
  65. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/lite_llm.py +52 -22
  66. google_adk-1.8.0/src/google/adk/plugins/__init__.py +17 -0
  67. google_adk-1.8.0/src/google/adk/plugins/base_plugin.py +317 -0
  68. google_adk-1.8.0/src/google/adk/plugins/plugin_manager.py +265 -0
  69. google_adk-1.8.0/src/google/adk/py.typed +0 -0
  70. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/runners.py +122 -18
  71. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/database_session_service.py +51 -52
  72. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/vertex_ai_session_service.py +27 -12
  73. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/__init__.py +2 -0
  74. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_automatic_function_calling_util.py +20 -2
  75. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/agent_tool.py +15 -3
  76. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/apihub_toolset.py +38 -39
  77. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/application_integration_toolset.py +35 -37
  78. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/integration_connector_tool.py +2 -3
  79. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/base_tool.py +9 -9
  80. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/base_toolset.py +29 -5
  81. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/__init__.py +3 -3
  82. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/metadata_tool.py +2 -0
  83. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/query_tool.py +15 -1
  84. google_adk-1.8.0/src/google/adk/tools/computer_use/base_computer.py +265 -0
  85. google_adk-1.8.0/src/google/adk/tools/computer_use/computer_use_tool.py +166 -0
  86. google_adk-1.8.0/src/google/adk/tools/computer_use/computer_use_toolset.py +220 -0
  87. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/enterprise_search_tool.py +4 -2
  88. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/exit_loop_tool.py +1 -0
  89. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/google_api_tool.py +16 -1
  90. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/google_api_toolset.py +9 -7
  91. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/google_api_toolsets.py +41 -20
  92. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_search_tool.py +4 -2
  93. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/langchain_tool.py +16 -6
  94. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/long_running_tool.py +21 -0
  95. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/mcp_toolset.py +27 -28
  96. {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
  97. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/openapi_spec_parser/openapi_toolset.py +8 -8
  98. {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
  99. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/vertex_ai_rag_retrieval.py +3 -2
  100. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/tool_context.py +0 -10
  101. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/url_context_tool.py +4 -2
  102. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/vertex_ai_search_tool.py +4 -2
  103. google_adk-1.8.0/src/google/adk/utils/__init__.py +13 -0
  104. google_adk-1.8.0/src/google/adk/utils/model_name_utils.py +90 -0
  105. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/version.py +1 -1
  106. google_adk-1.6.1/src/google/adk/cli/browser/main-RXDVX3K6.js +0 -3914
  107. google_adk-1.6.1/src/google/adk/cli/browser/polyfills-FFHMD2TL.js +0 -17
  108. {google_adk-1.6.1 → google_adk-1.8.0}/LICENSE +0 -0
  109. {google_adk-1.6.1 → google_adk-1.8.0}/README.md +0 -0
  110. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/__init__.py +0 -0
  111. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/__init__.py +0 -0
  112. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/__init__.py +0 -0
  113. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/part_converter.py +0 -0
  114. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/converters/utils.py +0 -0
  115. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/executor/__init__.py +0 -0
  116. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/executor/task_result_aggregator.py +0 -0
  117. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/a2a/logs/__init__.py +0 -0
  118. /google_adk-1.6.1/src/google/adk/py.typed → /google_adk-1.8.0/src/google/adk/a2a/utils/__init__.py +0 -0
  119. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/active_streaming_tool.py +0 -0
  120. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/langgraph_agent.py +0 -0
  121. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/readonly_context.py +0 -0
  122. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/run_config.py +0 -0
  123. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/agents/transcription_entry.py +0 -0
  124. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/artifacts/__init__.py +0 -0
  125. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/artifacts/base_artifact_service.py +0 -0
  126. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/artifacts/in_memory_artifact_service.py +0 -0
  127. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/__init__.py +0 -0
  128. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_credential.py +0 -0
  129. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_preprocessor.py +0 -0
  130. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_schemes.py +0 -0
  131. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/auth_tool.py +0 -0
  132. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/credential_service/__init__.py +0 -0
  133. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/exchanger/__init__.py +0 -0
  134. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/exchanger/base_credential_exchanger.py +0 -0
  135. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/exchanger/credential_exchanger_registry.py +0 -0
  136. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/refresher/__init__.py +0 -0
  137. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/refresher/base_credential_refresher.py +0 -0
  138. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/auth/refresher/credential_refresher_registry.py +0 -0
  139. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/__init__.py +0 -0
  140. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/__main__.py +0 -0
  141. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/adk_favicon.svg +0 -0
  142. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/assets/ADK-512-color.svg +0 -0
  143. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/assets/audio-processor.js +0 -0
  144. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/assets/config/runtime-config.json +0 -0
  145. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/chunk-EQDQRRRY.js +0 -0
  146. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/chunk-TXJFAAIW.js +0 -0
  147. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/browser/styles-4VDSPQ37.css +0 -0
  148. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli.py +0 -0
  149. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli_create.py +0 -0
  150. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/cli_deploy.py +0 -0
  151. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/__init__.py +0 -0
  152. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/cleanup.py +0 -0
  153. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/common.py +0 -0
  154. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/envs.py +0 -0
  155. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/evals.py +0 -0
  156. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/cli/utils/logs.py +0 -0
  157. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/__init__.py +0 -0
  158. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/code_execution_utils.py +0 -0
  159. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/code_executor_context.py +0 -0
  160. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/container_code_executor.py +0 -0
  161. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/unsafe_local_code_executor.py +0 -0
  162. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/code_executors/vertex_ai_code_executor.py +0 -0
  163. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/errors/__init__.py +0 -0
  164. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/errors/not_found_error.py +0 -0
  165. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/__init__.py +0 -0
  166. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/_eval_set_results_manager_utils.py +0 -0
  167. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/_eval_sets_manager_utils.py +0 -0
  168. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/agent_evaluator.py +0 -0
  169. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/constants.py +0 -0
  170. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_case.py +0 -0
  171. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_result.py +0 -0
  172. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_set.py +0 -0
  173. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/eval_set_results_manager.py +0 -0
  174. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/evaluation_constants.py +0 -0
  175. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/evaluator.py +0 -0
  176. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/final_response_match_v1.py +0 -0
  177. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/gcs_eval_set_results_manager.py +0 -0
  178. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/llm_as_judge.py +0 -0
  179. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/llm_as_judge_utils.py +0 -0
  180. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/response_evaluator.py +0 -0
  181. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/safety_evaluator.py +0 -0
  182. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/evaluation/trajectory_evaluator.py +0 -0
  183. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/events/__init__.py +0 -0
  184. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/events/event_actions.py +0 -0
  185. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/__init__.py +0 -0
  186. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/base_example_provider.py +0 -0
  187. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/example.py +0 -0
  188. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/example_util.py +0 -0
  189. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/examples/vertex_ai_example_store.py +0 -0
  190. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/__init__.py +0 -0
  191. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/__init__.py +0 -0
  192. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/_base_llm_processor.py +0 -0
  193. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/_code_execution.py +0 -0
  194. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/_nl_planning.py +0 -0
  195. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/agent_transfer.py +0 -0
  196. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/audio_transcriber.py +0 -0
  197. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/basic.py +0 -0
  198. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/identity.py +0 -0
  199. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/instructions.py +0 -0
  200. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/flows/llm_flows/single_flow.py +0 -0
  201. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/__init__.py +0 -0
  202. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/_utils.py +0 -0
  203. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/base_memory_service.py +0 -0
  204. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/memory_entry.py +0 -0
  205. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/memory/vertex_ai_rag_memory_service.py +0 -0
  206. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/__init__.py +0 -0
  207. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/base_llm.py +0 -0
  208. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/llm_request.py +0 -0
  209. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/llm_response.py +0 -0
  210. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/models/registry.py +0 -0
  211. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/planners/__init__.py +0 -0
  212. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/planners/base_planner.py +0 -0
  213. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/planners/built_in_planner.py +0 -0
  214. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/planners/plan_re_act_planner.py +0 -0
  215. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/platform/__init__.py +0 -0
  216. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/platform/internal/__init__.py +0 -0
  217. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/platform/internal/thread.py +0 -0
  218. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/platform/thread.py +0 -0
  219. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/__init__.py +0 -0
  220. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/_session_util.py +0 -0
  221. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/base_session_service.py +0 -0
  222. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/in_memory_session_service.py +0 -0
  223. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/session.py +0 -0
  224. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/sessions/state.py +0 -0
  225. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/telemetry.py +0 -0
  226. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_forwarding_artifact_service.py +0 -0
  227. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_function_parameter_parse_util.py +0 -0
  228. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_gemini_schema_util.py +0 -0
  229. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/_memory_entry_utils.py +0 -0
  230. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/__init__.py +0 -0
  231. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/clients/__init__.py +0 -0
  232. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/clients/apihub_client.py +0 -0
  233. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/apihub_tool/clients/secret_client.py +0 -0
  234. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/__init__.py +0 -0
  235. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/clients/connections_client.py +0 -0
  236. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/application_integration_tool/clients/integration_client.py +0 -0
  237. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/authenticated_function_tool.py +0 -0
  238. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/base_authenticated_tool.py +0 -0
  239. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/bigquery_credentials.py +0 -0
  240. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/bigquery_tool.py +0 -0
  241. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/bigquery_toolset.py +0 -0
  242. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/client.py +0 -0
  243. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/bigquery/config.py +0 -0
  244. {google_adk-1.6.1/src/google/adk/utils → google_adk-1.8.0/src/google/adk/tools/computer_use}/__init__.py +0 -0
  245. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/crewai_tool.py +0 -0
  246. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/example_tool.py +0 -0
  247. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/function_tool.py +0 -0
  248. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/get_user_choice_tool.py +0 -0
  249. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/__init__.py +0 -0
  250. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/google_api_tool/googleapi_to_openapi_converter.py +0 -0
  251. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/load_artifacts_tool.py +0 -0
  252. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/load_memory_tool.py +0 -0
  253. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/load_web_page.py +0 -0
  254. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/__init__.py +0 -0
  255. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/conversion_utils.py +0 -0
  256. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/mcp_session_manager.py +0 -0
  257. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/mcp_tool/mcp_tool.py +0 -0
  258. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/__init__.py +0 -0
  259. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/__init__.py +0 -0
  260. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/auth_helpers.py +0 -0
  261. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/credential_exchangers/__init__.py +0 -0
  262. {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
  263. {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
  264. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.py +0 -0
  265. {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
  266. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/common/__init__.py +0 -0
  267. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/common/common.py +0 -0
  268. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/openapi_spec_parser/__init__.py +0 -0
  269. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/openapi_tool/openapi_spec_parser/operation_parser.py +0 -0
  270. {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
  271. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/preload_memory_tool.py +0 -0
  272. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/__init__.py +0 -0
  273. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/base_retrieval_tool.py +0 -0
  274. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/files_retrieval.py +0 -0
  275. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/retrieval/llama_index_retrieval.py +0 -0
  276. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/toolbox_toolset.py +0 -0
  277. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/tools/transfer_to_agent_tool.py +0 -0
  278. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/utils/feature_decorator.py +0 -0
  279. {google_adk-1.6.1 → google_adk-1.8.0}/src/google/adk/utils/instructions_utils.py +0 -0
  280. {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.6.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.7 ; extra == "a2a" and (python_version>='3.10')
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.7;python_version>='3.10'"
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.status and a2a_task.status.message:
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 Tool requires Python 3.10 or above. Please upgrade your Python'
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
- await event_queue.enqueue_event(
222
- TaskStatusUpdateEvent(
223
- taskId=context.task_id,
224
- status=TaskStatus(
225
- state=(
226
- task_result_aggregator.task_state
227
- if task_result_aggregator.task_state != TaskState.working
228
- else TaskState.completed
229
- ),
230
- timestamp=datetime.now(timezone.utc).isoformat(),
231
- message=task_result_aggregator.task_status_message,
232
- ),
233
- contextId=context.context_id,
234
- final=True,
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 Tool requires Python 3.10 or above. Please upgrade your Python"
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