@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
|
@@ -9,7 +9,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
9
9
|
*/
|
|
10
10
|
var _a;
|
|
11
11
|
import { randomUUID } from "../utils/env_aware_utils.js";
|
|
12
|
-
const REQUEST_INPUT_SIGNATURE_SYMBOL = Symbol.for(
|
|
12
|
+
const REQUEST_INPUT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
13
13
|
"google.adk.workflow.requestInput"
|
|
14
14
|
);
|
|
15
15
|
_a = REQUEST_INPUT_SIGNATURE_SYMBOL;
|
|
@@ -50,7 +50,7 @@ async function appendNodeInputAsUserTurn(ctx, nodeInput) {
|
|
|
50
50
|
branch: ctx.branch,
|
|
51
51
|
content: toUserContent(nodeInput)
|
|
52
52
|
});
|
|
53
|
-
if (ctx.isolationScope) {
|
|
53
|
+
if (ctx.isolationScope !== void 0) {
|
|
54
54
|
userEvent.isolationScope = ctx.isolationScope;
|
|
55
55
|
}
|
|
56
56
|
const sessionService = ctx.invocationContext.sessionService;
|
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
reconstructNodeRuns,
|
|
43
43
|
resolvedInterruptResponses
|
|
44
44
|
} from "./utils/rehydration_utils.js";
|
|
45
|
-
const WORKFLOW_SIGNATURE_SYMBOL = Symbol.for("google.adk.workflow.workflow");
|
|
45
|
+
const WORKFLOW_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.workflow.workflow");
|
|
46
46
|
const _LoopState = class _LoopState {
|
|
47
47
|
constructor() {
|
|
48
48
|
this.nodes = /* @__PURE__ */ new Map();
|
|
@@ -120,7 +120,13 @@ export declare function createTaskFailedEvent({ taskId, contextId, error, metada
|
|
|
120
120
|
metadata?: Record<string, unknown>;
|
|
121
121
|
}): TaskStatusUpdateEvent;
|
|
122
122
|
/**
|
|
123
|
-
* Creates an input
|
|
123
|
+
* Creates an input-required status update.
|
|
124
|
+
*
|
|
125
|
+
* A2A has one `input-required` state, so every reason an agent can pause for a
|
|
126
|
+
* human produces the same status update: a long-running tool asking for input,
|
|
127
|
+
* and a client message that left an earlier request unanswered. What separates
|
|
128
|
+
* them travels in `parts` — a validation failure carries a text part marked
|
|
129
|
+
* `validation_error` — not in the shape of the event, so both go through here.
|
|
124
130
|
*/
|
|
125
131
|
export declare function createTaskInputRequiredEvent({ taskId, contextId, parts, metadata, }: {
|
|
126
132
|
taskId: string;
|
|
@@ -128,12 +134,3 @@ export declare function createTaskInputRequiredEvent({ taskId, contextId, parts,
|
|
|
128
134
|
parts: A2APart[];
|
|
129
135
|
metadata?: Record<string, unknown>;
|
|
130
136
|
}): TaskStatusUpdateEvent;
|
|
131
|
-
/**
|
|
132
|
-
* Creates an error message for missing input for a function call.
|
|
133
|
-
*/
|
|
134
|
-
export declare function createInputMissingErrorEvent({ taskId, contextId, parts, metadata, }: {
|
|
135
|
-
parts: A2APart[];
|
|
136
|
-
taskId: string;
|
|
137
|
-
contextId: string;
|
|
138
|
-
metadata?: Record<string, unknown>;
|
|
139
|
-
}): TaskStatusUpdateEvent;
|
|
@@ -65,6 +65,11 @@ export interface RemoteA2AAgentConfig extends BaseAgentConfig {
|
|
|
65
65
|
* Callbacks run after receiving a response chunk or event, before conversion.
|
|
66
66
|
*/
|
|
67
67
|
afterRequestCallbacks?: AfterA2ARequestCallback[];
|
|
68
|
+
/**
|
|
69
|
+
* Optional request-level metadata to include in the A2A message send request.
|
|
70
|
+
* If omitted, defaults to `context.a2aMetadata` from the current invocation context.
|
|
71
|
+
*/
|
|
72
|
+
metadata?: Record<string, unknown>;
|
|
68
73
|
}
|
|
69
74
|
/**
|
|
70
75
|
* RemoteA2AAgent delegates execution to a remote agent using the A2A protocol.
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Part as A2APart } from '@a2a-js/sdk';
|
|
7
|
+
import { Content } from '@google/genai';
|
|
7
8
|
import { InvocationContext } from '../agents/invocation_context.js';
|
|
8
9
|
import { Event as AdkEvent } from '../events/event.js';
|
|
9
10
|
import { Session } from '../sessions/session.js';
|
|
@@ -38,6 +39,30 @@ export declare function isFunctionCallEvent(event: AdkEvent, callId: string): bo
|
|
|
38
39
|
* none is found.
|
|
39
40
|
*/
|
|
40
41
|
export declare function getFunctionResponseCallId(event: AdkEvent): string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Ids of credential requests the remote peer raised itself. An id that ANY
|
|
44
|
+
* non-peer event also issued a call for is excluded: the peer authors its
|
|
45
|
+
* own session events under its own name (`toAdkEvent` forces
|
|
46
|
+
* `author = this.name`) and controls `functionCall.id` verbatim, so a bare
|
|
47
|
+
* id match -- without checking whether some OTHER event also issued a call
|
|
48
|
+
* for that same id -- would let a peer re-label this agent's own pending
|
|
49
|
+
* credential request as one the peer had asked for, by sending an
|
|
50
|
+
* unrelated reply that happens to carry a function_call part whose id
|
|
51
|
+
* collides with it.
|
|
52
|
+
*/
|
|
53
|
+
export declare function peerRequestedCallIds(events: readonly AdkEvent[], peerName: string): ReadonlySet<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Converts genai parts to A2A parts for forwarding to the remote peer,
|
|
56
|
+
* scrubbing credential material the peer did not itself request.
|
|
57
|
+
*
|
|
58
|
+
* NOT the single point both session-forwarding paths converge on:
|
|
59
|
+
* `toMissingRemoteSessionParts` calls `withoutCredentialParts` directly,
|
|
60
|
+
* since it has to interleave `presentAsUserMessage` between the scrub and
|
|
61
|
+
* `toA2AParts`. The shared guarantee lives one level down, in
|
|
62
|
+
* `withoutCredentialParts` -- a third path calling `toA2AParts` directly
|
|
63
|
+
* would still bypass it.
|
|
64
|
+
*/
|
|
65
|
+
export declare function toForwardableA2AParts(content: Content | undefined, longRunningToolIds: string[] | undefined, peerRequestedIds: ReadonlySet<string>): A2APart[];
|
|
41
66
|
/**
|
|
42
67
|
* Returns A2A content parts for all events not yet seen by the remote agent,
|
|
43
68
|
* along with the A2A context ID found in the most recent remote agent event.
|
|
@@ -7,6 +7,15 @@ import { AgentCard, AgentInterface, AgentSkill } from '@a2a-js/sdk';
|
|
|
7
7
|
import { RunnableRoot } from '../workflow/run_node_as_invocation.js';
|
|
8
8
|
/**
|
|
9
9
|
* Resolves the AgentCard from the provided source.
|
|
10
|
+
*
|
|
11
|
+
* A source is either an {@link AgentCard}, an `http(s)://` URL to fetch it
|
|
12
|
+
* from, a `file://` URL, or a filesystem path. Any other URL scheme throws: a
|
|
13
|
+
* source that looks like a URL is never read off the local filesystem.
|
|
14
|
+
*
|
|
15
|
+
* The card host must not be, or resolve to, a link-local address, and a
|
|
16
|
+
* redirect from the card endpoint is refused rather than followed. Loopback and
|
|
17
|
+
* private addresses stay allowed: they are where a locally served or
|
|
18
|
+
* VPC-internal peer agent lives.
|
|
10
19
|
*/
|
|
11
20
|
export declare function resolveAgentCard(agentCard: AgentCard | string): Promise<AgentCard>;
|
|
12
21
|
/**
|
|
@@ -16,7 +16,7 @@ export type RunnerOrRunnerConfig = Runner | RunnerConfig | (() => Runner | Runne
|
|
|
16
16
|
/**
|
|
17
17
|
* Callback called before execution starts.
|
|
18
18
|
*/
|
|
19
|
-
export type BeforeExecuteCallback = (reqCtx: RequestContext) => Promise<void>;
|
|
19
|
+
export type BeforeExecuteCallback = (reqCtx: RequestContext, a2aMetadata?: Record<string, unknown>) => Promise<void>;
|
|
20
20
|
/**
|
|
21
21
|
* Callback called after an ADK event is converted to an A2A event.
|
|
22
22
|
*/
|
|
@@ -11,6 +11,8 @@ import { BaseMemoryService } from '../memory/base_memory_service.js';
|
|
|
11
11
|
import { Runner } from '../runner/runner.js';
|
|
12
12
|
import { BaseSessionService } from '../sessions/base_session_service.js';
|
|
13
13
|
import { RunnableRoot } from '../workflow/run_node_as_invocation.js';
|
|
14
|
+
import { AdkDefaultRequestHandler, getA2aRequestMetadata } from './request_metadata.js';
|
|
15
|
+
export { AdkDefaultRequestHandler, getA2aRequestMetadata };
|
|
14
16
|
/**
|
|
15
17
|
* A request authenticator for the A2A surface.
|
|
16
18
|
*
|
package/dist/types/a2a/auth.d.ts
CHANGED
|
@@ -15,7 +15,11 @@ import { A2aUserBuilder } from './agent_to_a2a.js';
|
|
|
15
15
|
* text on every call.
|
|
16
16
|
*
|
|
17
17
|
* ```ts
|
|
18
|
-
*
|
|
18
|
+
* const token = process.env.MY_TOKEN;
|
|
19
|
+
* if (!token) {
|
|
20
|
+
* throw new Error('MY_TOKEN is not set');
|
|
21
|
+
* }
|
|
22
|
+
* toA2a(agent, {authentication: bearerTokenUserBuilder(token)});
|
|
19
23
|
* ```
|
|
20
24
|
*
|
|
21
25
|
* A rejected request surfaces as whatever the `@a2a-js/sdk` handler produces
|
|
@@ -18,16 +18,22 @@ export interface ExecutorContext {
|
|
|
18
18
|
events: Event[];
|
|
19
19
|
userContent: Content;
|
|
20
20
|
requestContext: RequestContext;
|
|
21
|
+
/**
|
|
22
|
+
* Request-level metadata passed from an incoming A2A request.
|
|
23
|
+
*/
|
|
24
|
+
a2aMetadata?: Record<string, unknown>;
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
23
27
|
* Creates an A2A Agent Executor context from the given parameters.
|
|
24
28
|
* @param session The session.
|
|
25
29
|
* @param userContent The content of the user.
|
|
26
30
|
* @param requestContext The request context.
|
|
31
|
+
* @param a2aMetadata Optional request-level metadata.
|
|
27
32
|
* @returns The A2A Agent Executor context.
|
|
28
33
|
*/
|
|
29
|
-
export declare function createExecutorContext({ session, userContent, requestContext, }: {
|
|
34
|
+
export declare function createExecutorContext({ session, userContent, requestContext, a2aMetadata, }: {
|
|
30
35
|
session: Session;
|
|
31
36
|
userContent: Content;
|
|
32
37
|
requestContext: RequestContext;
|
|
38
|
+
a2aMetadata?: Record<string, unknown>;
|
|
33
39
|
}): ExecutorContext;
|
|
@@ -12,7 +12,7 @@ export type { A2AStreamEventData, AfterA2ARequestCallback, BeforeA2ARequestCallb
|
|
|
12
12
|
export { getA2AAgentCard } from './agent_card.js';
|
|
13
13
|
export { A2AAgentExecutor } from './agent_executor.js';
|
|
14
14
|
export type { AfterEventCallback, AfterExecuteCallback, AgentExecutorConfig, BeforeExecuteCallback, RunnerOrRunnerConfig, } from './agent_executor.js';
|
|
15
|
-
export { toA2a } from './agent_to_a2a.js';
|
|
15
|
+
export { AdkDefaultRequestHandler, getA2aRequestMetadata, toA2a, } from './agent_to_a2a.js';
|
|
16
16
|
export type { A2aUserBuilder, ToA2aOptions } from './agent_to_a2a.js';
|
|
17
17
|
export { bearerTokenUserBuilder } from './auth.js';
|
|
18
18
|
export type { ExecutorContext } from './executor_context.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Message, MessageSendParams, Task, TaskArtifactUpdateEvent, TaskStatusUpdateEvent } from '@a2a-js/sdk';
|
|
7
|
+
import { DefaultRequestHandler, RequestContext, ServerCallContext } from '@a2a-js/sdk/server';
|
|
8
|
+
/**
|
|
9
|
+
* Extracts request-level A2A metadata from a RequestContext.
|
|
10
|
+
*
|
|
11
|
+
* Supports @a2a-js/sdk >= 1.0.0 (`ctx.request.metadata`) and @a2a-js/sdk 0.3.x via
|
|
12
|
+
* `AdkDefaultRequestHandler`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getA2aRequestMetadata(ctx: RequestContext): Record<string, unknown> | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* A2A DefaultRequestHandler extension that preserves request-level metadata (`params.metadata`)
|
|
17
|
+
* across agent executions regardless of @a2a-js/sdk version.
|
|
18
|
+
*/
|
|
19
|
+
export declare class AdkDefaultRequestHandler extends DefaultRequestHandler {
|
|
20
|
+
sendMessage(params: MessageSendParams, context?: ServerCallContext): Promise<Message | Task>;
|
|
21
|
+
sendMessageStream(params: MessageSendParams, context?: ServerCallContext): AsyncGenerator<Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent, void, undefined>;
|
|
22
|
+
}
|
|
@@ -109,11 +109,15 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
|
|
|
109
109
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
110
110
|
* order they are listed until a callback does not return undefined.
|
|
111
111
|
*
|
|
112
|
-
*
|
|
112
|
+
* Each callback takes a single {@link Context} argument. Returning `Content`
|
|
113
|
+
* skips this agent's own run — its `runAsyncImpl` body and its
|
|
114
|
+
* `afterAgentCallback` — and emits the returned content as this agent's
|
|
115
|
+
* response; return `undefined` to let the run proceed.
|
|
113
116
|
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
+
* That skip is scoped to this agent. It sets `endInvocation` on the
|
|
118
|
+
* invocation context the agent created for itself, which is a copy of its
|
|
119
|
+
* parent's, so callers above are unaffected: a `SequentialAgent` still runs
|
|
120
|
+
* the remaining sub-agents.
|
|
117
121
|
*/
|
|
118
122
|
readonly beforeAgentCallback: SingleAgentCallback[];
|
|
119
123
|
/**
|
|
@@ -122,26 +126,25 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
|
|
|
122
126
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
123
127
|
* order they are listed until a callback does not return undefined.
|
|
124
128
|
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
* present, the provided content will be used as agent response and
|
|
129
|
-
* appended to event history as agent response.
|
|
129
|
+
* Each callback takes a single {@link Context} argument. Returning `Content`
|
|
130
|
+
* emits it as the agent's response, appended to the event history; return
|
|
131
|
+
* `undefined` to leave the response as the agent produced it.
|
|
130
132
|
*/
|
|
131
133
|
readonly afterAgentCallback: SingleAgentCallback[];
|
|
132
134
|
constructor(config: BaseAgentConfig);
|
|
133
135
|
/**
|
|
134
136
|
* Creates a copy of this agent with the given config fields overridden.
|
|
135
137
|
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
* `
|
|
141
|
-
*
|
|
138
|
+
* The clone is a detached root: its `parentAgent` is always `undefined`.
|
|
139
|
+
* Sub-agents are recursively cloned (and re-parented to the clone) unless
|
|
140
|
+
* `subAgents` is overridden. Rebuilding via the concrete constructor
|
|
141
|
+
* re-derives all state, so a cloned `LlmAgent` gets a fresh
|
|
142
|
+
* `requestProcessors` array rather than sharing the original's.
|
|
143
|
+
* See google/adk-js#534.
|
|
142
144
|
*
|
|
143
145
|
* @param overrides Config fields to override on the clone. Overriding
|
|
144
|
-
* `parentAgent` is rejected
|
|
146
|
+
* `parentAgent` is rejected: parentage is assigned only when a parent
|
|
147
|
+
* agent is constructed with its sub-agents.
|
|
145
148
|
* @returns A new detached agent instance of the same concrete class.
|
|
146
149
|
*/
|
|
147
150
|
clone(overrides?: Partial<TConfig>): this;
|
|
@@ -9,6 +9,7 @@ import { AuthConfig } from '../auth/auth_tool.js';
|
|
|
9
9
|
import { EventActions } from '../events/event_actions.js';
|
|
10
10
|
import { SearchMemoryResponse } from '../memory/base_memory_service.js';
|
|
11
11
|
import { State } from '../sessions/state.js';
|
|
12
|
+
import { ResumeInputs } from '../tools/resume_inputs.js';
|
|
12
13
|
import { ToolConfirmation } from '../tools/tool_confirmation.js';
|
|
13
14
|
import { InvocationContext } from './invocation_context.js';
|
|
14
15
|
import { ReadonlyContext } from './readonly_context.js';
|
|
@@ -26,6 +27,7 @@ export declare class Context extends ReadonlyContext {
|
|
|
26
27
|
readonly eventActions: EventActions;
|
|
27
28
|
readonly functionCallId?: string;
|
|
28
29
|
toolConfirmation?: ToolConfirmation;
|
|
30
|
+
readonly resumeInputs: ResumeInputs;
|
|
29
31
|
readonly abortSignal?: AbortSignal;
|
|
30
32
|
/**
|
|
31
33
|
* @param options The configuration options for the Context.
|
|
@@ -38,12 +40,18 @@ export declare class Context extends ReadonlyContext {
|
|
|
38
40
|
* call.
|
|
39
41
|
* @param options.toolConfirmation The tool confirmation of the current tool
|
|
40
42
|
* call.
|
|
43
|
+
* @param options.resumeInputs The inputs the current tool call is being
|
|
44
|
+
* resumed with, if it paused to ask for them, keyed by interrupt id.
|
|
45
|
+
* Defaults to empty rather than absent, matching adk-python's
|
|
46
|
+
* `Context.resume_inputs`. Carries no approval; see
|
|
47
|
+
* {@link ResumeInputs}.
|
|
41
48
|
*/
|
|
42
49
|
constructor(options: {
|
|
43
50
|
invocationContext: InvocationContext;
|
|
44
51
|
eventActions?: EventActions;
|
|
45
52
|
functionCallId?: string;
|
|
46
53
|
toolConfirmation?: ToolConfirmation;
|
|
54
|
+
resumeInputs?: ResumeInputs;
|
|
47
55
|
});
|
|
48
56
|
/**
|
|
49
57
|
* The delta-aware state of the current session.
|
|
@@ -7,6 +7,7 @@ import { FunctionCall } from '@google/genai';
|
|
|
7
7
|
import { InvocationContext } from '../agents/invocation_context.js';
|
|
8
8
|
import { Event } from '../events/event.js';
|
|
9
9
|
import { BaseTool } from '../tools/base_tool.js';
|
|
10
|
+
import { ResumeInputs } from '../tools/resume_inputs.js';
|
|
10
11
|
import { ToolConfirmation } from '../tools/tool_confirmation.js';
|
|
11
12
|
import { SingleAfterToolCallback, SingleBeforeToolCallback } from './llm_agent.js';
|
|
12
13
|
export { AF_FUNCTION_CALL_ID_PREFIX, generateClientFunctionCallId, populateClientFunctionCallId, } from '../events/event.js';
|
|
@@ -39,6 +40,11 @@ export declare function generateRequestConfirmationEvent({ invocationContext, fu
|
|
|
39
40
|
* Handles function calls.
|
|
40
41
|
* Runtime behavior to pay attention to:
|
|
41
42
|
* - Iterate through each function call in the `functionCallEvent`:
|
|
43
|
+
* - Resolve the named tool. If the name is not callable, run the on-tool-
|
|
44
|
+
* error callbacks and answer the call with their response, or with the
|
|
45
|
+
* resolution error when none handles it, then move to the next call. That
|
|
46
|
+
* answer skips the before/after tool callbacks below, so a plugin auditing
|
|
47
|
+
* every response does not observe it — as in Python.
|
|
42
48
|
* - Execute before tool callbacks !!if a callback provides a response, short
|
|
43
49
|
* circuit the rest.
|
|
44
50
|
* - Execute the tool.
|
|
@@ -47,7 +53,7 @@ export declare function generateRequestConfirmationEvent({ invocationContext, fu
|
|
|
47
53
|
* - If the tool is long-running and the response is null, continue. !!state
|
|
48
54
|
* - Merge all function response events into a single event.
|
|
49
55
|
*/
|
|
50
|
-
export declare function handleFunctionCallsAsync({ invocationContext, functionCallEvent, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, }: {
|
|
56
|
+
export declare function handleFunctionCallsAsync({ invocationContext, functionCallEvent, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, resumeInputsDict, }: {
|
|
51
57
|
invocationContext: InvocationContext;
|
|
52
58
|
functionCallEvent: Event;
|
|
53
59
|
toolsDict: Record<string, BaseTool>;
|
|
@@ -55,13 +61,22 @@ export declare function handleFunctionCallsAsync({ invocationContext, functionCa
|
|
|
55
61
|
afterToolCallbacks: SingleAfterToolCallback[];
|
|
56
62
|
filters?: Set<string>;
|
|
57
63
|
toolConfirmationDict?: Record<string, ToolConfirmation>;
|
|
64
|
+
resumeInputsDict?: Record<string, ResumeInputs>;
|
|
58
65
|
}): Promise<Event | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Whether `tool` is the placeholder handed to the on-tool-error callbacks for a
|
|
68
|
+
* function call naming a tool this agent cannot call.
|
|
69
|
+
*
|
|
70
|
+
* Lets a plugin tell an unresolvable name from a registered tool that threw
|
|
71
|
+
* without matching on the error message.
|
|
72
|
+
*/
|
|
73
|
+
export declare function isToolNotFound(tool: unknown): boolean;
|
|
59
74
|
/**
|
|
60
75
|
* The underlying implementation of handleFunctionCalls, but takes a list of
|
|
61
76
|
* function calls instead of an event.
|
|
62
77
|
* This is also used by llm_agent execution flow in preprocessing.
|
|
63
78
|
*/
|
|
64
|
-
export declare function handleFunctionCallList({ invocationContext, functionCalls, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, }: {
|
|
79
|
+
export declare function handleFunctionCallList({ invocationContext, functionCalls, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, resumeInputsDict, }: {
|
|
65
80
|
invocationContext: InvocationContext;
|
|
66
81
|
functionCalls: FunctionCall[];
|
|
67
82
|
toolsDict: Record<string, BaseTool>;
|
|
@@ -69,18 +84,69 @@ export declare function handleFunctionCallList({ invocationContext, functionCall
|
|
|
69
84
|
afterToolCallbacks: SingleAfterToolCallback[];
|
|
70
85
|
filters?: Set<string>;
|
|
71
86
|
toolConfirmationDict?: Record<string, ToolConfirmation>;
|
|
87
|
+
/**
|
|
88
|
+
* Inputs to resume a paused tool call with, keyed by function call id. Each
|
|
89
|
+
* value is itself keyed by interrupt id. Kept apart from
|
|
90
|
+
* `toolConfirmationDict` so resume inputs can never be mistaken for a human
|
|
91
|
+
* approval; see {@link ResumeInputs}.
|
|
92
|
+
*/
|
|
93
|
+
resumeInputsDict?: Record<string, ResumeInputs>;
|
|
72
94
|
}): Promise<Event | null>;
|
|
73
95
|
/**
|
|
74
96
|
* Merges a list of function response events into a single event.
|
|
75
97
|
*/
|
|
76
98
|
export declare function mergeParallelFunctionResponseEvents(functionResponseEvents: Event[]): Event;
|
|
77
99
|
/**
|
|
78
|
-
* Finds the
|
|
79
|
-
*
|
|
100
|
+
* Finds the most recent event before `endIndex` that contains a function call
|
|
101
|
+
* with the given ID.
|
|
80
102
|
*/
|
|
81
103
|
export declare function findEventByFunctionCallId(events: Event[], functionCallId: string, endIndex?: number): Event | undefined;
|
|
82
104
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
105
|
+
* Returns the event containing the function call that the last event's
|
|
106
|
+
* function response(s) answer, by matching functionCall.id to
|
|
107
|
+
* functionResponse.id.
|
|
108
|
+
*
|
|
109
|
+
* Every function response in the last event is checked, not just the
|
|
110
|
+
* first one. A single event can carry responses answering calls from
|
|
111
|
+
* different agents at once -- for example two long-running operations
|
|
112
|
+
* from sibling sub-agents completing together and being resumed in one
|
|
113
|
+
* message. Resolving from only `functionResponses[0]` would silently
|
|
114
|
+
* attribute the rest to whichever agent's call happened to come first,
|
|
115
|
+
* which is the wrong agent for any response that isn't the first one:
|
|
116
|
+
* that response would then be processed under a resumed agent's context
|
|
117
|
+
* it was never meant for, and the agent it actually answers would never
|
|
118
|
+
* be correctly resumed at all.
|
|
119
|
+
*
|
|
120
|
+
* This is a pure lookup: responses with no id, or whose id matches no
|
|
121
|
+
* function call, are skipped rather than treated as an error, and when
|
|
122
|
+
* several responses resolve to calls from more than one distinct
|
|
123
|
+
* author, this does not throw -- it returns the last-resolved match by
|
|
124
|
+
* iteration order (whichever response is checked last wins). That is a
|
|
125
|
+
* change from the pre-existing behavior of resolving only
|
|
126
|
+
* `functionResponses[0]` (which effectively made the first response
|
|
127
|
+
* win): an external caller of {@link findEventByLastFunctionResponseId}
|
|
128
|
+
* can now get a different event, and a different id, than before this
|
|
129
|
+
* fix, even though {@link determineAgentForResumption} itself is
|
|
130
|
+
* unaffected, since it only reads `.author` and every distinct-author
|
|
131
|
+
* case is instead surfaced there as a thrown conflict (see
|
|
132
|
+
* `getConflictingFunctionResponseAuthors`) after that caller's own
|
|
133
|
+
* resumability gate, not from this function.
|
|
85
134
|
*/
|
|
86
135
|
export declare function findMatchingFunctionCall(events: Event[]): Event | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Returns the distinct pair of authors when the last event's function
|
|
138
|
+
* responses resolve to function calls from more than one agent, or
|
|
139
|
+
* `undefined` when they all resolve to a single agent (or there is
|
|
140
|
+
* nothing to resolve).
|
|
141
|
+
*
|
|
142
|
+
* This performs the same walk as {@link findMatchingFunctionCall} but
|
|
143
|
+
* reports a conflict instead of silently resolving to one match, so
|
|
144
|
+
* that a caller can decide when it is safe to raise it. {@link
|
|
145
|
+
* determineAgentForResumption} is the only current caller, and calls
|
|
146
|
+
* this only once resumability is confirmed enabled: this function
|
|
147
|
+
* existing separately from `findMatchingFunctionCall`, rather than
|
|
148
|
+
* that function throwing directly, is what keeps a session with such
|
|
149
|
+
* an event from aborting every run (not only resumption attempts) --
|
|
150
|
+
* see that caller's own comment for why the check has to live there.
|
|
151
|
+
*/
|
|
152
|
+
export declare function getConflictingFunctionResponseAuthors(events: Event[]): [string, string] | undefined;
|
|
@@ -54,6 +54,10 @@ export interface InvocationContextParams {
|
|
|
54
54
|
nodeToolDepth?: number;
|
|
55
55
|
liveRequestQueue?: LiveRequestQueue;
|
|
56
56
|
liveSessionResumptionHandle?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
59
|
+
*/
|
|
60
|
+
a2aMetadata?: Record<string, unknown>;
|
|
57
61
|
}
|
|
58
62
|
/**
|
|
59
63
|
* An invocation context represents the data of a single invocation of an agent.
|
|
@@ -76,7 +80,7 @@ export interface InvocationContextParams {
|
|
|
76
80
|
* An LLM agent runs steps in a loop until:
|
|
77
81
|
* 1. A final response is generated.
|
|
78
82
|
* 2. The agent transfers to another agent.
|
|
79
|
-
* 3.
|
|
83
|
+
* 3. `endInvocation` is set to true by any callbacks or tools.
|
|
80
84
|
*
|
|
81
85
|
* A step:
|
|
82
86
|
* 1. Calls the LLM only once and yields its response.
|
|
@@ -84,7 +88,7 @@ export interface InvocationContextParams {
|
|
|
84
88
|
*
|
|
85
89
|
* The summarization of the function response is considered another step, since
|
|
86
90
|
* it is another llm call.
|
|
87
|
-
* A step ends when it's done calling llm and tools, or if
|
|
91
|
+
* A step ends when it's done calling llm and tools, or if `endInvocation`
|
|
88
92
|
* is set to true at any time.
|
|
89
93
|
*
|
|
90
94
|
* ```
|
|
@@ -137,7 +141,7 @@ export declare class InvocationContext {
|
|
|
137
141
|
readonly session: Session;
|
|
138
142
|
/**
|
|
139
143
|
* Whether to end this invocation.
|
|
140
|
-
* Set to
|
|
144
|
+
* Set to `true` in callbacks or tools to terminate this invocation.
|
|
141
145
|
*/
|
|
142
146
|
endInvocation: boolean;
|
|
143
147
|
/**
|
|
@@ -201,6 +205,10 @@ export declare class InvocationContext {
|
|
|
201
205
|
* server-side state instead of replaying history. Mutable by design.
|
|
202
206
|
*/
|
|
203
207
|
liveSessionResumptionHandle?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
210
|
+
*/
|
|
211
|
+
readonly a2aMetadata?: Record<string, unknown>;
|
|
204
212
|
/**
|
|
205
213
|
* @param params The parameters for creating an invocation context.
|
|
206
214
|
*/
|
|
@@ -47,7 +47,7 @@ export type SingleBeforeModelCallback = (params: {
|
|
|
47
47
|
* A single callback or a list of callbacks.
|
|
48
48
|
*
|
|
49
49
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
50
|
-
* order they are listed until a callback does not return
|
|
50
|
+
* order they are listed until a callback does not return `undefined`.
|
|
51
51
|
*/
|
|
52
52
|
export type BeforeModelCallback = SingleBeforeModelCallback | SingleBeforeModelCallback[];
|
|
53
53
|
/**
|
|
@@ -67,7 +67,7 @@ export type SingleAfterModelCallback = (params: {
|
|
|
67
67
|
* A single callback or a list of callbacks.
|
|
68
68
|
*
|
|
69
69
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
70
|
-
order they are listed until a callback does not return
|
|
70
|
+
* order they are listed until a callback does not return `undefined`.
|
|
71
71
|
*/
|
|
72
72
|
export type AfterModelCallback = SingleAfterModelCallback | SingleAfterModelCallback[];
|
|
73
73
|
/**
|
|
@@ -88,7 +88,7 @@ export type SingleBeforeToolCallback = (params: {
|
|
|
88
88
|
* A single callback or a list of callbacks.
|
|
89
89
|
*
|
|
90
90
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
91
|
-
* order they are listed until a callback does not return
|
|
91
|
+
* order they are listed until a callback does not return `undefined`.
|
|
92
92
|
*/
|
|
93
93
|
export type BeforeToolCallback = SingleBeforeToolCallback | SingleBeforeToolCallback[];
|
|
94
94
|
/**
|
|
@@ -110,7 +110,7 @@ export type SingleAfterToolCallback = (params: {
|
|
|
110
110
|
* A single callback or a list of callbacks.
|
|
111
111
|
*
|
|
112
112
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
113
|
-
* order they are listed until
|
|
113
|
+
* order they are listed until a callback does not return `undefined`.
|
|
114
114
|
*/
|
|
115
115
|
export type AfterToolCallback = SingleAfterToolCallback | SingleAfterToolCallback[];
|
|
116
116
|
/** A list of examples or an example provider. */
|
|
@@ -143,8 +143,10 @@ export interface LlmAgentConfig extends BaseAgentConfig {
|
|
|
143
143
|
/**
|
|
144
144
|
* The additional content generation configurations.
|
|
145
145
|
*
|
|
146
|
-
*
|
|
147
|
-
* `tools
|
|
146
|
+
* Three fields are rejected by the constructor, because the agent owns them:
|
|
147
|
+
* `tools` (set them through `tools`), `systemInstruction` (through
|
|
148
|
+
* `instruction`) and `responseSchema` (through `outputSchema`). Every other
|
|
149
|
+
* field is forwarded to the model as given — `thinkingConfig` included.
|
|
148
150
|
*
|
|
149
151
|
* For example: use this config to adjust model temperature, configure safety
|
|
150
152
|
* settings, etc.
|
|
@@ -153,7 +155,7 @@ export interface LlmAgentConfig extends BaseAgentConfig {
|
|
|
153
155
|
/**
|
|
154
156
|
* Disallows LLM-controlled transferring to the parent agent.
|
|
155
157
|
*
|
|
156
|
-
* NOTE: Setting this
|
|
158
|
+
* NOTE: Setting this to `true` also prevents this agent to continue reply to
|
|
157
159
|
* the end-user. This behavior prevents one-way transfer, in which end-user
|
|
158
160
|
* may be stuck with one agent that cannot transfer to other agents in the
|
|
159
161
|
* agent tree.
|
|
@@ -16,7 +16,22 @@ import { BaseLlmRequestProcessor } from './base_llm_processor.js';
|
|
|
16
16
|
*/
|
|
17
17
|
export declare class AgentTransferLlmRequestProcessor extends BaseLlmRequestProcessor {
|
|
18
18
|
private readonly toolName;
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Builds the `transfer_to_agent` tool for one invocation.
|
|
21
|
+
*
|
|
22
|
+
* Built per call rather than shared, because the parameter is an enum of the
|
|
23
|
+
* agents actually reachable from here. That mirrors adk-python's
|
|
24
|
+
* `TransferToAgentTool`, and it stops the model inventing a target: an
|
|
25
|
+
* unknown name now fails argument validation and comes back to the model as
|
|
26
|
+
* a tool error it can retry, instead of silently setting `transferToAgent`
|
|
27
|
+
* to an agent that does not exist.
|
|
28
|
+
*
|
|
29
|
+
* The parameter is `agent_name`, not `agentName`. It is wire format — it
|
|
30
|
+
* appears in the declaration sent to the model and in the events that get
|
|
31
|
+
* persisted — and adk-python spells it `agent_name`, so a transcript
|
|
32
|
+
* produced by one runtime has to be readable by the other.
|
|
33
|
+
*/
|
|
34
|
+
private buildTool;
|
|
20
35
|
/**
|
|
21
36
|
* Appends transfer instructions and registers the `transfer_to_agent` tool
|
|
22
37
|
* when the agent has reachable transfer targets.
|
|
@@ -36,4 +36,8 @@ export declare class ReadonlyContext {
|
|
|
36
36
|
* The state of the current session.
|
|
37
37
|
*/
|
|
38
38
|
get state(): Readonly<State>;
|
|
39
|
+
/**
|
|
40
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
41
|
+
*/
|
|
42
|
+
get a2aMetadata(): Record<string, unknown> | undefined;
|
|
39
43
|
}
|