@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
|
@@ -35,9 +35,11 @@ __export(functions_exports, {
|
|
|
35
35
|
generateAuthEvent: () => generateAuthEvent,
|
|
36
36
|
generateClientFunctionCallId: () => import_event2.generateClientFunctionCallId,
|
|
37
37
|
generateRequestConfirmationEvent: () => generateRequestConfirmationEvent,
|
|
38
|
+
getConflictingFunctionResponseAuthors: () => getConflictingFunctionResponseAuthors,
|
|
38
39
|
getLongRunningFunctionCalls: () => getLongRunningFunctionCalls,
|
|
39
40
|
handleFunctionCallList: () => handleFunctionCallList,
|
|
40
41
|
handleFunctionCallsAsync: () => handleFunctionCallsAsync,
|
|
42
|
+
isToolNotFound: () => isToolNotFound,
|
|
41
43
|
mergeParallelFunctionResponseEvents: () => mergeParallelFunctionResponseEvents,
|
|
42
44
|
populateClientFunctionCallId: () => import_event2.populateClientFunctionCallId,
|
|
43
45
|
reservedFunctionCallName: () => import_framework_function_calls2.reservedFunctionCallName
|
|
@@ -47,6 +49,7 @@ var import_genai = require("@google/genai");
|
|
|
47
49
|
var import_lodash_es = require("lodash-es");
|
|
48
50
|
var import_event = require("../events/event.js");
|
|
49
51
|
var import_event_actions = require("../events/event_actions.js");
|
|
52
|
+
var import_base_tool = require("../tools/base_tool.js");
|
|
50
53
|
var import_logger = require("../utils/logger.js");
|
|
51
54
|
var import_context = require("./context.js");
|
|
52
55
|
var import_framework_function_calls = require("./framework_function_calls.js");
|
|
@@ -58,9 +61,10 @@ var import_framework_function_calls2 = require("./framework_function_calls.js");
|
|
|
58
61
|
* Copyright 2025 Google LLC
|
|
59
62
|
* SPDX-License-Identifier: Apache-2.0
|
|
60
63
|
*/
|
|
64
|
+
var _a, _b;
|
|
61
65
|
function toolEventAuthor(invocationContext) {
|
|
62
|
-
var
|
|
63
|
-
return (
|
|
66
|
+
var _a2, _b2;
|
|
67
|
+
return (_b2 = (_a2 = invocationContext.agent) == null ? void 0 : _a2.name) != null ? _b2 : "";
|
|
64
68
|
}
|
|
65
69
|
__name(toolEventAuthor, "toolEventAuthor");
|
|
66
70
|
const functionsExportedForTestingOnly = {
|
|
@@ -79,8 +83,8 @@ function getLongRunningFunctionCalls(functionCalls, toolsDict) {
|
|
|
79
83
|
}
|
|
80
84
|
__name(getLongRunningFunctionCalls, "getLongRunningFunctionCalls");
|
|
81
85
|
function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
82
|
-
var
|
|
83
|
-
if (!((
|
|
86
|
+
var _a2, _b2, _c;
|
|
87
|
+
if (!((_a2 = functionResponseEvent.actions) == null ? void 0 : _a2.requestedAuthConfigs) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedAuthConfigs)) {
|
|
84
88
|
return void 0;
|
|
85
89
|
}
|
|
86
90
|
const parts = [];
|
|
@@ -105,7 +109,7 @@ function generateAuthEvent(invocationContext, functionResponseEvent) {
|
|
|
105
109
|
branch: invocationContext.branch,
|
|
106
110
|
content: {
|
|
107
111
|
parts,
|
|
108
|
-
role: functionResponseEvent.content.role
|
|
112
|
+
role: (_c = (_b2 = functionResponseEvent.content) == null ? void 0 : _b2.role) != null ? _c : "user"
|
|
109
113
|
},
|
|
110
114
|
longRunningToolIds: Array.from(longRunningToolIds)
|
|
111
115
|
});
|
|
@@ -116,8 +120,8 @@ function generateRequestConfirmationEvent({
|
|
|
116
120
|
functionCallEvent,
|
|
117
121
|
functionResponseEvent
|
|
118
122
|
}) {
|
|
119
|
-
var
|
|
120
|
-
if (!((
|
|
123
|
+
var _a2, _b2, _c, _d;
|
|
124
|
+
if (!((_a2 = functionResponseEvent.actions) == null ? void 0 : _a2.requestedToolConfirmations) || (0, import_lodash_es.isEmpty)(functionResponseEvent.actions.requestedToolConfirmations)) {
|
|
121
125
|
return;
|
|
122
126
|
}
|
|
123
127
|
const parts = [];
|
|
@@ -126,7 +130,7 @@ function generateRequestConfirmationEvent({
|
|
|
126
130
|
for (const [functionCallId, toolConfirmation] of Object.entries(
|
|
127
131
|
functionResponseEvent.actions.requestedToolConfirmations
|
|
128
132
|
)) {
|
|
129
|
-
const originalFunctionCall = (
|
|
133
|
+
const originalFunctionCall = (_b2 = functionCalls.find((call) => call.id === functionCallId)) != null ? _b2 : void 0;
|
|
130
134
|
if (!originalFunctionCall) {
|
|
131
135
|
continue;
|
|
132
136
|
}
|
|
@@ -147,7 +151,7 @@ function generateRequestConfirmationEvent({
|
|
|
147
151
|
branch: invocationContext.branch,
|
|
148
152
|
content: {
|
|
149
153
|
parts,
|
|
150
|
-
role: functionResponseEvent.content.role
|
|
154
|
+
role: (_d = (_c = functionResponseEvent.content) == null ? void 0 : _c.role) != null ? _d : "user"
|
|
151
155
|
},
|
|
152
156
|
actions: functionResponseEvent.actions,
|
|
153
157
|
longRunningToolIds: Array.from(longRunningToolIds)
|
|
@@ -212,7 +216,8 @@ async function handleFunctionCallsAsync({
|
|
|
212
216
|
beforeToolCallbacks,
|
|
213
217
|
afterToolCallbacks,
|
|
214
218
|
filters,
|
|
215
|
-
toolConfirmationDict
|
|
219
|
+
toolConfirmationDict,
|
|
220
|
+
resumeInputsDict
|
|
216
221
|
}) {
|
|
217
222
|
const functionCalls = (0, import_event.getFunctionCalls)(functionCallEvent);
|
|
218
223
|
return await handleFunctionCallList({
|
|
@@ -222,7 +227,8 @@ async function handleFunctionCallsAsync({
|
|
|
222
227
|
beforeToolCallbacks,
|
|
223
228
|
afterToolCallbacks,
|
|
224
229
|
filters,
|
|
225
|
-
toolConfirmationDict
|
|
230
|
+
toolConfirmationDict,
|
|
231
|
+
resumeInputsDict
|
|
226
232
|
});
|
|
227
233
|
}
|
|
228
234
|
__name(handleFunctionCallsAsync, "handleFunctionCallsAsync");
|
|
@@ -239,6 +245,70 @@ function normalizeCallbackResponse(response) {
|
|
|
239
245
|
return response;
|
|
240
246
|
}
|
|
241
247
|
__name(normalizeCallbackResponse, "normalizeCallbackResponse");
|
|
248
|
+
const RESOLUTION_FAILURE_CAUSES = `Possible causes:
|
|
249
|
+
1. The model hallucinated the name.
|
|
250
|
+
2. The tool is not registered on this agent, or a plugin filtered it out of this request.
|
|
251
|
+
3. The name does not match the registered tool's name exactly.
|
|
252
|
+
4. The tool is registered but never enters the toolsDict, because its \`_getDeclaration()\` returns undefined (as prompt-injecting tools like \`ExampleTool\` and \`PreloadMemoryTool\` do).`;
|
|
253
|
+
const TOOL_NOT_FOUND_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.toolNotFound");
|
|
254
|
+
function isToolNotFound(tool) {
|
|
255
|
+
return typeof tool === "object" && tool !== null && tool[TOOL_NOT_FOUND_SYMBOL] === true;
|
|
256
|
+
}
|
|
257
|
+
__name(isToolNotFound, "isToolNotFound");
|
|
258
|
+
const _ToolNotFoundPlaceholder = class _ToolNotFoundPlaceholder extends (_b = import_base_tool.BaseTool, _a = TOOL_NOT_FOUND_SYMBOL, _b) {
|
|
259
|
+
constructor(name, resolutionError) {
|
|
260
|
+
super({ name, description: "Tool not found" });
|
|
261
|
+
this.resolutionError = resolutionError;
|
|
262
|
+
this[_a] = true;
|
|
263
|
+
}
|
|
264
|
+
async runAsync() {
|
|
265
|
+
throw this.resolutionError;
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
__name(_ToolNotFoundPlaceholder, "ToolNotFoundPlaceholder");
|
|
269
|
+
let ToolNotFoundPlaceholder = _ToolNotFoundPlaceholder;
|
|
270
|
+
async function answerUnresolvableCall({
|
|
271
|
+
invocationContext,
|
|
272
|
+
functionCall,
|
|
273
|
+
toolsDict,
|
|
274
|
+
toolContext
|
|
275
|
+
}) {
|
|
276
|
+
return import_tracing.tracer.startActiveSpan(
|
|
277
|
+
`execute_tool ${functionCall.name || "<unnamed>"}`,
|
|
278
|
+
async (span) => {
|
|
279
|
+
var _a2, _b2;
|
|
280
|
+
try {
|
|
281
|
+
const toolName = functionCall.name || "<unnamed>";
|
|
282
|
+
const error = new Error(
|
|
283
|
+
`Function ${toolName} is not found in the toolsDict.`
|
|
284
|
+
);
|
|
285
|
+
const tool = new ToolNotFoundPlaceholder(toolName, error);
|
|
286
|
+
const onToolErrorResponse = await invocationContext.pluginManager.runOnToolErrorCallback({
|
|
287
|
+
tool,
|
|
288
|
+
toolArgs: (_a2 = functionCall.args) != null ? _a2 : {},
|
|
289
|
+
toolContext,
|
|
290
|
+
error
|
|
291
|
+
});
|
|
292
|
+
if (onToolErrorResponse == null) {
|
|
293
|
+
const callableTools = Object.keys(toolsDict);
|
|
294
|
+
import_logger.logger.warn(
|
|
295
|
+
`Could not resolve tool '${toolName}' for function call '${(_b2 = functionCall.id) != null ? _b2 : ""}'. Callable tools: ${callableTools.length ? callableTools.join(", ") : "(none)"}.
|
|
296
|
+
` + RESOLUTION_FAILURE_CAUSES
|
|
297
|
+
);
|
|
298
|
+
}
|
|
299
|
+
return buildResponseEvent(
|
|
300
|
+
tool,
|
|
301
|
+
onToolErrorResponse != null ? onToolErrorResponse : { error: error.message },
|
|
302
|
+
toolContext,
|
|
303
|
+
invocationContext
|
|
304
|
+
);
|
|
305
|
+
} finally {
|
|
306
|
+
span.end();
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
);
|
|
310
|
+
}
|
|
311
|
+
__name(answerUnresolvableCall, "answerUnresolvableCall");
|
|
242
312
|
async function handleFunctionCallList({
|
|
243
313
|
invocationContext,
|
|
244
314
|
functionCalls,
|
|
@@ -246,9 +316,10 @@ async function handleFunctionCallList({
|
|
|
246
316
|
beforeToolCallbacks,
|
|
247
317
|
afterToolCallbacks,
|
|
248
318
|
filters,
|
|
249
|
-
toolConfirmationDict
|
|
319
|
+
toolConfirmationDict,
|
|
320
|
+
resumeInputsDict
|
|
250
321
|
}) {
|
|
251
|
-
var
|
|
322
|
+
var _a2;
|
|
252
323
|
const functionResponseEvents = [];
|
|
253
324
|
const filteredFunctionCalls = functionCalls.filter((functionCall) => {
|
|
254
325
|
return !filters || functionCall.id && filters.has(functionCall.id);
|
|
@@ -258,14 +329,30 @@ async function handleFunctionCallList({
|
|
|
258
329
|
if (toolConfirmationDict && functionCall.id) {
|
|
259
330
|
toolConfirmation = toolConfirmationDict[functionCall.id];
|
|
260
331
|
}
|
|
261
|
-
|
|
332
|
+
let resumeInputs = void 0;
|
|
333
|
+
if (resumeInputsDict && functionCall.id) {
|
|
334
|
+
resumeInputs = resumeInputsDict[functionCall.id];
|
|
335
|
+
}
|
|
336
|
+
const toolContext = new import_context.Context({
|
|
262
337
|
invocationContext,
|
|
263
|
-
functionCall,
|
|
264
|
-
|
|
265
|
-
|
|
338
|
+
functionCallId: functionCall.id || void 0,
|
|
339
|
+
toolConfirmation,
|
|
340
|
+
resumeInputs
|
|
266
341
|
});
|
|
342
|
+
const tool = functionCall.name && Object.hasOwn(toolsDict, functionCall.name) ? toolsDict[functionCall.name] : void 0;
|
|
343
|
+
if (!tool) {
|
|
344
|
+
functionResponseEvents.push(
|
|
345
|
+
await answerUnresolvableCall({
|
|
346
|
+
invocationContext,
|
|
347
|
+
functionCall,
|
|
348
|
+
toolsDict,
|
|
349
|
+
toolContext
|
|
350
|
+
})
|
|
351
|
+
);
|
|
352
|
+
continue;
|
|
353
|
+
}
|
|
267
354
|
import_logger.logger.debug(`execute_tool ${tool.name}`);
|
|
268
|
-
const functionArgs = (
|
|
355
|
+
const functionArgs = (_a2 = functionCall.args) != null ? _a2 : {};
|
|
269
356
|
let functionResponse = null;
|
|
270
357
|
let functionResponseError;
|
|
271
358
|
functionResponse = await invocationContext.pluginManager.runBeforeToolCallback({
|
|
@@ -330,6 +417,16 @@ async function handleFunctionCallList({
|
|
|
330
417
|
functionResponse = normalizeCallbackResponse(alteredFunctionResponse);
|
|
331
418
|
}
|
|
332
419
|
if (tool.isLongRunning && functionResponse == null) {
|
|
420
|
+
if (!(0, import_event_actions.isDefaultEventActions)(toolContext.actions)) {
|
|
421
|
+
functionResponseEvents.push(
|
|
422
|
+
(0, import_event.createEvent)({
|
|
423
|
+
invocationId: invocationContext.invocationId,
|
|
424
|
+
author: toolEventAuthor(invocationContext),
|
|
425
|
+
actions: toolContext.actions,
|
|
426
|
+
branch: invocationContext.branch
|
|
427
|
+
})
|
|
428
|
+
);
|
|
429
|
+
}
|
|
333
430
|
continue;
|
|
334
431
|
}
|
|
335
432
|
if (functionResponseError) {
|
|
@@ -385,26 +482,6 @@ async function handleFunctionCallList({
|
|
|
385
482
|
return mergedEvent;
|
|
386
483
|
}
|
|
387
484
|
__name(handleFunctionCallList, "handleFunctionCallList");
|
|
388
|
-
function getToolAndContext({
|
|
389
|
-
invocationContext,
|
|
390
|
-
functionCall,
|
|
391
|
-
toolsDict,
|
|
392
|
-
toolConfirmation
|
|
393
|
-
}) {
|
|
394
|
-
if (!functionCall.name || !(functionCall.name in toolsDict)) {
|
|
395
|
-
throw new Error(
|
|
396
|
-
`Function ${functionCall.name} is not found in the toolsDict.`
|
|
397
|
-
);
|
|
398
|
-
}
|
|
399
|
-
const toolContext = new import_context.Context({
|
|
400
|
-
invocationContext,
|
|
401
|
-
functionCallId: functionCall.id || void 0,
|
|
402
|
-
toolConfirmation
|
|
403
|
-
});
|
|
404
|
-
const tool = toolsDict[functionCall.name];
|
|
405
|
-
return { tool, toolContext };
|
|
406
|
-
}
|
|
407
|
-
__name(getToolAndContext, "getToolAndContext");
|
|
408
485
|
function mergeParallelFunctionResponseEvents(functionResponseEvents) {
|
|
409
486
|
if (!functionResponseEvents.length) {
|
|
410
487
|
throw new Error("No function response events provided.");
|
|
@@ -446,22 +523,46 @@ function findEventByFunctionCallId(events, functionCallId, endIndex = events.len
|
|
|
446
523
|
return void 0;
|
|
447
524
|
}
|
|
448
525
|
__name(findEventByFunctionCallId, "findEventByFunctionCallId");
|
|
449
|
-
function
|
|
526
|
+
function resolveFunctionResponseMatch(events) {
|
|
527
|
+
var _a2, _b2;
|
|
450
528
|
if (!events.length) {
|
|
451
|
-
return void 0;
|
|
529
|
+
return { resolved: void 0, conflictingAuthors: void 0 };
|
|
452
530
|
}
|
|
453
531
|
const lastEvent = events[events.length - 1];
|
|
454
532
|
const functionResponses = (0, import_event.getFunctionResponses)(lastEvent);
|
|
455
|
-
if (!functionResponses.length
|
|
456
|
-
return void 0;
|
|
533
|
+
if (!functionResponses.length) {
|
|
534
|
+
return { resolved: void 0, conflictingAuthors: void 0 };
|
|
457
535
|
}
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
536
|
+
let resolved;
|
|
537
|
+
let conflictingAuthors;
|
|
538
|
+
for (const functionResponse of functionResponses) {
|
|
539
|
+
if (!functionResponse.id) {
|
|
540
|
+
continue;
|
|
541
|
+
}
|
|
542
|
+
const match = findEventByFunctionCallId(
|
|
543
|
+
events,
|
|
544
|
+
functionResponse.id,
|
|
545
|
+
events.length - 1
|
|
546
|
+
);
|
|
547
|
+
if (!match) {
|
|
548
|
+
continue;
|
|
549
|
+
}
|
|
550
|
+
if (!conflictingAuthors && resolved && resolved.author !== match.author) {
|
|
551
|
+
conflictingAuthors = [(_a2 = resolved.author) != null ? _a2 : "", (_b2 = match.author) != null ? _b2 : ""];
|
|
552
|
+
}
|
|
553
|
+
resolved = match;
|
|
554
|
+
}
|
|
555
|
+
return { resolved, conflictingAuthors };
|
|
556
|
+
}
|
|
557
|
+
__name(resolveFunctionResponseMatch, "resolveFunctionResponseMatch");
|
|
558
|
+
function findMatchingFunctionCall(events) {
|
|
559
|
+
return resolveFunctionResponseMatch(events).resolved;
|
|
463
560
|
}
|
|
464
561
|
__name(findMatchingFunctionCall, "findMatchingFunctionCall");
|
|
562
|
+
function getConflictingFunctionResponseAuthors(events) {
|
|
563
|
+
return resolveFunctionResponseMatch(events).conflictingAuthors;
|
|
564
|
+
}
|
|
565
|
+
__name(getConflictingFunctionResponseAuthors, "getConflictingFunctionResponseAuthors");
|
|
465
566
|
// Annotate the CommonJS export names for ESM import in node:
|
|
466
567
|
0 && (module.exports = {
|
|
467
568
|
AF_FUNCTION_CALL_ID_PREFIX,
|
|
@@ -474,9 +575,11 @@ __name(findMatchingFunctionCall, "findMatchingFunctionCall");
|
|
|
474
575
|
generateAuthEvent,
|
|
475
576
|
generateClientFunctionCallId,
|
|
476
577
|
generateRequestConfirmationEvent,
|
|
578
|
+
getConflictingFunctionResponseAuthors,
|
|
477
579
|
getLongRunningFunctionCalls,
|
|
478
580
|
handleFunctionCallList,
|
|
479
581
|
handleFunctionCallsAsync,
|
|
582
|
+
isToolNotFound,
|
|
480
583
|
mergeParallelFunctionResponseEvents,
|
|
481
584
|
populateClientFunctionCallId,
|
|
482
585
|
reservedFunctionCallName
|
|
@@ -80,6 +80,7 @@ const _InvocationContext = class _InvocationContext {
|
|
|
80
80
|
this.workflowInstructionScope = params.workflowInstructionScope;
|
|
81
81
|
this.isolationScope = params.isolationScope;
|
|
82
82
|
this.nodeToolDepth = (_a = params.nodeToolDepth) != null ? _a : 0;
|
|
83
|
+
this.a2aMetadata = params.a2aMetadata;
|
|
83
84
|
this.invocationCostManager = (_b = params.invocationCostManager) != null ? _b : new InvocationCostManager();
|
|
84
85
|
this.liveRequestQueue = params.liveRequestQueue;
|
|
85
86
|
this.liveSessionResumptionHandle = params.liveSessionResumptionHandle;
|
|
@@ -37,6 +37,7 @@ var import_base_node = require("../workflow/base_node.js");
|
|
|
37
37
|
var import_node_tool = require("../workflow/nodes/node_tool.js");
|
|
38
38
|
var import_run_llm_agent_as_node = require("../workflow/run_llm_agent_as_node.js");
|
|
39
39
|
var import_event = require("../events/event.js");
|
|
40
|
+
var import_event_actions = require("../events/event_actions.js");
|
|
40
41
|
var import_base_llm = require("../models/base_llm.js");
|
|
41
42
|
var import_registry = require("../models/registry.js");
|
|
42
43
|
var import_base_tool = require("../tools/base_tool.js");
|
|
@@ -130,7 +131,7 @@ async function convertToolUnionToTools(toolUnion, context2) {
|
|
|
130
131
|
return await toolUnion.getTools(context2);
|
|
131
132
|
}
|
|
132
133
|
__name(convertToolUnionToTools, "convertToolUnionToTools");
|
|
133
|
-
const LLM_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.llmAgent");
|
|
134
|
+
const LLM_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.llmAgent");
|
|
134
135
|
function isLlmAgent(obj) {
|
|
135
136
|
return typeof obj === "object" && obj !== null && LLM_AGENT_SIGNATURE_SYMBOL in obj && obj[LLM_AGENT_SIGNATURE_SYMBOL] === true;
|
|
136
137
|
}
|
|
@@ -464,7 +465,7 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
|
|
|
464
465
|
if (!lastEvent) {
|
|
465
466
|
break;
|
|
466
467
|
}
|
|
467
|
-
const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0);
|
|
468
|
+
const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0) && (0, import_event_actions.isDefaultEventActions)(lastEvent.actions);
|
|
468
469
|
if ((0, import_event.isFinalResponse)(lastEvent) && !(isEmptyMetadataEvent && stepHadToolCalls)) {
|
|
469
470
|
break;
|
|
470
471
|
}
|
|
@@ -1239,9 +1240,9 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
|
|
|
1239
1240
|
// --------------------------------------------------------------------------
|
|
1240
1241
|
// #END LlmFlow Logic
|
|
1241
1242
|
// --------------------------------------------------------------------------
|
|
1242
|
-
// TODO - b/425992518:
|
|
1243
|
-
// -
|
|
1244
|
-
// -
|
|
1243
|
+
// TODO - b/425992518: LlmAgent features not implemented yet.
|
|
1244
|
+
// - codeExecutor
|
|
1245
|
+
// - configuring agents from a YAML file
|
|
1245
1246
|
};
|
|
1246
1247
|
__name(_LlmAgent, "LlmAgent");
|
|
1247
1248
|
let LlmAgent = _LlmAgent;
|
|
@@ -45,7 +45,7 @@ var import_base_agent = require("./base_agent.js");
|
|
|
45
45
|
* SPDX-License-Identifier: Apache-2.0
|
|
46
46
|
*/
|
|
47
47
|
var _a, _b;
|
|
48
|
-
const LOOP_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.loopAgent");
|
|
48
|
+
const LOOP_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.loopAgent");
|
|
49
49
|
function isLoopAgent(obj) {
|
|
50
50
|
return typeof obj === "object" && obj !== null && LOOP_AGENT_SIGNATURE_SYMBOL in obj && obj[LOOP_AGENT_SIGNATURE_SYMBOL] === true;
|
|
51
51
|
}
|
|
@@ -46,7 +46,7 @@ var import_invocation_context = require("./invocation_context.js");
|
|
|
46
46
|
* SPDX-License-Identifier: Apache-2.0
|
|
47
47
|
*/
|
|
48
48
|
var _a, _b;
|
|
49
|
-
const PARALLEL_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.parallelAgent");
|
|
49
|
+
const PARALLEL_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.parallelAgent");
|
|
50
50
|
function isParallelAgent(obj) {
|
|
51
51
|
return typeof obj === "object" && obj !== null && PARALLEL_AGENT_SIGNATURE_SYMBOL in obj && obj[PARALLEL_AGENT_SIGNATURE_SYMBOL] === true;
|
|
52
52
|
}
|
|
@@ -44,17 +44,34 @@ const _AgentTransferLlmRequestProcessor = class _AgentTransferLlmRequestProcesso
|
|
|
44
44
|
constructor() {
|
|
45
45
|
super(...arguments);
|
|
46
46
|
this.toolName = "transfer_to_agent";
|
|
47
|
-
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Builds the `transfer_to_agent` tool for one invocation.
|
|
50
|
+
*
|
|
51
|
+
* Built per call rather than shared, because the parameter is an enum of the
|
|
52
|
+
* agents actually reachable from here. That mirrors adk-python's
|
|
53
|
+
* `TransferToAgentTool`, and it stops the model inventing a target: an
|
|
54
|
+
* unknown name now fails argument validation and comes back to the model as
|
|
55
|
+
* a tool error it can retry, instead of silently setting `transferToAgent`
|
|
56
|
+
* to an agent that does not exist.
|
|
57
|
+
*
|
|
58
|
+
* The parameter is `agent_name`, not `agentName`. It is wire format — it
|
|
59
|
+
* appears in the declaration sent to the model and in the events that get
|
|
60
|
+
* persisted — and adk-python spells it `agent_name`, so a transcript
|
|
61
|
+
* produced by one runtime has to be readable by the other.
|
|
62
|
+
*/
|
|
63
|
+
buildTool(targetNames) {
|
|
64
|
+
return new import_function_tool.FunctionTool({
|
|
48
65
|
name: this.toolName,
|
|
49
66
|
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.",
|
|
50
67
|
parameters: import_zod.z.object({
|
|
51
|
-
|
|
68
|
+
agent_name: import_zod.z.enum(targetNames).describe("the agent name to transfer to.")
|
|
52
69
|
}),
|
|
53
|
-
execute: /* @__PURE__ */ __name(
|
|
70
|
+
execute: /* @__PURE__ */ __name((args, toolContext) => {
|
|
54
71
|
if (!toolContext) {
|
|
55
72
|
throw new Error("toolContext is required.");
|
|
56
73
|
}
|
|
57
|
-
toolContext.actions.transferToAgent = args.
|
|
74
|
+
toolContext.actions.transferToAgent = args.agent_name;
|
|
58
75
|
return "Transfer queued";
|
|
59
76
|
}, "execute")
|
|
60
77
|
});
|
|
@@ -82,7 +99,11 @@ const _AgentTransferLlmRequestProcessor = class _AgentTransferLlmRequestProcesso
|
|
|
82
99
|
)
|
|
83
100
|
]);
|
|
84
101
|
const toolContext = new import_context.Context({ invocationContext });
|
|
85
|
-
|
|
102
|
+
const targetNames = transferTargets.map((t) => t.name);
|
|
103
|
+
await this.buildTool(targetNames).processLlmRequest({
|
|
104
|
+
toolContext,
|
|
105
|
+
llmRequest
|
|
106
|
+
});
|
|
86
107
|
}
|
|
87
108
|
buildTargetAgentsInfo(targetAgent) {
|
|
88
109
|
return `
|
|
@@ -63,10 +63,10 @@ const _CodeExecutionRequestProcessor = class _CodeExecutionRequestProcessor exte
|
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
65
|
for (const content of llmRequest.contents) {
|
|
66
|
-
const
|
|
66
|
+
const delimiters = invocationContext.agent.codeExecutor.codeBlockDelimiters.length ? invocationContext.agent.codeExecutor.codeBlockDelimiters[0] : ["", ""];
|
|
67
67
|
(0, import_code_execution_utils.convertCodeExecutionParts)(
|
|
68
68
|
content,
|
|
69
|
-
|
|
69
|
+
delimiters,
|
|
70
70
|
invocationContext.agent.codeExecutor.executionResultDelimiters
|
|
71
71
|
);
|
|
72
72
|
}
|
|
@@ -36,6 +36,7 @@ var import_lodash_es = require("lodash-es");
|
|
|
36
36
|
var import_compacted_event = require("../../events/compacted_event.js");
|
|
37
37
|
var import_event = require("../../events/event.js");
|
|
38
38
|
var import_branch_trie = require("../../utils/branch_trie.js");
|
|
39
|
+
var import_compaction_utils = require("../../context/compaction_utils.js");
|
|
39
40
|
var import_functions = require("../functions.js");
|
|
40
41
|
/**
|
|
41
42
|
* @license
|
|
@@ -57,6 +58,9 @@ __name(removeClientFunctionCallId, "removeClientFunctionCallId");
|
|
|
57
58
|
function getContents(events, agentName, currentBranch, currentIsolationScope) {
|
|
58
59
|
const filteredEvents = [];
|
|
59
60
|
for (const event of events) {
|
|
61
|
+
if (!(0, import_compaction_utils.isEventVisibleInIsolationScope)(event, currentIsolationScope)) {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
60
64
|
if ((0, import_compacted_event.isCompactedEvent)(event)) {
|
|
61
65
|
filteredEvents.push(convertCompactedEvent(event));
|
|
62
66
|
continue;
|
|
@@ -87,7 +91,7 @@ function shouldIncludeEventInContext(event, currentBranch, currentIsolationScope
|
|
|
87
91
|
if (currentBranch && event.branch && !(0, import_branch_trie.isSegmentPrefix)(currentBranch, event.branch)) {
|
|
88
92
|
return false;
|
|
89
93
|
}
|
|
90
|
-
if (
|
|
94
|
+
if (!(0, import_compaction_utils.isEventVisibleInIsolationScope)(event, currentIsolationScope)) {
|
|
91
95
|
return false;
|
|
92
96
|
}
|
|
93
97
|
return !isAuthEvent(event) && !isToolConfirmationEvent(event) && !isRequestInputEvent(event);
|
|
@@ -152,10 +156,6 @@ function turnStart(events, anchor) {
|
|
|
152
156
|
return start;
|
|
153
157
|
}
|
|
154
158
|
__name(turnStart, "turnStart");
|
|
155
|
-
function isOutsideIsolationScope(event, currentIsolationScope) {
|
|
156
|
-
return event.isolationScope !== void 0 && event.isolationScope !== currentIsolationScope;
|
|
157
|
-
}
|
|
158
|
-
__name(isOutsideIsolationScope, "isOutsideIsolationScope");
|
|
159
159
|
function isAuthEvent(event) {
|
|
160
160
|
var _a, _b, _c;
|
|
161
161
|
if (!((_a = event.content) == null ? void 0 : _a.parts)) {
|
|
@@ -51,7 +51,10 @@ const _ContentRequestProcessor = class _ContentRequestProcessor {
|
|
|
51
51
|
if (!agent || !(0, import_llm_agent.isLlmAgent)(agent)) {
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
const events = (0, import_compaction_utils.getActiveEvents)(
|
|
54
|
+
const events = (0, import_compaction_utils.getActiveEvents)(
|
|
55
|
+
invocationContext.session.events,
|
|
56
|
+
invocationContext.isolationScope
|
|
57
|
+
);
|
|
55
58
|
if (agent.includeContents === "default") {
|
|
56
59
|
llmRequest.contents = (0, import_content_processor_utils.getContents)(
|
|
57
60
|
events,
|
|
@@ -73,7 +73,8 @@ const _RequestConfirmationLlmRequestProcessor = class _RequestConfirmationLlmReq
|
|
|
73
73
|
}
|
|
74
74
|
const approvals = collectApprovals(
|
|
75
75
|
events,
|
|
76
|
-
(_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false
|
|
76
|
+
(_a = runConfig == null ? void 0 : runConfig.plainTextToolConfirmation) != null ? _a : false,
|
|
77
|
+
agent.name
|
|
77
78
|
);
|
|
78
79
|
if (approvals.size === 0) {
|
|
79
80
|
return;
|
|
@@ -134,7 +135,7 @@ function eventsInScope(invocationContext) {
|
|
|
134
135
|
);
|
|
135
136
|
}
|
|
136
137
|
__name(eventsInScope, "eventsInScope");
|
|
137
|
-
function collectApprovals(events, allowPlainText) {
|
|
138
|
+
function collectApprovals(events, allowPlainText, agentName) {
|
|
138
139
|
const approvals = /* @__PURE__ */ new Map();
|
|
139
140
|
const latestUserEvent = findLatestUserEvent(events);
|
|
140
141
|
if (!latestUserEvent) {
|
|
@@ -153,7 +154,7 @@ function collectApprovals(events, allowPlainText) {
|
|
|
153
154
|
);
|
|
154
155
|
}
|
|
155
156
|
if (approvals.size === 0 && allowPlainText) {
|
|
156
|
-
return mapPlainTextConfirmation(events);
|
|
157
|
+
return mapPlainTextConfirmation(events, agentName);
|
|
157
158
|
}
|
|
158
159
|
return approvals;
|
|
159
160
|
}
|
|
@@ -185,6 +186,9 @@ function collectGateCandidates(events, approvals, agentName) {
|
|
|
185
186
|
functionCallId: functionCall.id
|
|
186
187
|
});
|
|
187
188
|
}
|
|
189
|
+
import_logger.logger.debug(
|
|
190
|
+
`Skipping tool confirmation from event ${event.id}: authored by ${event.author}, not by ${agentName}.`
|
|
191
|
+
);
|
|
188
192
|
continue;
|
|
189
193
|
}
|
|
190
194
|
const pinned = pinnedCall(functionCall);
|
|
@@ -197,7 +201,7 @@ function collectGateCandidates(events, approvals, agentName) {
|
|
|
197
201
|
functionCallId: functionCall.id
|
|
198
202
|
});
|
|
199
203
|
}
|
|
200
|
-
if (hasRespondedAfter(events, pinned.id, index)) {
|
|
204
|
+
if (hasRespondedAfter(events, pinned.id, index, agentName)) {
|
|
201
205
|
continue;
|
|
202
206
|
}
|
|
203
207
|
candidates.push({ pinned, confirmation });
|
|
@@ -257,16 +261,16 @@ function agentAuthoredCalls(events, agentName) {
|
|
|
257
261
|
}
|
|
258
262
|
__name(agentAuthoredCalls, "agentAuthoredCalls");
|
|
259
263
|
function dynamicallyRequestedCallIds(events, agentName) {
|
|
264
|
+
var _a;
|
|
260
265
|
const requested = /* @__PURE__ */ new Set();
|
|
261
266
|
for (const event of events) {
|
|
262
267
|
if (event.author !== agentName) {
|
|
263
268
|
continue;
|
|
264
269
|
}
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
}
|
|
270
|
+
for (const functionCallId of Object.keys(
|
|
271
|
+
(_a = event.actions.requestedToolConfirmations) != null ? _a : {}
|
|
272
|
+
)) {
|
|
273
|
+
requested.add(functionCallId);
|
|
270
274
|
}
|
|
271
275
|
}
|
|
272
276
|
return requested;
|
|
@@ -284,9 +288,9 @@ function pinnedCall(functionCall) {
|
|
|
284
288
|
return pinned;
|
|
285
289
|
}
|
|
286
290
|
__name(pinnedCall, "pinnedCall");
|
|
287
|
-
function hasRespondedAfter(events, pinnedCallId, gateIndex) {
|
|
291
|
+
function hasRespondedAfter(events, pinnedCallId, gateIndex, agentName) {
|
|
288
292
|
return events.slice(gateIndex + 1).some(
|
|
289
|
-
(event) => (0, import_event.getFunctionResponses)(event).some(
|
|
293
|
+
(event) => event.author === agentName && (0, import_event.getFunctionResponses)(event).some(
|
|
290
294
|
(functionResponse) => functionResponse.id === pinnedCallId
|
|
291
295
|
)
|
|
292
296
|
);
|
|
@@ -323,7 +327,7 @@ const NEGATIVE = /* @__PURE__ */ new Set([
|
|
|
323
327
|
"cancel",
|
|
324
328
|
"cancelled"
|
|
325
329
|
]);
|
|
326
|
-
function mapPlainTextConfirmation(events) {
|
|
330
|
+
function mapPlainTextConfirmation(events, agentName) {
|
|
327
331
|
var _a, _b;
|
|
328
332
|
const none = /* @__PURE__ */ new Map();
|
|
329
333
|
let turnIndex = -1;
|
|
@@ -361,6 +365,9 @@ function mapPlainTextConfirmation(events) {
|
|
|
361
365
|
if (event.author === "user") {
|
|
362
366
|
break;
|
|
363
367
|
}
|
|
368
|
+
if (event.author !== agentName) {
|
|
369
|
+
continue;
|
|
370
|
+
}
|
|
364
371
|
for (const fc of (0, import_event.getFunctionCalls)(event)) {
|
|
365
372
|
if (fc.name === import_functions.REQUEST_CONFIRMATION_FUNCTION_CALL_NAME && fc.id && !answered.has(fc.id)) {
|
|
366
373
|
pendingId = fc.id;
|
|
@@ -30,7 +30,6 @@ __export(request_input_llm_request_processor_exports, {
|
|
|
30
30
|
});
|
|
31
31
|
module.exports = __toCommonJS(request_input_llm_request_processor_exports);
|
|
32
32
|
var import_event = require("../../events/event.js");
|
|
33
|
-
var import_tool_confirmation = require("../../tools/tool_confirmation.js");
|
|
34
33
|
var import_async_queue = require("../../utils/async_queue.js");
|
|
35
34
|
var import_node_tool = require("../../workflow/nodes/node_tool.js");
|
|
36
35
|
var import_hitl_utils = require("../../workflow/utils/hitl_utils.js");
|
|
@@ -90,12 +89,9 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
|
|
|
90
89
|
if (Object.keys(pending).length === 0) {
|
|
91
90
|
return;
|
|
92
91
|
}
|
|
93
|
-
const
|
|
92
|
+
const resumeInputsDict = {};
|
|
94
93
|
for (const id of Object.keys(pending)) {
|
|
95
|
-
|
|
96
|
-
confirmed: true,
|
|
97
|
-
payload: resumeInputs
|
|
98
|
-
});
|
|
94
|
+
resumeInputsDict[id] = resumeInputs;
|
|
99
95
|
}
|
|
100
96
|
const eventQueue = new import_async_queue.AsyncQueue();
|
|
101
97
|
invocationContext.eventQueue = eventQueue;
|
|
@@ -108,7 +104,7 @@ const _RequestInputLlmRequestProcessor = class _RequestInputLlmRequestProcessor
|
|
|
108
104
|
beforeToolCallbacks: agent.canonicalBeforeToolCallbacks,
|
|
109
105
|
afterToolCallbacks: agent.canonicalAfterToolCallbacks,
|
|
110
106
|
filters: new Set(Object.keys(pending)),
|
|
111
|
-
|
|
107
|
+
resumeInputsDict
|
|
112
108
|
});
|
|
113
109
|
} finally {
|
|
114
110
|
eventQueue.close();
|
|
@@ -78,6 +78,12 @@ const _ReadonlyContext = class _ReadonlyContext {
|
|
|
78
78
|
{}
|
|
79
79
|
);
|
|
80
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
83
|
+
*/
|
|
84
|
+
get a2aMetadata() {
|
|
85
|
+
return this.invocationContext.a2aMetadata;
|
|
86
|
+
}
|
|
81
87
|
};
|
|
82
88
|
__name(_ReadonlyContext, "ReadonlyContext");
|
|
83
89
|
let ReadonlyContext = _ReadonlyContext;
|
|
@@ -37,7 +37,7 @@ var import_failover_utils = require("../utils/failover_utils.js");
|
|
|
37
37
|
* SPDX-License-Identifier: Apache-2.0
|
|
38
38
|
*/
|
|
39
39
|
var _a, _b;
|
|
40
|
-
const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
|
|
40
|
+
const ROUTED_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.routedAgent");
|
|
41
41
|
function isRoutedAgent(obj) {
|
|
42
42
|
return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
|
|
43
43
|
}
|