@softactivate/adk 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +3 -0
- package/dist/cjs/a2a/a2a_event.js +317 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +179 -0
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +205 -0
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +165 -0
- package/dist/cjs/a2a/agent_card.js +380 -0
- package/dist/cjs/a2a/agent_executor.js +221 -0
- package/dist/cjs/a2a/agent_to_a2a.js +115 -0
- package/dist/cjs/a2a/event_converter_utils.js +201 -0
- package/dist/cjs/a2a/event_processor_utils.js +180 -0
- package/dist/cjs/a2a/executor_context.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +126 -0
- package/dist/cjs/a2a/part_converter_utils.js +223 -0
- package/dist/cjs/agents/active_streaming_tool.js +44 -0
- package/dist/cjs/agents/base_agent.js +294 -0
- package/dist/cjs/agents/context.js +180 -0
- package/dist/cjs/agents/functions.js +525 -0
- package/dist/cjs/agents/instructions.js +110 -0
- package/dist/cjs/agents/invocation_context.js +110 -0
- package/dist/cjs/agents/live_request_queue.js +136 -0
- package/dist/cjs/agents/llm_agent.js +722 -0
- package/dist/cjs/agents/loop_agent.js +84 -0
- package/dist/cjs/agents/parallel_agent.js +95 -0
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +132 -0
- package/dist/cjs/agents/processors/base_llm_processor.js +44 -0
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +68 -0
- package/dist/cjs/agents/processors/code_execution_request_processor.js +391 -0
- package/dist/cjs/agents/processors/content_processor_utils.js +338 -0
- package/dist/cjs/agents/processors/content_request_processor.js +87 -0
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +70 -0
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +54 -0
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +85 -0
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +165 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
- package/dist/cjs/agents/readonly_context.js +83 -0
- package/dist/cjs/agents/routed_agent.js +97 -0
- package/dist/cjs/agents/run_config.js +71 -0
- package/dist/cjs/agents/sequential_agent.js +106 -0
- package/dist/cjs/agents/transcription_entry.js +27 -0
- package/dist/cjs/artifacts/base_artifact_service.js +27 -0
- package/dist/cjs/artifacts/file_artifact_service.js +522 -0
- package/dist/cjs/artifacts/gcs_artifact_service.js +227 -0
- package/dist/cjs/artifacts/in_memory_artifact_service.js +181 -0
- package/dist/cjs/artifacts/registry.js +55 -0
- package/dist/cjs/auth/auth_credential.js +46 -0
- package/dist/cjs/auth/auth_handler.js +159 -0
- package/dist/cjs/auth/auth_preprocessor.js +178 -0
- package/dist/cjs/auth/auth_provider_registry.js +61 -0
- package/dist/cjs/auth/auth_schemes.js +62 -0
- package/dist/cjs/auth/auth_tool.js +27 -0
- package/dist/cjs/auth/base_auth_provider.js +27 -0
- package/dist/cjs/auth/credential_service/base_credential_service.js +27 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +63 -0
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -0
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +40 -0
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +59 -0
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +198 -0
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +109 -0
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +186 -0
- package/dist/cjs/auth/oauth2/oauth2_utils.js +119 -0
- package/dist/cjs/auth/refresher/base_credential_refresher.js +44 -0
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +68 -0
- package/dist/cjs/code_executors/base_code_executor.js +92 -0
- package/dist/cjs/code_executors/built_in_code_executor.js +74 -0
- package/dist/cjs/code_executors/code_execution_utils.js +161 -0
- package/dist/cjs/code_executors/code_executor_context.js +198 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
- package/dist/cjs/common.js +362 -0
- package/dist/cjs/context/base_context_compactor.js +27 -0
- package/dist/cjs/context/summarizers/base_summarizer.js +27 -0
- package/dist/cjs/context/summarizers/llm_summarizer.js +93 -0
- package/dist/cjs/context/token_based_context_compactor.js +135 -0
- package/dist/cjs/context/truncating_context_compactor.js +58 -0
- package/dist/cjs/events/compacted_event.js +53 -0
- package/dist/cjs/events/event.js +146 -0
- package/dist/cjs/events/event_actions.js +83 -0
- package/dist/cjs/events/structured_events.js +105 -0
- package/dist/cjs/examples/base_example_provider.js +56 -0
- package/dist/cjs/examples/example.js +27 -0
- package/dist/cjs/examples/example_util.js +107 -0
- package/dist/cjs/features/feature_registry.js +141 -0
- package/dist/cjs/index.js +94 -0
- package/dist/cjs/index_web.js +33 -0
- package/dist/cjs/memory/base_memory_service.js +27 -0
- package/dist/cjs/memory/in_memory_memory_service.js +99 -0
- package/dist/cjs/memory/memory_entry.js +27 -0
- package/dist/cjs/models/apigee_llm.js +182 -0
- package/dist/cjs/models/base_llm.js +102 -0
- package/dist/cjs/models/base_llm_connection.js +27 -0
- package/dist/cjs/models/gemini_llm_connection.js +133 -0
- package/dist/cjs/models/google_llm.js +291 -0
- package/dist/cjs/models/llm_request.js +82 -0
- package/dist/cjs/models/llm_response.js +73 -0
- package/dist/cjs/models/registry.js +123 -0
- package/dist/cjs/models/routed_llm.js +99 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/plugins/base_plugin.js +295 -0
- package/dist/cjs/plugins/logging_plugin.js +259 -0
- package/dist/cjs/plugins/plugin_manager.js +310 -0
- package/dist/cjs/plugins/security_plugin.js +156 -0
- package/dist/cjs/runner/in_memory_runner.js +58 -0
- package/dist/cjs/runner/runner.js +380 -0
- package/dist/cjs/sessions/base_session_service.js +121 -0
- package/dist/cjs/sessions/database_session_service.js +367 -0
- package/dist/cjs/sessions/db/operations.js +109 -0
- package/dist/cjs/sessions/db/schema.js +204 -0
- package/dist/cjs/sessions/in_memory_session_service.js +210 -0
- package/dist/cjs/sessions/registry.js +49 -0
- package/dist/cjs/sessions/session.js +48 -0
- package/dist/cjs/sessions/state.js +101 -0
- package/dist/cjs/skills/loader.js +283 -0
- package/dist/cjs/skills/prompt.js +58 -0
- package/dist/cjs/skills/skill.js +78 -0
- package/dist/cjs/telemetry/google_cloud.js +83 -0
- package/dist/cjs/telemetry/setup.js +105 -0
- package/dist/cjs/telemetry/tracing.js +253 -0
- package/dist/cjs/tools/agent_tool.js +219 -0
- package/dist/cjs/tools/base_tool.js +122 -0
- package/dist/cjs/tools/base_toolset.js +86 -0
- package/dist/cjs/tools/exit_loop_tool.js +63 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +87 -0
- package/dist/cjs/tools/function_tool.js +109 -0
- package/dist/cjs/tools/google_maps_grounding_tool.js +80 -0
- package/dist/cjs/tools/google_search_tool.js +80 -0
- package/dist/cjs/tools/load_artifacts_tool.js +188 -0
- package/dist/cjs/tools/load_memory_tool.js +107 -0
- package/dist/cjs/tools/long_running_tool.js +63 -0
- package/dist/cjs/tools/mcp/mcp_session_manager.js +77 -0
- package/dist/cjs/tools/mcp/mcp_tool.js +68 -0
- package/dist/cjs/tools/mcp/mcp_toolset.js +80 -0
- package/dist/cjs/tools/preload_memory_tool.js +109 -0
- package/dist/cjs/tools/skill/list_skills_tool.js +76 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +225 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +108 -0
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +146 -0
- package/dist/cjs/tools/skill/run_skill_script_tool.js +224 -0
- package/dist/cjs/tools/skill/skill_toolset.js +163 -0
- package/dist/cjs/tools/tool_confirmation.js +49 -0
- package/dist/cjs/tools/url_context_tool.js +73 -0
- package/dist/cjs/tools/vertex_ai_search_tool.js +127 -0
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +64 -0
- package/dist/cjs/utils/client_labels.js +56 -0
- package/dist/cjs/utils/env_aware_utils.js +92 -0
- package/dist/cjs/utils/experimental.js +74 -0
- package/dist/cjs/utils/failover_utils.js +93 -0
- package/dist/cjs/utils/file_extension_utils.js +77 -0
- package/dist/cjs/utils/file_utils.js +94 -0
- package/dist/cjs/utils/gemini_schema_util.js +152 -0
- package/dist/cjs/utils/logger.js +173 -0
- package/dist/cjs/utils/model_name.js +90 -0
- package/dist/cjs/utils/object_notation_utils.js +78 -0
- package/dist/cjs/utils/simple_zod_to_json.js +150 -0
- package/dist/cjs/utils/streaming_utils.js +330 -0
- package/dist/cjs/utils/variant_utils.js +49 -0
- package/dist/cjs/version.js +39 -0
- package/dist/esm/a2a/a2a_event.js +271 -0
- package/dist/esm/a2a/a2a_remote_agent.js +155 -0
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +184 -0
- package/dist/esm/a2a/a2a_remote_agent_utils.js +133 -0
- package/dist/esm/a2a/agent_card.js +342 -0
- package/dist/esm/a2a/agent_executor.js +204 -0
- package/dist/esm/a2a/agent_to_a2a.js +82 -0
- package/dist/esm/a2a/event_converter_utils.js +189 -0
- package/dist/esm/a2a/event_processor_utils.js +161 -0
- package/dist/esm/a2a/executor_context.js +25 -0
- package/dist/esm/a2a/metadata_converter_utils.js +93 -0
- package/dist/esm/a2a/part_converter_utils.js +188 -0
- package/dist/esm/agents/active_streaming_tool.js +16 -0
- package/dist/esm/agents/base_agent.js +268 -0
- package/dist/esm/agents/context.js +152 -0
- package/dist/esm/agents/functions.js +489 -0
- package/dist/esm/agents/instructions.js +82 -0
- package/dist/esm/agents/invocation_context.js +81 -0
- package/dist/esm/agents/live_request_queue.js +108 -0
- package/dist/esm/agents/llm_agent.js +708 -0
- package/dist/esm/agents/loop_agent.js +55 -0
- package/dist/esm/agents/parallel_agent.js +66 -0
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +103 -0
- package/dist/esm/agents/processors/base_llm_processor.js +15 -0
- package/dist/esm/agents/processors/basic_llm_request_processor.js +39 -0
- package/dist/esm/agents/processors/code_execution_request_processor.js +368 -0
- package/dist/esm/agents/processors/content_processor_utils.js +319 -0
- package/dist/esm/agents/processors/content_request_processor.js +61 -0
- package/dist/esm/agents/processors/context_compactor_request_processor.js +42 -0
- package/dist/esm/agents/processors/identity_llm_request_processor.js +25 -0
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +56 -0
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +142 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
- package/dist/esm/agents/readonly_context.js +55 -0
- package/dist/esm/agents/routed_agent.js +70 -0
- package/dist/esm/agents/run_config.js +42 -0
- package/dist/esm/agents/sequential_agent.js +77 -0
- package/dist/esm/agents/transcription_entry.js +7 -0
- package/dist/esm/artifacts/base_artifact_service.js +7 -0
- package/dist/esm/artifacts/file_artifact_service.js +480 -0
- package/dist/esm/artifacts/gcs_artifact_service.js +199 -0
- package/dist/esm/artifacts/in_memory_artifact_service.js +152 -0
- package/dist/esm/artifacts/registry.js +30 -0
- package/dist/esm/auth/auth_credential.js +18 -0
- package/dist/esm/auth/auth_handler.js +131 -0
- package/dist/esm/auth/auth_preprocessor.js +155 -0
- package/dist/esm/auth/auth_provider_registry.js +33 -0
- package/dist/esm/auth/auth_schemes.js +33 -0
- package/dist/esm/auth/auth_tool.js +7 -0
- package/dist/esm/auth/base_auth_provider.js +7 -0
- package/dist/esm/auth/credential_service/base_credential_service.js +7 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +35 -0
- package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +12 -0
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +31 -0
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +177 -0
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +85 -0
- package/dist/esm/auth/oauth2/oauth2_discovery.js +156 -0
- package/dist/esm/auth/oauth2/oauth2_utils.js +87 -0
- package/dist/esm/auth/refresher/base_credential_refresher.js +16 -0
- package/dist/esm/auth/refresher/credential_refresher_registry.js +40 -0
- package/dist/esm/code_executors/base_code_executor.js +63 -0
- package/dist/esm/code_executors/built_in_code_executor.js +45 -0
- package/dist/esm/code_executors/code_execution_utils.js +127 -0
- package/dist/esm/code_executors/code_executor_context.js +170 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
- package/dist/esm/common.js +245 -0
- package/dist/esm/context/base_context_compactor.js +7 -0
- package/dist/esm/context/summarizers/base_summarizer.js +7 -0
- package/dist/esm/context/summarizers/llm_summarizer.js +67 -0
- package/dist/esm/context/token_based_context_compactor.js +107 -0
- package/dist/esm/context/truncating_context_compactor.js +30 -0
- package/dist/esm/events/compacted_event.js +24 -0
- package/dist/esm/events/event.js +110 -0
- package/dist/esm/events/event_actions.js +54 -0
- package/dist/esm/events/structured_events.js +76 -0
- package/dist/esm/examples/base_example_provider.js +27 -0
- package/dist/esm/examples/example.js +7 -0
- package/dist/esm/examples/example_util.js +80 -0
- package/dist/esm/features/feature_registry.js +107 -0
- package/dist/esm/index.js +50 -0
- package/dist/esm/index_web.js +8 -0
- package/dist/esm/memory/base_memory_service.js +7 -0
- package/dist/esm/memory/in_memory_memory_service.js +71 -0
- package/dist/esm/memory/memory_entry.js +7 -0
- package/dist/esm/models/apigee_llm.js +154 -0
- package/dist/esm/models/base_llm.js +73 -0
- package/dist/esm/models/base_llm_connection.js +7 -0
- package/dist/esm/models/gemini_llm_connection.js +105 -0
- package/dist/esm/models/google_llm.js +265 -0
- package/dist/esm/models/llm_request.js +52 -0
- package/dist/esm/models/llm_response.js +45 -0
- package/dist/esm/models/registry.js +95 -0
- package/dist/esm/models/routed_llm.js +73 -0
- package/dist/esm/plugins/base_plugin.js +268 -0
- package/dist/esm/plugins/logging_plugin.js +235 -0
- package/dist/esm/plugins/plugin_manager.js +282 -0
- package/dist/esm/plugins/security_plugin.js +124 -0
- package/dist/esm/runner/in_memory_runner.js +30 -0
- package/dist/esm/runner/runner.js +360 -0
- package/dist/esm/sessions/base_session_service.js +91 -0
- package/dist/esm/sessions/database_session_service.js +355 -0
- package/dist/esm/sessions/db/operations.js +96 -0
- package/dist/esm/sessions/db/schema.js +174 -0
- package/dist/esm/sessions/in_memory_session_service.js +184 -0
- package/dist/esm/sessions/registry.js +27 -0
- package/dist/esm/sessions/session.js +20 -0
- package/dist/esm/sessions/state.js +73 -0
- package/dist/esm/skills/loader.js +244 -0
- package/dist/esm/skills/prompt.js +30 -0
- package/dist/esm/skills/skill.js +49 -0
- package/dist/esm/telemetry/google_cloud.js +54 -0
- package/dist/esm/telemetry/setup.js +83 -0
- package/dist/esm/telemetry/tracing.js +219 -0
- package/dist/esm/tools/agent_tool.js +190 -0
- package/dist/esm/tools/base_tool.js +93 -0
- package/dist/esm/tools/base_toolset.js +57 -0
- package/dist/esm/tools/exit_loop_tool.js +34 -0
- package/dist/esm/tools/forwarding_artifact_service.js +59 -0
- package/dist/esm/tools/function_tool.js +80 -0
- package/dist/esm/tools/google_maps_grounding_tool.js +54 -0
- package/dist/esm/tools/google_search_tool.js +51 -0
- package/dist/esm/tools/load_artifacts_tool.js +161 -0
- package/dist/esm/tools/load_memory_tool.js +80 -0
- package/dist/esm/tools/long_running_tool.js +37 -0
- package/dist/esm/tools/mcp/mcp_session_manager.js +53 -0
- package/dist/esm/tools/mcp/mcp_tool.js +40 -0
- package/dist/esm/tools/mcp/mcp_toolset.js +52 -0
- package/dist/esm/tools/preload_memory_tool.js +82 -0
- package/dist/esm/tools/skill/list_skills_tool.js +50 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +191 -0
- package/dist/esm/tools/skill/load_skill_tool.js +82 -0
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +120 -0
- package/dist/esm/tools/skill/run_skill_script_tool.js +192 -0
- package/dist/esm/tools/skill/skill_toolset.js +137 -0
- package/dist/esm/tools/tool_confirmation.js +21 -0
- package/dist/esm/tools/url_context_tool.js +44 -0
- package/dist/esm/tools/vertex_ai_search_tool.js +103 -0
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +36 -0
- package/dist/esm/utils/client_labels.js +28 -0
- package/dist/esm/utils/env_aware_utils.js +59 -0
- package/dist/esm/utils/experimental.js +46 -0
- package/dist/esm/utils/failover_utils.js +65 -0
- package/dist/esm/utils/file_extension_utils.js +51 -0
- package/dist/esm/utils/file_utils.js +56 -0
- package/dist/esm/utils/gemini_schema_util.js +124 -0
- package/dist/esm/utils/logger.js +130 -0
- package/dist/esm/utils/model_name.js +58 -0
- package/dist/esm/utils/object_notation_utils.js +49 -0
- package/dist/esm/utils/simple_zod_to_json.js +123 -0
- package/dist/esm/utils/streaming_utils.js +304 -0
- package/dist/esm/utils/variant_utils.js +20 -0
- package/dist/esm/version.js +11 -0
- package/dist/types/a2a/a2a_event.d.ts +139 -0
- package/dist/types/a2a/a2a_remote_agent.d.ts +67 -0
- package/dist/types/a2a/a2a_remote_agent_run_processor.d.ts +31 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +38 -0
- package/dist/types/a2a/agent_card.d.ts +23 -0
- package/dist/types/a2a/agent_executor.d.ts +52 -0
- package/dist/types/a2a/agent_to_a2a.d.ts +45 -0
- package/dist/types/a2a/event_converter_utils.d.ts +20 -0
- package/dist/types/a2a/event_processor_utils.d.ts +24 -0
- package/dist/types/a2a/executor_context.d.ts +33 -0
- package/dist/types/a2a/metadata_converter_utils.d.ts +63 -0
- package/dist/types/a2a/part_converter_utils.d.ts +48 -0
- package/dist/types/agents/active_streaming_tool.d.ts +29 -0
- package/dist/types/agents/base_agent.d.ts +194 -0
- package/dist/types/agents/context.d.ts +99 -0
- package/dist/types/agents/functions.d.ts +112 -0
- package/dist/types/agents/instructions.d.ts +32 -0
- package/dist/types/agents/invocation_context.d.ts +162 -0
- package/dist/types/agents/live_request_queue.d.ts +67 -0
- package/dist/types/agents/llm_agent.d.ts +351 -0
- package/dist/types/agents/loop_agent.d.ts +47 -0
- package/dist/types/agents/parallel_agent.d.ts +37 -0
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +18 -0
- package/dist/types/agents/processors/base_llm_processor.d.ts +27 -0
- package/dist/types/agents/processors/basic_llm_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/code_execution_request_processor.d.ts +34 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +36 -0
- package/dist/types/agents/processors/content_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/context_compactor_request_processor.d.ts +22 -0
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/instructions_llm_request_processor.d.ts +16 -0
- package/dist/types/agents/processors/request_confirmation_llm_request_processor.d.ts +13 -0
- package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
- package/dist/types/agents/readonly_context.d.ts +39 -0
- package/dist/types/agents/routed_agent.d.ts +59 -0
- package/dist/types/agents/run_config.d.ts +94 -0
- package/dist/types/agents/sequential_agent.d.ts +42 -0
- package/dist/types/agents/transcription_entry.d.ts +17 -0
- package/dist/types/artifacts/base_artifact_service.d.ts +158 -0
- package/dist/types/artifacts/file_artifact_service.d.ts +47 -0
- package/dist/types/artifacts/gcs_artifact_service.d.ts +18 -0
- package/dist/types/artifacts/in_memory_artifact_service.d.ts +21 -0
- package/dist/types/artifacts/registry.d.ts +7 -0
- package/dist/types/auth/auth_credential.d.ts +244 -0
- package/dist/types/auth/auth_handler.d.ts +28 -0
- package/dist/types/auth/auth_preprocessor.d.ts +12 -0
- package/dist/types/auth/auth_provider_registry.d.ts +27 -0
- package/dist/types/auth/auth_schemes.d.ts +39 -0
- package/dist/types/auth/auth_tool.d.ts +51 -0
- package/dist/types/auth/base_auth_provider.d.ts +20 -0
- package/dist/types/auth/credential_service/base_credential_service.d.ts +27 -0
- package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +19 -0
- package/dist/types/auth/credential_service/session_state_credential_service.d.ts +20 -0
- package/dist/types/auth/exchanger/base_credential_exchanger.d.ts +39 -0
- package/dist/types/auth/exchanger/credential_exchanger_registry.d.ts +28 -0
- package/dist/types/auth/oauth2/oauth2_credential_exchanger.d.ts +26 -0
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +29 -0
- package/dist/types/auth/oauth2/oauth2_discovery.d.ts +38 -0
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +56 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +38 -0
- package/dist/types/auth/refresher/credential_refresher_registry.d.ts +27 -0
- package/dist/types/code_executors/base_code_executor.d.ts +74 -0
- package/dist/types/code_executors/built_in_code_executor.d.ts +32 -0
- package/dist/types/code_executors/code_execution_utils.d.ts +127 -0
- package/dist/types/code_executors/code_executor_context.d.ts +85 -0
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
- package/dist/types/common.d.ts +137 -0
- package/dist/types/context/base_context_compactor.d.ts +24 -0
- package/dist/types/context/summarizers/base_summarizer.d.ts +19 -0
- package/dist/types/context/summarizers/llm_summarizer.d.ts +23 -0
- package/dist/types/context/token_based_context_compactor.d.ts +33 -0
- package/dist/types/context/truncating_context_compactor.d.ts +24 -0
- package/dist/types/events/compacted_event.d.ts +33 -0
- package/dist/types/events/event.d.ts +102 -0
- package/dist/types/events/event_actions.d.ts +74 -0
- package/dist/types/events/structured_events.d.ts +106 -0
- package/dist/types/examples/base_example_provider.d.ts +36 -0
- package/dist/types/examples/example.d.ts +19 -0
- package/dist/types/examples/example_util.d.ts +13 -0
- package/dist/types/features/feature_registry.d.ts +66 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/index_web.d.ts +6 -0
- package/dist/types/memory/base_memory_service.d.ts +53 -0
- package/dist/types/memory/in_memory_memory_service.d.ts +18 -0
- package/dist/types/memory/memory_entry.d.ts +30 -0
- package/dist/types/models/apigee_llm.d.ts +59 -0
- package/dist/types/models/base_llm.d.ts +66 -0
- package/dist/types/models/base_llm_connection.d.ts +51 -0
- package/dist/types/models/gemini_llm_connection.d.ts +54 -0
- package/dist/types/models/google_llm.d.ts +90 -0
- package/dist/types/models/llm_request.d.ts +53 -0
- package/dist/types/models/llm_response.d.ts +83 -0
- package/dist/types/models/registry.d.ts +49 -0
- package/dist/types/models/routed_llm.d.ts +38 -0
- package/dist/types/plugins/base_plugin.d.ts +368 -0
- package/dist/types/plugins/logging_plugin.d.ts +103 -0
- package/dist/types/plugins/plugin_manager.d.ts +175 -0
- package/dist/types/plugins/security_plugin.d.ts +60 -0
- package/dist/types/runner/in_memory_runner.d.ts +15 -0
- package/dist/types/runner/runner.d.ts +117 -0
- package/dist/types/sessions/base_session_service.d.ts +149 -0
- package/dist/types/sessions/database_session_service.d.ts +32 -0
- package/dist/types/sessions/db/operations.d.ts +28 -0
- package/dist/types/sessions/db/schema.d.ts +45 -0
- package/dist/types/sessions/in_memory_session_service.d.ts +30 -0
- package/dist/types/sessions/registry.d.ts +7 -0
- package/dist/types/sessions/session.d.ts +46 -0
- package/dist/types/sessions/state.d.ts +57 -0
- package/dist/types/skills/loader.d.ts +38 -0
- package/dist/types/skills/prompt.d.ts +13 -0
- package/dist/types/skills/skill.d.ts +48 -0
- package/dist/types/telemetry/google_cloud.d.ts +9 -0
- package/dist/types/telemetry/setup.d.ts +48 -0
- package/dist/types/telemetry/tracing.d.ts +112 -0
- package/dist/types/tools/agent_tool.d.ts +73 -0
- package/dist/types/tools/base_tool.d.ts +98 -0
- package/dist/types/tools/base_toolset.d.ts +74 -0
- package/dist/types/tools/exit_loop_tool.d.ts +24 -0
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -0
- package/dist/types/tools/function_tool.d.ts +62 -0
- package/dist/types/tools/google_maps_grounding_tool.d.ts +22 -0
- package/dist/types/tools/google_search_tool.d.ts +17 -0
- package/dist/types/tools/load_artifacts_tool.d.ts +21 -0
- package/dist/types/tools/load_memory_tool.d.ts +22 -0
- package/dist/types/tools/long_running_tool.d.ts +18 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +64 -0
- package/dist/types/tools/mcp/mcp_tool.d.ts +36 -0
- package/dist/types/tools/mcp/mcp_toolset.d.ts +44 -0
- package/dist/types/tools/preload_memory_tool.d.ts +23 -0
- package/dist/types/tools/skill/list_skills_tool.d.ts +14 -0
- package/dist/types/tools/skill/load_skill_resource_tool.d.ts +15 -0
- package/dist/types/tools/skill/load_skill_tool.d.ts +14 -0
- package/dist/types/tools/skill/run_skill_inline_script_tool.d.ts +14 -0
- package/dist/types/tools/skill/run_skill_script_tool.d.ts +17 -0
- package/dist/types/tools/skill/skill_toolset.d.ts +28 -0
- package/dist/types/tools/tool_confirmation.d.ts +25 -0
- package/dist/types/tools/url_context_tool.d.ts +17 -0
- package/dist/types/tools/vertex_ai_search_tool.d.ts +55 -0
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +42 -0
- package/dist/types/utils/client_labels.d.ts +9 -0
- package/dist/types/utils/env_aware_utils.d.ts +38 -0
- package/dist/types/utils/experimental.d.ts +11 -0
- package/dist/types/utils/failover_utils.d.ts +17 -0
- package/dist/types/utils/file_extension_utils.d.ts +21 -0
- package/dist/types/utils/file_utils.d.ts +11 -0
- package/dist/types/utils/gemini_schema_util.d.ts +15 -0
- package/dist/types/utils/logger.d.ts +38 -0
- package/dist/types/utils/model_name.d.ts +38 -0
- package/dist/types/utils/object_notation_utils.d.ts +21 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +13 -0
- package/dist/types/utils/streaming_utils.d.ts +40 -0
- package/dist/types/utils/variant_utils.d.ts +24 -0
- package/dist/types/version.d.ts +6 -0
- package/dist/web/a2a/a2a_event.js +271 -0
- package/dist/web/a2a/a2a_remote_agent.js +186 -0
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +184 -0
- package/dist/web/a2a/a2a_remote_agent_utils.js +133 -0
- package/dist/web/a2a/agent_card.js +342 -0
- package/dist/web/a2a/agent_executor.js +218 -0
- package/dist/web/a2a/agent_to_a2a.js +82 -0
- package/dist/web/a2a/event_converter_utils.js +203 -0
- package/dist/web/a2a/event_processor_utils.js +170 -0
- package/dist/web/a2a/executor_context.js +25 -0
- package/dist/web/a2a/metadata_converter_utils.js +110 -0
- package/dist/web/a2a/part_converter_utils.js +188 -0
- package/dist/web/agents/active_streaming_tool.js +16 -0
- package/dist/web/agents/base_agent.js +354 -0
- package/dist/web/agents/context.js +152 -0
- package/dist/web/agents/functions.js +520 -0
- package/dist/web/agents/instructions.js +82 -0
- package/dist/web/agents/invocation_context.js +81 -0
- package/dist/web/agents/live_request_queue.js +126 -0
- package/dist/web/agents/llm_agent.js +907 -0
- package/dist/web/agents/loop_agent.js +88 -0
- package/dist/web/agents/parallel_agent.js +101 -0
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +102 -0
- package/dist/web/agents/processors/base_llm_processor.js +15 -0
- package/dist/web/agents/processors/basic_llm_request_processor.js +73 -0
- package/dist/web/agents/processors/code_execution_request_processor.js +370 -0
- package/dist/web/agents/processors/content_processor_utils.js +318 -0
- package/dist/web/agents/processors/content_request_processor.js +79 -0
- package/dist/web/agents/processors/context_compactor_request_processor.js +60 -0
- package/dist/web/agents/processors/identity_llm_request_processor.js +43 -0
- package/dist/web/agents/processors/instructions_llm_request_processor.js +74 -0
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +160 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
- package/dist/web/agents/readonly_context.js +55 -0
- package/dist/web/agents/routed_agent.js +138 -0
- package/dist/web/agents/run_config.js +57 -0
- package/dist/web/agents/sequential_agent.js +122 -0
- package/dist/web/agents/transcription_entry.js +7 -0
- package/dist/web/artifacts/base_artifact_service.js +7 -0
- package/dist/web/artifacts/file_artifact_service.js +535 -0
- package/dist/web/artifacts/gcs_artifact_service.js +213 -0
- package/dist/web/artifacts/in_memory_artifact_service.js +152 -0
- package/dist/web/artifacts/registry.js +30 -0
- package/dist/web/auth/auth_credential.js +18 -0
- package/dist/web/auth/auth_handler.js +148 -0
- package/dist/web/auth/auth_preprocessor.js +173 -0
- package/dist/web/auth/auth_provider_registry.js +33 -0
- package/dist/web/auth/auth_schemes.js +33 -0
- package/dist/web/auth/auth_tool.js +7 -0
- package/dist/web/auth/base_auth_provider.js +7 -0
- package/dist/web/auth/credential_service/base_credential_service.js +7 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +35 -0
- package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/web/auth/exchanger/base_credential_exchanger.js +12 -0
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +31 -0
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +188 -0
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +102 -0
- package/dist/web/auth/oauth2/oauth2_discovery.js +156 -0
- package/dist/web/auth/oauth2/oauth2_utils.js +87 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +16 -0
- package/dist/web/auth/refresher/credential_refresher_registry.js +40 -0
- package/dist/web/code_executors/base_code_executor.js +63 -0
- package/dist/web/code_executors/built_in_code_executor.js +45 -0
- package/dist/web/code_executors/code_execution_utils.js +124 -0
- package/dist/web/code_executors/code_executor_context.js +170 -0
- package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
- package/dist/web/common.js +245 -0
- package/dist/web/context/base_context_compactor.js +7 -0
- package/dist/web/context/summarizers/base_summarizer.js +7 -0
- package/dist/web/context/summarizers/llm_summarizer.js +76 -0
- package/dist/web/context/token_based_context_compactor.js +107 -0
- package/dist/web/context/truncating_context_compactor.js +30 -0
- package/dist/web/events/compacted_event.js +42 -0
- package/dist/web/events/event.js +128 -0
- package/dist/web/events/event_actions.js +69 -0
- package/dist/web/events/structured_events.js +76 -0
- package/dist/web/examples/base_example_provider.js +27 -0
- package/dist/web/examples/example.js +7 -0
- package/dist/web/examples/example_util.js +79 -0
- package/dist/web/features/feature_registry.js +107 -0
- package/dist/web/index.js +50 -0
- package/dist/web/index_web.js +8 -0
- package/dist/web/memory/base_memory_service.js +7 -0
- package/dist/web/memory/in_memory_memory_service.js +71 -0
- package/dist/web/memory/memory_entry.js +7 -0
- package/dist/web/models/apigee_llm.js +221 -0
- package/dist/web/models/base_llm.js +73 -0
- package/dist/web/models/base_llm_connection.js +7 -0
- package/dist/web/models/gemini_llm_connection.js +123 -0
- package/dist/web/models/google_llm.js +321 -0
- package/dist/web/models/llm_request.js +52 -0
- package/dist/web/models/llm_response.js +45 -0
- package/dist/web/models/registry.js +95 -0
- package/dist/web/models/routed_llm.js +122 -0
- package/dist/web/plugins/base_plugin.js +268 -0
- package/dist/web/plugins/logging_plugin.js +235 -0
- package/dist/web/plugins/plugin_manager.js +282 -0
- package/dist/web/plugins/security_plugin.js +124 -0
- package/dist/web/runner/in_memory_runner.js +30 -0
- package/dist/web/runner/runner.js +426 -0
- package/dist/web/sessions/base_session_service.js +91 -0
- package/dist/web/sessions/database_session_service.js +373 -0
- package/dist/web/sessions/db/operations.js +96 -0
- package/dist/web/sessions/db/schema.js +174 -0
- package/dist/web/sessions/in_memory_session_service.js +184 -0
- package/dist/web/sessions/registry.js +27 -0
- package/dist/web/sessions/session.js +20 -0
- package/dist/web/sessions/state.js +89 -0
- package/dist/web/skills/loader.js +262 -0
- package/dist/web/skills/prompt.js +30 -0
- package/dist/web/skills/skill.js +67 -0
- package/dist/web/telemetry/google_cloud.js +54 -0
- package/dist/web/telemetry/setup.js +83 -0
- package/dist/web/telemetry/tracing.js +234 -0
- package/dist/web/tools/agent_tool.js +233 -0
- package/dist/web/tools/base_tool.js +93 -0
- package/dist/web/tools/base_toolset.js +57 -0
- package/dist/web/tools/exit_loop_tool.js +34 -0
- package/dist/web/tools/forwarding_artifact_service.js +59 -0
- package/dist/web/tools/function_tool.js +80 -0
- package/dist/web/tools/google_maps_grounding_tool.js +54 -0
- package/dist/web/tools/google_search_tool.js +51 -0
- package/dist/web/tools/load_artifacts_tool.js +152 -0
- package/dist/web/tools/load_memory_tool.js +79 -0
- package/dist/web/tools/long_running_tool.js +54 -0
- package/dist/web/tools/mcp/mcp_session_manager.js +53 -0
- package/dist/web/tools/mcp/mcp_tool.js +40 -0
- package/dist/web/tools/mcp/mcp_toolset.js +70 -0
- package/dist/web/tools/preload_memory_tool.js +77 -0
- package/dist/web/tools/skill/list_skills_tool.js +50 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +191 -0
- package/dist/web/tools/skill/load_skill_tool.js +82 -0
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +120 -0
- package/dist/web/tools/skill/run_skill_script_tool.js +190 -0
- package/dist/web/tools/skill/skill_toolset.js +123 -0
- package/dist/web/tools/tool_confirmation.js +21 -0
- package/dist/web/tools/url_context_tool.js +44 -0
- package/dist/web/tools/vertex_ai_search_tool.js +103 -0
- package/dist/web/tools/vertex_rag_retrieval_tool.js +36 -0
- package/dist/web/utils/client_labels.js +28 -0
- package/dist/web/utils/env_aware_utils.js +59 -0
- package/dist/web/utils/experimental.js +46 -0
- package/dist/web/utils/failover_utils.js +96 -0
- package/dist/web/utils/file_extension_utils.js +51 -0
- package/dist/web/utils/file_utils.js +74 -0
- package/dist/web/utils/gemini_schema_util.js +155 -0
- package/dist/web/utils/logger.js +130 -0
- package/dist/web/utils/model_name.js +58 -0
- package/dist/web/utils/object_notation_utils.js +49 -0
- package/dist/web/utils/simple_zod_to_json.js +123 -0
- package/dist/web/utils/streaming_utils.js +322 -0
- package/dist/web/utils/variant_utils.js +20 -0
- package/dist/web/version.js +11 -0
- package/package.json +84 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration, Schema } from '@google/genai';
|
|
7
|
+
import { z as z3 } from 'zod/v3';
|
|
8
|
+
import { z as z4 } from 'zod/v4';
|
|
9
|
+
import { Context } from '../agents/context.js';
|
|
10
|
+
import { BaseTool, RunAsyncToolRequest } from './base_tool.js';
|
|
11
|
+
/**
|
|
12
|
+
* Input parameters of the function tool.
|
|
13
|
+
*/
|
|
14
|
+
export type ToolInputParameters = z3.ZodObject<z3.ZodRawShape> | z4.ZodObject<z4.ZodRawShape> | Schema | undefined;
|
|
15
|
+
export type ToolExecuteArgument<TParameters extends ToolInputParameters> = TParameters extends z3.ZodObject<infer T, infer U, infer V> ? z3.infer<z3.ZodObject<T, U, V>> : TParameters extends z4.ZodObject<infer T> ? z4.infer<z4.ZodObject<T>> : TParameters extends Schema ? unknown : string;
|
|
16
|
+
export type ToolExecuteFunction<TParameters extends ToolInputParameters> = (input: ToolExecuteArgument<TParameters>, tool_context?: Context) => Promise<unknown> | unknown;
|
|
17
|
+
/**
|
|
18
|
+
* The configuration options for creating a function-based tool.
|
|
19
|
+
* The `name`, `description` and `parameters` fields are used to generate the
|
|
20
|
+
* tool definition that is passed to the LLM prompt.
|
|
21
|
+
*
|
|
22
|
+
* Note: Unlike Python's ADK, JSDoc on the `execute` function is ignored
|
|
23
|
+
* for tool definition generation.
|
|
24
|
+
*/
|
|
25
|
+
export type ToolOptions<TParameters extends ToolInputParameters> = {
|
|
26
|
+
name?: string;
|
|
27
|
+
description: string;
|
|
28
|
+
parameters?: TParameters;
|
|
29
|
+
execute: ToolExecuteFunction<TParameters>;
|
|
30
|
+
isLongRunning?: boolean;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* A unique symbol to identify ADK agent classes.
|
|
34
|
+
* Defined once and shared by all BaseTool instances.
|
|
35
|
+
*/
|
|
36
|
+
declare const FUNCTION_TOOL_SIGNATURE_SYMBOL: unique symbol;
|
|
37
|
+
/**
|
|
38
|
+
* Type guard to check if an object is an instance of BaseTool.
|
|
39
|
+
* @param obj The object to check.
|
|
40
|
+
* @returns True if the object is an instance of BaseTool, false otherwise.
|
|
41
|
+
*/
|
|
42
|
+
export declare function isFunctionTool(obj: unknown): obj is FunctionTool;
|
|
43
|
+
export declare class FunctionTool<TParameters extends ToolInputParameters = undefined> extends BaseTool {
|
|
44
|
+
/** A unique symbol to identify ADK function tool class. */
|
|
45
|
+
readonly [FUNCTION_TOOL_SIGNATURE_SYMBOL] = true;
|
|
46
|
+
private readonly execute;
|
|
47
|
+
private readonly parameters?;
|
|
48
|
+
/**
|
|
49
|
+
* The constructor acts as the user-friendly factory.
|
|
50
|
+
* @param options The configuration for the tool.
|
|
51
|
+
*/
|
|
52
|
+
constructor(options: ToolOptions<TParameters>);
|
|
53
|
+
/**
|
|
54
|
+
* Provide a schema for the function.
|
|
55
|
+
*/
|
|
56
|
+
_getDeclaration(): FunctionDeclaration;
|
|
57
|
+
/**
|
|
58
|
+
* Logic for running the tool.
|
|
59
|
+
*/
|
|
60
|
+
runAsync(req: RunAsyncToolRequest): Promise<unknown>;
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LlmRequest } from '../models/llm_request.js';
|
|
2
|
+
import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
|
|
3
|
+
/**
|
|
4
|
+
* Applies Google Maps grounding to the LLM request if supported.
|
|
5
|
+
*/
|
|
6
|
+
export declare function applyGoogleMapsGrounding(llmRequest: LlmRequest): void;
|
|
7
|
+
/**
|
|
8
|
+
* A built-in tool that is automatically invoked by Gemini 2 models to ground
|
|
9
|
+
* query results with Google Maps.
|
|
10
|
+
*
|
|
11
|
+
* This tool operates internally within the model and does not require or
|
|
12
|
+
* perform local code execution.
|
|
13
|
+
*/
|
|
14
|
+
export declare class GoogleMapsGroundingTool extends BaseTool {
|
|
15
|
+
constructor();
|
|
16
|
+
runAsync(): Promise<unknown>;
|
|
17
|
+
processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A global instance of {@link GoogleMapsGroundingTool}.
|
|
21
|
+
*/
|
|
22
|
+
export declare const GOOGLE_MAPS_GROUNDING: GoogleMapsGroundingTool;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
|
|
2
|
+
/**
|
|
3
|
+
* A built-in tool that is automatically invoked by Gemini 2 models to retrieve
|
|
4
|
+
* search results from Google Search.
|
|
5
|
+
*
|
|
6
|
+
* This tool operates internally within the model and does not require or
|
|
7
|
+
* perform local code execution.
|
|
8
|
+
*/
|
|
9
|
+
export declare class GoogleSearchTool extends BaseTool {
|
|
10
|
+
constructor();
|
|
11
|
+
runAsync(): Promise<unknown>;
|
|
12
|
+
processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A global instance of {@link GoogleSearchTool}.
|
|
16
|
+
*/
|
|
17
|
+
export declare const GOOGLE_SEARCH: GoogleSearchTool;
|
|
@@ -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, RunAsyncToolRequest, ToolProcessLlmRequest } from './base_tool.js';
|
|
8
|
+
/**
|
|
9
|
+
* A tool that loads the artifacts and adds them to the session.
|
|
10
|
+
*/
|
|
11
|
+
export declare class LoadArtifactsTool extends BaseTool {
|
|
12
|
+
constructor();
|
|
13
|
+
_getDeclaration(): FunctionDeclaration | undefined;
|
|
14
|
+
runAsync({ args }: RunAsyncToolRequest): Promise<unknown>;
|
|
15
|
+
processLlmRequest(request: ToolProcessLlmRequest): Promise<void>;
|
|
16
|
+
private appendArtifactsToLlmRequest;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A global instance of {@link LoadArtifactsTool}.
|
|
20
|
+
*/
|
|
21
|
+
export declare const LOAD_ARTIFACTS: LoadArtifactsTool;
|
|
@@ -0,0 +1,22 @@
|
|
|
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, ToolProcessLlmRequest } from './base_tool.js';
|
|
8
|
+
/**
|
|
9
|
+
* A tool that loads the memory for the current user.
|
|
10
|
+
*
|
|
11
|
+
* NOTE: Currently this tool only uses text part from the memory.
|
|
12
|
+
*/
|
|
13
|
+
export declare class LoadMemoryTool extends BaseTool {
|
|
14
|
+
constructor();
|
|
15
|
+
_getDeclaration(): FunctionDeclaration | undefined;
|
|
16
|
+
runAsync({ args, toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
17
|
+
processLlmRequest(request: ToolProcessLlmRequest): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A global instance of {@link LoadMemoryTool}.
|
|
21
|
+
*/
|
|
22
|
+
export declare const LOAD_MEMORY: LoadMemoryTool;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { FunctionTool, ToolInputParameters, ToolOptions } from './function_tool.js';
|
|
8
|
+
export declare class LongRunningFunctionTool<TParameters extends ToolInputParameters = undefined> extends FunctionTool<TParameters> {
|
|
9
|
+
/**
|
|
10
|
+
* The constructor acts as the user-friendly factory.
|
|
11
|
+
* @param options The configuration for the tool.
|
|
12
|
+
*/
|
|
13
|
+
constructor(options: ToolOptions<TParameters>);
|
|
14
|
+
/**
|
|
15
|
+
* Provide a schema for the function.
|
|
16
|
+
*/
|
|
17
|
+
_getDeclaration(): FunctionDeclaration;
|
|
18
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
7
|
+
import { StdioServerParameters } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
8
|
+
import { StreamableHTTPClientTransportOptions } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
|
|
9
|
+
/**
|
|
10
|
+
* Defines the parameters for establishing a connection to an MCP server using
|
|
11
|
+
* standard input/output (stdio). This is typically used for running MCP servers
|
|
12
|
+
* as local child processes.
|
|
13
|
+
*/
|
|
14
|
+
export interface StdioConnectionParams {
|
|
15
|
+
type: 'StdioConnectionParams';
|
|
16
|
+
serverParams: StdioServerParameters;
|
|
17
|
+
timeout?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Defines the parameters for establishing a connection to an MCP server over
|
|
21
|
+
* HTTP using Server-Sent Events (SSE) for streaming.
|
|
22
|
+
*
|
|
23
|
+
* Usage:
|
|
24
|
+
* const connectionParams: StreamableHTTPConnectionParams = {
|
|
25
|
+
* type: 'StreamableHTTPConnectionParams',
|
|
26
|
+
* url: 'http://localhost:8788/mcp'
|
|
27
|
+
* };
|
|
28
|
+
*/
|
|
29
|
+
export interface StreamableHTTPConnectionParams {
|
|
30
|
+
type: 'StreamableHTTPConnectionParams';
|
|
31
|
+
url: string;
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated
|
|
34
|
+
* Use transportOptions.requestInit.headers instead.
|
|
35
|
+
* This field will be ignored if transportOptions is provided even if no headers are specified in transportOptions.
|
|
36
|
+
*/
|
|
37
|
+
header?: Record<string, unknown>;
|
|
38
|
+
timeout?: number;
|
|
39
|
+
sseReadTimeout?: number;
|
|
40
|
+
terminateOnClose?: boolean;
|
|
41
|
+
transportOptions?: StreamableHTTPClientTransportOptions;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A union of all supported MCP connection parameter types.
|
|
45
|
+
*/
|
|
46
|
+
export type MCPConnectionParams = StdioConnectionParams | StreamableHTTPConnectionParams;
|
|
47
|
+
/**
|
|
48
|
+
* Manages Model Context Protocol (MCP) client sessions.
|
|
49
|
+
*
|
|
50
|
+
* This class is responsible for establishing and managing connections to MCP
|
|
51
|
+
* servers. It supports different transport protocols like Standard I/O (Stdio)
|
|
52
|
+
* and Server-Sent Events (SSE) over HTTP, determined by the provided
|
|
53
|
+
* connection parameters.
|
|
54
|
+
*
|
|
55
|
+
* The primary purpose of this manager is to abstract away the details of
|
|
56
|
+
* session creation and connection handling, providing a simple interface for
|
|
57
|
+
* creating new MCP client instances that can be used to interact with
|
|
58
|
+
* remote tools.
|
|
59
|
+
*/
|
|
60
|
+
export declare class MCPSessionManager {
|
|
61
|
+
private readonly connectionParams;
|
|
62
|
+
constructor(connectionParams: MCPConnectionParams);
|
|
63
|
+
createSession(): Promise<Client>;
|
|
64
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
+
import { BaseTool, RunAsyncToolRequest } from '../base_tool.js';
|
|
9
|
+
import { MCPSessionManager } from './mcp_session_manager.js';
|
|
10
|
+
/**
|
|
11
|
+
* Represents a tool exposed via the Model Context Protocol (MCP).
|
|
12
|
+
*
|
|
13
|
+
* This class acts as a wrapper around a tool definition received from an MCP
|
|
14
|
+
* server. It translates the MCP tool's schema into a format compatible with
|
|
15
|
+
* the Gemini AI platform (FunctionDeclaration) and handles the remote
|
|
16
|
+
* execution of the tool by communicating with the MCP server through an
|
|
17
|
+
* {@link MCPSessionManager}.
|
|
18
|
+
*
|
|
19
|
+
* When an LLM decides to call this tool, the `runAsync` method will be
|
|
20
|
+
* invoked, which in turn establishes an MCP session, sends a `callTool`
|
|
21
|
+
* request with the provided arguments, and returns the result from the
|
|
22
|
+
* remote tool.
|
|
23
|
+
*
|
|
24
|
+
* The originalName parameter allows the tool to track the native tool name
|
|
25
|
+
* exposed by the MCP server. This is critical when the toolset applies a
|
|
26
|
+
* prefix to tool names (e.g., for LLM namespace disambiguation), ensuring
|
|
27
|
+
* the correct original name is used when executing on the server.
|
|
28
|
+
*/
|
|
29
|
+
export declare class MCPTool extends BaseTool {
|
|
30
|
+
private readonly mcpTool;
|
|
31
|
+
private readonly mcpSessionManager;
|
|
32
|
+
private readonly originalName;
|
|
33
|
+
constructor(mcpTool: Tool, mcpSessionManager: MCPSessionManager, originalName?: string);
|
|
34
|
+
_getDeclaration(): FunctionDeclaration;
|
|
35
|
+
runAsync(request: RunAsyncToolRequest): Promise<unknown>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 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 { MCPConnectionParams } from './mcp_session_manager.js';
|
|
10
|
+
/**
|
|
11
|
+
* A toolset that dynamically discovers and provides tools from a Model Context
|
|
12
|
+
* Protocol (MCP) server.
|
|
13
|
+
*
|
|
14
|
+
* This class connects to an MCP server, retrieves the list of available tools,
|
|
15
|
+
* and wraps each of them in an {@link MCPTool} instance. This allows the agent
|
|
16
|
+
* to seamlessly use tools from an external MCP-compliant service.
|
|
17
|
+
*
|
|
18
|
+
* The toolset can be configured with a filter to selectively expose a subset
|
|
19
|
+
* of the tools provided by the MCP server.
|
|
20
|
+
*
|
|
21
|
+
* It can also be configured with a prefix. If provided, all tools discovered
|
|
22
|
+
* from the MCP server will have their names prefixed with `${prefix}_`. When the
|
|
23
|
+
* LLM invokes the prefixed tool, this toolset transparently strips the prefix
|
|
24
|
+
* before sending the request to the underlying MCP server.
|
|
25
|
+
*
|
|
26
|
+
* Usage:
|
|
27
|
+
* import { MCPToolset } from '@google/adk';
|
|
28
|
+
* import { StreamableHTTPConnectionParamsSchema } from '@google/adk';
|
|
29
|
+
*
|
|
30
|
+
* const connectionParams = StreamableHTTPConnectionParamsSchema.parse({
|
|
31
|
+
* type: "StreamableHTTPConnectionParams",
|
|
32
|
+
* url: "http://localhost:8788/mcp"
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* const mcpToolset = new MCPToolset(connectionParams);
|
|
36
|
+
* const tools = await mcpToolset.getTools();
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
39
|
+
export declare class MCPToolset extends BaseToolset {
|
|
40
|
+
private readonly mcpSessionManager;
|
|
41
|
+
constructor(connectionParams: MCPConnectionParams, toolFilter?: ToolPredicate | string[], prefix?: string);
|
|
42
|
+
getTools(context?: ReadonlyContext): Promise<BaseTool[]>;
|
|
43
|
+
close(): Promise<void>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseTool, RunAsyncToolRequest, ToolProcessLlmRequest } from './base_tool.js';
|
|
7
|
+
/**
|
|
8
|
+
* A tool that preloads the memory for the current user.
|
|
9
|
+
*
|
|
10
|
+
* This tool will be automatically executed for each llm_request, and it won't be
|
|
11
|
+
* called by the model.
|
|
12
|
+
*
|
|
13
|
+
* NOTE: Currently this tool only uses text part from the memory.
|
|
14
|
+
*/
|
|
15
|
+
export declare class PreloadMemoryTool extends BaseTool {
|
|
16
|
+
constructor();
|
|
17
|
+
runAsync({ args, toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
18
|
+
processLlmRequest(request: ToolProcessLlmRequest): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A global instance of {@link PreloadMemoryTool}.
|
|
22
|
+
*/
|
|
23
|
+
export declare const PRELOAD_MEMORY: PreloadMemoryTool;
|
|
@@ -0,0 +1,14 @@
|
|
|
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 { SkillToolset } from './skill_toolset.js';
|
|
9
|
+
export declare class ListSkillsTool extends BaseTool {
|
|
10
|
+
private toolset;
|
|
11
|
+
constructor(toolset: SkillToolset);
|
|
12
|
+
_getDeclaration(): FunctionDeclaration;
|
|
13
|
+
runAsync(_request: RunAsyncToolRequest): Promise<unknown>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
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, ToolProcessLlmRequest } from '../base_tool.js';
|
|
8
|
+
import { SkillToolset } from './skill_toolset.js';
|
|
9
|
+
export declare class LoadSkillResourceTool extends BaseTool {
|
|
10
|
+
private toolset;
|
|
11
|
+
constructor(toolset: SkillToolset);
|
|
12
|
+
_getDeclaration(): FunctionDeclaration;
|
|
13
|
+
runAsync({ args }: RunAsyncToolRequest): Promise<unknown>;
|
|
14
|
+
processLlmRequest(request: ToolProcessLlmRequest): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
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 { SkillToolset } from './skill_toolset.js';
|
|
9
|
+
export declare class LoadSkillTool extends BaseTool {
|
|
10
|
+
private toolset;
|
|
11
|
+
constructor(toolset: SkillToolset);
|
|
12
|
+
_getDeclaration(): FunctionDeclaration;
|
|
13
|
+
runAsync({ args, toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
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 { SkillToolset } from './skill_toolset.js';
|
|
9
|
+
export declare class RunSkillInlineScriptTool extends BaseTool {
|
|
10
|
+
private toolset;
|
|
11
|
+
constructor(toolset: SkillToolset);
|
|
12
|
+
_getDeclaration(): FunctionDeclaration;
|
|
13
|
+
runAsync({ args, toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { FunctionDeclaration } from '@google/genai';
|
|
7
|
+
import { File } from '../../code_executors/code_execution_utils.js';
|
|
8
|
+
import { Skill } from '../../skills/skill.js';
|
|
9
|
+
import { BaseTool, RunAsyncToolRequest } from '../base_tool.js';
|
|
10
|
+
import { SkillToolset } from './skill_toolset.js';
|
|
11
|
+
export declare class RunSkillScriptTool extends BaseTool {
|
|
12
|
+
private toolset;
|
|
13
|
+
constructor(toolset: SkillToolset);
|
|
14
|
+
_getDeclaration(): FunctionDeclaration;
|
|
15
|
+
runAsync({ args, toolContext, }: RunAsyncToolRequest): Promise<unknown>;
|
|
16
|
+
}
|
|
17
|
+
export declare function getSkillResourceFiles(skill: Skill): File[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Context } from '../../agents/context.js';
|
|
7
|
+
import { ReadonlyContext } from '../../agents/readonly_context.js';
|
|
8
|
+
import { BaseCodeExecutor } from '../../code_executors/base_code_executor.js';
|
|
9
|
+
import { LlmRequest } from '../../models/llm_request.js';
|
|
10
|
+
import { Skill } from '../../skills/skill.js';
|
|
11
|
+
import { BaseTool } from '../base_tool.js';
|
|
12
|
+
import { BaseToolset } from '../base_toolset.js';
|
|
13
|
+
export declare class SkillToolset extends BaseToolset {
|
|
14
|
+
skills: Record<string, Skill>;
|
|
15
|
+
private tools;
|
|
16
|
+
additionalTools: Array<BaseTool | BaseToolset>;
|
|
17
|
+
codeExecutor?: BaseCodeExecutor;
|
|
18
|
+
private toolCache;
|
|
19
|
+
constructor(skills: Record<string, Skill> | Skill[], options?: {
|
|
20
|
+
codeExecutor?: BaseCodeExecutor;
|
|
21
|
+
additionalTools?: Array<BaseTool | BaseToolset>;
|
|
22
|
+
});
|
|
23
|
+
getTools(context?: ReadonlyContext): Promise<BaseTool[]>;
|
|
24
|
+
close(): Promise<void>;
|
|
25
|
+
getSkill(name: string): Skill | undefined;
|
|
26
|
+
processLlmRequest(toolContext: Context, llmRequest: LlmRequest): Promise<void>;
|
|
27
|
+
private resolveAdditionalTools;
|
|
28
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Represents a tool confirmation configuration.
|
|
8
|
+
* @experimental (Experimental, subject to change)
|
|
9
|
+
*/
|
|
10
|
+
export declare class ToolConfirmation {
|
|
11
|
+
/** The hint text for why the input is needed. */
|
|
12
|
+
hint: string;
|
|
13
|
+
/** Whether the tool execution is confirmed. */
|
|
14
|
+
confirmed: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* The custom data payload needed from the user to continue the flow.
|
|
17
|
+
* It should be JSON serializable.
|
|
18
|
+
*/
|
|
19
|
+
payload?: unknown;
|
|
20
|
+
constructor({ hint, confirmed, payload, }: {
|
|
21
|
+
hint?: string;
|
|
22
|
+
confirmed: boolean;
|
|
23
|
+
payload?: unknown;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
|
|
2
|
+
/**
|
|
3
|
+
* A built-in tool that allows Gemini 2+ models to retrieve content from URLs
|
|
4
|
+
* provided in the conversation.
|
|
5
|
+
*
|
|
6
|
+
* This tool operates internally within the model and does not require or
|
|
7
|
+
* perform local code execution.
|
|
8
|
+
*/
|
|
9
|
+
export declare class UrlContextTool extends BaseTool {
|
|
10
|
+
constructor();
|
|
11
|
+
runAsync(): Promise<unknown>;
|
|
12
|
+
processLlmRequest({ llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A global instance of {@link UrlContextTool}.
|
|
16
|
+
*/
|
|
17
|
+
export declare const URL_CONTEXT: UrlContextTool;
|
|
@@ -0,0 +1,55 @@
|
|
|
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, ToolProcessLlmRequest } from './base_tool.js';
|
|
8
|
+
export interface VertexAISearchDataStoreSpec {
|
|
9
|
+
dataStore?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface VertexAISearchConfig {
|
|
12
|
+
datastore?: string;
|
|
13
|
+
dataStoreSpecs?: VertexAISearchDataStoreSpec[];
|
|
14
|
+
engine?: string;
|
|
15
|
+
filter?: string;
|
|
16
|
+
maxResults?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface BaseVertexAiSearchToolParams {
|
|
19
|
+
filter?: string;
|
|
20
|
+
maxResults?: number;
|
|
21
|
+
bypassMultiToolsLimit?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface DataStoreParams extends BaseVertexAiSearchToolParams {
|
|
24
|
+
dataStoreId: string;
|
|
25
|
+
searchEngineId?: never;
|
|
26
|
+
dataStoreSpecs?: never;
|
|
27
|
+
}
|
|
28
|
+
export interface SearchEngineParams extends BaseVertexAiSearchToolParams {
|
|
29
|
+
searchEngineId: string;
|
|
30
|
+
dataStoreId?: never;
|
|
31
|
+
dataStoreSpecs?: VertexAISearchDataStoreSpec[];
|
|
32
|
+
}
|
|
33
|
+
export type VertexAiSearchToolParams = DataStoreParams | SearchEngineParams;
|
|
34
|
+
/**
|
|
35
|
+
* A built-in tool using Vertex AI Search.
|
|
36
|
+
*/
|
|
37
|
+
export declare class VertexAiSearchTool extends BaseTool {
|
|
38
|
+
readonly dataStoreId?: string;
|
|
39
|
+
readonly dataStoreSpecs?: VertexAISearchDataStoreSpec[];
|
|
40
|
+
readonly searchEngineId?: string;
|
|
41
|
+
readonly filter?: string;
|
|
42
|
+
readonly maxResults?: number;
|
|
43
|
+
readonly bypassMultiToolsLimit: boolean;
|
|
44
|
+
constructor(params: VertexAiSearchToolParams);
|
|
45
|
+
runAsync(): Promise<unknown>;
|
|
46
|
+
/**
|
|
47
|
+
* Builds the VertexAISearch configuration.
|
|
48
|
+
*
|
|
49
|
+
* Override this method in a subclass to dynamically customize the search
|
|
50
|
+
* configuration based on the context (e.g., set filter based on session
|
|
51
|
+
* state).
|
|
52
|
+
*/
|
|
53
|
+
protected buildVertexAiSearchConfig(_readonlyContext: ReadonlyContext): VertexAISearchConfig;
|
|
54
|
+
processLlmRequest({ toolContext, llmRequest, }: ToolProcessLlmRequest): Promise<void>;
|
|
55
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { VertexRagStore } from '@google/genai';
|
|
7
|
+
import { BaseTool, ToolProcessLlmRequest } from './base_tool.js';
|
|
8
|
+
/**
|
|
9
|
+
* A tool that retrieves relevant content from a Vertex AI RAG corpus to ground
|
|
10
|
+
* model responses.
|
|
11
|
+
*
|
|
12
|
+
* This tool operates server-side; it modifies the LLM request config to enable
|
|
13
|
+
* RAG retrieval via the `retrieval.vertexRagStore` field and does not perform
|
|
14
|
+
* local code execution.
|
|
15
|
+
*
|
|
16
|
+
* **Note:** The Vertex AI RAG Engine only supports one corpus per
|
|
17
|
+
* `ragResources` array. Create one `VertexRagRetrievalTool` instance per
|
|
18
|
+
* corpus.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { VertexRagRetrievalTool } from '@google/adk';
|
|
23
|
+
* import { VertexRagStore } from '@google/genai';
|
|
24
|
+
*
|
|
25
|
+
* const ragTool = new VertexRagRetrievalTool({
|
|
26
|
+
* ragResources: [{ragCorpus: 'projects/my-project/locations/us-central1/ragCorpora/my-corpus'}],
|
|
27
|
+
* similarityTopK: 5,
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* const agent = new LlmAgent({ tools: [ragTool], ... });
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare class VertexRagRetrievalTool extends BaseTool {
|
|
34
|
+
private readonly vertexRagStore;
|
|
35
|
+
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
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Returns true if the environment is a browser.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isBrowser(): boolean;
|
|
10
|
+
export declare function randomUUID(): string;
|
|
11
|
+
/**
|
|
12
|
+
* Encodes the given string to base64.
|
|
13
|
+
*
|
|
14
|
+
* @param data The string to encode.
|
|
15
|
+
* @return The base64-encoded string.
|
|
16
|
+
*/
|
|
17
|
+
export declare function base64Encode(data: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Decodes the given base64 string to a string.
|
|
20
|
+
*
|
|
21
|
+
* @param data The base64-encoded string.
|
|
22
|
+
* @return The decoded string.
|
|
23
|
+
*/
|
|
24
|
+
export declare function base64Decode(data: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* Checks if the given string is base64-encoded.
|
|
27
|
+
*
|
|
28
|
+
* @param data The string to check.
|
|
29
|
+
* @return True if the string is base64-encoded, false otherwise.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isBase64Encoded(data: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the boolean value of the given environment variable.
|
|
34
|
+
*
|
|
35
|
+
* @param envVar The environment variable to get the value of.
|
|
36
|
+
* @return The boolean value of the environment variable.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getBooleanEnvVar(envVar: string): boolean;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Decorator to mark classes and methods as experimental.
|
|
8
|
+
* Logs a warning once per item when the class is instantiated or the method is called.
|
|
9
|
+
*/
|
|
10
|
+
export type Constructor = new (...args: unknown[]) => any;
|
|
11
|
+
export declare function experimental<T extends Constructor | object, P extends string | symbol | undefined = undefined>(target: T, propertyKey?: P, descriptor?: PropertyDescriptor): P extends undefined ? T : PropertyDescriptor;
|