@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
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var reflect_retry_tool_plugin_exports = {};
|
|
27
|
+
__export(reflect_retry_tool_plugin_exports, {
|
|
28
|
+
ReflectAndRetryToolPlugin: () => ReflectAndRetryToolPlugin
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(reflect_retry_tool_plugin_exports);
|
|
31
|
+
var import_reflect_retry_utils = require("./_reflect_retry_utils.js");
|
|
32
|
+
var import_base_plugin = require("./base_plugin.js");
|
|
33
|
+
/**
|
|
34
|
+
* @license
|
|
35
|
+
* Copyright 2026 Google LLC
|
|
36
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
37
|
+
*/
|
|
38
|
+
const _ReflectAndRetryToolPlugin = class _ReflectAndRetryToolPlugin extends import_base_plugin.BasePlugin {
|
|
39
|
+
/**
|
|
40
|
+
* Initializes the {@link ReflectAndRetryToolPlugin}.
|
|
41
|
+
*
|
|
42
|
+
* @param options - Configuration options for the plugin.
|
|
43
|
+
*/
|
|
44
|
+
constructor(options = {}) {
|
|
45
|
+
var _a, _b, _c, _d;
|
|
46
|
+
super((_a = options.name) != null ? _a : "reflect_retry_tool_plugin");
|
|
47
|
+
const retries = (_b = options.maxRetries) != null ? _b : 3;
|
|
48
|
+
if (retries < 0) {
|
|
49
|
+
throw new Error("maxRetries must be a non-negative integer.");
|
|
50
|
+
}
|
|
51
|
+
this.maxRetries = retries;
|
|
52
|
+
this.throwExceptionIfRetryExceeded = (_c = options.throwExceptionIfRetryExceeded) != null ? _c : true;
|
|
53
|
+
this.scope = (_d = options.trackingScope) != null ? _d : import_reflect_retry_utils.TrackingScope.INVOCATION;
|
|
54
|
+
this.tracker = new import_reflect_retry_utils.ScopedFailureTracker();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Handles successful tool calls or extracts and processes errors.
|
|
58
|
+
*
|
|
59
|
+
* @param params - The tool callback parameters.
|
|
60
|
+
* @returns An optional record containing reflection guidance if an error is
|
|
61
|
+
* detected, or undefined if the tool call was successful or the response is
|
|
62
|
+
* already a reflection message.
|
|
63
|
+
*/
|
|
64
|
+
async afterToolCallback({
|
|
65
|
+
tool,
|
|
66
|
+
toolArgs,
|
|
67
|
+
toolContext,
|
|
68
|
+
result
|
|
69
|
+
}) {
|
|
70
|
+
if (result && typeof result === "object" && result["response_type"] === import_reflect_retry_utils.REFLECT_AND_RETRY_RESPONSE_TYPE) {
|
|
71
|
+
return void 0;
|
|
72
|
+
}
|
|
73
|
+
const error = await this.extractErrorFromResult({
|
|
74
|
+
tool,
|
|
75
|
+
toolArgs,
|
|
76
|
+
toolContext,
|
|
77
|
+
result
|
|
78
|
+
});
|
|
79
|
+
if (error != null) {
|
|
80
|
+
return await this.handleToolError(tool, toolArgs, toolContext, error);
|
|
81
|
+
}
|
|
82
|
+
await this.resetFailuresForTool(toolContext, tool.name);
|
|
83
|
+
return void 0;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Extracts an error from a successful tool result and triggers retry logic.
|
|
87
|
+
*
|
|
88
|
+
* This is useful when a tool call finishes without throwing an exception but
|
|
89
|
+
* the result contains an error payload like `{status: 'error', message: '...'}`
|
|
90
|
+
* that should be handled by the plugin.
|
|
91
|
+
*
|
|
92
|
+
* @param params - Tool execution context and result.
|
|
93
|
+
* @returns The extracted error if any, or undefined if no error was detected.
|
|
94
|
+
*/
|
|
95
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
96
|
+
async extractErrorFromResult(params) {
|
|
97
|
+
return void 0;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Handles tool exceptions by providing reflection guidance.
|
|
101
|
+
*
|
|
102
|
+
* @param params - The error callback parameters.
|
|
103
|
+
* @returns An optional record containing reflection guidance for the error.
|
|
104
|
+
*/
|
|
105
|
+
async onToolErrorCallback({
|
|
106
|
+
tool,
|
|
107
|
+
toolArgs,
|
|
108
|
+
toolContext,
|
|
109
|
+
error
|
|
110
|
+
}) {
|
|
111
|
+
return await this.handleToolError(tool, toolArgs, toolContext, error);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Central, thread-safe logic for processing tool errors.
|
|
115
|
+
*
|
|
116
|
+
* @param tool - The tool that was called.
|
|
117
|
+
* @param toolArgs - The arguments passed to the tool.
|
|
118
|
+
* @param toolContext - The context of the tool call.
|
|
119
|
+
* @param error - The error to be handled.
|
|
120
|
+
* @returns An optional record containing reflection guidance for the error.
|
|
121
|
+
*/
|
|
122
|
+
async handleToolError(tool, toolArgs, toolContext, error) {
|
|
123
|
+
if (this.maxRetries === 0) {
|
|
124
|
+
if (this.throwExceptionIfRetryExceeded) {
|
|
125
|
+
throw this.ensureException(error);
|
|
126
|
+
}
|
|
127
|
+
return this.getToolRetryExceedMsg(tool, toolArgs, error);
|
|
128
|
+
}
|
|
129
|
+
const scopeKey = this.getScopeKey(toolContext);
|
|
130
|
+
const currentRetries = await this.tracker.increment(scopeKey, tool.name);
|
|
131
|
+
if (currentRetries <= this.maxRetries) {
|
|
132
|
+
return this.createToolReflectionResponse(
|
|
133
|
+
tool,
|
|
134
|
+
toolArgs,
|
|
135
|
+
error,
|
|
136
|
+
currentRetries
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
if (this.throwExceptionIfRetryExceeded) {
|
|
140
|
+
throw this.ensureException(error);
|
|
141
|
+
} else {
|
|
142
|
+
return this.getToolRetryExceedMsg(tool, toolArgs, error);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Returns a unique key for the state tracker based on the configured scope.
|
|
147
|
+
*
|
|
148
|
+
* This method can be overridden in a subclass to implement custom scoping
|
|
149
|
+
* logic, for example tracking failures on a per-user or per-session basis.
|
|
150
|
+
*
|
|
151
|
+
* @param toolContext - The tool context.
|
|
152
|
+
* @returns The resolved scope key.
|
|
153
|
+
*/
|
|
154
|
+
getScopeKey(toolContext) {
|
|
155
|
+
return (0, import_reflect_retry_utils.resolveScopeKey)(this.scope, toolContext.invocationId);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Atomically resets the failure count for a tool and cleans up state.
|
|
159
|
+
*
|
|
160
|
+
* @param toolContext - The tool context.
|
|
161
|
+
* @param toolName - The name of the tool.
|
|
162
|
+
*/
|
|
163
|
+
async resetFailuresForTool(toolContext, toolName) {
|
|
164
|
+
const scopeKey = this.getScopeKey(toolContext);
|
|
165
|
+
await this.tracker.reset(scopeKey, toolName);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Ensures the given error is an Error instance, wrapping if not.
|
|
169
|
+
*
|
|
170
|
+
* @param error - The error object.
|
|
171
|
+
* @returns An Error instance.
|
|
172
|
+
*/
|
|
173
|
+
ensureException(error) {
|
|
174
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Formats error details for inclusion in the reflection message.
|
|
178
|
+
*
|
|
179
|
+
* @param error - The error object.
|
|
180
|
+
* @returns Formatted error string.
|
|
181
|
+
*/
|
|
182
|
+
formatErrorDetails(error) {
|
|
183
|
+
if (error instanceof Error) {
|
|
184
|
+
const name = error.name || "Error";
|
|
185
|
+
return `${name}: ${error.message}`;
|
|
186
|
+
}
|
|
187
|
+
return String(error);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Generates structured reflection guidance for tool failures.
|
|
191
|
+
*
|
|
192
|
+
* @param tool - The tool that failed.
|
|
193
|
+
* @param toolArgs - The arguments supplied to the tool.
|
|
194
|
+
* @param error - The error encountered.
|
|
195
|
+
* @param retryCount - The current retry count.
|
|
196
|
+
* @returns The structured tool failure response record.
|
|
197
|
+
*/
|
|
198
|
+
createToolReflectionResponse(tool, toolArgs, error, retryCount) {
|
|
199
|
+
const argsSummary = JSON.stringify(toolArgs != null ? toolArgs : {}, null, 2);
|
|
200
|
+
const errorDetails = this.formatErrorDetails(error);
|
|
201
|
+
const reflectionMessage = `
|
|
202
|
+
The call to tool \`${tool.name}\` failed.
|
|
203
|
+
|
|
204
|
+
**Error Details:**
|
|
205
|
+
\`\`\`
|
|
206
|
+
${errorDetails}
|
|
207
|
+
\`\`\`
|
|
208
|
+
|
|
209
|
+
**Tool Arguments Used:**
|
|
210
|
+
\`\`\`json
|
|
211
|
+
${argsSummary}
|
|
212
|
+
\`\`\`
|
|
213
|
+
|
|
214
|
+
**Reflection Guidance:**
|
|
215
|
+
This is retry attempt **${retryCount} of ${this.maxRetries}**. Analyze the error and the arguments you provided. Do not repeat the exact same call. Consider the following before your next attempt:
|
|
216
|
+
|
|
217
|
+
1. **Invalid Parameters**: Does the error suggest that one or more arguments are incorrect, badly formatted, or missing? Review the tool's schema and your arguments.
|
|
218
|
+
2. **State or Preconditions**: Did a previous step fail or not produce the necessary state/resource for this tool to succeed?
|
|
219
|
+
3. **Alternative Approach**: Is this the right tool for the job? Could another tool or a different sequence of steps achieve the goal?
|
|
220
|
+
4. **Simplify the Task**: Can you break the problem down into smaller, simpler steps?
|
|
221
|
+
5. **Wrong Function Name**: Does the error indicates the tool is not found? Please check again and only use available tools.
|
|
222
|
+
|
|
223
|
+
Formulate a new plan based on your analysis and try a corrected or different approach.
|
|
224
|
+
`.trim();
|
|
225
|
+
const response = {
|
|
226
|
+
response_type: import_reflect_retry_utils.REFLECT_AND_RETRY_RESPONSE_TYPE,
|
|
227
|
+
error_type: error instanceof Error ? error.name || "Error" : "ToolError",
|
|
228
|
+
error_details: error instanceof Error ? error.message : String(error),
|
|
229
|
+
retry_count: retryCount,
|
|
230
|
+
reflection_guidance: reflectionMessage
|
|
231
|
+
};
|
|
232
|
+
return response;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Generates guidance when the maximum retry limit is exceeded.
|
|
236
|
+
*
|
|
237
|
+
* @param tool - The tool that failed.
|
|
238
|
+
* @param toolArgs - The arguments supplied to the tool.
|
|
239
|
+
* @param error - The error encountered.
|
|
240
|
+
* @returns The structured retry-exceeded failure response record.
|
|
241
|
+
*/
|
|
242
|
+
getToolRetryExceedMsg(tool, toolArgs, error) {
|
|
243
|
+
const errorDetails = this.formatErrorDetails(error);
|
|
244
|
+
const argsSummary = JSON.stringify(toolArgs != null ? toolArgs : {}, null, 2);
|
|
245
|
+
const reflectionMessage = `
|
|
246
|
+
The tool \`${tool.name}\` has failed consecutively ${this.maxRetries} times and the retry limit has been exceeded.
|
|
247
|
+
|
|
248
|
+
**Last Error:**
|
|
249
|
+
\`\`\`
|
|
250
|
+
${errorDetails}
|
|
251
|
+
\`\`\`
|
|
252
|
+
|
|
253
|
+
**Last Arguments Used:**
|
|
254
|
+
\`\`\`json
|
|
255
|
+
${argsSummary}
|
|
256
|
+
\`\`\`
|
|
257
|
+
|
|
258
|
+
**Final Instruction:**
|
|
259
|
+
**Do not attempt to use the \`${tool.name}\` tool again for this task.** You must now try a different approach. Acknowledge the failure and devise a new strategy, potentially using other available tools or informing the user that the task cannot be completed.
|
|
260
|
+
`.trim();
|
|
261
|
+
const response = {
|
|
262
|
+
response_type: import_reflect_retry_utils.REFLECT_AND_RETRY_RESPONSE_TYPE,
|
|
263
|
+
error_type: error instanceof Error ? error.name || "Error" : "ToolError",
|
|
264
|
+
error_details: error instanceof Error ? error.message : String(error),
|
|
265
|
+
retry_count: this.maxRetries,
|
|
266
|
+
reflection_guidance: reflectionMessage
|
|
267
|
+
};
|
|
268
|
+
return response;
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
__name(_ReflectAndRetryToolPlugin, "ReflectAndRetryToolPlugin");
|
|
272
|
+
let ReflectAndRetryToolPlugin = _ReflectAndRetryToolPlugin;
|
|
273
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
274
|
+
0 && (module.exports = {
|
|
275
|
+
ReflectAndRetryToolPlugin
|
|
276
|
+
});
|
|
@@ -41,6 +41,7 @@ var import_invocation_context = require("../agents/invocation_context.js");
|
|
|
41
41
|
var import_llm_agent = require("../agents/llm_agent.js");
|
|
42
42
|
var import_run_config = require("../agents/run_config.js");
|
|
43
43
|
var import_scoped_artifact_service = require("../artifacts/scoped_artifact_service.js");
|
|
44
|
+
var import_session_artifact_service = require("../artifacts/session_artifact_service.js");
|
|
44
45
|
var import_built_in_code_executor = require("../code_executors/built_in_code_executor.js");
|
|
45
46
|
var import_event = require("../events/event.js");
|
|
46
47
|
var import_event_actions = require("../events/event_actions.js");
|
|
@@ -49,6 +50,7 @@ var import_tracing = require("../telemetry/tracing.js");
|
|
|
49
50
|
var import_base_toolset = require("../tools/base_toolset.js");
|
|
50
51
|
var import_logger = require("../utils/logger.js");
|
|
51
52
|
var import_model_name = require("../utils/model_name.js");
|
|
53
|
+
var import_redact_inline_data = require("../utils/redact_inline_data.js");
|
|
52
54
|
var import_run_node_as_invocation = require("../workflow/run_node_as_invocation.js");
|
|
53
55
|
/**
|
|
54
56
|
* @license
|
|
@@ -56,7 +58,7 @@ var import_run_node_as_invocation = require("../workflow/run_node_as_invocation.
|
|
|
56
58
|
* SPDX-License-Identifier: Apache-2.0
|
|
57
59
|
*/
|
|
58
60
|
var _a;
|
|
59
|
-
const RUNNER_SIGNATURE_SYMBOL = Symbol.for("google.adk.runner");
|
|
61
|
+
const RUNNER_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.runner");
|
|
60
62
|
function isRunner(obj) {
|
|
61
63
|
return typeof obj === "object" && obj !== null && RUNNER_SIGNATURE_SYMBOL in obj && obj[RUNNER_SIGNATURE_SYMBOL] === true;
|
|
62
64
|
}
|
|
@@ -163,7 +165,9 @@ const _Runner = class _Runner {
|
|
|
163
165
|
`Session lookup failed: appName must be provided in runner constructor (or via app.name)`
|
|
164
166
|
);
|
|
165
167
|
}
|
|
166
|
-
throw new Error(
|
|
168
|
+
throw new Error(
|
|
169
|
+
`Session not found: ${sessionId} (appName=${this.appName}, userId=${userId})`
|
|
170
|
+
);
|
|
167
171
|
}
|
|
168
172
|
if (runConfig.supportCfc && (0, import_llm_agent.isLlmAgent)(this.agent)) {
|
|
169
173
|
const modelName = this.agent.canonicalModel.model;
|
|
@@ -177,7 +181,7 @@ const _Runner = class _Runner {
|
|
|
177
181
|
}
|
|
178
182
|
}
|
|
179
183
|
const invocationContext = new import_invocation_context.InvocationContext({
|
|
180
|
-
artifactService: this.artifactService ? new import_scoped_artifact_service.ScopedArtifactService(
|
|
184
|
+
artifactService: this.artifactService ? (0, import_session_artifact_service.isSessionArtifactService)(this.artifactService) ? this.artifactService : new import_scoped_artifact_service.ScopedArtifactService(
|
|
181
185
|
this.artifactService,
|
|
182
186
|
this.appName,
|
|
183
187
|
userId,
|
|
@@ -191,6 +195,7 @@ const _Runner = class _Runner {
|
|
|
191
195
|
session,
|
|
192
196
|
userContent: newMessage,
|
|
193
197
|
runConfig,
|
|
198
|
+
a2aMetadata: runConfig.a2aMetadata,
|
|
194
199
|
pluginManager: this.pluginManager,
|
|
195
200
|
abortSignal: params.abortSignal
|
|
196
201
|
});
|
|
@@ -210,9 +215,8 @@ const _Runner = class _Runner {
|
|
|
210
215
|
}
|
|
211
216
|
if (runConfig.saveInputBlobsAsArtifacts) {
|
|
212
217
|
newMessage = await this.saveArtifacts(
|
|
218
|
+
invocationContext.artifactService,
|
|
213
219
|
invocationContext.invocationId,
|
|
214
|
-
session.userId,
|
|
215
|
-
session.id,
|
|
216
220
|
newMessage
|
|
217
221
|
);
|
|
218
222
|
if ((_d = params.abortSignal) == null ? void 0 : _d.aborted) {
|
|
@@ -325,21 +329,15 @@ const _Runner = class _Runner {
|
|
|
325
329
|
* Saves artifacts from the message parts and replaces the inline data with
|
|
326
330
|
* a file name placeholder and optional file reference.
|
|
327
331
|
*
|
|
332
|
+
* @param artifactService The session-scoped artifact service to save to.
|
|
328
333
|
* @param invocationId The current invocation ID.
|
|
329
|
-
* @param userId The user ID of the session.
|
|
330
|
-
* @param sessionId The session ID of the session.
|
|
331
334
|
* @param message The message containing parts to process.
|
|
332
335
|
*/
|
|
333
|
-
async saveArtifacts(
|
|
336
|
+
async saveArtifacts(artifactService, invocationId, message) {
|
|
334
337
|
var _a2;
|
|
335
|
-
if (!
|
|
338
|
+
if (!artifactService || !((_a2 = message.parts) == null ? void 0 : _a2.length)) {
|
|
336
339
|
return message;
|
|
337
340
|
}
|
|
338
|
-
const sessionKey = {
|
|
339
|
-
appName: this.appName,
|
|
340
|
-
userId,
|
|
341
|
-
sessionId
|
|
342
|
-
};
|
|
343
341
|
const newParts = [];
|
|
344
342
|
let modified = false;
|
|
345
343
|
for (let i = 0; i < message.parts.length; i++) {
|
|
@@ -351,20 +349,16 @@ const _Runner = class _Runner {
|
|
|
351
349
|
try {
|
|
352
350
|
const inlineData = part.inlineData;
|
|
353
351
|
const fileName = inlineData.displayName || `artifact_${invocationId}_${i}`;
|
|
354
|
-
const version = await
|
|
355
|
-
...sessionKey,
|
|
352
|
+
const version = await artifactService.saveArtifact({
|
|
356
353
|
filename: fileName,
|
|
357
354
|
artifact: part
|
|
358
355
|
});
|
|
359
356
|
newParts.push((0, import_genai.createPartFromText)(`[Uploaded Artifact: "${fileName}"]`));
|
|
360
357
|
try {
|
|
361
|
-
const artifactVersion = await
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
version
|
|
366
|
-
}
|
|
367
|
-
);
|
|
358
|
+
const artifactVersion = await artifactService.getArtifactVersion({
|
|
359
|
+
filename: fileName,
|
|
360
|
+
version
|
|
361
|
+
});
|
|
368
362
|
if ((artifactVersion == null ? void 0 : artifactVersion.canonicalUri) && /^(gs|https?):/i.test(artifactVersion.canonicalUri)) {
|
|
369
363
|
newParts.push({
|
|
370
364
|
fileData: {
|
|
@@ -414,7 +408,7 @@ const _Runner = class _Runner {
|
|
|
414
408
|
* Whether the agent to run can transfer to any other agent in the agent tree.
|
|
415
409
|
*
|
|
416
410
|
* @param agentToRun The agent to check for transferability.
|
|
417
|
-
* @returns True if the agent can transfer,
|
|
411
|
+
* @returns True if the agent can transfer, false otherwise.
|
|
418
412
|
*/
|
|
419
413
|
isRoutableLlmAgent(agentToRun) {
|
|
420
414
|
return isRoutableLlmAgent(agentToRun);
|
|
@@ -477,7 +471,7 @@ const _Runner = class _Runner {
|
|
|
477
471
|
return;
|
|
478
472
|
}
|
|
479
473
|
const invocationContext = new import_invocation_context.InvocationContext({
|
|
480
|
-
artifactService: this.artifactService ? new import_scoped_artifact_service.ScopedArtifactService(
|
|
474
|
+
artifactService: this.artifactService ? (0, import_session_artifact_service.isSessionArtifactService)(this.artifactService) ? this.artifactService : new import_scoped_artifact_service.ScopedArtifactService(
|
|
481
475
|
this.artifactService,
|
|
482
476
|
this.appName,
|
|
483
477
|
params.userId,
|
|
@@ -490,6 +484,7 @@ const _Runner = class _Runner {
|
|
|
490
484
|
agent,
|
|
491
485
|
session,
|
|
492
486
|
runConfig,
|
|
487
|
+
a2aMetadata: runConfig.a2aMetadata,
|
|
493
488
|
pluginManager: this.pluginManager,
|
|
494
489
|
liveRequestQueue: params.liveRequestQueue,
|
|
495
490
|
abortSignal: params.abortSignal,
|
|
@@ -567,6 +562,14 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
567
562
|
const event = findEventByLastFunctionResponseId(session.events);
|
|
568
563
|
const isResumable = Boolean(resumabilityConfig == null ? void 0 : resumabilityConfig.isResumable);
|
|
569
564
|
if (event && event.author && isResumable) {
|
|
565
|
+
const conflictingAuthors = (0, import_functions.getConflictingFunctionResponseAuthors)(
|
|
566
|
+
session.events
|
|
567
|
+
);
|
|
568
|
+
if (conflictingAuthors) {
|
|
569
|
+
throw new Error(
|
|
570
|
+
`Function responses in the last event resolve to function calls from more than one agent (at least "${conflictingAuthors[0]}" and "${conflictingAuthors[1]}"); cannot determine a single agent to resume.`
|
|
571
|
+
);
|
|
572
|
+
}
|
|
570
573
|
const resumedAgent = rootAgent.findAgent(event.author);
|
|
571
574
|
if (resumedAgent) {
|
|
572
575
|
return resumedAgent;
|
|
@@ -578,7 +581,7 @@ function determineAgentForResumption(session, rootAgent, resumabilityConfig) {
|
|
|
578
581
|
}
|
|
579
582
|
}
|
|
580
583
|
for (let i = session.events.length - 1; i >= 0; i--) {
|
|
581
|
-
import_logger.logger.debug("event:",
|
|
584
|
+
import_logger.logger.debug("event:", (0, import_redact_inline_data.stringifyWithRedactedInlineData)(session.events[i]));
|
|
582
585
|
const event2 = session.events[i];
|
|
583
586
|
if (event2.author === "user" || !event2.author) {
|
|
584
587
|
continue;
|