@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,57 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2025 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
var _a;
|
|
9
|
+
const BASE_TOOLSET_SIGNATURE_SYMBOL = Symbol.for("google.adk.baseToolset");
|
|
10
|
+
function isBaseToolset(obj) {
|
|
11
|
+
return typeof obj === "object" && obj !== null && BASE_TOOLSET_SIGNATURE_SYMBOL in obj && obj[BASE_TOOLSET_SIGNATURE_SYMBOL] === true;
|
|
12
|
+
}
|
|
13
|
+
_a = BASE_TOOLSET_SIGNATURE_SYMBOL;
|
|
14
|
+
class BaseToolset {
|
|
15
|
+
constructor(toolFilter, prefix) {
|
|
16
|
+
this.toolFilter = toolFilter;
|
|
17
|
+
this.prefix = prefix;
|
|
18
|
+
this[_a] = true;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns whether the tool should be exposed to LLM.
|
|
22
|
+
*
|
|
23
|
+
* @param tool The tool to check.
|
|
24
|
+
* @param context Context used to filter tools available to the agent.
|
|
25
|
+
* @return Whether the tool should be exposed to LLM.
|
|
26
|
+
*/
|
|
27
|
+
isToolSelected(tool, context) {
|
|
28
|
+
if (!this.toolFilter) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
if (typeof this.toolFilter === "function") {
|
|
32
|
+
return this.toolFilter(tool, context);
|
|
33
|
+
}
|
|
34
|
+
if (Array.isArray(this.toolFilter)) {
|
|
35
|
+
return this.toolFilter.includes(tool.name);
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Processes the outgoing LLM request for this toolset. This method will be
|
|
41
|
+
* called before each tool processes the llm request.
|
|
42
|
+
*
|
|
43
|
+
* Use cases:
|
|
44
|
+
* - Instead of let each tool process the llm request, we can let the toolset
|
|
45
|
+
* process the llm request. e.g. ComputerUseToolset can add computer use
|
|
46
|
+
* tool to the llm request.
|
|
47
|
+
*
|
|
48
|
+
* @param toolContext The context of the tool.
|
|
49
|
+
* @param llmRequest The outgoing LLM request, mutable this method.
|
|
50
|
+
*/
|
|
51
|
+
async processLlmRequest(toolContext, llmRequest) {
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
BaseToolset,
|
|
56
|
+
isBaseToolset
|
|
57
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2026 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
import { BaseTool } from "./base_tool.js";
|
|
9
|
+
class ExitLoopTool extends BaseTool {
|
|
10
|
+
constructor() {
|
|
11
|
+
super({
|
|
12
|
+
name: "exit_loop",
|
|
13
|
+
description: "Exits the loop.\n\nCall this function only when you are instructed to do so."
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
_getDeclaration() {
|
|
17
|
+
return {
|
|
18
|
+
name: this.name,
|
|
19
|
+
description: this.description
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
async runAsync({
|
|
23
|
+
toolContext
|
|
24
|
+
}) {
|
|
25
|
+
toolContext.actions.escalate = true;
|
|
26
|
+
toolContext.actions.skipSummarization = true;
|
|
27
|
+
return "";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const EXIT_LOOP = new ExitLoopTool();
|
|
31
|
+
export {
|
|
32
|
+
EXIT_LOOP,
|
|
33
|
+
ExitLoopTool
|
|
34
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2025 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
class ForwardingArtifactService {
|
|
9
|
+
constructor(toolContext) {
|
|
10
|
+
this.toolContext = toolContext;
|
|
11
|
+
this.invocationContext = toolContext.invocationContext;
|
|
12
|
+
}
|
|
13
|
+
// TODO - b/425992518: Remove unnecessary parameters. We should rethink the
|
|
14
|
+
// abstraction layer to make it more clear.
|
|
15
|
+
async saveArtifact(request) {
|
|
16
|
+
return this.toolContext.saveArtifact(request.filename, request.artifact);
|
|
17
|
+
}
|
|
18
|
+
async loadArtifact(request) {
|
|
19
|
+
return this.toolContext.loadArtifact(request.filename, request.version);
|
|
20
|
+
}
|
|
21
|
+
async listArtifactKeys() {
|
|
22
|
+
return this.toolContext.listArtifacts();
|
|
23
|
+
}
|
|
24
|
+
async deleteArtifact(request) {
|
|
25
|
+
if (!this.toolContext.invocationContext.artifactService) {
|
|
26
|
+
throw new Error("Artifact service is not initialized.");
|
|
27
|
+
}
|
|
28
|
+
return this.toolContext.invocationContext.artifactService.deleteArtifact(
|
|
29
|
+
request
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
async listVersions(request) {
|
|
33
|
+
if (!this.toolContext.invocationContext.artifactService) {
|
|
34
|
+
throw new Error("Artifact service is not initialized.");
|
|
35
|
+
}
|
|
36
|
+
return this.toolContext.invocationContext.artifactService.listVersions(
|
|
37
|
+
request
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
listArtifactVersions(request) {
|
|
41
|
+
if (!this.toolContext.invocationContext.artifactService) {
|
|
42
|
+
throw new Error("Artifact service is not initialized.");
|
|
43
|
+
}
|
|
44
|
+
return this.toolContext.invocationContext.artifactService.listArtifactVersions(
|
|
45
|
+
request
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
getArtifactVersion(request) {
|
|
49
|
+
if (!this.toolContext.invocationContext.artifactService) {
|
|
50
|
+
throw new Error("Artifact service is not initialized.");
|
|
51
|
+
}
|
|
52
|
+
return this.toolContext.invocationContext.artifactService.getArtifactVersion(
|
|
53
|
+
request
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
ForwardingArtifactService
|
|
59
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2025 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
var _a, _b;
|
|
9
|
+
import { Type } from "@google/genai";
|
|
10
|
+
import { isZodObject, zodObjectToSchema } from "../utils/simple_zod_to_json.js";
|
|
11
|
+
import { BaseTool } from "./base_tool.js";
|
|
12
|
+
function toSchema(parameters) {
|
|
13
|
+
if (parameters === void 0) {
|
|
14
|
+
return { type: Type.OBJECT, properties: {} };
|
|
15
|
+
}
|
|
16
|
+
if (isZodObject(parameters)) {
|
|
17
|
+
return zodObjectToSchema(parameters);
|
|
18
|
+
}
|
|
19
|
+
return parameters;
|
|
20
|
+
}
|
|
21
|
+
const FUNCTION_TOOL_SIGNATURE_SYMBOL = Symbol.for("google.adk.functionTool");
|
|
22
|
+
function isFunctionTool(obj) {
|
|
23
|
+
return typeof obj === "object" && obj !== null && FUNCTION_TOOL_SIGNATURE_SYMBOL in obj && obj[FUNCTION_TOOL_SIGNATURE_SYMBOL] === true;
|
|
24
|
+
}
|
|
25
|
+
class FunctionTool extends (_b = BaseTool, _a = FUNCTION_TOOL_SIGNATURE_SYMBOL, _b) {
|
|
26
|
+
/**
|
|
27
|
+
* The constructor acts as the user-friendly factory.
|
|
28
|
+
* @param options The configuration for the tool.
|
|
29
|
+
*/
|
|
30
|
+
constructor(options) {
|
|
31
|
+
var _a2;
|
|
32
|
+
const name = (_a2 = options.name) != null ? _a2 : options.execute.name;
|
|
33
|
+
if (!name) {
|
|
34
|
+
throw new Error(
|
|
35
|
+
"Tool name cannot be empty. Either name the `execute` function or provide a `name`."
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
super({
|
|
39
|
+
name,
|
|
40
|
+
description: options.description,
|
|
41
|
+
isLongRunning: options.isLongRunning
|
|
42
|
+
});
|
|
43
|
+
/** A unique symbol to identify ADK function tool class. */
|
|
44
|
+
this[_a] = true;
|
|
45
|
+
this.execute = options.execute;
|
|
46
|
+
this.parameters = options.parameters;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Provide a schema for the function.
|
|
50
|
+
*/
|
|
51
|
+
_getDeclaration() {
|
|
52
|
+
return {
|
|
53
|
+
name: this.name,
|
|
54
|
+
description: this.description,
|
|
55
|
+
parameters: toSchema(this.parameters)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Logic for running the tool.
|
|
60
|
+
*/
|
|
61
|
+
async runAsync(req) {
|
|
62
|
+
try {
|
|
63
|
+
let validatedArgs = req.args;
|
|
64
|
+
if (isZodObject(this.parameters)) {
|
|
65
|
+
validatedArgs = this.parameters.parse(req.args);
|
|
66
|
+
}
|
|
67
|
+
return await this.execute(
|
|
68
|
+
validatedArgs,
|
|
69
|
+
req.toolContext
|
|
70
|
+
);
|
|
71
|
+
} catch (error) {
|
|
72
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
73
|
+
throw new Error("Error in tool '".concat(this.name, "': ").concat(errorMessage));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export {
|
|
78
|
+
FunctionTool,
|
|
79
|
+
isFunctionTool
|
|
80
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2026 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
import {
|
|
9
|
+
isGemini1Model,
|
|
10
|
+
isGeminiModel,
|
|
11
|
+
isGeminiModelIdCheckDisabled
|
|
12
|
+
} from "../utils/model_name.js";
|
|
13
|
+
import { BaseTool } from "./base_tool.js";
|
|
14
|
+
function applyGoogleMapsGrounding(llmRequest) {
|
|
15
|
+
if (!llmRequest.model) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const modelCheckDisabled = isGeminiModelIdCheckDisabled();
|
|
19
|
+
llmRequest.config = llmRequest.config || {};
|
|
20
|
+
llmRequest.config.tools = llmRequest.config.tools || [];
|
|
21
|
+
if (isGemini1Model(llmRequest.model)) {
|
|
22
|
+
throw new Error(
|
|
23
|
+
"Google Maps grounding tool cannot be used with Gemini 1.x models."
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
if (isGeminiModel(llmRequest.model) || modelCheckDisabled) {
|
|
27
|
+
llmRequest.config.tools.push({
|
|
28
|
+
googleMaps: {}
|
|
29
|
+
});
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
throw new Error(
|
|
33
|
+
"Google maps tool is not supported for model ".concat(llmRequest.model)
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
class GoogleMapsGroundingTool extends BaseTool {
|
|
37
|
+
constructor() {
|
|
38
|
+
super({ name: "google_maps", description: "Google Maps Grounding Tool" });
|
|
39
|
+
}
|
|
40
|
+
runAsync() {
|
|
41
|
+
return Promise.resolve();
|
|
42
|
+
}
|
|
43
|
+
async processLlmRequest({
|
|
44
|
+
llmRequest
|
|
45
|
+
}) {
|
|
46
|
+
applyGoogleMapsGrounding(llmRequest);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const GOOGLE_MAPS_GROUNDING = new GoogleMapsGroundingTool();
|
|
50
|
+
export {
|
|
51
|
+
GOOGLE_MAPS_GROUNDING,
|
|
52
|
+
GoogleMapsGroundingTool,
|
|
53
|
+
applyGoogleMapsGrounding
|
|
54
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2025 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
import { isGemini1Model, isGeminiModel } from "../utils/model_name.js";
|
|
9
|
+
import { BaseTool } from "./base_tool.js";
|
|
10
|
+
class GoogleSearchTool extends BaseTool {
|
|
11
|
+
constructor() {
|
|
12
|
+
super({ name: "google_search", description: "Google Search Tool" });
|
|
13
|
+
}
|
|
14
|
+
runAsync() {
|
|
15
|
+
return Promise.resolve();
|
|
16
|
+
}
|
|
17
|
+
async processLlmRequest({
|
|
18
|
+
llmRequest
|
|
19
|
+
}) {
|
|
20
|
+
if (!llmRequest.model) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
llmRequest.config = llmRequest.config || {};
|
|
24
|
+
llmRequest.config.tools = llmRequest.config.tools || [];
|
|
25
|
+
if (isGemini1Model(llmRequest.model)) {
|
|
26
|
+
if (llmRequest.config.tools.length > 0) {
|
|
27
|
+
throw new Error(
|
|
28
|
+
"Google search tool can not be used with other tools in Gemini 1.x."
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
llmRequest.config.tools.push({
|
|
32
|
+
googleSearchRetrieval: {}
|
|
33
|
+
});
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (isGeminiModel(llmRequest.model)) {
|
|
37
|
+
llmRequest.config.tools.push({
|
|
38
|
+
googleSearch: {}
|
|
39
|
+
});
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
throw new Error(
|
|
43
|
+
"Google search tool is not supported for model ".concat(llmRequest.model)
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const GOOGLE_SEARCH = new GoogleSearchTool();
|
|
48
|
+
export {
|
|
49
|
+
GOOGLE_SEARCH,
|
|
50
|
+
GoogleSearchTool
|
|
51
|
+
};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2026 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
import { Type } from "@google/genai";
|
|
9
|
+
import { appendInstructions } from "../models/llm_request.js";
|
|
10
|
+
import { getLogger } from "../utils/logger.js";
|
|
11
|
+
import {
|
|
12
|
+
BaseTool
|
|
13
|
+
} from "./base_tool.js";
|
|
14
|
+
const logger = getLogger();
|
|
15
|
+
const GEMINI_SUPPORTED_INLINE_MIME_PREFIXES = ["image/", "audio/", "video/"];
|
|
16
|
+
const GEMINI_SUPPORTED_INLINE_MIME_TYPES = /* @__PURE__ */ new Set(["application/pdf"]);
|
|
17
|
+
const TEXT_LIKE_MIME_TYPES = /* @__PURE__ */ new Set([
|
|
18
|
+
"application/csv",
|
|
19
|
+
"application/json",
|
|
20
|
+
"application/xml"
|
|
21
|
+
]);
|
|
22
|
+
function normalizeMimeType(mimeType) {
|
|
23
|
+
if (!mimeType) {
|
|
24
|
+
return void 0;
|
|
25
|
+
}
|
|
26
|
+
return mimeType.split(";")[0].trim();
|
|
27
|
+
}
|
|
28
|
+
function isInlineMimeTypeSupported(mimeType) {
|
|
29
|
+
const normalized = normalizeMimeType(mimeType);
|
|
30
|
+
if (!normalized) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
return GEMINI_SUPPORTED_INLINE_MIME_PREFIXES.some(
|
|
34
|
+
(prefix) => normalized.startsWith(prefix)
|
|
35
|
+
) || GEMINI_SUPPORTED_INLINE_MIME_TYPES.has(normalized);
|
|
36
|
+
}
|
|
37
|
+
function asSafePartForLlm(artifact, artifactName) {
|
|
38
|
+
const inlineData = artifact.inlineData;
|
|
39
|
+
if (!inlineData) {
|
|
40
|
+
return artifact;
|
|
41
|
+
}
|
|
42
|
+
if (isInlineMimeTypeSupported(inlineData.mimeType)) {
|
|
43
|
+
return artifact;
|
|
44
|
+
}
|
|
45
|
+
const mimeType = normalizeMimeType(inlineData.mimeType) || "application/octet-stream";
|
|
46
|
+
const data = inlineData.data;
|
|
47
|
+
if (!data) {
|
|
48
|
+
return {
|
|
49
|
+
text: "[Artifact: ".concat(artifactName, ", type: ").concat(mimeType, ". No inline data was provided.]")
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const isTextLike = mimeType.startsWith("text/") || TEXT_LIKE_MIME_TYPES.has(mimeType);
|
|
53
|
+
const decodedBuffer = Buffer.from(data, "base64");
|
|
54
|
+
if (isTextLike) {
|
|
55
|
+
try {
|
|
56
|
+
const decoded = decodedBuffer.toString("utf8");
|
|
57
|
+
return { text: decoded };
|
|
58
|
+
} catch (e) {
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const sizeKb = decodedBuffer.length / 1024;
|
|
62
|
+
return {
|
|
63
|
+
text: "[Binary artifact: ".concat(artifactName, ", type: ").concat(mimeType, ", size: ").concat(sizeKb.toFixed(1), " KB. Content cannot be displayed inline.]")
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
class LoadArtifactsTool extends BaseTool {
|
|
67
|
+
constructor() {
|
|
68
|
+
super({
|
|
69
|
+
name: "load_artifacts",
|
|
70
|
+
description: "Loads artifacts into the session for this request.\n\nNOTE: Call when you need access to artifacts (for example, uploads saved by the web UI)."
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
_getDeclaration() {
|
|
74
|
+
return {
|
|
75
|
+
name: this.name,
|
|
76
|
+
description: this.description,
|
|
77
|
+
parameters: {
|
|
78
|
+
type: Type.OBJECT,
|
|
79
|
+
properties: {
|
|
80
|
+
artifact_names: {
|
|
81
|
+
type: Type.ARRAY,
|
|
82
|
+
items: {
|
|
83
|
+
type: Type.STRING
|
|
84
|
+
},
|
|
85
|
+
description: "The names of the artifacts to load."
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
async runAsync({ args }) {
|
|
92
|
+
const artifactNames = args["artifact_names"] || [];
|
|
93
|
+
return {
|
|
94
|
+
artifact_names: artifactNames,
|
|
95
|
+
status: "artifact contents temporarily inserted and removed. to access these artifacts, call load_artifacts tool again."
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
async processLlmRequest(request) {
|
|
99
|
+
await super.processLlmRequest(request);
|
|
100
|
+
await this.appendArtifactsToLlmRequest(
|
|
101
|
+
request.toolContext,
|
|
102
|
+
request.llmRequest
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
async appendArtifactsToLlmRequest(toolContext, llmRequest) {
|
|
106
|
+
if (!toolContext.invocationContext.artifactService) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const artifactNames = await toolContext.listArtifacts();
|
|
110
|
+
if (!artifactNames || artifactNames.length === 0) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
appendInstructions(llmRequest, [
|
|
114
|
+
"You have a list of artifacts:\n ".concat(JSON.stringify(
|
|
115
|
+
artifactNames
|
|
116
|
+
), "\n\n When the user asks questions about any of the artifacts, you should call the\n `load_artifacts` function to load the artifact. Always call load_artifacts\n before answering questions related to the artifacts, regardless of whether the\n artifacts have been loaded before. Do not depend on prior answers about the\n artifacts.")
|
|
117
|
+
]);
|
|
118
|
+
const contents = llmRequest.contents;
|
|
119
|
+
if (contents && contents.length > 0) {
|
|
120
|
+
const lastContent = contents[contents.length - 1];
|
|
121
|
+
if (lastContent.role === "user" && lastContent.parts && lastContent.parts.length > 0) {
|
|
122
|
+
const functionResponsePart = lastContent.parts[0];
|
|
123
|
+
const functionResponse = functionResponsePart.functionResponse;
|
|
124
|
+
if (functionResponse && functionResponse.name === "load_artifacts") {
|
|
125
|
+
const response = functionResponse.response || {};
|
|
126
|
+
const namesToLoad = response["artifact_names"] || [];
|
|
127
|
+
for (const artifactName of namesToLoad) {
|
|
128
|
+
let artifact = await toolContext.loadArtifact(artifactName);
|
|
129
|
+
if (!artifact && !artifactName.startsWith("user:")) {
|
|
130
|
+
const prefixedName = "user:".concat(artifactName);
|
|
131
|
+
artifact = await toolContext.loadArtifact(prefixedName);
|
|
132
|
+
}
|
|
133
|
+
if (!artifact) {
|
|
134
|
+
logger.warn('Artifact "'.concat(artifactName, '" not found, skipping'));
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
const artifactPart = asSafePartForLlm(artifact, artifactName);
|
|
138
|
+
llmRequest.contents.push({
|
|
139
|
+
role: "user",
|
|
140
|
+
parts: [{ text: "Artifact ".concat(artifactName, " is:") }, artifactPart]
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const LOAD_ARTIFACTS = new LoadArtifactsTool();
|
|
149
|
+
export {
|
|
150
|
+
LOAD_ARTIFACTS,
|
|
151
|
+
LoadArtifactsTool
|
|
152
|
+
};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2026 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
import { Type } from "@google/genai";
|
|
9
|
+
import { appendInstructions } from "../models/llm_request.js";
|
|
10
|
+
import {
|
|
11
|
+
BaseTool
|
|
12
|
+
} from "./base_tool.js";
|
|
13
|
+
class LoadMemoryTool extends BaseTool {
|
|
14
|
+
constructor() {
|
|
15
|
+
super({
|
|
16
|
+
name: "load_memory",
|
|
17
|
+
description: "Loads the memory for the current user.\n\nNOTE: Currently this tool only uses text part from the memory."
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
_getDeclaration() {
|
|
21
|
+
return {
|
|
22
|
+
name: this.name,
|
|
23
|
+
description: this.description,
|
|
24
|
+
parameters: {
|
|
25
|
+
type: Type.OBJECT,
|
|
26
|
+
properties: {
|
|
27
|
+
query: {
|
|
28
|
+
type: Type.STRING,
|
|
29
|
+
description: "The query to load the memory for."
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
required: ["query"]
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
async runAsync({
|
|
37
|
+
args,
|
|
38
|
+
toolContext
|
|
39
|
+
}) {
|
|
40
|
+
try {
|
|
41
|
+
const query = args["query"];
|
|
42
|
+
if (!toolContext.invocationContext.memoryService) {
|
|
43
|
+
throw new Error("Memory service is not initialized.");
|
|
44
|
+
}
|
|
45
|
+
const searchMemoryResponse = await toolContext.searchMemory(query);
|
|
46
|
+
return {
|
|
47
|
+
memories: searchMemoryResponse.memories.map((m) => {
|
|
48
|
+
var _a, _b;
|
|
49
|
+
return {
|
|
50
|
+
// Join all text parts by a space, or empty string if no text parts
|
|
51
|
+
content: (_b = (_a = m.content.parts) == null ? void 0 : _a.map((p) => {
|
|
52
|
+
var _a2;
|
|
53
|
+
return (_a2 = p.text) != null ? _a2 : "";
|
|
54
|
+
}).join(" ")) != null ? _b : "",
|
|
55
|
+
author: m.author,
|
|
56
|
+
timestamp: m.timestamp
|
|
57
|
+
};
|
|
58
|
+
})
|
|
59
|
+
};
|
|
60
|
+
} catch (e) {
|
|
61
|
+
console.error("ERROR in LoadMemoryTool runAsync:", e);
|
|
62
|
+
throw e;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async processLlmRequest(request) {
|
|
66
|
+
await super.processLlmRequest(request);
|
|
67
|
+
if (!request.toolContext.invocationContext.memoryService) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
appendInstructions(request.llmRequest, [
|
|
71
|
+
"You have memory. You can use it to answer questions. If any questions need\nyou to look up the memory, you should call load_memory function with a query."
|
|
72
|
+
]);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const LOAD_MEMORY = new LoadMemoryTool();
|
|
76
|
+
export {
|
|
77
|
+
LOAD_MEMORY,
|
|
78
|
+
LoadMemoryTool
|
|
79
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defProps = Object.defineProperties;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
/**
|
|
23
|
+
* @license
|
|
24
|
+
* Copyright 2025 Google LLC
|
|
25
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
26
|
+
*/
|
|
27
|
+
import {
|
|
28
|
+
FunctionTool
|
|
29
|
+
} from "./function_tool.js";
|
|
30
|
+
const LONG_RUNNING_INSTRUCTION = "\n\nNOTE: This is a long-running operation. Do not call this tool again if it has already returned some intermediate or pending status.";
|
|
31
|
+
class LongRunningFunctionTool extends FunctionTool {
|
|
32
|
+
/**
|
|
33
|
+
* The constructor acts as the user-friendly factory.
|
|
34
|
+
* @param options The configuration for the tool.
|
|
35
|
+
*/
|
|
36
|
+
constructor(options) {
|
|
37
|
+
super(__spreadProps(__spreadValues({}, options), { isLongRunning: true }));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Provide a schema for the function.
|
|
41
|
+
*/
|
|
42
|
+
_getDeclaration() {
|
|
43
|
+
const declaration = super._getDeclaration();
|
|
44
|
+
if (declaration.description) {
|
|
45
|
+
declaration.description += LONG_RUNNING_INSTRUCTION;
|
|
46
|
+
} else {
|
|
47
|
+
declaration.description = LONG_RUNNING_INSTRUCTION.trimStart();
|
|
48
|
+
}
|
|
49
|
+
return declaration;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
LongRunningFunctionTool
|
|
54
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2025 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
9
|
+
import {
|
|
10
|
+
StdioClientTransport
|
|
11
|
+
} from "@modelcontextprotocol/sdk/client/stdio.js";
|
|
12
|
+
import {
|
|
13
|
+
StreamableHTTPClientTransport
|
|
14
|
+
} from "@modelcontextprotocol/sdk/client/streamableHttp.js";
|
|
15
|
+
class MCPSessionManager {
|
|
16
|
+
constructor(connectionParams) {
|
|
17
|
+
this.connectionParams = connectionParams;
|
|
18
|
+
}
|
|
19
|
+
async createSession() {
|
|
20
|
+
var _a;
|
|
21
|
+
const client = new Client({ name: "MCPClient", version: "1.0.0" });
|
|
22
|
+
switch (this.connectionParams.type) {
|
|
23
|
+
case "StdioConnectionParams":
|
|
24
|
+
await client.connect(
|
|
25
|
+
new StdioClientTransport(this.connectionParams.serverParams)
|
|
26
|
+
);
|
|
27
|
+
break;
|
|
28
|
+
case "StreamableHTTPConnectionParams": {
|
|
29
|
+
const options = (_a = this.connectionParams.transportOptions) != null ? _a : {};
|
|
30
|
+
if (!options.requestInit && this.connectionParams.header !== void 0) {
|
|
31
|
+
options.requestInit = {
|
|
32
|
+
headers: this.connectionParams.header
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
await client.connect(
|
|
36
|
+
new StreamableHTTPClientTransport(
|
|
37
|
+
new URL(this.connectionParams.url),
|
|
38
|
+
options
|
|
39
|
+
)
|
|
40
|
+
);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
default: {
|
|
44
|
+
const _exhaustiveCheck = this.connectionParams;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return client;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export {
|
|
52
|
+
MCPSessionManager
|
|
53
|
+
};
|