@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
|
@@ -3,21 +3,89 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { OpenAPIV3 } from 'openapi-types';
|
|
7
6
|
import { Context } from '../../../agents/context.js';
|
|
8
7
|
import { AuthCredential } from '../../../auth/auth_credential.js';
|
|
8
|
+
import { AuthScheme } from '../../../auth/auth_schemes.js';
|
|
9
|
+
import { BaseCredentialExchanger } from '../../../auth/exchanger/base_credential_exchanger.js';
|
|
10
|
+
/** The outcome of preparing a tool's credential. */
|
|
9
11
|
export interface AuthPreparationResult {
|
|
10
12
|
state: 'pending' | 'done';
|
|
13
|
+
authScheme?: AuthScheme;
|
|
11
14
|
authCredential?: AuthCredential;
|
|
12
15
|
}
|
|
16
|
+
/** Collaborators a caller may substitute when building a {@link ToolAuthHandler}. */
|
|
17
|
+
export interface ToolAuthHandlerOptions {
|
|
18
|
+
/** Key under which a credential service loads and saves this credential. */
|
|
19
|
+
credentialKey?: string;
|
|
20
|
+
/** Exchanger to use instead of the default `AutoAuthCredentialExchanger`. */
|
|
21
|
+
credentialExchanger?: BaseCredentialExchanger;
|
|
22
|
+
/** Store to use instead of one built over the tool's own context. */
|
|
23
|
+
credentialStore?: ToolContextCredentialStore;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Stores and retrieves exchanged credentials in the session state carried by a
|
|
27
|
+
* {@link Context}.
|
|
28
|
+
*/
|
|
29
|
+
export declare class ToolContextCredentialStore {
|
|
30
|
+
private readonly context;
|
|
31
|
+
constructor(context: Context);
|
|
32
|
+
/**
|
|
33
|
+
* Returns the state key that holds the credential exchanged for this scheme
|
|
34
|
+
* and credential pair.
|
|
35
|
+
*
|
|
36
|
+
* Both operands are hashed into the key, so two tools configured with
|
|
37
|
+
* different schemes, or with different credentials under one scheme, never
|
|
38
|
+
* share a slot.
|
|
39
|
+
*
|
|
40
|
+
* The key deliberately carries no `temp:` prefix. Session state is a copy and
|
|
41
|
+
* only the delta is persisted, and `temp:` is cleared at the end of a run,
|
|
42
|
+
* while an exchanged token has to stay readable across runs.
|
|
43
|
+
*/
|
|
44
|
+
getCredentialKey(authScheme?: AuthScheme, authCredential?: AuthCredential): string;
|
|
45
|
+
/**
|
|
46
|
+
* Returns the credential stored for this scheme and credential pair, or
|
|
47
|
+
* `undefined` when there is none.
|
|
48
|
+
*
|
|
49
|
+
* @throws Error if the state entry under the key is not an
|
|
50
|
+
* {@link AuthCredential}, which means something else wrote to the key.
|
|
51
|
+
*/
|
|
52
|
+
getCredential(authScheme?: AuthScheme, authCredential?: AuthCredential): AuthCredential | undefined;
|
|
53
|
+
storeCredential(key: string, credential: AuthCredential): void;
|
|
54
|
+
/**
|
|
55
|
+
* Makes the credential under `key` unreadable again.
|
|
56
|
+
*
|
|
57
|
+
* adk-python deletes the state entry. `State` has no delete, so this writes
|
|
58
|
+
* `undefined`, which `State.get` returns for a missing key as well, and
|
|
59
|
+
* {@link getCredential} therefore misses exactly as a delete would make it.
|
|
60
|
+
*/
|
|
61
|
+
removeCredential(key: string): void;
|
|
62
|
+
}
|
|
13
63
|
export declare class ToolAuthHandler {
|
|
14
64
|
private readonly context;
|
|
15
65
|
private readonly authScheme?;
|
|
16
66
|
private readonly authCredential?;
|
|
17
67
|
private readonly credentialKey?;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
68
|
+
private readonly credentialExchanger?;
|
|
69
|
+
private readonly credentialStore;
|
|
70
|
+
constructor(context: Context, authScheme?: AuthScheme, authCredential?: AuthCredential, options?: ToolAuthHandlerOptions);
|
|
71
|
+
static fromToolContext(context: Context, authScheme?: AuthScheme, authCredential?: AuthCredential, options?: ToolAuthHandlerOptions): ToolAuthHandler;
|
|
22
72
|
prepareAuthCredentials(): Promise<AuthPreparationResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Exchanges `credential`, or returns `undefined` when the exchange failed.
|
|
75
|
+
*
|
|
76
|
+
* An exchange failure is transient far more often than it is fatal, so it
|
|
77
|
+
* becomes a `pending` result the client can resume from rather than an
|
|
78
|
+
* exception that fails the whole tool call.
|
|
79
|
+
*/
|
|
80
|
+
private tryExchange;
|
|
81
|
+
/**
|
|
82
|
+
* Asks the client for a credential, after checking that an interactive
|
|
83
|
+
* scheme has the OAuth2 client configuration it cannot proceed without.
|
|
84
|
+
*
|
|
85
|
+
* @throws Error if an `oauth2` or `openIdConnect` scheme has no OAuth2
|
|
86
|
+
* credential.
|
|
87
|
+
* @throws AuthCredentialMissingError if that credential omits `clientId` or
|
|
88
|
+
* `clientSecret`.
|
|
89
|
+
*/
|
|
90
|
+
private requestCredential;
|
|
23
91
|
}
|
|
@@ -8,6 +8,7 @@ import { ReadonlyContext } from '../../agents/readonly_context.js';
|
|
|
8
8
|
import { AuthCredential } from '../../auth/auth_credential.js';
|
|
9
9
|
import { BaseTool } from '../base_tool.js';
|
|
10
10
|
import { BaseToolset, ToolPredicate } from '../base_toolset.js';
|
|
11
|
+
import { RestApiTool } from './rest_api_tool.js';
|
|
11
12
|
export declare class OpenAPIToolset extends BaseToolset {
|
|
12
13
|
private tools;
|
|
13
14
|
constructor(options?: {
|
|
@@ -23,5 +24,15 @@ export declare class OpenAPIToolset extends BaseToolset {
|
|
|
23
24
|
headerProvider?: (context: ReadonlyContext) => Record<string, string>;
|
|
24
25
|
});
|
|
25
26
|
getTools(context?: ReadonlyContext): Promise<BaseTool[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the parsed tool with the given name, or `undefined` when the spec
|
|
29
|
+
* produced no such tool.
|
|
30
|
+
*
|
|
31
|
+
* The lookup is over every tool parsed from the spec and does not apply
|
|
32
|
+
* `toolFilter`, which selects what an agent exposes to the model rather than
|
|
33
|
+
* what the toolset holds. When the toolset was constructed with `prefix`,
|
|
34
|
+
* pass the prefixed name.
|
|
35
|
+
*/
|
|
36
|
+
getTool(toolName: string): RestApiTool | undefined;
|
|
26
37
|
close(): Promise<void>;
|
|
27
38
|
}
|
|
@@ -8,8 +8,26 @@ import { OpenAPIV3 } from 'openapi-types';
|
|
|
8
8
|
import { ReadonlyContext } from '../../agents/readonly_context.js';
|
|
9
9
|
import { AuthCredential } from '../../auth/auth_credential.js';
|
|
10
10
|
import { BaseTool, RunAsyncToolRequest } from '../base_tool.js';
|
|
11
|
-
import { ApiParameter } from './openapi_spec_parser/operation_parser.js';
|
|
11
|
+
import { ApiParameter, OperationParser } from './openapi_spec_parser/operation_parser.js';
|
|
12
12
|
import { OperationEndpoint } from './openapi_spec_parser/openapi_spec_parser.js';
|
|
13
|
+
/**
|
|
14
|
+
* The parsed operation `createRestApiTool` accepts.
|
|
15
|
+
*
|
|
16
|
+
* `name` and `description` are optional and are derived from the operation
|
|
17
|
+
* when they are absent. `parameters` and `returnValue` carry an operation the
|
|
18
|
+
* caller has already parsed, so its names, locations and schemas stay
|
|
19
|
+
* authoritative.
|
|
20
|
+
*/
|
|
21
|
+
export interface ParsedOperationInput {
|
|
22
|
+
name?: string;
|
|
23
|
+
description?: string;
|
|
24
|
+
endpoint: OperationEndpoint;
|
|
25
|
+
operation: OpenAPIV3.OperationObject;
|
|
26
|
+
authScheme?: OpenAPIV3.SecuritySchemeObject;
|
|
27
|
+
authCredential?: AuthCredential;
|
|
28
|
+
parameters?: ApiParameter[];
|
|
29
|
+
returnValue?: ApiParameter;
|
|
30
|
+
}
|
|
13
31
|
export declare class RestApiTool extends BaseTool {
|
|
14
32
|
private readonly endpoint;
|
|
15
33
|
private readonly operation;
|
|
@@ -22,6 +40,7 @@ export declare class RestApiTool extends BaseTool {
|
|
|
22
40
|
preservePropertyNames?: boolean;
|
|
23
41
|
headerProvider?: (context: ReadonlyContext) => Record<string, string>;
|
|
24
42
|
credentialKey?: string;
|
|
43
|
+
operationParser?: OperationParser;
|
|
25
44
|
});
|
|
26
45
|
configureAuthScheme(authScheme: OpenAPIV3.SecuritySchemeObject): void;
|
|
27
46
|
configureAuthCredential(authCredential: AuthCredential): void;
|
|
@@ -34,17 +53,32 @@ export interface PreparedParams {
|
|
|
34
53
|
headers: Record<string, string>;
|
|
35
54
|
body: unknown;
|
|
36
55
|
bodyData: Record<string, unknown>;
|
|
56
|
+
cookies: Record<string, string>;
|
|
37
57
|
}
|
|
38
58
|
export declare function prepareRequestParams(endpoint: OperationEndpoint, parameters: ApiParameter[], args: Record<string, unknown>): PreparedParams;
|
|
39
59
|
export declare function prepareRequestBody(requestBody: OpenAPIV3.RequestBodyObject | OpenAPIV3.ReferenceObject | undefined, body: unknown, bodyData: Record<string, unknown>, headers: Record<string, string>): unknown;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Builds a `RestApiTool` from a parsed operation.
|
|
62
|
+
*
|
|
63
|
+
* @param parsed The operation, with the parameters already parsed when the
|
|
64
|
+
* caller has them.
|
|
65
|
+
* @param options Options forwarded to the tool and to its operation parser.
|
|
66
|
+
* @returns The tool for that operation.
|
|
67
|
+
*/
|
|
68
|
+
export declare function createRestApiTool(parsed: ParsedOperationInput, options?: {
|
|
47
69
|
preservePropertyNames?: boolean;
|
|
48
70
|
headerProvider?: (context: ReadonlyContext) => Record<string, string>;
|
|
49
71
|
credentialKey?: string;
|
|
50
72
|
}): RestApiTool;
|
|
73
|
+
/**
|
|
74
|
+
* Builds a `RestApiTool` from the JSON string form of a parsed operation.
|
|
75
|
+
*
|
|
76
|
+
* This is the only entry point that accepts undecoded input, so it is where
|
|
77
|
+
* the auth scheme is checked. A scheme reaching `createRestApiTool` as an
|
|
78
|
+
* object is already constrained by its type.
|
|
79
|
+
*
|
|
80
|
+
* @param parsedOperationJson A serialized {@link ParsedOperationInput}.
|
|
81
|
+
* @returns The tool for that operation.
|
|
82
|
+
* @throws {Error} If the auth scheme does not declare a known `type`.
|
|
83
|
+
*/
|
|
84
|
+
export declare function createRestApiToolFromJson(parsedOperationJson: string): RestApiTool;
|
|
@@ -7,7 +7,7 @@ import { BaseTool, RunAsyncToolRequest, ToolProcessLlmRequest } from './base_too
|
|
|
7
7
|
/**
|
|
8
8
|
* A tool that preloads the memory for the current user.
|
|
9
9
|
*
|
|
10
|
-
* This tool
|
|
10
|
+
* This tool is automatically executed for each `LlmRequest`, and it won't be
|
|
11
11
|
* called by the model.
|
|
12
12
|
*
|
|
13
13
|
* NOTE: Currently this tool only uses text part from the memory.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Inputs handed to a tool call that is being resumed after it paused for them,
|
|
8
|
+
* keyed by the id of the interrupt that asked for each one. JSON-serializable.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately separate from `ToolConfirmation`. Both travel the same
|
|
11
|
+
* route — built by a resume processor, threaded through `handleFunctionCallList`
|
|
12
|
+
* onto the tool context — but they say different things. A `ToolConfirmation`
|
|
13
|
+
* says a human looked at an action and approved it, and the confirmation gate
|
|
14
|
+
* runs a tool on the strength of that. `ResumeInputs` says only that the user
|
|
15
|
+
* answered a question the tool asked; it carries no authority and cannot
|
|
16
|
+
* satisfy a gate, which is why it has no `confirmed` field to set.
|
|
17
|
+
*
|
|
18
|
+
* Named here rather than left as a bare mapping so the distinction above has
|
|
19
|
+
* somewhere to live, but the shape mirrors `Context.resume_inputs` in
|
|
20
|
+
* `google/adk-python` (`agents/context.py`): the same flat mapping keyed by
|
|
21
|
+
* interrupt id, defaulting to empty rather than absent.
|
|
22
|
+
*
|
|
23
|
+
* @experimental (Experimental, subject to change)
|
|
24
|
+
*/
|
|
25
|
+
export type ResumeInputs = Record<string, unknown>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { BaseTool } from '../base_tool.js';
|
|
8
|
+
/**
|
|
9
|
+
* The base class for tools that answer a single natural-language query by
|
|
10
|
+
* retrieving text the framework fetches itself.
|
|
11
|
+
*
|
|
12
|
+
* Subclasses supply `runAsync`; this class supplies the declaration the model
|
|
13
|
+
* sees, so every retrieval tool advertises the same one-argument `query`
|
|
14
|
+
* signature whatever store backs it.
|
|
15
|
+
*
|
|
16
|
+
* Ported from adk-python
|
|
17
|
+
* `src/google/adk/tools/retrieval/base_retrieval_tool.py` at ref `v0.1.0`.
|
|
18
|
+
*/
|
|
19
|
+
export declare abstract class BaseRetrievalTool extends BaseTool {
|
|
20
|
+
_getDeclaration(): FunctionDeclaration;
|
|
21
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { LlamaIndexRetrieval, LlamaIndexRetriever } from './llama_index_retrieval.js';
|
|
7
|
+
/** Parameters shared by the `FilesRetrieval` constructor and `create`. */
|
|
8
|
+
export interface FilesRetrievalParams {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
/** The directory whose files are indexed. */
|
|
12
|
+
inputDir: string;
|
|
13
|
+
}
|
|
14
|
+
/** Parameters for the `FilesRetrieval` constructor. */
|
|
15
|
+
export interface FilesRetrievalConstructorParams extends FilesRetrievalParams {
|
|
16
|
+
/** A retriever already built over `inputDir`. */
|
|
17
|
+
retriever: LlamaIndexRetriever;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A retrieval tool over the files in a local directory.
|
|
21
|
+
*
|
|
22
|
+
* Ported from adk-python `src/google/adk/tools/retrieval/files_retrieval.py`
|
|
23
|
+
* at ref `v0.1.0`.
|
|
24
|
+
*
|
|
25
|
+
* adk-python reads the directory and builds the index inside `__init__`.
|
|
26
|
+
* Both steps are asynchronous in LlamaIndexTS, so they live in the static
|
|
27
|
+
* `create` instead; the constructor takes the finished retriever, which also
|
|
28
|
+
* lets a caller supply one built some other way.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* const tool = await FilesRetrieval.create({
|
|
33
|
+
* name: 'docs',
|
|
34
|
+
* description: 'Company documentation.',
|
|
35
|
+
* inputDir: './docs',
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare class FilesRetrieval extends LlamaIndexRetrieval {
|
|
40
|
+
readonly inputDir: string;
|
|
41
|
+
constructor(params: FilesRetrievalConstructorParams);
|
|
42
|
+
/**
|
|
43
|
+
* Indexes every file under `inputDir` and returns a tool that retrieves
|
|
44
|
+
* from it.
|
|
45
|
+
*
|
|
46
|
+
* Requires the optional `llamaindex` and `@llamaindex/readers` packages,
|
|
47
|
+
* and a configured LlamaIndex embedding model.
|
|
48
|
+
*/
|
|
49
|
+
static create(params: FilesRetrievalParams): Promise<FilesRetrieval>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { RunAsyncToolRequest } from '../base_tool.js';
|
|
7
|
+
import { BaseRetrievalTool } from './base_retrieval_tool.js';
|
|
8
|
+
/**
|
|
9
|
+
* The part of LlamaIndexTS's `BaseNode` this tool reads.
|
|
10
|
+
*
|
|
11
|
+
* A vector retriever returns `TextNode`s, which carry the chunk text on
|
|
12
|
+
* `text`. The interface is structural so that `llamaindex` stays an optional
|
|
13
|
+
* dependency — nothing here imports it, matching how adk-python keeps the
|
|
14
|
+
* import under `TYPE_CHECKING`.
|
|
15
|
+
*/
|
|
16
|
+
export interface LlamaIndexNode {
|
|
17
|
+
/** The chunk text. */
|
|
18
|
+
text?: string;
|
|
19
|
+
}
|
|
20
|
+
/** LlamaIndexTS's `NodeWithScore`. */
|
|
21
|
+
export interface LlamaIndexNodeWithScore {
|
|
22
|
+
node: LlamaIndexNode;
|
|
23
|
+
score?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The part of LlamaIndexTS's `BaseRetriever` this tool calls.
|
|
27
|
+
*
|
|
28
|
+
* `retrieve` accepts a `QueryType`, which includes a plain string, so passing
|
|
29
|
+
* the model's `query` argument straight through matches adk-python.
|
|
30
|
+
*/
|
|
31
|
+
export interface LlamaIndexRetriever {
|
|
32
|
+
retrieve(query: string): Promise<LlamaIndexNodeWithScore[]>;
|
|
33
|
+
}
|
|
34
|
+
/** Parameters for the `LlamaIndexRetrieval` constructor. */
|
|
35
|
+
export interface LlamaIndexRetrievalParams {
|
|
36
|
+
name: string;
|
|
37
|
+
description: string;
|
|
38
|
+
retriever: LlamaIndexRetriever;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A retrieval tool backed by a LlamaIndex retriever.
|
|
42
|
+
*
|
|
43
|
+
* Answers with the text of the single highest-scoring node, as adk-python
|
|
44
|
+
* does.
|
|
45
|
+
*
|
|
46
|
+
* Ported from adk-python
|
|
47
|
+
* `src/google/adk/tools/retrieval/llama_index_retrieval.py` at ref `v0.1.0`.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* const tool = new LlamaIndexRetrieval({
|
|
52
|
+
* name: 'docs',
|
|
53
|
+
* description: 'Company documentation.',
|
|
54
|
+
* retriever: index.asRetriever(),
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare class LlamaIndexRetrieval extends BaseRetrievalTool {
|
|
59
|
+
readonly retriever: LlamaIndexRetriever;
|
|
60
|
+
constructor(params: LlamaIndexRetrievalParams);
|
|
61
|
+
runAsync({ args }: RunAsyncToolRequest): Promise<unknown>;
|
|
62
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The tool-facing names for the unified agent context.
|
|
8
|
+
*
|
|
9
|
+
* `ToolContext` and `CallbackContext` are aliases of {@link Context}, not
|
|
10
|
+
* subclasses, so a context the framework builds satisfies either name. This
|
|
11
|
+
* mirrors `adk-python`'s `google.adk.tools.tool_context`, which binds
|
|
12
|
+
* `ToolContext = Context`.
|
|
13
|
+
*
|
|
14
|
+
* Python also re-exports `AuthHandler`, `AuthConfig` and `AuthCredential` from
|
|
15
|
+
* this module. adk-js does not: the package `exports` map has no entry for this
|
|
16
|
+
* path, so no consumer can import them from here, and all three already ship
|
|
17
|
+
* from the package root.
|
|
18
|
+
*/
|
|
19
|
+
export { Context as CallbackContext, Context as ToolContext, } from '../agents/context.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ToolProcessLlmRequest } from './base_tool.js';
|
|
2
|
+
import { BuiltInTool } from './built_in_tool.js';
|
|
2
3
|
/**
|
|
3
4
|
* A built-in tool that allows Gemini 2+ models to retrieve content from URLs
|
|
4
5
|
* provided in the conversation.
|
|
@@ -6,10 +7,9 @@ import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
|
|
|
6
7
|
* This tool operates internally within the model and does not require or
|
|
7
8
|
* perform local code execution.
|
|
8
9
|
*/
|
|
9
|
-
export declare class UrlContextTool extends
|
|
10
|
+
export declare class UrlContextTool extends BuiltInTool {
|
|
10
11
|
constructor();
|
|
11
|
-
|
|
12
|
-
processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
12
|
+
protected applyBuiltInConfig({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* A global instance of {@link UrlContextTool}.
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { ReadonlyContext } from '../agents/readonly_context.js';
|
|
7
|
-
import {
|
|
7
|
+
import { ToolProcessLlmRequest } from './base_tool.js';
|
|
8
|
+
import { BuiltInTool } from './built_in_tool.js';
|
|
8
9
|
export interface VertexAISearchDataStoreSpec {
|
|
9
10
|
dataStore?: string;
|
|
10
11
|
}
|
|
@@ -34,7 +35,7 @@ export type VertexAiSearchToolParams = DataStoreParams | SearchEngineParams;
|
|
|
34
35
|
/**
|
|
35
36
|
* A built-in tool using Vertex AI Search.
|
|
36
37
|
*/
|
|
37
|
-
export declare class VertexAiSearchTool extends
|
|
38
|
+
export declare class VertexAiSearchTool extends BuiltInTool {
|
|
38
39
|
readonly dataStoreId?: string;
|
|
39
40
|
readonly dataStoreSpecs?: VertexAISearchDataStoreSpec[];
|
|
40
41
|
readonly searchEngineId?: string;
|
|
@@ -42,7 +43,6 @@ export declare class VertexAiSearchTool extends BaseTool {
|
|
|
42
43
|
readonly maxResults?: number;
|
|
43
44
|
readonly bypassMultiToolsLimit: boolean;
|
|
44
45
|
constructor(params: VertexAiSearchToolParams);
|
|
45
|
-
runAsync(): Promise<unknown>;
|
|
46
46
|
/**
|
|
47
47
|
* Builds the VertexAISearch configuration.
|
|
48
48
|
*
|
|
@@ -51,5 +51,5 @@ export declare class VertexAiSearchTool extends BaseTool {
|
|
|
51
51
|
* state).
|
|
52
52
|
*/
|
|
53
53
|
protected buildVertexAiSearchConfig(_readonlyContext: ReadonlyContext): VertexAISearchConfig;
|
|
54
|
-
|
|
54
|
+
protected applyBuiltInConfig({ toolContext, llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
55
55
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { VertexRagStore } from '@google/genai';
|
|
7
|
-
import {
|
|
7
|
+
import { ToolProcessLlmRequest } from './base_tool.js';
|
|
8
|
+
import { BuiltInTool } from './built_in_tool.js';
|
|
8
9
|
/**
|
|
9
10
|
* A tool that retrieves relevant content from a Vertex AI RAG corpus to ground
|
|
10
11
|
* model responses.
|
|
@@ -19,24 +20,24 @@ import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
|
|
|
19
20
|
*
|
|
20
21
|
* @example
|
|
21
22
|
* ```ts
|
|
22
|
-
* import { VertexRagRetrievalTool
|
|
23
|
-
* import { VertexRagStore } from '@google/genai';
|
|
23
|
+
* import {LlmAgent, VertexRagRetrievalTool} from '@google/adk';
|
|
24
24
|
*
|
|
25
25
|
* const ragTool = new VertexRagRetrievalTool({
|
|
26
|
-
* ragResources: [
|
|
26
|
+
* ragResources: [
|
|
27
|
+
* {ragCorpus: 'projects/my-project/locations/us-central1/ragCorpora/my-corpus'},
|
|
28
|
+
* ],
|
|
27
29
|
* similarityTopK: 5,
|
|
28
30
|
* });
|
|
29
31
|
*
|
|
30
|
-
* const agent = new LlmAgent({
|
|
32
|
+
* const agent = new LlmAgent({
|
|
33
|
+
* name: 'rag_agent',
|
|
34
|
+
* model: 'gemini-2.5-flash',
|
|
35
|
+
* tools: [ragTool],
|
|
36
|
+
* });
|
|
31
37
|
* ```
|
|
32
38
|
*/
|
|
33
|
-
export declare class VertexRagRetrievalTool extends
|
|
39
|
+
export declare class VertexRagRetrievalTool extends BuiltInTool {
|
|
34
40
|
private readonly vertexRagStore;
|
|
35
41
|
constructor(config: VertexRagStore);
|
|
36
|
-
|
|
37
|
-
* This tool is executed server-side by the Vertex AI RAG Engine.
|
|
38
|
-
* Local execution is not required.
|
|
39
|
-
*/
|
|
40
|
-
runAsync(): Promise<unknown>;
|
|
41
|
-
processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
42
|
+
protected applyBuiltInConfig({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
42
43
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* `@google/adk/tools/webmcp` subpath: the WebMCP tools only, without the full
|
|
8
|
+
* ADK barrel. Also re-exported from `@google/adk`.
|
|
9
|
+
*/
|
|
10
|
+
export * from './webmcp_tool.js';
|
|
11
|
+
export * from './webmcp_toolset.js';
|
|
12
|
+
export * from './webmcp_types.js';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { BaseTool, RunAsyncToolRequest } from '../base_tool.js';
|
|
8
|
+
import { WebMCPDocument, WebMCPRegisteredTool } from './webmcp_types.js';
|
|
9
|
+
/** Parameters for {@link WebMCPTool}. */
|
|
10
|
+
export interface WebMCPToolParams {
|
|
11
|
+
/** The tool as reported by `document.modelContext.getTools()`. */
|
|
12
|
+
tool: WebMCPRegisteredTool;
|
|
13
|
+
/**
|
|
14
|
+
* Overrides the name exposed to the model, which the toolset uses to apply
|
|
15
|
+
* its prefix. Defaults to the tool's own name.
|
|
16
|
+
*/
|
|
17
|
+
name?: string;
|
|
18
|
+
/** Document to read `modelContext` from. Defaults to the global document. */
|
|
19
|
+
document?: WebMCPDocument;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A tool registered by the page on `document.modelContext`.
|
|
23
|
+
*
|
|
24
|
+
* Converts the tool's JSON Schema into a Gemini `FunctionDeclaration` and
|
|
25
|
+
* executes it through `document.modelContext.executeTool()`, so the page runs
|
|
26
|
+
* its own handler and updates its own UI.
|
|
27
|
+
*
|
|
28
|
+
* A tool annotated `consequentialHint` reports itself as requiring
|
|
29
|
+
* confirmation, so significant page actions flow through ADK's existing tool
|
|
30
|
+
* confirmation rather than firing unprompted.
|
|
31
|
+
*/
|
|
32
|
+
export declare class WebMCPTool extends BaseTool {
|
|
33
|
+
readonly webmcpTool: WebMCPRegisteredTool;
|
|
34
|
+
private readonly doc?;
|
|
35
|
+
constructor(params: WebMCPToolParams);
|
|
36
|
+
/**
|
|
37
|
+
* The tool's JSON Schema as an object.
|
|
38
|
+
*
|
|
39
|
+
* `inputSchema` is specified as an object, but a browser handing back a JSON
|
|
40
|
+
* string would otherwise convert to a parameterless declaration, leaving the
|
|
41
|
+
* model no argument names to fill in — it then calls the tool with `{}`.
|
|
42
|
+
*/
|
|
43
|
+
private resolveInputSchema;
|
|
44
|
+
_getDeclaration(): FunctionDeclaration;
|
|
45
|
+
checkRequireConfirmation(): Promise<boolean>;
|
|
46
|
+
runAsync(request: RunAsyncToolRequest): Promise<unknown>;
|
|
47
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ReadonlyContext } from '../../agents/readonly_context.js';
|
|
7
|
+
import { BaseTool } from '../base_tool.js';
|
|
8
|
+
import { BaseToolset, ToolPredicate } from '../base_toolset.js';
|
|
9
|
+
import { WebMCPDocument } from './webmcp_types.js';
|
|
10
|
+
/** Options for {@link WebMCPToolset}. */
|
|
11
|
+
export interface WebMCPToolsetOptions {
|
|
12
|
+
/** Restricts which tools reach the model, by name or predicate. */
|
|
13
|
+
toolFilter?: ToolPredicate | string[];
|
|
14
|
+
/** Prefixes every discovered tool name with `${prefix}_`. */
|
|
15
|
+
prefix?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Secure origins to also collect tools from, for cross-origin iframes. A
|
|
18
|
+
* cross-origin tool is only returned if its page also exposed it to this
|
|
19
|
+
* origin via `exposedTo`.
|
|
20
|
+
*/
|
|
21
|
+
fromOrigins?: string[];
|
|
22
|
+
/** Document to read `modelContext` from. Defaults to the global document. */
|
|
23
|
+
document?: WebMCPDocument;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A toolset backed by the tools a web page registers with WebMCP.
|
|
27
|
+
*
|
|
28
|
+
* WebMCP lets a page declare typed, callable tools on `document.modelContext`.
|
|
29
|
+
* This toolset surfaces them to an in-browser agent, so the agent drives the
|
|
30
|
+
* page through the handlers it published instead of scraping the DOM. Each
|
|
31
|
+
* tool's own `execute` runs in the page, so its UI updates as a side effect.
|
|
32
|
+
*
|
|
33
|
+
* Unlike {@link MCPToolset}, nothing is transported anywhere: discovery and
|
|
34
|
+
* execution are same-document browser calls.
|
|
35
|
+
*
|
|
36
|
+
* Outside a browser, or in a browser without WebMCP, `getTools()` returns an
|
|
37
|
+
* empty array rather than throwing, so this is safe to construct anywhere.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* import {LlmAgent} from '@google/adk';
|
|
42
|
+
* import {WebMCPToolset} from '@google/adk/tools/webmcp';
|
|
43
|
+
*
|
|
44
|
+
* const agent = new LlmAgent({
|
|
45
|
+
* name: 'page_agent',
|
|
46
|
+
* model: 'gemini-3.8-live',
|
|
47
|
+
* tools: [new WebMCPToolset()],
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @see https://developer.chrome.com/docs/ai/webmcp
|
|
52
|
+
*/
|
|
53
|
+
export declare class WebMCPToolset extends BaseToolset {
|
|
54
|
+
private readonly doc?;
|
|
55
|
+
private readonly fromOrigins?;
|
|
56
|
+
private readonly changeListeners;
|
|
57
|
+
constructor(options?: WebMCPToolsetOptions);
|
|
58
|
+
/** Whether this document exposes WebMCP. */
|
|
59
|
+
isSupported(): boolean;
|
|
60
|
+
getTools(context?: ReadonlyContext): Promise<BaseTool[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Subscribes to the WebMCP `toolchange` event, which fires when the page
|
|
63
|
+
* registers or removes tools. Returns an unsubscribe function.
|
|
64
|
+
*/
|
|
65
|
+
onToolChange(listener: () => void): () => void;
|
|
66
|
+
close(): Promise<void>;
|
|
67
|
+
}
|