@google/adk 2.0.0 → 2.1.0
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.
- package/dist/cjs/a2a/a2a_event.js +0 -29
- package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
- package/dist/cjs/a2a/agent_card.js +58 -6
- package/dist/cjs/a2a/agent_executor.js +10 -3
- package/dist/cjs/a2a/agent_to_a2a.js +6 -1
- package/dist/cjs/a2a/event_processor_utils.js +1 -1
- package/dist/cjs/a2a/executor_context.js +4 -2
- package/dist/cjs/a2a/index.js +4 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/base_agent.js +9 -8
- package/dist/cjs/agents/context.js +7 -0
- package/dist/cjs/agents/functions.js +150 -47
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +6 -5
- package/dist/cjs/agents/loop_agent.js +1 -1
- package/dist/cjs/agents/parallel_agent.js +1 -1
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/cjs/agents/processors/content_processor_utils.js +5 -5
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/cjs/agents/readonly_context.js +6 -0
- package/dist/cjs/agents/routed_agent.js +1 -1
- package/dist/cjs/agents/sequential_agent.js +1 -1
- package/dist/cjs/apps/app.js +1 -1
- package/dist/cjs/artifacts/file_artifact_service.js +1 -2
- package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_handler.js +44 -8
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
- package/dist/cjs/code_executors/base_code_executor.js +1 -1
- package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
- package/dist/cjs/code_executors/code_execution_utils.js +2 -2
- package/dist/cjs/code_executors/container_code_executor.js +186 -0
- package/dist/cjs/code_executors/docker_container.js +282 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/cjs/common.js +74 -45
- package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
- package/dist/cjs/context/anchored_context_compactor.js +41 -18
- package/dist/cjs/context/compaction_utils.js +15 -6
- package/dist/cjs/context/token_based_context_compactor.js +10 -2
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/cjs/context/truncating_context_compactor.js +17 -5
- package/dist/cjs/errors/already_exists_error.js +50 -0
- package/dist/cjs/errors/input_validation_error.js +50 -0
- package/dist/cjs/errors/not_found_error.js +50 -0
- package/dist/cjs/errors/session_not_found_error.js +50 -0
- package/dist/cjs/errors/tool_execution_error.js +68 -0
- package/dist/cjs/events/event.js +1 -1
- package/dist/cjs/events/event_actions.js +7 -0
- package/dist/cjs/examples/base_example_provider.js +1 -1
- package/dist/cjs/index.js +47 -0
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +2 -2
- package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
- package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
- package/dist/cjs/models/apigee_llm.js +1 -1
- package/dist/cjs/models/base_llm.js +1 -1
- package/dist/cjs/models/chrome_prompt_llm.js +304 -0
- package/dist/cjs/models/chrome_prompt_utils.js +229 -0
- package/dist/cjs/models/google_llm.js +9 -4
- package/dist/cjs/models/interactions_utils.js +2 -3
- package/dist/cjs/models/registry.js +2 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/reflect_retry_model_plugin.js +274 -0
- package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
- package/dist/cjs/runner/runner.js +29 -26
- package/dist/cjs/sessions/database_session_service.js +78 -43
- package/dist/cjs/sessions/db/operations.js +229 -22
- package/dist/cjs/sessions/db/schema.js +113 -159
- package/dist/cjs/sessions/registry.js +5 -1
- package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
- package/dist/cjs/telemetry/setup.js +1 -1
- package/dist/cjs/telemetry/tracing.js +11 -1
- package/dist/cjs/tools/agent_tool.js +4 -5
- package/dist/cjs/tools/base_tool.js +14 -4
- package/dist/cjs/tools/base_toolset.js +4 -4
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
- package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
- package/dist/cjs/tools/function_tool.js +6 -3
- package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
- package/dist/cjs/tools/google_search_tool.js +3 -6
- package/dist/cjs/tools/load_artifacts_tool.js +47 -23
- package/dist/cjs/tools/load_web_page.js +6 -172
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +11 -2
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +16 -18
- package/dist/cjs/tools/preload_memory_tool.js +1 -1
- package/dist/cjs/tools/resume_inputs.js +27 -0
- package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
- package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
- package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -0
- package/dist/cjs/tools/url_context_tool.js +3 -6
- package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +0 -6
- package/dist/cjs/utils/logger.js +15 -50
- package/dist/cjs/utils/logger_browser.js +86 -0
- package/dist/cjs/utils/logger_node.js +119 -0
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +15 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +1 -1
- package/dist/cjs/workflow/graph.js +1 -1
- package/dist/cjs/workflow/nodes/node_tool.js +2 -11
- package/dist/cjs/workflow/request_input.js +1 -1
- package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/cjs/workflow/workflow.js +1 -1
- package/dist/esm/a2a/a2a_event.js +0 -28
- package/dist/esm/a2a/a2a_remote_agent.js +10 -5
- package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
- package/dist/esm/a2a/agent_card.js +63 -6
- package/dist/esm/a2a/agent_executor.js +10 -3
- package/dist/esm/a2a/agent_to_a2a.js +8 -2
- package/dist/esm/a2a/event_processor_utils.js +1 -2
- package/dist/esm/a2a/executor_context.js +4 -2
- package/dist/esm/a2a/index.js +7 -1
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/base_agent.js +9 -8
- package/dist/esm/agents/context.js +7 -0
- package/dist/esm/agents/functions.js +152 -48
- package/dist/esm/agents/invocation_context.js +1 -0
- package/dist/esm/agents/llm_agent.js +6 -5
- package/dist/esm/agents/loop_agent.js +1 -1
- package/dist/esm/agents/parallel_agent.js +1 -1
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/esm/agents/processors/content_processor_utils.js +5 -5
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/esm/agents/readonly_context.js +6 -0
- package/dist/esm/agents/routed_agent.js +1 -1
- package/dist/esm/agents/sequential_agent.js +1 -1
- package/dist/esm/apps/app.js +1 -1
- package/dist/esm/artifacts/file_artifact_service.js +1 -2
- package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_handler.js +47 -8
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
- package/dist/esm/code_executors/base_code_executor.js +1 -1
- package/dist/esm/code_executors/built_in_code_executor.js +1 -1
- package/dist/esm/code_executors/code_execution_utils.js +2 -2
- package/dist/esm/code_executors/container_code_executor.js +155 -0
- package/dist/esm/code_executors/docker_container.js +265 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +11 -6
- package/dist/esm/common.js +73 -38
- package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
- package/dist/esm/context/anchored_context_compactor.js +45 -19
- package/dist/esm/context/compaction_utils.js +13 -5
- package/dist/esm/context/token_based_context_compactor.js +10 -2
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/esm/context/truncating_context_compactor.js +17 -5
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
- package/dist/esm/errors/session_not_found_error.js +23 -0
- package/dist/esm/errors/tool_execution_error.js +40 -0
- package/dist/esm/events/event.js +1 -1
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/examples/base_example_provider.js +1 -1
- package/dist/esm/index.js +37 -0
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +2 -2
- package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
- package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
- package/dist/esm/models/apigee_llm.js +1 -1
- package/dist/esm/models/base_llm.js +1 -1
- package/dist/esm/models/chrome_prompt_llm.js +285 -0
- package/dist/esm/models/chrome_prompt_utils.js +192 -0
- package/dist/esm/models/google_llm.js +9 -4
- package/dist/esm/models/interactions_utils.js +2 -3
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/reflect_retry_model_plugin.js +250 -0
- package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
- package/dist/esm/runner/runner.js +35 -27
- package/dist/esm/sessions/database_session_service.js +58 -25
- package/dist/esm/sessions/db/operations.js +229 -22
- package/dist/esm/sessions/db/schema.js +111 -160
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
- package/dist/esm/telemetry/setup.js +1 -1
- package/dist/esm/telemetry/tracing.js +11 -1
- package/dist/esm/tools/agent_tool.js +4 -5
- package/dist/esm/tools/base_tool.js +11 -3
- package/dist/esm/tools/base_toolset.js +4 -4
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
- package/dist/esm/tools/forwarding_artifact_service.js +18 -13
- package/dist/esm/tools/function_tool.js +6 -3
- package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
- package/dist/esm/tools/google_search_tool.js +3 -6
- package/dist/esm/tools/load_artifacts_tool.js +48 -24
- package/dist/esm/tools/load_web_page.js +10 -170
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +13 -2
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +1 -1
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +16 -18
- package/dist/esm/tools/preload_memory_tool.js +1 -1
- package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
- package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
- package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -0
- package/dist/esm/tools/url_context_tool.js +3 -6
- package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +0 -6
- package/dist/esm/utils/logger.js +14 -40
- package/dist/esm/utils/logger_browser.js +58 -0
- package/dist/esm/utils/logger_node.js +81 -0
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +15 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +1 -1
- package/dist/esm/workflow/graph.js +1 -1
- package/dist/esm/workflow/nodes/node_tool.js +2 -11
- package/dist/esm/workflow/request_input.js +1 -1
- package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/esm/workflow/workflow.js +1 -1
- package/dist/types/a2a/a2a_event.d.ts +7 -10
- package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
- package/dist/types/a2a/agent_card.d.ts +9 -0
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +1 -1
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +19 -16
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/functions.d.ts +72 -6
- package/dist/types/agents/invocation_context.d.ts +11 -3
- package/dist/types/agents/llm_agent.d.ts +9 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +21 -8
- package/dist/types/artifacts/scoped_artifact_service.d.ts +13 -0
- package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
- package/dist/types/auth/auth_credential.d.ts +13 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
- package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
- package/dist/types/code_executors/container_code_executor.d.ts +89 -0
- package/dist/types/code_executors/docker_container.d.ts +79 -0
- package/dist/types/common.d.ts +22 -20
- package/dist/types/context/compaction_utils.d.ts +9 -1
- package/dist/types/errors/already_exists_error.d.ts +14 -0
- package/dist/types/errors/input_validation_error.d.ts +14 -0
- package/dist/types/errors/not_found_error.d.ts +14 -0
- package/dist/types/errors/session_not_found_error.d.ts +14 -0
- package/dist/types/errors/tool_execution_error.d.ts +36 -0
- package/dist/types/events/event_actions.d.ts +13 -0
- package/dist/types/index.d.ts +22 -1
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
- package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
- package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +12 -10
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
- package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -0
- package/dist/types/runner/runner.d.ts +7 -8
- package/dist/types/sessions/database_session_service.d.ts +1 -1
- package/dist/types/sessions/db/operations.d.ts +13 -1
- package/dist/types/sessions/db/schema.d.ts +23 -9
- package/dist/types/tools/base_tool.d.ts +11 -0
- package/dist/types/tools/base_toolset.d.ts +3 -4
- package/dist/types/tools/built_in_tool.d.ts +41 -0
- package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +42 -9
- package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
- package/dist/types/tools/google_search_tool.d.ts +4 -4
- package/dist/types/tools/long_running_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +11 -10
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/preload_memory_tool.d.ts +1 -1
- package/dist/types/tools/resume_inputs.d.ts +25 -0
- package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
- package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
- package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -0
- package/dist/types/tools/url_context_tool.d.ts +4 -4
- package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +5 -7
- package/dist/types/utils/logger.d.ts +23 -1
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/output_schema_utils.d.ts +3 -3
- package/dist/types/utils/redact_inline_data.d.ts +16 -0
- package/dist/types/utils/redact_uri.d.ts +12 -8
- package/dist/types/utils/ssrf_guard.d.ts +32 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index_web.js +304 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +17 -14
- package/dist/web/a2a/a2a_event.js +0 -290
- package/dist/web/a2a/a2a_remote_agent.js +0 -200
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
- package/dist/web/a2a/agent_card.js +0 -373
- package/dist/web/a2a/agent_executor.js +0 -246
- package/dist/web/a2a/agent_to_a2a.js +0 -126
- package/dist/web/a2a/auth.js +0 -41
- package/dist/web/a2a/event_converter_utils.js +0 -242
- package/dist/web/a2a/event_processor_utils.js +0 -209
- package/dist/web/a2a/executor_context.js +0 -28
- package/dist/web/a2a/index.js +0 -20
- package/dist/web/a2a/metadata_converter_utils.js +0 -115
- package/dist/web/a2a/part_converter_utils.js +0 -201
- package/dist/web/agents/active_streaming_tool.js +0 -25
- package/dist/web/agents/base_agent.js +0 -462
- package/dist/web/agents/context.js +0 -146
- package/dist/web/agents/framework_function_calls.js +0 -34
- package/dist/web/agents/functions.js +0 -462
- package/dist/web/agents/instructions.js +0 -188
- package/dist/web/agents/invocation_context.js +0 -126
- package/dist/web/agents/live_request_queue.js +0 -151
- package/dist/web/agents/llm_agent.js +0 -1514
- package/dist/web/agents/loop_agent.js +0 -131
- package/dist/web/agents/parallel_agent.js +0 -122
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
- package/dist/web/agents/processors/base_llm_processor.js +0 -21
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
- package/dist/web/agents/processors/content_processor_utils.js +0 -432
- package/dist/web/agents/processors/content_request_processor.js +0 -73
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
- package/dist/web/agents/processors/interactions_request_processor.js +0 -56
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
- package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
- package/dist/web/agents/readonly_context.js +0 -60
- package/dist/web/agents/routed_agent.js +0 -161
- package/dist/web/agents/run_config.js +0 -74
- package/dist/web/agents/sequential_agent.js +0 -141
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/agents/user_input_request.js +0 -135
- package/dist/web/apps/app.js +0 -52
- package/dist/web/apps/resumability_config.js +0 -33
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -568
- package/dist/web/artifacts/gcs_artifact_service.js +0 -298
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
- package/dist/web/artifacts/registry.js +0 -36
- package/dist/web/artifacts/scoped_artifact_service.js +0 -89
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -151
- package/dist/web/auth/auth_preprocessor.js +0 -184
- package/dist/web/auth/auth_provider_registry.js +0 -37
- package/dist/web/auth/auth_schemes.js +0 -36
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/base_auth_provider.js +0 -7
- package/dist/web/auth/credential_response_binding.js +0 -91
- package/dist/web/auth/credential_service/base_credential_service.js +0 -7
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
- package/dist/web/code_executors/base_code_executor.js +0 -68
- package/dist/web/code_executors/built_in_code_executor.js +0 -50
- package/dist/web/code_executors/code_execution_utils.js +0 -131
- package/dist/web/code_executors/code_executor_context.js +0 -174
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
- package/dist/web/common.js +0 -452
- package/dist/web/context/agent_controlled_context_compactor.js +0 -76
- package/dist/web/context/anchored_context_compactor.js +0 -120
- package/dist/web/context/base_context_compactor.js +0 -7
- package/dist/web/context/compaction_utils.js +0 -42
- package/dist/web/context/summarizers/base_summarizer.js +0 -7
- package/dist/web/context/summarizers/llm_summarizer.js +0 -91
- package/dist/web/context/token_based_context_compactor.js +0 -118
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
- package/dist/web/context/truncating_context_compactor.js +0 -34
- package/dist/web/environment/base_environment.js +0 -71
- package/dist/web/environment/local_environment.js +0 -165
- package/dist/web/events/compacted_event.js +0 -51
- package/dist/web/events/event.js +0 -208
- package/dist/web/events/event_actions.js +0 -74
- package/dist/web/events/structured_events.js +0 -79
- package/dist/web/examples/base_example_provider.js +0 -32
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -83
- package/dist/web/features/feature_registry.js +0 -115
- package/dist/web/index.js +0 -57
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
- package/dist/web/integrations/agent_registry/helpers.js +0 -32
- package/dist/web/integrations/agent_registry/types.js +0 -20
- package/dist/web/memory/base_memory_service.js +0 -7
- package/dist/web/memory/in_memory_memory_service.js +0 -89
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
- package/dist/web/models/apigee_llm.js +0 -227
- package/dist/web/models/base_llm.js +0 -78
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -183
- package/dist/web/models/google_llm.js +0 -396
- package/dist/web/models/interactions_utils.js +0 -745
- package/dist/web/models/llm_request.js +0 -57
- package/dist/web/models/llm_response.js +0 -48
- package/dist/web/models/registry.js +0 -100
- package/dist/web/models/routed_llm.js +0 -112
- package/dist/web/plugins/base_plugin.js +0 -305
- package/dist/web/plugins/global_instruction_plugin.js +0 -71
- package/dist/web/plugins/logging_plugin.js +0 -241
- package/dist/web/plugins/plugin_manager.js +0 -318
- package/dist/web/plugins/security_plugin.js +0 -148
- package/dist/web/runner/in_memory_runner.js +0 -50
- package/dist/web/runner/runner.js +0 -747
- package/dist/web/sessions/base_session_service.js +0 -123
- package/dist/web/sessions/database_session_service.js +0 -440
- package/dist/web/sessions/db/operations.js +0 -124
- package/dist/web/sessions/db/schema.js +0 -216
- package/dist/web/sessions/in_memory_session_service.js +0 -251
- package/dist/web/sessions/registry.js +0 -38
- package/dist/web/sessions/session.js +0 -23
- package/dist/web/sessions/state.js +0 -159
- package/dist/web/sessions/state_write_order.js +0 -74
- package/dist/web/sessions/vertex_ai_session_service.js +0 -546
- package/dist/web/skills/gcp_skill_registry.js +0 -80
- package/dist/web/skills/loader.js +0 -372
- package/dist/web/skills/prompt.js +0 -34
- package/dist/web/skills/skill.js +0 -67
- package/dist/web/skills/skill_registry.js +0 -7
- package/dist/web/telemetry/google_cloud.js +0 -99
- package/dist/web/telemetry/setup.js +0 -89
- package/dist/web/telemetry/tracing.js +0 -304
- package/dist/web/tools/agent_tool.js +0 -150
- package/dist/web/tools/base_tool.js +0 -116
- package/dist/web/tools/base_toolset.js +0 -62
- package/dist/web/tools/consolidate_context_tool.js +0 -55
- package/dist/web/tools/enterprise_web_search_tool.js +0 -60
- package/dist/web/tools/example_tool.js +0 -46
- package/dist/web/tools/exit_loop_tool.js +0 -47
- package/dist/web/tools/finish_task_tool.js +0 -92
- package/dist/web/tools/forwarding_artifact_service.js +0 -51
- package/dist/web/tools/function_tool.js +0 -151
- package/dist/web/tools/get_user_choice_tool.js +0 -27
- package/dist/web/tools/google_maps_grounding_tool.js +0 -59
- package/dist/web/tools/google_search_tool.js +0 -55
- package/dist/web/tools/load_artifacts_tool.js +0 -159
- package/dist/web/tools/load_memory_tool.js +0 -83
- package/dist/web/tools/long_running_tool.js +0 -58
- package/dist/web/tools/mcp/index.js +0 -11
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
- package/dist/web/tools/mcp/mcp_tool.js +0 -47
- package/dist/web/tools/mcp/mcp_toolset.js +0 -144
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
- package/dist/web/tools/preload_memory_tool.js +0 -81
- package/dist/web/tools/request_input_tool.js +0 -29
- package/dist/web/tools/skill/list_skills_tool.js +0 -52
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
- package/dist/web/tools/skill/load_skill_tool.js +0 -96
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
- package/dist/web/tools/skill/search_skills_tool.js +0 -84
- package/dist/web/tools/skill/skill_toolset.js +0 -185
- package/dist/web/tools/tool_confirmation.js +0 -43
- package/dist/web/tools/url_context_tool.js +0 -48
- package/dist/web/tools/vertex_ai_search_tool.js +0 -107
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
- package/dist/web/utils/async_hooks_shim.js +0 -28
- package/dist/web/utils/async_queue.js +0 -88
- package/dist/web/utils/branch_trie.js +0 -16
- package/dist/web/utils/case_utils.js +0 -28
- package/dist/web/utils/client_labels.js +0 -70
- package/dist/web/utils/crypto_shim.js +0 -18
- package/dist/web/utils/deprecated.js +0 -40
- package/dist/web/utils/env_aware_utils.js +0 -115
- package/dist/web/utils/error_utils.js +0 -101
- package/dist/web/utils/experimental.js +0 -54
- package/dist/web/utils/failover_utils.js +0 -100
- package/dist/web/utils/file_extension_utils.js +0 -55
- package/dist/web/utils/file_utils.js +0 -108
- package/dist/web/utils/gemini_schema_util.js +0 -177
- package/dist/web/utils/genai_schema_to_json.js +0 -80
- package/dist/web/utils/live_connection_utils.js +0 -257
- package/dist/web/utils/logger.js +0 -140
- package/dist/web/utils/model_name.js +0 -75
- package/dist/web/utils/object_notation_utils.js +0 -54
- package/dist/web/utils/optional_peer.js +0 -38
- package/dist/web/utils/output_schema_utils.js +0 -18
- package/dist/web/utils/partial_copy.js +0 -26
- package/dist/web/utils/redact_uri.js +0 -39
- package/dist/web/utils/schema.js +0 -167
- package/dist/web/utils/simple_zod_to_json.js +0 -134
- package/dist/web/utils/streaming_utils.js +0 -438
- package/dist/web/utils/task.js +0 -38
- package/dist/web/utils/variant_utils.js +0 -23
- package/dist/web/utils/vertex_ai_utils.js +0 -27
- package/dist/web/version.js +0 -11
- package/dist/web/workflow/base_node.js +0 -215
- package/dist/web/workflow/branch_path.js +0 -77
- package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
- package/dist/web/workflow/errors.js +0 -140
- package/dist/web/workflow/graph.js +0 -127
- package/dist/web/workflow/index.js +0 -80
- package/dist/web/workflow/node.js +0 -87
- package/dist/web/workflow/node_builders.js +0 -40
- package/dist/web/workflow/node_context.js +0 -236
- package/dist/web/workflow/node_error_event.js +0 -86
- package/dist/web/workflow/node_runner.js +0 -481
- package/dist/web/workflow/node_state.js +0 -43
- package/dist/web/workflow/node_status.js +0 -20
- package/dist/web/workflow/nodes/function_node.js +0 -221
- package/dist/web/workflow/nodes/join_node.js +0 -47
- package/dist/web/workflow/nodes/node_tool.js +0 -131
- package/dist/web/workflow/nodes/parallel_worker.js +0 -120
- package/dist/web/workflow/nodes/tool_node.js +0 -126
- package/dist/web/workflow/request_input.js +0 -36
- package/dist/web/workflow/retry_config.js +0 -43
- package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
- package/dist/web/workflow/run_node_as_invocation.js +0 -170
- package/dist/web/workflow/schedule_dynamic_node.js +0 -26
- package/dist/web/workflow/trigger.js +0 -7
- package/dist/web/workflow/utils/graph_parser.js +0 -188
- package/dist/web/workflow/utils/graph_validation.js +0 -189
- package/dist/web/workflow/utils/hitl_utils.js +0 -239
- package/dist/web/workflow/utils/rehydration_utils.js +0 -342
- package/dist/web/workflow/utils/retry_utils.js +0 -82
- package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
- package/dist/web/workflow/workflow.js +0 -529
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
|
@@ -7,6 +7,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
7
7
|
* Copyright 2025 Google LLC
|
|
8
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
9
9
|
*/
|
|
10
|
+
var _a, _b;
|
|
10
11
|
import { createUserContent } from "@google/genai";
|
|
11
12
|
import { isEmpty } from "lodash-es";
|
|
12
13
|
import {
|
|
@@ -15,7 +16,11 @@ import {
|
|
|
15
16
|
getFunctionCalls,
|
|
16
17
|
getFunctionResponses
|
|
17
18
|
} from "../events/event.js";
|
|
18
|
-
import {
|
|
19
|
+
import {
|
|
20
|
+
isDefaultEventActions,
|
|
21
|
+
mergeEventActions
|
|
22
|
+
} from "../events/event_actions.js";
|
|
23
|
+
import { BaseTool } from "../tools/base_tool.js";
|
|
19
24
|
import { logger } from "../utils/logger.js";
|
|
20
25
|
import { Context } from "./context.js";
|
|
21
26
|
import {
|
|
@@ -28,8 +33,8 @@ import {
|
|
|
28
33
|
traceToolCall
|
|
29
34
|
} from "../telemetry/tracing.js";
|
|
30
35
|
function toolEventAuthor(invocationContext) {
|
|
31
|
-
var
|
|
32
|
-
return (
|
|
36
|
+
var _a2, _b2;
|
|
37
|
+
return (_b2 = (_a2 = invocationContext.agent) == null ? void 0 : _a2.name) != null ? _b2 : "";
|
|
33
38
|
}
|
|
34
39
|
__name(toolEventAuthor, "toolEventAuthor");
|
|
35
40
|
import {
|
|
@@ -59,8 +64,8 @@ function getLongRunningFunctionCalls(functionCalls, toolsDict) {
|
|
|
59
64
|
}
|
|
60
65
|
__name(getLongRunningFunctionCalls, "getLongRunningFunctionCalls");
|
|
61
66
|
function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
62
|
-
var
|
|
63
|
-
if (!((
|
|
67
|
+
var _a2, _b2, _c;
|
|
68
|
+
if (!((_a2 = functionResponseEvent.actions) == null ? void 0 : _a2.requestedAuthConfigs) || isEmpty(functionResponseEvent.actions.requestedAuthConfigs)) {
|
|
64
69
|
return void 0;
|
|
65
70
|
}
|
|
66
71
|
const parts = [];
|
|
@@ -85,7 +90,7 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
|
85
90
|
branch: invocationContext.branch,
|
|
86
91
|
content: {
|
|
87
92
|
parts,
|
|
88
|
-
role: functionResponseEvent.content.role
|
|
93
|
+
role: (_c = (_b2 = functionResponseEvent.content) == null ? void 0 : _b2.role) != null ? _c : "user"
|
|
89
94
|
},
|
|
90
95
|
longRunningToolIds: Array.from(longRunningToolIds)
|
|
91
96
|
});
|
|
@@ -96,8 +101,8 @@ function generateRequestConfirmationEvent({
|
|
|
96
101
|
functionCallEvent,
|
|
97
102
|
functionResponseEvent
|
|
98
103
|
}) {
|
|
99
|
-
var
|
|
100
|
-
if (!((
|
|
104
|
+
var _a2, _b2, _c, _d;
|
|
105
|
+
if (!((_a2 = functionResponseEvent.actions) == null ? void 0 : _a2.requestedToolConfirmations) || isEmpty(functionResponseEvent.actions.requestedToolConfirmations)) {
|
|
101
106
|
return;
|
|
102
107
|
}
|
|
103
108
|
const parts = [];
|
|
@@ -106,7 +111,7 @@ function generateRequestConfirmationEvent({
|
|
|
106
111
|
for (const [functionCallId, toolConfirmation] of Object.entries(
|
|
107
112
|
functionResponseEvent.actions.requestedToolConfirmations
|
|
108
113
|
)) {
|
|
109
|
-
const originalFunctionCall = (
|
|
114
|
+
const originalFunctionCall = (_b2 = functionCalls.find((call) => call.id === functionCallId)) != null ? _b2 : void 0;
|
|
110
115
|
if (!originalFunctionCall) {
|
|
111
116
|
continue;
|
|
112
117
|
}
|
|
@@ -127,7 +132,7 @@ function generateRequestConfirmationEvent({
|
|
|
127
132
|
branch: invocationContext.branch,
|
|
128
133
|
content: {
|
|
129
134
|
parts,
|
|
130
|
-
role: functionResponseEvent.content.role
|
|
135
|
+
role: (_d = (_c = functionResponseEvent.content) == null ? void 0 : _c.role) != null ? _d : "user"
|
|
131
136
|
},
|
|
132
137
|
actions: functionResponseEvent.actions,
|
|
133
138
|
longRunningToolIds: Array.from(longRunningToolIds)
|
|
@@ -192,7 +197,8 @@ async function handleFunctionCallsAsync({
|
|
|
192
197
|
beforeToolCallbacks,
|
|
193
198
|
afterToolCallbacks,
|
|
194
199
|
filters,
|
|
195
|
-
toolConfirmationDict
|
|
200
|
+
toolConfirmationDict,
|
|
201
|
+
resumeInputsDict
|
|
196
202
|
}) {
|
|
197
203
|
const functionCalls = getFunctionCalls(functionCallEvent);
|
|
198
204
|
return await handleFunctionCallList({
|
|
@@ -202,7 +208,8 @@ async function handleFunctionCallsAsync({
|
|
|
202
208
|
beforeToolCallbacks,
|
|
203
209
|
afterToolCallbacks,
|
|
204
210
|
filters,
|
|
205
|
-
toolConfirmationDict
|
|
211
|
+
toolConfirmationDict,
|
|
212
|
+
resumeInputsDict
|
|
206
213
|
});
|
|
207
214
|
}
|
|
208
215
|
__name(handleFunctionCallsAsync, "handleFunctionCallsAsync");
|
|
@@ -219,6 +226,70 @@ function normalizeCallbackResponse(response) {
|
|
|
219
226
|
return response;
|
|
220
227
|
}
|
|
221
228
|
__name(normalizeCallbackResponse, "normalizeCallbackResponse");
|
|
229
|
+
const RESOLUTION_FAILURE_CAUSES = `Possible causes:
|
|
230
|
+
1. The model hallucinated the name.
|
|
231
|
+
2. The tool is not registered on this agent, or a plugin filtered it out of this request.
|
|
232
|
+
3. The name does not match the registered tool's name exactly.
|
|
233
|
+
4. The tool is registered but never enters the toolsDict, because its \`_getDeclaration()\` returns undefined (as prompt-injecting tools like \`ExampleTool\` and \`PreloadMemoryTool\` do).`;
|
|
234
|
+
const TOOL_NOT_FOUND_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.toolNotFound");
|
|
235
|
+
function isToolNotFound(tool) {
|
|
236
|
+
return typeof tool === "object" && tool !== null && tool[TOOL_NOT_FOUND_SYMBOL] === true;
|
|
237
|
+
}
|
|
238
|
+
__name(isToolNotFound, "isToolNotFound");
|
|
239
|
+
const _ToolNotFoundPlaceholder = class _ToolNotFoundPlaceholder extends (_b = BaseTool, _a = TOOL_NOT_FOUND_SYMBOL, _b) {
|
|
240
|
+
constructor(name, resolutionError) {
|
|
241
|
+
super({ name, description: "Tool not found" });
|
|
242
|
+
this.resolutionError = resolutionError;
|
|
243
|
+
this[_a] = true;
|
|
244
|
+
}
|
|
245
|
+
async runAsync() {
|
|
246
|
+
throw this.resolutionError;
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
__name(_ToolNotFoundPlaceholder, "ToolNotFoundPlaceholder");
|
|
250
|
+
let ToolNotFoundPlaceholder = _ToolNotFoundPlaceholder;
|
|
251
|
+
async function answerUnresolvableCall({
|
|
252
|
+
invocationContext,
|
|
253
|
+
functionCall,
|
|
254
|
+
toolsDict,
|
|
255
|
+
toolContext
|
|
256
|
+
}) {
|
|
257
|
+
return tracer.startActiveSpan(
|
|
258
|
+
`execute_tool ${functionCall.name || "<unnamed>"}`,
|
|
259
|
+
async (span) => {
|
|
260
|
+
var _a2, _b2;
|
|
261
|
+
try {
|
|
262
|
+
const toolName = functionCall.name || "<unnamed>";
|
|
263
|
+
const error = new Error(
|
|
264
|
+
`Function ${toolName} is not found in the toolsDict.`
|
|
265
|
+
);
|
|
266
|
+
const tool = new ToolNotFoundPlaceholder(toolName, error);
|
|
267
|
+
const onToolErrorResponse = await invocationContext.pluginManager.runOnToolErrorCallback({
|
|
268
|
+
tool,
|
|
269
|
+
toolArgs: (_a2 = functionCall.args) != null ? _a2 : {},
|
|
270
|
+
toolContext,
|
|
271
|
+
error
|
|
272
|
+
});
|
|
273
|
+
if (onToolErrorResponse == null) {
|
|
274
|
+
const callableTools = Object.keys(toolsDict);
|
|
275
|
+
logger.warn(
|
|
276
|
+
`Could not resolve tool '${toolName}' for function call '${(_b2 = functionCall.id) != null ? _b2 : ""}'. Callable tools: ${callableTools.length ? callableTools.join(", ") : "(none)"}.
|
|
277
|
+
` + RESOLUTION_FAILURE_CAUSES
|
|
278
|
+
);
|
|
279
|
+
}
|
|
280
|
+
return buildResponseEvent(
|
|
281
|
+
tool,
|
|
282
|
+
onToolErrorResponse != null ? onToolErrorResponse : { error: error.message },
|
|
283
|
+
toolContext,
|
|
284
|
+
invocationContext
|
|
285
|
+
);
|
|
286
|
+
} finally {
|
|
287
|
+
span.end();
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
);
|
|
291
|
+
}
|
|
292
|
+
__name(answerUnresolvableCall, "answerUnresolvableCall");
|
|
222
293
|
async function handleFunctionCallList({
|
|
223
294
|
invocationContext,
|
|
224
295
|
functionCalls,
|
|
@@ -226,9 +297,10 @@ async function handleFunctionCallList({
|
|
|
226
297
|
beforeToolCallbacks,
|
|
227
298
|
afterToolCallbacks,
|
|
228
299
|
filters,
|
|
229
|
-
toolConfirmationDict
|
|
300
|
+
toolConfirmationDict,
|
|
301
|
+
resumeInputsDict
|
|
230
302
|
}) {
|
|
231
|
-
var
|
|
303
|
+
var _a2;
|
|
232
304
|
const functionResponseEvents = [];
|
|
233
305
|
const filteredFunctionCalls = functionCalls.filter((functionCall) => {
|
|
234
306
|
return !filters || functionCall.id && filters.has(functionCall.id);
|
|
@@ -238,14 +310,30 @@ async function handleFunctionCallList({
|
|
|
238
310
|
if (toolConfirmationDict && functionCall.id) {
|
|
239
311
|
toolConfirmation = toolConfirmationDict[functionCall.id];
|
|
240
312
|
}
|
|
241
|
-
|
|
313
|
+
let resumeInputs = void 0;
|
|
314
|
+
if (resumeInputsDict && functionCall.id) {
|
|
315
|
+
resumeInputs = resumeInputsDict[functionCall.id];
|
|
316
|
+
}
|
|
317
|
+
const toolContext = new Context({
|
|
242
318
|
invocationContext,
|
|
243
|
-
functionCall,
|
|
244
|
-
|
|
245
|
-
|
|
319
|
+
functionCallId: functionCall.id || void 0,
|
|
320
|
+
toolConfirmation,
|
|
321
|
+
resumeInputs
|
|
246
322
|
});
|
|
323
|
+
const tool = functionCall.name && Object.hasOwn(toolsDict, functionCall.name) ? toolsDict[functionCall.name] : void 0;
|
|
324
|
+
if (!tool) {
|
|
325
|
+
functionResponseEvents.push(
|
|
326
|
+
await answerUnresolvableCall({
|
|
327
|
+
invocationContext,
|
|
328
|
+
functionCall,
|
|
329
|
+
toolsDict,
|
|
330
|
+
toolContext
|
|
331
|
+
})
|
|
332
|
+
);
|
|
333
|
+
continue;
|
|
334
|
+
}
|
|
247
335
|
logger.debug(`execute_tool ${tool.name}`);
|
|
248
|
-
const functionArgs = (
|
|
336
|
+
const functionArgs = (_a2 = functionCall.args) != null ? _a2 : {};
|
|
249
337
|
let functionResponse = null;
|
|
250
338
|
let functionResponseError;
|
|
251
339
|
functionResponse = await invocationContext.pluginManager.runBeforeToolCallback({
|
|
@@ -310,6 +398,16 @@ async function handleFunctionCallList({
|
|
|
310
398
|
functionResponse = normalizeCallbackResponse(alteredFunctionResponse);
|
|
311
399
|
}
|
|
312
400
|
if (tool.isLongRunning && functionResponse == null) {
|
|
401
|
+
if (!isDefaultEventActions(toolContext.actions)) {
|
|
402
|
+
functionResponseEvents.push(
|
|
403
|
+
createEvent({
|
|
404
|
+
invocationId: invocationContext.invocationId,
|
|
405
|
+
author: toolEventAuthor(invocationContext),
|
|
406
|
+
actions: toolContext.actions,
|
|
407
|
+
branch: invocationContext.branch
|
|
408
|
+
})
|
|
409
|
+
);
|
|
410
|
+
}
|
|
313
411
|
continue;
|
|
314
412
|
}
|
|
315
413
|
if (functionResponseError) {
|
|
@@ -365,26 +463,6 @@ async function handleFunctionCallList({
|
|
|
365
463
|
return mergedEvent;
|
|
366
464
|
}
|
|
367
465
|
__name(handleFunctionCallList, "handleFunctionCallList");
|
|
368
|
-
function getToolAndContext({
|
|
369
|
-
invocationContext,
|
|
370
|
-
functionCall,
|
|
371
|
-
toolsDict,
|
|
372
|
-
toolConfirmation
|
|
373
|
-
}) {
|
|
374
|
-
if (!functionCall.name || !(functionCall.name in toolsDict)) {
|
|
375
|
-
throw new Error(
|
|
376
|
-
`Function ${functionCall.name} is not found in the toolsDict.`
|
|
377
|
-
);
|
|
378
|
-
}
|
|
379
|
-
const toolContext = new Context({
|
|
380
|
-
invocationContext,
|
|
381
|
-
functionCallId: functionCall.id || void 0,
|
|
382
|
-
toolConfirmation
|
|
383
|
-
});
|
|
384
|
-
const tool = toolsDict[functionCall.name];
|
|
385
|
-
return { tool, toolContext };
|
|
386
|
-
}
|
|
387
|
-
__name(getToolAndContext, "getToolAndContext");
|
|
388
466
|
function mergeParallelFunctionResponseEvents(functionResponseEvents) {
|
|
389
467
|
if (!functionResponseEvents.length) {
|
|
390
468
|
throw new Error("No function response events provided.");
|
|
@@ -426,22 +504,46 @@ function findEventByFunctionCallId(events, functionCallId, endIndex = events.len
|
|
|
426
504
|
return void 0;
|
|
427
505
|
}
|
|
428
506
|
__name(findEventByFunctionCallId, "findEventByFunctionCallId");
|
|
429
|
-
function
|
|
507
|
+
function resolveFunctionResponseMatch(events) {
|
|
508
|
+
var _a2, _b2;
|
|
430
509
|
if (!events.length) {
|
|
431
|
-
return void 0;
|
|
510
|
+
return { resolved: void 0, conflictingAuthors: void 0 };
|
|
432
511
|
}
|
|
433
512
|
const lastEvent = events[events.length - 1];
|
|
434
513
|
const functionResponses = getFunctionResponses(lastEvent);
|
|
435
|
-
if (!functionResponses.length
|
|
436
|
-
return void 0;
|
|
514
|
+
if (!functionResponses.length) {
|
|
515
|
+
return { resolved: void 0, conflictingAuthors: void 0 };
|
|
437
516
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
517
|
+
let resolved;
|
|
518
|
+
let conflictingAuthors;
|
|
519
|
+
for (const functionResponse of functionResponses) {
|
|
520
|
+
if (!functionResponse.id) {
|
|
521
|
+
continue;
|
|
522
|
+
}
|
|
523
|
+
const match = findEventByFunctionCallId(
|
|
524
|
+
events,
|
|
525
|
+
functionResponse.id,
|
|
526
|
+
events.length - 1
|
|
527
|
+
);
|
|
528
|
+
if (!match) {
|
|
529
|
+
continue;
|
|
530
|
+
}
|
|
531
|
+
if (!conflictingAuthors && resolved && resolved.author !== match.author) {
|
|
532
|
+
conflictingAuthors = [(_a2 = resolved.author) != null ? _a2 : "", (_b2 = match.author) != null ? _b2 : ""];
|
|
533
|
+
}
|
|
534
|
+
resolved = match;
|
|
535
|
+
}
|
|
536
|
+
return { resolved, conflictingAuthors };
|
|
537
|
+
}
|
|
538
|
+
__name(resolveFunctionResponseMatch, "resolveFunctionResponseMatch");
|
|
539
|
+
function findMatchingFunctionCall(events) {
|
|
540
|
+
return resolveFunctionResponseMatch(events).resolved;
|
|
443
541
|
}
|
|
444
542
|
__name(findMatchingFunctionCall, "findMatchingFunctionCall");
|
|
543
|
+
function getConflictingFunctionResponseAuthors(events) {
|
|
544
|
+
return resolveFunctionResponseMatch(events).conflictingAuthors;
|
|
545
|
+
}
|
|
546
|
+
__name(getConflictingFunctionResponseAuthors, "getConflictingFunctionResponseAuthors");
|
|
445
547
|
export {
|
|
446
548
|
AF_FUNCTION_CALL_ID_PREFIX,
|
|
447
549
|
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME2 as REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
@@ -453,9 +555,11 @@ export {
|
|
|
453
555
|
generateAuthEvent,
|
|
454
556
|
generateClientFunctionCallId2 as generateClientFunctionCallId,
|
|
455
557
|
generateRequestConfirmationEvent,
|
|
558
|
+
getConflictingFunctionResponseAuthors,
|
|
456
559
|
getLongRunningFunctionCalls,
|
|
457
560
|
handleFunctionCallList,
|
|
458
561
|
handleFunctionCallsAsync,
|
|
562
|
+
isToolNotFound,
|
|
459
563
|
mergeParallelFunctionResponseEvents,
|
|
460
564
|
populateClientFunctionCallId,
|
|
461
565
|
reservedFunctionCallName
|
|
@@ -52,6 +52,7 @@ const _InvocationContext = class _InvocationContext {
|
|
|
52
52
|
this.workflowInstructionScope = params.workflowInstructionScope;
|
|
53
53
|
this.isolationScope = params.isolationScope;
|
|
54
54
|
this.nodeToolDepth = (_a = params.nodeToolDepth) != null ? _a : 0;
|
|
55
|
+
this.a2aMetadata = params.a2aMetadata;
|
|
55
56
|
this.invocationCostManager = (_b = params.invocationCostManager) != null ? _b : new InvocationCostManager();
|
|
56
57
|
this.liveRequestQueue = params.liveRequestQueue;
|
|
57
58
|
this.liveSessionResumptionHandle = params.liveSessionResumptionHandle;
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
isFinalResponse,
|
|
24
24
|
populateClientFunctionCallId
|
|
25
25
|
} from "../events/event.js";
|
|
26
|
+
import { isDefaultEventActions } from "../events/event_actions.js";
|
|
26
27
|
import { isBaseLlm } from "../models/base_llm.js";
|
|
27
28
|
import { LLMRegistry } from "../models/registry.js";
|
|
28
29
|
import { isBaseTool } from "../tools/base_tool.js";
|
|
@@ -119,7 +120,7 @@ async function convertToolUnionToTools(toolUnion, context2) {
|
|
|
119
120
|
return await toolUnion.getTools(context2);
|
|
120
121
|
}
|
|
121
122
|
__name(convertToolUnionToTools, "convertToolUnionToTools");
|
|
122
|
-
const LLM_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.llmAgent");
|
|
123
|
+
const LLM_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.llmAgent");
|
|
123
124
|
function isLlmAgent(obj) {
|
|
124
125
|
return typeof obj === "object" && obj !== null && LLM_AGENT_SIGNATURE_SYMBOL in obj && obj[LLM_AGENT_SIGNATURE_SYMBOL] === true;
|
|
125
126
|
}
|
|
@@ -453,7 +454,7 @@ const _LlmAgent = class _LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNAT
|
|
|
453
454
|
if (!lastEvent) {
|
|
454
455
|
break;
|
|
455
456
|
}
|
|
456
|
-
const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0);
|
|
457
|
+
const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0) && isDefaultEventActions(lastEvent.actions);
|
|
457
458
|
if (isFinalResponse(lastEvent) && !(isEmptyMetadataEvent && stepHadToolCalls)) {
|
|
458
459
|
break;
|
|
459
460
|
}
|
|
@@ -1228,9 +1229,9 @@ const _LlmAgent = class _LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNAT
|
|
|
1228
1229
|
// --------------------------------------------------------------------------
|
|
1229
1230
|
// #END LlmFlow Logic
|
|
1230
1231
|
// --------------------------------------------------------------------------
|
|
1231
|
-
// TODO - b/425992518:
|
|
1232
|
-
// -
|
|
1233
|
-
// -
|
|
1232
|
+
// TODO - b/425992518: LlmAgent features not implemented yet.
|
|
1233
|
+
// - codeExecutor
|
|
1234
|
+
// - configuring agents from a YAML file
|
|
1234
1235
|
};
|
|
1235
1236
|
__name(_LlmAgent, "LlmAgent");
|
|
1236
1237
|
let LlmAgent = _LlmAgent;
|
|
@@ -19,7 +19,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
19
19
|
var _a, _b;
|
|
20
20
|
import { deprecated } from "../utils/deprecated.js";
|
|
21
21
|
import { BaseAgent } from "./base_agent.js";
|
|
22
|
-
const LOOP_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.loopAgent");
|
|
22
|
+
const LOOP_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.loopAgent");
|
|
23
23
|
function isLoopAgent(obj) {
|
|
24
24
|
return typeof obj === "object" && obj !== null && LOOP_AGENT_SIGNATURE_SYMBOL in obj && obj[LOOP_AGENT_SIGNATURE_SYMBOL] === true;
|
|
25
25
|
}
|
|
@@ -20,7 +20,7 @@ var _a, _b;
|
|
|
20
20
|
import { deprecated } from "../utils/deprecated.js";
|
|
21
21
|
import { BaseAgent } from "./base_agent.js";
|
|
22
22
|
import { InvocationContext } from "./invocation_context.js";
|
|
23
|
-
const PARALLEL_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.parallelAgent");
|
|
23
|
+
const PARALLEL_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.parallelAgent");
|
|
24
24
|
function isParallelAgent(obj) {
|
|
25
25
|
return typeof obj === "object" && obj !== null && PARALLEL_AGENT_SIGNATURE_SYMBOL in obj && obj[PARALLEL_AGENT_SIGNATURE_SYMBOL] === true;
|
|
26
26
|
}
|
|
@@ -17,17 +17,34 @@ const _AgentTransferLlmRequestProcessor = class _AgentTransferLlmRequestProcesso
|
|
|
17
17
|
constructor() {
|
|
18
18
|
super(...arguments);
|
|
19
19
|
this.toolName = "transfer_to_agent";
|
|
20
|
-
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Builds the `transfer_to_agent` tool for one invocation.
|
|
23
|
+
*
|
|
24
|
+
* Built per call rather than shared, because the parameter is an enum of the
|
|
25
|
+
* agents actually reachable from here. That mirrors adk-python's
|
|
26
|
+
* `TransferToAgentTool`, and it stops the model inventing a target: an
|
|
27
|
+
* unknown name now fails argument validation and comes back to the model as
|
|
28
|
+
* a tool error it can retry, instead of silently setting `transferToAgent`
|
|
29
|
+
* to an agent that does not exist.
|
|
30
|
+
*
|
|
31
|
+
* The parameter is `agent_name`, not `agentName`. It is wire format — it
|
|
32
|
+
* appears in the declaration sent to the model and in the events that get
|
|
33
|
+
* persisted — and adk-python spells it `agent_name`, so a transcript
|
|
34
|
+
* produced by one runtime has to be readable by the other.
|
|
35
|
+
*/
|
|
36
|
+
buildTool(targetNames) {
|
|
37
|
+
return new FunctionTool({
|
|
21
38
|
name: this.toolName,
|
|
22
39
|
description: "Transfer the question to another agent. This tool hands off control to another agent when it is more suitable to answer the user question according to the agent description.",
|
|
23
40
|
parameters: z.object({
|
|
24
|
-
|
|
41
|
+
agent_name: z.enum(targetNames).describe("the agent name to transfer to.")
|
|
25
42
|
}),
|
|
26
|
-
execute: /* @__PURE__ */ __name(
|
|
43
|
+
execute: /* @__PURE__ */ __name((args, toolContext) => {
|
|
27
44
|
if (!toolContext) {
|
|
28
45
|
throw new Error("toolContext is required.");
|
|
29
46
|
}
|
|
30
|
-
toolContext.actions.transferToAgent = args.
|
|
47
|
+
toolContext.actions.transferToAgent = args.agent_name;
|
|
31
48
|
return "Transfer queued";
|
|
32
49
|
}, "execute")
|
|
33
50
|
});
|
|
@@ -55,7 +72,11 @@ const _AgentTransferLlmRequestProcessor = class _AgentTransferLlmRequestProcesso
|
|
|
55
72
|
)
|
|
56
73
|
]);
|
|
57
74
|
const toolContext = new Context({ invocationContext });
|
|
58
|
-
|
|
75
|
+
const targetNames = transferTargets.map((t) => t.name);
|
|
76
|
+
await this.buildTool(targetNames).processLlmRequest({
|
|
77
|
+
toolContext,
|
|
78
|
+
llmRequest
|
|
79
|
+
});
|
|
59
80
|
}
|
|
60
81
|
buildTargetAgentsInfo(targetAgent) {
|
|
61
82
|
return `
|
|
@@ -42,10 +42,10 @@ const _CodeExecutionRequestProcessor = class _CodeExecutionRequestProcessor exte
|
|
|
42
42
|
return;
|
|
43
43
|
}
|
|
44
44
|
for (const content of llmRequest.contents) {
|
|
45
|
-
const
|
|
45
|
+
const delimiters = invocationContext.agent.codeExecutor.codeBlockDelimiters.length ? invocationContext.agent.codeExecutor.codeBlockDelimiters[0] : ["", ""];
|
|
46
46
|
convertCodeExecutionParts(
|
|
47
47
|
content,
|
|
48
|
-
|
|
48
|
+
delimiters,
|
|
49
49
|
invocationContext.agent.codeExecutor.executionResultDelimiters
|
|
50
50
|
);
|
|
51
51
|
}
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
getFunctionResponses
|
|
19
19
|
} from "../../events/event.js";
|
|
20
20
|
import { isSegmentPrefix } from "../../utils/branch_trie.js";
|
|
21
|
+
import { isEventVisibleInIsolationScope } from "../../context/compaction_utils.js";
|
|
21
22
|
import {
|
|
22
23
|
AF_FUNCTION_CALL_ID_PREFIX,
|
|
23
24
|
REQUEST_CONFIRMATION_FUNCTION_CALL_NAME,
|
|
@@ -39,6 +40,9 @@ __name(removeClientFunctionCallId, "removeClientFunctionCallId");
|
|
|
39
40
|
function getContents(events, agentName, currentBranch, currentIsolationScope) {
|
|
40
41
|
const filteredEvents = [];
|
|
41
42
|
for (const event of events) {
|
|
43
|
+
if (!isEventVisibleInIsolationScope(event, currentIsolationScope)) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
42
46
|
if (isCompactedEvent(event)) {
|
|
43
47
|
filteredEvents.push(convertCompactedEvent(event));
|
|
44
48
|
continue;
|
|
@@ -69,7 +73,7 @@ function shouldIncludeEventInContext(event, currentBranch, currentIsolationScope
|
|
|
69
73
|
if (currentBranch && event.branch && !isSegmentPrefix(currentBranch, event.branch)) {
|
|
70
74
|
return false;
|
|
71
75
|
}
|
|
72
|
-
if (
|
|
76
|
+
if (!isEventVisibleInIsolationScope(event, currentIsolationScope)) {
|
|
73
77
|
return false;
|
|
74
78
|
}
|
|
75
79
|
return !isAuthEvent(event) && !isToolConfirmationEvent(event) && !isRequestInputEvent(event);
|
|
@@ -134,10 +138,6 @@ function turnStart(events, anchor) {
|
|
|
134
138
|
return start;
|
|
135
139
|
}
|
|
136
140
|
__name(turnStart, "turnStart");
|
|
137
|
-
function isOutsideIsolationScope(event, currentIsolationScope) {
|
|
138
|
-
return event.isolationScope !== void 0 && event.isolationScope !== currentIsolationScope;
|
|
139
|
-
}
|
|
140
|
-
__name(isOutsideIsolationScope, "isOutsideIsolationScope");
|
|
141
141
|
function isAuthEvent(event) {
|
|
142
142
|
var _a, _b, _c;
|
|
143
143
|
if (!((_a = event.content) == null ? void 0 : _a.parts)) {
|
|
@@ -27,7 +27,10 @@ const _ContentRequestProcessor = class _ContentRequestProcessor {
|
|
|
27
27
|
if (!agent || !isLlmAgent(agent)) {
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
const events = getActiveEvents(
|
|
30
|
+
const events = getActiveEvents(
|
|
31
|
+
invocationContext.session.events,
|
|
32
|
+
invocationContext.isolationScope
|
|
33
|
+
);
|
|
31
34
|
if (agent.includeContents === "default") {
|
|
32
35
|
llmRequest.contents = getContents(
|
|
33
36
|
events,
|
|
@@ -55,7 +55,8 @@ const _RequestConfirmationLlmRequestProcessor = class _RequestConfirmationLlmReq
|
|
|
55
55
|
}
|
|
56
56
|
const approvals = collectApprovals(
|
|
57
57
|
events,
|
|
58
|
-
(_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false
|
|
58
|
+
(_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false,
|
|
59
|
+
agent.name
|
|
59
60
|
);
|
|
60
61
|
if (approvals.size === 0) {
|
|
61
62
|
return;
|
|
@@ -116,7 +117,7 @@ function eventsInScope(invocationContext) {
|
|
|
116
117
|
);
|
|
117
118
|
}
|
|
118
119
|
__name(eventsInScope, "eventsInScope");
|
|
119
|
-
function collectApprovals(events, allowPlainText) {
|
|
120
|
+
function collectApprovals(events, allowPlainText, agentName) {
|
|
120
121
|
const approvals = /* @__PURE__ */ new Map();
|
|
121
122
|
const latestUserEvent = findLatestUserEvent(events);
|
|
122
123
|
if (!latestUserEvent) {
|
|
@@ -135,7 +136,7 @@ function collectApprovals(events, allowPlainText) {
|
|
|
135
136
|
);
|
|
136
137
|
}
|
|
137
138
|
if (approvals.size === 0 && allowPlainText) {
|
|
138
|
-
return mapPlainTextConfirmation(events);
|
|
139
|
+
return mapPlainTextConfirmation(events, agentName);
|
|
139
140
|
}
|
|
140
141
|
return approvals;
|
|
141
142
|
}
|
|
@@ -167,6 +168,9 @@ function collectGateCandidates(events, approvals, agentName) {
|
|
|
167
168
|
functionCallId: functionCall.id
|
|
168
169
|
});
|
|
169
170
|
}
|
|
171
|
+
logger.debug(
|
|
172
|
+
`Skipping tool confirmation from event ${event.id}: authored by ${event.author}, not by ${agentName}.`
|
|
173
|
+
);
|
|
170
174
|
continue;
|
|
171
175
|
}
|
|
172
176
|
const pinned = pinnedCall(functionCall);
|
|
@@ -179,7 +183,7 @@ function collectGateCandidates(events, approvals, agentName) {
|
|
|
179
183
|
functionCallId: functionCall.id
|
|
180
184
|
});
|
|
181
185
|
}
|
|
182
|
-
if (hasRespondedAfter(events, pinned.id, index)) {
|
|
186
|
+
if (hasRespondedAfter(events, pinned.id, index, agentName)) {
|
|
183
187
|
continue;
|
|
184
188
|
}
|
|
185
189
|
candidates.push({ pinned, confirmation });
|
|
@@ -239,16 +243,16 @@ function agentAuthoredCalls(events, agentName) {
|
|
|
239
243
|
}
|
|
240
244
|
__name(agentAuthoredCalls, "agentAuthoredCalls");
|
|
241
245
|
function dynamicallyRequestedCallIds(events, agentName) {
|
|
246
|
+
var _a;
|
|
242
247
|
const requested = /* @__PURE__ */ new Set();
|
|
243
248
|
for (const event of events) {
|
|
244
249
|
if (event.author !== agentName) {
|
|
245
250
|
continue;
|
|
246
251
|
}
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
252
|
+
for (const functionCallId of Object.keys(
|
|
253
|
+
(_a = event.actions.requestedToolConfirmations) != null ? _a : {}
|
|
254
|
+
)) {
|
|
255
|
+
requested.add(functionCallId);
|
|
252
256
|
}
|
|
253
257
|
}
|
|
254
258
|
return requested;
|
|
@@ -266,9 +270,9 @@ function pinnedCall(functionCall) {
|
|
|
266
270
|
return pinned;
|
|
267
271
|
}
|
|
268
272
|
__name(pinnedCall, "pinnedCall");
|
|
269
|
-
function hasRespondedAfter(events, pinnedCallId, gateIndex) {
|
|
273
|
+
function hasRespondedAfter(events, pinnedCallId, gateIndex, agentName) {
|
|
270
274
|
return events.slice(gateIndex + 1).some(
|
|
271
|
-
(event) => getFunctionResponses(event).some(
|
|
275
|
+
(event) => event.author === agentName && getFunctionResponses(event).some(
|
|
272
276
|
(functionResponse) => functionResponse.id === pinnedCallId
|
|
273
277
|
)
|
|
274
278
|
);
|
|
@@ -305,7 +309,7 @@ const NEGATIVE = /* @__PURE__ */ new Set([
|
|
|
305
309
|
"cancel",
|
|
306
310
|
"cancelled"
|
|
307
311
|
]);
|
|
308
|
-
function mapPlainTextConfirmation(events) {
|
|
312
|
+
function mapPlainTextConfirmation(events, agentName) {
|
|
309
313
|
var _a, _b;
|
|
310
314
|
const none = /* @__PURE__ */ new Map();
|
|
311
315
|
let turnIndex = -1;
|
|
@@ -343,6 +347,9 @@ function mapPlainTextConfirmation(events) {
|
|
|
343
347
|
if (event.author === "user") {
|
|
344
348
|
break;
|
|
345
349
|
}
|
|
350
|
+
if (event.author !== agentName) {
|
|
351
|
+
continue;
|
|
352
|
+
}
|
|
346
353
|
for (const fc of getFunctionCalls(event)) {
|
|
347
354
|
if (fc.name === REQUEST_CONFIRMATION_FUNCTION_CALL_NAME && fc.id && !answered.has(fc.id)) {
|
|
348
355
|
pendingId = fc.id;
|
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
getFunctionCalls,
|
|
12
12
|
getFunctionResponses
|
|
13
13
|
} from "../../events/event.js";
|
|
14
|
-
import { ToolConfirmation } from "../../tools/tool_confirmation.js";
|
|
15
14
|
import { AsyncQueue } from "../../utils/async_queue.js";
|
|
16
15
|
import { isNodeTool } from "../../workflow/nodes/node_tool.js";
|
|
17
16
|
import {
|
|
@@ -70,12 +69,9 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
|
|
|
70
69
|
if (Object.keys(pending).length === 0) {
|
|
71
70
|
return;
|
|
72
71
|
}
|
|
73
|
-
const
|
|
72
|
+
const resumeInputsDict = {};
|
|
74
73
|
for (const id of Object.keys(pending)) {
|
|
75
|
-
|
|
76
|
-
confirmed: true,
|
|
77
|
-
payload: resumeInputs
|
|
78
|
-
});
|
|
74
|
+
resumeInputsDict[id] = resumeInputs;
|
|
79
75
|
}
|
|
80
76
|
const eventQueue = new AsyncQueue();
|
|
81
77
|
invocationContext.eventQueue = eventQueue;
|
|
@@ -88,7 +84,7 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
|
|
|
88
84
|
beforeToolCallbacks: agent.canonicalBeforeToolCallbacks,
|
|
89
85
|
afterToolCallbacks: agent.canonicalAfterToolCallbacks,
|
|
90
86
|
filters: new Set(Object.keys(pending)),
|
|
91
|
-
|
|
87
|
+
resumeInputsDict
|
|
92
88
|
});
|
|
93
89
|
} finally {
|
|
94
90
|
eventQueue.close();
|
|
@@ -52,6 +52,12 @@ const _ReadonlyContext = class _ReadonlyContext {
|
|
|
52
52
|
{}
|
|
53
53
|
);
|
|
54
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
57
|
+
*/
|
|
58
|
+
get a2aMetadata() {
|
|
59
|
+
return this.invocationContext.a2aMetadata;
|
|
60
|
+
}
|
|
55
61
|
};
|
|
56
62
|
__name(_ReadonlyContext, "ReadonlyContext");
|
|
57
63
|
let ReadonlyContext = _ReadonlyContext;
|
|
@@ -10,7 +10,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
10
10
|
var _a, _b;
|
|
11
11
|
import { BaseAgent } from "./base_agent.js";
|
|
12
12
|
import { runWithRouting } from "../utils/failover_utils.js";
|
|
13
|
-
const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
|
|
13
|
+
const ROUTED_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.routedAgent");
|
|
14
14
|
function isRoutedAgent(obj) {
|
|
15
15
|
return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
|
|
16
16
|
}
|