@google/adk 2.0.0 → 2.2.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 +66 -6
- package/dist/cjs/a2a/agent_executor.js +18 -6
- 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 +21 -6
- 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 +15 -7
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
- 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/gcs_artifact_service.js +13 -7
- 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_credential.js +12 -2
- 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 +5 -5
- 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 +119 -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/examples/example.js +92 -0
- package/dist/cjs/examples/example_util.js +28 -4
- package/dist/cjs/examples/index.js +39 -0
- package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
- package/dist/cjs/index.js +93 -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 +19 -7
- 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 +2 -7
- package/dist/cjs/models/chrome_prompt_llm.js +318 -0
- package/dist/cjs/models/chrome_prompt_utils.js +281 -0
- package/dist/cjs/models/gemini_llm_connection.js +5 -4
- 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/planners/base_planner.js +56 -0
- package/dist/cjs/planners/built_in_planner.js +85 -0
- package/dist/cjs/planners/plan_re_act_planner.js +172 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/base_plugin.js +46 -61
- 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/example_tool.js +1 -1
- 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/mcp/mcp_session_manager.js +14 -8
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
- package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
- 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/skill/skill_toolset.js +2 -0
- package/dist/cjs/tools/tool_context.js +41 -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/tools/webmcp/index.js +37 -0
- package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
- package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
- package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
- package/dist/cjs/utils/case_utils.js +52 -2
- package/dist/cjs/utils/client_labels.js +67 -0
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +103 -9
- package/dist/cjs/utils/hash_utils.js +73 -0
- package/dist/cjs/utils/live_connection_utils.js +10 -9
- 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/model_name.js +17 -2
- 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/simple_zod_to_json.js +5 -0
- 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 +71 -6
- package/dist/esm/a2a/agent_executor.js +18 -6
- 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 +24 -6
- 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 +15 -7
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
- 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/gcs_artifact_service.js +13 -7
- 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_credential.js +11 -1
- 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 +5 -5
- 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 +111 -40
- 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/examples/example.js +85 -0
- package/dist/esm/examples/example_util.js +25 -3
- package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
- package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
- package/dist/esm/index.js +87 -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 +19 -7
- 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 +3 -8
- package/dist/esm/models/chrome_prompt_llm.js +302 -0
- package/dist/esm/models/chrome_prompt_utils.js +241 -0
- package/dist/esm/models/gemini_llm_connection.js +6 -5
- 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/planners/base_planner.js +28 -0
- package/dist/esm/planners/built_in_planner.js +57 -0
- package/dist/esm/planners/plan_re_act_planner.js +145 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/base_plugin.js +46 -61
- 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/example_tool.js +1 -1
- 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/mcp/mcp_session_manager.js +14 -8
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
- package/dist/esm/tools/openapi_tool/common/common.js +112 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
- 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/skill/skill_toolset.js +2 -0
- package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -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/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
- package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
- package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
- package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
- package/dist/esm/utils/case_utils.js +49 -1
- package/dist/esm/utils/client_labels.js +65 -0
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +102 -9
- package/dist/esm/utils/hash_utils.js +45 -0
- package/dist/esm/utils/live_connection_utils.js +11 -10
- 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/model_name.js +15 -2
- 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/esm/utils/simple_zod_to_json.js +5 -0
- 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 +20 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
- 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 +22 -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 +37 -23
- 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/examples/base_example_provider.d.ts +2 -2
- package/dist/types/examples/example.d.ts +75 -0
- package/dist/types/examples/example_util.d.ts +13 -2
- package/dist/types/examples/index.d.ts +18 -0
- package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
- package/dist/types/index.d.ts +31 -1
- package/dist/types/memory/memory_entry.d.ts +15 -0
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -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 +97 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/planners/base_planner.d.ts +50 -0
- package/dist/types/planners/built_in_planner.d.ts +53 -0
- package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +64 -62
- 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/skills/skill_registry.d.ts +8 -0
- 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 +115 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
- package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
- package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
- package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
- 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/tool_context.d.ts +19 -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/tools/webmcp/index.d.ts +12 -0
- package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
- package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
- package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
- package/dist/types/utils/case_utils.d.ts +36 -0
- package/dist/types/utils/client_labels.d.ts +33 -0
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +18 -7
- package/dist/types/utils/hash_utils.d.ts +25 -0
- package/dist/types/utils/logger.d.ts +33 -3
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/model_name.d.ts +30 -2
- 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 +337 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +24 -15
- 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/credential_response_binding.js +0 -91
- 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/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/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/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,8 +37,10 @@ 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");
|
|
43
|
+
var import_built_in_planner = require("../planners/built_in_planner.js");
|
|
42
44
|
var import_base_tool = require("../tools/base_tool.js");
|
|
43
45
|
var import_logger = require("../utils/logger.js");
|
|
44
46
|
var import_output_schema_utils = require("../utils/output_schema_utils.js");
|
|
@@ -58,6 +60,7 @@ var import_context_compactor_request_processor = require("./processors/context_c
|
|
|
58
60
|
var import_identity_llm_request_processor = require("./processors/identity_llm_request_processor.js");
|
|
59
61
|
var import_instructions_llm_request_processor = require("./processors/instructions_llm_request_processor.js");
|
|
60
62
|
var import_interactions_request_processor = require("./processors/interactions_request_processor.js");
|
|
63
|
+
var import_nl_planning_processor = require("./processors/nl_planning_processor.js");
|
|
61
64
|
var import_request_confirmation_llm_request_processor = require("./processors/request_confirmation_llm_request_processor.js");
|
|
62
65
|
var import_request_input_llm_request_processor = require("./processors/request_input_llm_request_processor.js");
|
|
63
66
|
var import_tool_filter_request_processor = require("./processors/tool_filter_request_processor.js");
|
|
@@ -130,7 +133,7 @@ async function convertToolUnionToTools(toolUnion, context2) {
|
|
|
130
133
|
return await toolUnion.getTools(context2);
|
|
131
134
|
}
|
|
132
135
|
__name(convertToolUnionToTools, "convertToolUnionToTools");
|
|
133
|
-
const LLM_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.llmAgent");
|
|
136
|
+
const LLM_AGENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.llmAgent");
|
|
134
137
|
function isLlmAgent(obj) {
|
|
135
138
|
return typeof obj === "object" && obj !== null && LLM_AGENT_SIGNATURE_SYMBOL in obj && obj[LLM_AGENT_SIGNATURE_SYMBOL] === true;
|
|
136
139
|
}
|
|
@@ -165,6 +168,7 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
|
|
|
165
168
|
this.beforeToolCallback = config.beforeToolCallback;
|
|
166
169
|
this.afterToolCallback = config.afterToolCallback;
|
|
167
170
|
this.codeExecutor = config.codeExecutor;
|
|
171
|
+
this.planner = config.planner;
|
|
168
172
|
this.requestProcessors = (_i = config.requestProcessors) != null ? _i : [
|
|
169
173
|
import_basic_llm_request_processor.BASIC_LLM_REQUEST_PROCESSOR,
|
|
170
174
|
import_auth_preprocessor.AUTH_PREPROCESSOR,
|
|
@@ -173,6 +177,10 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
|
|
|
173
177
|
import_request_confirmation_llm_request_processor.REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR,
|
|
174
178
|
import_request_input_llm_request_processor.REQUEST_INPUT_LLM_REQUEST_PROCESSOR,
|
|
175
179
|
import_content_request_processor.CONTENT_REQUEST_PROCESSOR,
|
|
180
|
+
// Planning clears the thought flags that the planning response
|
|
181
|
+
// processor sets, so it must run after the contents are built and
|
|
182
|
+
// before code execution rewrites them.
|
|
183
|
+
import_nl_planning_processor.NL_PLANNING_REQUEST_PROCESSOR,
|
|
176
184
|
import_interactions_request_processor.INTERACTIONS_REQUEST_PROCESSOR,
|
|
177
185
|
import_code_execution_request_processor.CODE_EXECUTION_REQUEST_PROCESSOR,
|
|
178
186
|
import_tool_filter_request_processor.TOOL_FILTER_REQUEST_PROCESSOR
|
|
@@ -193,7 +201,9 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
|
|
|
193
201
|
);
|
|
194
202
|
}
|
|
195
203
|
}
|
|
196
|
-
this.responseProcessors = (_j = config.responseProcessors) != null ? _j : [
|
|
204
|
+
this.responseProcessors = (_j = config.responseProcessors) != null ? _j : [
|
|
205
|
+
import_nl_planning_processor.NL_PLANNING_RESPONSE_PROCESSOR
|
|
206
|
+
];
|
|
197
207
|
const agentTransferDisabled = this.disallowTransferToParent && this.disallowTransferToPeers && !((_k = this.subAgents) == null ? void 0 : _k.length);
|
|
198
208
|
if (!agentTransferDisabled) {
|
|
199
209
|
this.requestProcessors.push(import_agent_transfer_llm_request_processor.AGENT_TRANSFER_LLM_REQUEST_PROCESSOR);
|
|
@@ -212,6 +222,11 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
|
|
|
212
222
|
"Response schema must be set via LlmAgent.output_schema."
|
|
213
223
|
);
|
|
214
224
|
}
|
|
225
|
+
if (config.generateContentConfig.thinkingConfig && (0, import_built_in_planner.isBuiltInPlanner)(this.planner) && this.planner.thinkingConfig) {
|
|
226
|
+
import_logger.logger.warn(
|
|
227
|
+
`Agent ${this.name}: both generateContentConfig.thinkingConfig and planner.thinkingConfig are set. The planner's thinkingConfig takes precedence.`
|
|
228
|
+
);
|
|
229
|
+
}
|
|
215
230
|
} else {
|
|
216
231
|
this.generateContentConfig = {};
|
|
217
232
|
}
|
|
@@ -464,7 +479,7 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
|
|
|
464
479
|
if (!lastEvent) {
|
|
465
480
|
break;
|
|
466
481
|
}
|
|
467
|
-
const isEmptyMetadataEvent = lastEvent.author === this.name && !lastEvent.partial && (!((_b2 = lastEvent.content) == null ? void 0 : _b2.parts) || lastEvent.content.parts.length === 0);
|
|
482
|
+
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
483
|
if ((0, import_event.isFinalResponse)(lastEvent) && !(isEmptyMetadataEvent && stepHadToolCalls)) {
|
|
469
484
|
break;
|
|
470
485
|
}
|
|
@@ -1239,9 +1254,9 @@ const _LlmAgent = class _LlmAgent extends (_b = import_base_agent.BaseAgent, _a
|
|
|
1239
1254
|
// --------------------------------------------------------------------------
|
|
1240
1255
|
// #END LlmFlow Logic
|
|
1241
1256
|
// --------------------------------------------------------------------------
|
|
1242
|
-
// TODO - b/425992518:
|
|
1243
|
-
// -
|
|
1244
|
-
// -
|
|
1257
|
+
// TODO - b/425992518: LlmAgent features not implemented yet.
|
|
1258
|
+
// - codeExecutor
|
|
1259
|
+
// - configuring agents from a YAML file
|
|
1245
1260
|
};
|
|
1246
1261
|
__name(_LlmAgent, "LlmAgent");
|
|
1247
1262
|
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,12 +36,14 @@ 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
|
|
42
43
|
* Copyright 2025 Google LLC
|
|
43
44
|
* SPDX-License-Identifier: Apache-2.0
|
|
44
45
|
*/
|
|
46
|
+
const UNSTRINGIFIABLE_VALUE = "<unstringifiable value>";
|
|
45
47
|
function removeClientFunctionCallId(content) {
|
|
46
48
|
var _a, _b, _c, _d, _e;
|
|
47
49
|
for (const part of (_a = content == null ? void 0 : content.parts) != null ? _a : []) {
|
|
@@ -57,6 +59,9 @@ __name(removeClientFunctionCallId, "removeClientFunctionCallId");
|
|
|
57
59
|
function getContents(events, agentName, currentBranch, currentIsolationScope) {
|
|
58
60
|
const filteredEvents = [];
|
|
59
61
|
for (const event of events) {
|
|
62
|
+
if (!(0, import_compaction_utils.isEventVisibleInIsolationScope)(event, currentIsolationScope)) {
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
60
65
|
if ((0, import_compacted_event.isCompactedEvent)(event)) {
|
|
61
66
|
filteredEvents.push(convertCompactedEvent(event));
|
|
62
67
|
continue;
|
|
@@ -87,7 +92,7 @@ function shouldIncludeEventInContext(event, currentBranch, currentIsolationScope
|
|
|
87
92
|
if (currentBranch && event.branch && !(0, import_branch_trie.isSegmentPrefix)(currentBranch, event.branch)) {
|
|
88
93
|
return false;
|
|
89
94
|
}
|
|
90
|
-
if (
|
|
95
|
+
if (!(0, import_compaction_utils.isEventVisibleInIsolationScope)(event, currentIsolationScope)) {
|
|
91
96
|
return false;
|
|
92
97
|
}
|
|
93
98
|
return !isAuthEvent(event) && !isToolConfirmationEvent(event) && !isRequestInputEvent(event);
|
|
@@ -152,10 +157,6 @@ function turnStart(events, anchor) {
|
|
|
152
157
|
return start;
|
|
153
158
|
}
|
|
154
159
|
__name(turnStart, "turnStart");
|
|
155
|
-
function isOutsideIsolationScope(event, currentIsolationScope) {
|
|
156
|
-
return event.isolationScope !== void 0 && event.isolationScope !== currentIsolationScope;
|
|
157
|
-
}
|
|
158
|
-
__name(isOutsideIsolationScope, "isOutsideIsolationScope");
|
|
159
160
|
function isAuthEvent(event) {
|
|
160
161
|
var _a, _b, _c;
|
|
161
162
|
if (!((_a = event.content) == null ? void 0 : _a.parts)) {
|
|
@@ -406,9 +407,16 @@ function safeStringify(obj) {
|
|
|
406
407
|
return obj;
|
|
407
408
|
}
|
|
408
409
|
try {
|
|
409
|
-
|
|
410
|
-
|
|
410
|
+
const json = JSON.stringify(obj);
|
|
411
|
+
if (typeof json === "string") {
|
|
412
|
+
return json;
|
|
413
|
+
}
|
|
414
|
+
} catch {
|
|
415
|
+
}
|
|
416
|
+
try {
|
|
411
417
|
return String(obj);
|
|
418
|
+
} catch {
|
|
419
|
+
return UNSTRINGIFIABLE_VALUE;
|
|
412
420
|
}
|
|
413
421
|
}
|
|
414
422
|
__name(safeStringify, "safeStringify");
|
|
@@ -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,
|