@google/adk 0.6.1 → 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/dist/cjs/agents/base_agent.js +11 -2
- package/dist/cjs/agents/context.js +1 -0
- package/dist/cjs/agents/functions.js +1 -0
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +70 -13
- package/dist/cjs/agents/loop_agent.js +4 -0
- package/dist/cjs/agents/parallel_agent.js +4 -0
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -0
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +9 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +73 -0
- package/dist/cjs/agents/routed_agent.js +97 -0
- package/dist/cjs/auth/auth_handler.js +66 -1
- package/dist/cjs/auth/auth_preprocessor.js +178 -0
- package/dist/cjs/auth/auth_provider_registry.js +61 -0
- package/dist/cjs/auth/base_auth_provider.js +27 -0
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +51 -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 +9 -5
- package/dist/cjs/code_executors/code_execution_utils.js +19 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +241 -0
- package/dist/cjs/common.js +69 -0
- package/dist/cjs/features/feature_registry.js +141 -0
- package/dist/cjs/index.js +83 -113
- package/dist/cjs/models/apigee_llm.js +2 -2
- package/dist/cjs/models/google_llm.js +18 -53
- package/dist/cjs/models/routed_llm.js +99 -0
- package/dist/cjs/plugins/base_plugin.js +39 -2
- package/dist/cjs/plugins/plugin_manager.js +39 -0
- package/dist/cjs/runner/runner.js +31 -3
- package/dist/cjs/sessions/db/operations.js +3 -10
- 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/tools/agent_tool.js +11 -4
- package/dist/cjs/tools/mcp/mcp_tool.js +7 -3
- package/dist/cjs/tools/mcp/mcp_toolset.js +1 -1
- 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/url_context_tool.js +73 -0
- package/dist/cjs/tools/vertex_ai_search_tool.js +127 -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/model_name.js +8 -2
- package/dist/cjs/utils/streaming_utils.js +333 -0
- package/dist/cjs/version.js +1 -1
- package/dist/esm/a2a/a2a_event.js +2 -0
- package/dist/esm/a2a/a2a_remote_agent.js +2 -0
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +2 -0
- package/dist/esm/a2a/a2a_remote_agent_utils.js +2 -0
- package/dist/esm/a2a/agent_card.js +2 -0
- package/dist/esm/a2a/agent_executor.js +2 -0
- package/dist/esm/a2a/agent_to_a2a.js +2 -0
- package/dist/esm/a2a/event_converter_utils.js +2 -0
- package/dist/esm/a2a/event_processor_utils.js +2 -0
- package/dist/esm/a2a/executor_context.js +2 -0
- package/dist/esm/a2a/metadata_converter_utils.js +2 -0
- package/dist/esm/a2a/part_converter_utils.js +2 -0
- package/dist/esm/agents/active_streaming_tool.js +2 -0
- package/dist/esm/agents/base_agent.js +13 -2
- package/dist/esm/agents/context.js +3 -0
- package/dist/esm/agents/functions.js +3 -0
- package/dist/esm/agents/instructions.js +2 -0
- package/dist/esm/agents/invocation_context.js +3 -0
- package/dist/esm/agents/live_request_queue.js +2 -0
- package/dist/esm/agents/llm_agent.js +72 -13
- package/dist/esm/agents/loop_agent.js +6 -0
- package/dist/esm/agents/parallel_agent.js +6 -0
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/base_llm_processor.js +2 -0
- package/dist/esm/agents/processors/basic_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/code_execution_request_processor.js +5 -0
- package/dist/esm/agents/processors/content_processor_utils.js +2 -0
- package/dist/esm/agents/processors/content_request_processor.js +2 -0
- package/dist/esm/agents/processors/context_compactor_request_processor.js +11 -0
- package/dist/esm/agents/processors/identity_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +2 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +44 -0
- package/dist/esm/agents/readonly_context.js +2 -0
- package/dist/esm/agents/routed_agent.js +70 -0
- package/dist/esm/agents/run_config.js +2 -0
- package/dist/esm/agents/sequential_agent.js +2 -0
- package/dist/esm/agents/transcription_entry.js +2 -0
- package/dist/esm/artifacts/base_artifact_service.js +2 -0
- package/dist/esm/artifacts/file_artifact_service.js +2 -0
- package/dist/esm/artifacts/gcs_artifact_service.js +2 -0
- package/dist/esm/artifacts/in_memory_artifact_service.js +2 -0
- package/dist/esm/artifacts/registry.js +2 -0
- package/dist/esm/auth/auth_credential.js +2 -0
- package/dist/esm/auth/auth_handler.js +68 -1
- 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 +2 -0
- package/dist/esm/auth/auth_tool.js +2 -0
- package/dist/esm/auth/base_auth_provider.js +7 -0
- package/dist/esm/auth/credential_service/base_credential_service.js +2 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +2 -0
- package/dist/esm/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +2 -0
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +2 -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 +11 -5
- package/dist/esm/code_executors/built_in_code_executor.js +2 -0
- package/dist/esm/code_executors/code_execution_utils.js +19 -0
- package/dist/esm/code_executors/code_executor_context.js +2 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +205 -0
- package/dist/esm/common.js +52 -3
- package/dist/esm/context/base_context_compactor.js +2 -0
- package/dist/esm/context/summarizers/base_summarizer.js +2 -0
- package/dist/esm/context/summarizers/llm_summarizer.js +2 -0
- package/dist/esm/context/token_based_context_compactor.js +2 -0
- package/dist/esm/context/truncating_context_compactor.js +2 -0
- package/dist/esm/events/compacted_event.js +2 -0
- package/dist/esm/events/event.js +2 -0
- package/dist/esm/events/event_actions.js +2 -0
- package/dist/esm/events/structured_events.js +2 -0
- package/dist/esm/examples/base_example_provider.js +2 -0
- package/dist/esm/examples/example.js +2 -0
- package/dist/esm/examples/example_util.js +2 -0
- package/dist/esm/features/feature_registry.js +107 -0
- package/dist/esm/index.js +45 -119
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/memory/base_memory_service.js +2 -0
- package/dist/esm/memory/in_memory_memory_service.js +2 -0
- package/dist/esm/memory/memory_entry.js +2 -0
- package/dist/esm/models/apigee_llm.js +4 -2
- package/dist/esm/models/base_llm.js +2 -0
- package/dist/esm/models/base_llm_connection.js +2 -0
- package/dist/esm/models/gemini_llm_connection.js +2 -0
- package/dist/esm/models/google_llm.js +20 -54
- package/dist/esm/models/llm_request.js +2 -0
- package/dist/esm/models/llm_response.js +2 -0
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/models/routed_llm.js +73 -0
- package/dist/esm/plugins/base_plugin.js +41 -1
- package/dist/esm/plugins/logging_plugin.js +2 -0
- package/dist/esm/plugins/plugin_manager.js +41 -0
- package/dist/esm/plugins/security_plugin.js +2 -0
- package/dist/esm/runner/in_memory_runner.js +2 -0
- package/dist/esm/runner/runner.js +33 -3
- package/dist/esm/sessions/base_session_service.js +2 -0
- package/dist/esm/sessions/database_session_service.js +2 -0
- package/dist/esm/sessions/db/operations.js +5 -10
- package/dist/esm/sessions/db/schema.js +2 -0
- package/dist/esm/sessions/in_memory_session_service.js +2 -0
- package/dist/esm/sessions/registry.js +2 -0
- package/dist/esm/sessions/session.js +2 -0
- package/dist/esm/sessions/state.js +2 -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 +2 -0
- package/dist/esm/telemetry/setup.js +2 -0
- package/dist/esm/telemetry/tracing.js +2 -0
- package/dist/esm/tools/agent_tool.js +13 -4
- package/dist/esm/tools/base_tool.js +2 -0
- package/dist/esm/tools/base_toolset.js +2 -0
- package/dist/esm/tools/exit_loop_tool.js +2 -0
- package/dist/esm/tools/forwarding_artifact_service.js +2 -0
- package/dist/esm/tools/function_tool.js +2 -0
- package/dist/esm/tools/google_search_tool.js +2 -0
- package/dist/esm/tools/load_artifacts_tool.js +2 -0
- package/dist/esm/tools/load_memory_tool.js +2 -0
- package/dist/esm/tools/long_running_tool.js +2 -0
- package/dist/esm/tools/mcp/mcp_session_manager.js +2 -0
- package/dist/esm/tools/mcp/mcp_tool.js +9 -3
- package/dist/esm/tools/mcp/mcp_toolset.js +3 -1
- package/dist/esm/tools/preload_memory_tool.js +2 -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 +2 -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/utils/client_labels.js +2 -0
- package/dist/esm/utils/env_aware_utils.js +2 -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 +2 -0
- package/dist/esm/utils/logger.js +2 -0
- package/dist/esm/utils/model_name.js +8 -1
- package/dist/esm/utils/object_notation_utils.js +2 -0
- package/dist/esm/utils/simple_zod_to_json.js +2 -0
- package/dist/esm/utils/streaming_utils.js +307 -0
- package/dist/esm/utils/variant_utils.js +2 -0
- package/dist/esm/version.js +3 -1
- package/dist/types/agents/context.d.ts +1 -0
- package/dist/types/agents/invocation_context.d.ts +5 -0
- package/dist/types/agents/processors/tool_filter_request_processor.d.ts +14 -0
- package/dist/types/agents/routed_agent.d.ts +59 -0
- package/dist/types/auth/auth_credential.d.ts +17 -0
- package/dist/types/auth/auth_handler.d.ts +1 -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/base_auth_provider.d.ts +20 -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 +12 -5
- 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 +4 -4
- package/dist/types/code_executors/code_execution_utils.d.ts +29 -1
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +48 -0
- package/dist/types/common.d.ts +29 -3
- package/dist/types/features/feature_registry.d.ts +66 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/memory/base_memory_service.d.ts +6 -0
- package/dist/types/memory/memory_entry.d.ts +11 -5
- package/dist/types/models/apigee_llm.d.ts +1 -1
- package/dist/types/models/base_llm.d.ts +1 -1
- package/dist/types/models/google_llm.d.ts +1 -1
- package/dist/types/models/llm_request.d.ts +4 -0
- package/dist/types/models/routed_llm.d.ts +38 -0
- package/dist/types/plugins/base_plugin.d.ts +49 -0
- package/dist/types/plugins/plugin_manager.d.ts +22 -1
- package/dist/types/runner/runner.d.ts +1 -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/tools/mcp/mcp_tool.d.ts +7 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +5 -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/url_context_tool.d.ts +17 -0
- package/dist/types/tools/vertex_ai_search_tool.d.ts +55 -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/model_name.d.ts +4 -0
- package/dist/types/utils/streaming_utils.d.ts +40 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/a2a/a2a_event.js +2 -0
- package/dist/web/a2a/a2a_remote_agent.js +2 -0
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +2 -0
- package/dist/web/a2a/a2a_remote_agent_utils.js +2 -0
- package/dist/web/a2a/agent_card.js +2 -0
- package/dist/web/a2a/agent_executor.js +2 -0
- package/dist/web/a2a/agent_to_a2a.js +2 -0
- package/dist/web/a2a/event_converter_utils.js +2 -0
- package/dist/web/a2a/event_processor_utils.js +2 -0
- package/dist/web/a2a/executor_context.js +2 -0
- package/dist/web/a2a/metadata_converter_utils.js +2 -0
- package/dist/web/a2a/part_converter_utils.js +2 -0
- package/dist/web/agents/active_streaming_tool.js +2 -0
- package/dist/web/agents/base_agent.js +13 -2
- package/dist/web/agents/context.js +3 -0
- package/dist/web/agents/functions.js +3 -0
- package/dist/web/agents/instructions.js +2 -0
- package/dist/web/agents/invocation_context.js +3 -0
- package/dist/web/agents/live_request_queue.js +2 -0
- package/dist/web/agents/llm_agent.js +72 -13
- package/dist/web/agents/loop_agent.js +6 -0
- package/dist/web/agents/parallel_agent.js +6 -0
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/base_llm_processor.js +2 -0
- package/dist/web/agents/processors/basic_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/code_execution_request_processor.js +5 -0
- package/dist/web/agents/processors/content_processor_utils.js +2 -0
- package/dist/web/agents/processors/content_request_processor.js +2 -0
- package/dist/web/agents/processors/context_compactor_request_processor.js +11 -0
- package/dist/web/agents/processors/identity_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/instructions_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +2 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +62 -0
- package/dist/web/agents/readonly_context.js +2 -0
- package/dist/web/agents/routed_agent.js +138 -0
- package/dist/web/agents/run_config.js +2 -0
- package/dist/web/agents/sequential_agent.js +2 -0
- package/dist/web/agents/transcription_entry.js +2 -0
- package/dist/web/artifacts/base_artifact_service.js +2 -0
- package/dist/web/artifacts/file_artifact_service.js +2 -0
- package/dist/web/artifacts/gcs_artifact_service.js +2 -0
- package/dist/web/artifacts/in_memory_artifact_service.js +2 -0
- package/dist/web/artifacts/registry.js +2 -0
- package/dist/web/auth/auth_credential.js +2 -0
- package/dist/web/auth/auth_handler.js +85 -1
- 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 +2 -0
- package/dist/web/auth/auth_tool.js +2 -0
- package/dist/web/auth/base_auth_provider.js +7 -0
- package/dist/web/auth/credential_service/base_credential_service.js +2 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +2 -0
- package/dist/web/auth/credential_service/session_state_credential_service.js +23 -0
- package/dist/web/auth/exchanger/base_credential_exchanger.js +2 -0
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +2 -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 +11 -5
- package/dist/web/code_executors/built_in_code_executor.js +2 -0
- package/dist/web/code_executors/code_execution_utils.js +19 -0
- package/dist/web/code_executors/code_executor_context.js +2 -0
- package/dist/web/code_executors/unsafe_local_code_executor.js +203 -0
- package/dist/web/common.js +52 -3
- package/dist/web/context/base_context_compactor.js +2 -0
- package/dist/web/context/summarizers/base_summarizer.js +2 -0
- package/dist/web/context/summarizers/llm_summarizer.js +2 -0
- package/dist/web/context/token_based_context_compactor.js +2 -0
- package/dist/web/context/truncating_context_compactor.js +2 -0
- package/dist/web/events/compacted_event.js +2 -0
- package/dist/web/events/event.js +2 -0
- package/dist/web/events/event_actions.js +2 -0
- package/dist/web/events/structured_events.js +2 -0
- package/dist/web/examples/base_example_provider.js +2 -0
- package/dist/web/examples/example.js +2 -0
- package/dist/web/examples/example_util.js +2 -0
- package/dist/web/features/feature_registry.js +107 -0
- package/dist/web/index.js +45 -13
- package/dist/web/index_web.js +2 -0
- package/dist/web/memory/base_memory_service.js +2 -0
- package/dist/web/memory/in_memory_memory_service.js +2 -0
- package/dist/web/memory/memory_entry.js +2 -0
- package/dist/web/models/apigee_llm.js +4 -2
- package/dist/web/models/base_llm.js +2 -0
- package/dist/web/models/base_llm_connection.js +2 -0
- package/dist/web/models/gemini_llm_connection.js +2 -0
- package/dist/web/models/google_llm.js +37 -59
- package/dist/web/models/llm_request.js +2 -0
- package/dist/web/models/llm_response.js +2 -0
- package/dist/web/models/registry.js +2 -0
- package/dist/web/models/routed_llm.js +122 -0
- package/dist/web/plugins/base_plugin.js +41 -1
- package/dist/web/plugins/logging_plugin.js +2 -0
- package/dist/web/plugins/plugin_manager.js +41 -0
- package/dist/web/plugins/security_plugin.js +2 -0
- package/dist/web/runner/in_memory_runner.js +2 -0
- package/dist/web/runner/runner.js +33 -3
- package/dist/web/sessions/base_session_service.js +2 -0
- package/dist/web/sessions/database_session_service.js +2 -0
- package/dist/web/sessions/db/operations.js +5 -10
- package/dist/web/sessions/db/schema.js +2 -0
- package/dist/web/sessions/in_memory_session_service.js +2 -0
- package/dist/web/sessions/registry.js +2 -0
- package/dist/web/sessions/session.js +2 -0
- package/dist/web/sessions/state.js +2 -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 +2 -0
- package/dist/web/telemetry/setup.js +2 -0
- package/dist/web/telemetry/tracing.js +2 -0
- package/dist/web/tools/agent_tool.js +13 -4
- package/dist/web/tools/base_tool.js +2 -0
- package/dist/web/tools/base_toolset.js +2 -0
- package/dist/web/tools/exit_loop_tool.js +2 -0
- package/dist/web/tools/forwarding_artifact_service.js +2 -0
- package/dist/web/tools/function_tool.js +2 -0
- package/dist/web/tools/google_search_tool.js +2 -0
- package/dist/web/tools/load_artifacts_tool.js +2 -0
- package/dist/web/tools/load_memory_tool.js +2 -0
- package/dist/web/tools/long_running_tool.js +2 -0
- package/dist/web/tools/mcp/mcp_session_manager.js +2 -0
- package/dist/web/tools/mcp/mcp_tool.js +9 -3
- package/dist/web/tools/mcp/mcp_toolset.js +3 -1
- package/dist/web/tools/preload_memory_tool.js +2 -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 +2 -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/utils/client_labels.js +2 -0
- package/dist/web/utils/env_aware_utils.js +2 -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 +2 -0
- package/dist/web/utils/logger.js +2 -0
- package/dist/web/utils/model_name.js +8 -1
- package/dist/web/utils/object_notation_utils.js +2 -0
- package/dist/web/utils/simple_zod_to_json.js +2 -0
- package/dist/web/utils/streaming_utils.js +325 -0
- package/dist/web/utils/variant_utils.js +2 -0
- package/dist/web/version.js +3 -1
- package/package.json +20 -18
- package/dist/cjs/index.js.map +0 -7
- package/dist/esm/index.js.map +0 -7
- package/dist/web/index.js.map +0 -7
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
26
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
27
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
28
|
+
if (decorator = decorators[i])
|
|
29
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
30
|
+
if (kind && result) __defProp(target, key, result);
|
|
31
|
+
return result;
|
|
32
|
+
};
|
|
33
|
+
var skill_toolset_exports = {};
|
|
34
|
+
__export(skill_toolset_exports, {
|
|
35
|
+
SkillToolset: () => SkillToolset
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(skill_toolset_exports);
|
|
38
|
+
var import_llm_request = require("../../models/llm_request.js");
|
|
39
|
+
var import_prompt = require("../../skills/prompt.js");
|
|
40
|
+
var import_experimental = require("../../utils/experimental.js");
|
|
41
|
+
var import_base_tool = require("../base_tool.js");
|
|
42
|
+
var import_base_toolset = require("../base_toolset.js");
|
|
43
|
+
var import_list_skills_tool = require("./list_skills_tool.js");
|
|
44
|
+
var import_load_skill_resource_tool = require("./load_skill_resource_tool.js");
|
|
45
|
+
var import_load_skill_tool = require("./load_skill_tool.js");
|
|
46
|
+
var import_run_skill_inline_script_tool = require("./run_skill_inline_script_tool.js");
|
|
47
|
+
var import_run_skill_script_tool = require("./run_skill_script_tool.js");
|
|
48
|
+
/**
|
|
49
|
+
* @license
|
|
50
|
+
* Copyright 2026 Google LLC
|
|
51
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
52
|
+
*/
|
|
53
|
+
const DEFAULT_SKILL_SYSTEM_INSTRUCTION = `You can use specialized 'skills' to help you with complex tasks. You MUST use the skill tools to interact with these skills.
|
|
54
|
+
|
|
55
|
+
Skills are folders of instructions and resources that extend your capabilities for specialized tasks. Each skill folder contains:
|
|
56
|
+
- **SKILL.md** (required): The main instruction file with skill metadata and detailed markdown instructions.
|
|
57
|
+
- **references/** (Optional): Additional documentation or examples for skill usage.
|
|
58
|
+
- **assets/** (Optional): Templates, scripts or other resources used by the skill.
|
|
59
|
+
- **scripts/** (Optional): Executable scripts that can be run via bash.
|
|
60
|
+
|
|
61
|
+
This is very important:
|
|
62
|
+
|
|
63
|
+
1. If a skill seems relevant to the current user query, you MUST use the \`load_skill\` tool with \`name="<SKILL_NAME>"\` to read its full instructions before proceeding.
|
|
64
|
+
2. Once you have read the instructions, follow them exactly as documented before replying to the user. For example, If the instruction lists multiple steps, please make sure you complete all of them in order.
|
|
65
|
+
3. The \`load_skill_resource\` tool is for viewing files within a skill's directory (e.g., \`references/*\`, \`assets/*\`, \`scripts/*\`). Do NOT use other tools to access these files.
|
|
66
|
+
4. Use \`run_skill_script\` to run scripts from a skill's \`scripts/\` directory. Use \`load_skill_resource\` to view script content first if needed.
|
|
67
|
+
`;
|
|
68
|
+
let SkillToolset = class extends import_base_toolset.BaseToolset {
|
|
69
|
+
constructor(skills, options = {}) {
|
|
70
|
+
super([], "adk_skill_toolset");
|
|
71
|
+
this.toolCache = /* @__PURE__ */ new Map();
|
|
72
|
+
this.skills = Array.isArray(skills) ? Object.fromEntries(skills.map((s) => [s.frontmatter.name, s])) : skills;
|
|
73
|
+
this.codeExecutor = options.codeExecutor;
|
|
74
|
+
this.additionalTools = options.additionalTools || [];
|
|
75
|
+
this.tools = [
|
|
76
|
+
new import_list_skills_tool.ListSkillsTool(this),
|
|
77
|
+
new import_load_skill_tool.LoadSkillTool(this),
|
|
78
|
+
new import_load_skill_resource_tool.LoadSkillResourceTool(this),
|
|
79
|
+
new import_run_skill_script_tool.RunSkillScriptTool(this),
|
|
80
|
+
new import_run_skill_inline_script_tool.RunSkillInlineScriptTool(this)
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
async getTools(context) {
|
|
84
|
+
const dynamicTools = await this.resolveAdditionalTools(context);
|
|
85
|
+
return [...this.tools, ...dynamicTools];
|
|
86
|
+
}
|
|
87
|
+
async close() {
|
|
88
|
+
}
|
|
89
|
+
getSkill(name) {
|
|
90
|
+
return this.skills[name];
|
|
91
|
+
}
|
|
92
|
+
async processLlmRequest(toolContext, llmRequest) {
|
|
93
|
+
await super.processLlmRequest(toolContext, llmRequest);
|
|
94
|
+
const skills = Object.values(this.skills);
|
|
95
|
+
const skillsXml = (0, import_prompt.formatSkillsAsXml)(skills);
|
|
96
|
+
(0, import_llm_request.appendInstructions)(llmRequest, [
|
|
97
|
+
DEFAULT_SKILL_SYSTEM_INSTRUCTION,
|
|
98
|
+
skillsXml
|
|
99
|
+
]);
|
|
100
|
+
}
|
|
101
|
+
async resolveAdditionalTools(context) {
|
|
102
|
+
if (!context) return [];
|
|
103
|
+
const agentName = context.agentName;
|
|
104
|
+
const stateKey = `_adk_activated_skill_${agentName}`;
|
|
105
|
+
const activatedSkills = context.state.get(stateKey) || [];
|
|
106
|
+
if (activatedSkills.length === 0) return [];
|
|
107
|
+
const cacheKey = `${agentName}:${activatedSkills.join(",")}`;
|
|
108
|
+
if (this.toolCache.has(cacheKey)) {
|
|
109
|
+
return this.toolCache.get(cacheKey);
|
|
110
|
+
}
|
|
111
|
+
const additionalToolNames = /* @__PURE__ */ new Set();
|
|
112
|
+
for (const skillName of activatedSkills) {
|
|
113
|
+
const skill = this.skills[skillName];
|
|
114
|
+
if (skill && skill.frontmatter.metadata) {
|
|
115
|
+
const tools = skill.frontmatter.metadata["adk_additional_tools"];
|
|
116
|
+
if (tools) {
|
|
117
|
+
tools.forEach((t) => additionalToolNames.add(t));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (additionalToolNames.size === 0) {
|
|
122
|
+
this.toolCache.set(cacheKey, []);
|
|
123
|
+
return [];
|
|
124
|
+
}
|
|
125
|
+
const candidateTools = {};
|
|
126
|
+
for (const toolUnion of this.additionalTools) {
|
|
127
|
+
if (toolUnion instanceof import_base_tool.BaseTool) {
|
|
128
|
+
if (candidateTools[toolUnion.name]) {
|
|
129
|
+
throw new Error(`Duplicate tool name: ${toolUnion.name}`);
|
|
130
|
+
}
|
|
131
|
+
candidateTools[toolUnion.name] = toolUnion;
|
|
132
|
+
} else if (toolUnion instanceof import_base_toolset.BaseToolset) {
|
|
133
|
+
const tsTools = await toolUnion.getTools(context);
|
|
134
|
+
for (const t of tsTools) {
|
|
135
|
+
if (candidateTools[t.name]) {
|
|
136
|
+
throw new Error(`Duplicate tool name: ${t.name}`);
|
|
137
|
+
}
|
|
138
|
+
candidateTools[t.name] = t;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
const resolvedTools = [];
|
|
143
|
+
const existingNames = new Set(this.tools.map((t) => t.name));
|
|
144
|
+
for (const name of additionalToolNames) {
|
|
145
|
+
if (candidateTools[name]) {
|
|
146
|
+
const tool = candidateTools[name];
|
|
147
|
+
if (!existingNames.has(tool.name)) {
|
|
148
|
+
resolvedTools.push(tool);
|
|
149
|
+
existingNames.add(tool.name);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
this.toolCache.set(cacheKey, resolvedTools);
|
|
154
|
+
return resolvedTools;
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
SkillToolset = __decorateClass([
|
|
158
|
+
import_experimental.experimental
|
|
159
|
+
], SkillToolset);
|
|
160
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
161
|
+
0 && (module.exports = {
|
|
162
|
+
SkillToolset
|
|
163
|
+
});
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var url_context_tool_exports = {};
|
|
26
|
+
__export(url_context_tool_exports, {
|
|
27
|
+
URL_CONTEXT: () => URL_CONTEXT,
|
|
28
|
+
UrlContextTool: () => UrlContextTool
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(url_context_tool_exports);
|
|
31
|
+
var import_model_name = require("../utils/model_name.js");
|
|
32
|
+
var import_base_tool = require("./base_tool.js");
|
|
33
|
+
/**
|
|
34
|
+
* @license
|
|
35
|
+
* Copyright 2026 Google LLC
|
|
36
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
37
|
+
*/
|
|
38
|
+
class UrlContextTool extends import_base_tool.BaseTool {
|
|
39
|
+
constructor() {
|
|
40
|
+
super({ name: "url_context", description: "URL Context Tool" });
|
|
41
|
+
}
|
|
42
|
+
runAsync() {
|
|
43
|
+
return Promise.resolve();
|
|
44
|
+
}
|
|
45
|
+
async processLlmRequest({
|
|
46
|
+
llmRequest
|
|
47
|
+
}) {
|
|
48
|
+
if (!llmRequest.model) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (!(0, import_model_name.isGeminiModel)(llmRequest.model)) {
|
|
52
|
+
throw new Error(
|
|
53
|
+
`URL context tool is not supported for model ${llmRequest.model}`
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
if (!(0, import_model_name.isGemini2OrAbove)(llmRequest.model)) {
|
|
57
|
+
throw new Error(
|
|
58
|
+
`URL context tool requires Gemini 2 or above, but got ${llmRequest.model}`
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
llmRequest.config = llmRequest.config || {};
|
|
62
|
+
llmRequest.config.tools = llmRequest.config.tools || [];
|
|
63
|
+
llmRequest.config.tools.push({
|
|
64
|
+
urlContext: {}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const URL_CONTEXT = new UrlContextTool();
|
|
69
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
70
|
+
0 && (module.exports = {
|
|
71
|
+
URL_CONTEXT,
|
|
72
|
+
UrlContextTool
|
|
73
|
+
});
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var vertex_ai_search_tool_exports = {};
|
|
26
|
+
__export(vertex_ai_search_tool_exports, {
|
|
27
|
+
VertexAiSearchTool: () => VertexAiSearchTool
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(vertex_ai_search_tool_exports);
|
|
30
|
+
var import_logger = require("../utils/logger.js");
|
|
31
|
+
var import_model_name = require("../utils/model_name.js");
|
|
32
|
+
var import_base_tool = require("./base_tool.js");
|
|
33
|
+
/**
|
|
34
|
+
* @license
|
|
35
|
+
* Copyright 2026 Google LLC
|
|
36
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
37
|
+
*/
|
|
38
|
+
const logger = (0, import_logger.getLogger)();
|
|
39
|
+
class VertexAiSearchTool extends import_base_tool.BaseTool {
|
|
40
|
+
constructor(params) {
|
|
41
|
+
super({ name: "vertex_ai_search", description: "vertex_ai_search" });
|
|
42
|
+
const {
|
|
43
|
+
dataStoreId,
|
|
44
|
+
dataStoreSpecs,
|
|
45
|
+
searchEngineId,
|
|
46
|
+
filter,
|
|
47
|
+
maxResults,
|
|
48
|
+
bypassMultiToolsLimit = false
|
|
49
|
+
} = params;
|
|
50
|
+
if (dataStoreId === void 0 && searchEngineId === void 0 || dataStoreId !== void 0 && searchEngineId !== void 0) {
|
|
51
|
+
throw new Error(
|
|
52
|
+
"Either dataStoreId or searchEngineId must be specified."
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
if (dataStoreSpecs !== void 0 && searchEngineId === void 0) {
|
|
56
|
+
throw new Error(
|
|
57
|
+
"searchEngineId must be specified if dataStoreSpecs is specified."
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
this.dataStoreId = dataStoreId;
|
|
61
|
+
this.dataStoreSpecs = dataStoreSpecs;
|
|
62
|
+
this.searchEngineId = searchEngineId;
|
|
63
|
+
this.filter = filter;
|
|
64
|
+
this.maxResults = maxResults;
|
|
65
|
+
this.bypassMultiToolsLimit = bypassMultiToolsLimit;
|
|
66
|
+
}
|
|
67
|
+
runAsync() {
|
|
68
|
+
return Promise.resolve();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Builds the VertexAISearch configuration.
|
|
72
|
+
*
|
|
73
|
+
* Override this method in a subclass to dynamically customize the search
|
|
74
|
+
* configuration based on the context (e.g., set filter based on session
|
|
75
|
+
* state).
|
|
76
|
+
*/
|
|
77
|
+
buildVertexAiSearchConfig(_readonlyContext) {
|
|
78
|
+
return {
|
|
79
|
+
datastore: this.dataStoreId,
|
|
80
|
+
dataStoreSpecs: this.dataStoreSpecs,
|
|
81
|
+
engine: this.searchEngineId,
|
|
82
|
+
filter: this.filter,
|
|
83
|
+
maxResults: this.maxResults
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
async processLlmRequest({
|
|
87
|
+
toolContext,
|
|
88
|
+
llmRequest
|
|
89
|
+
}) {
|
|
90
|
+
if (!llmRequest.model) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const modelCheckDisabled = (0, import_model_name.isGeminiModelIdCheckDisabled)();
|
|
94
|
+
llmRequest.config = llmRequest.config || {};
|
|
95
|
+
llmRequest.config.tools = llmRequest.config.tools || [];
|
|
96
|
+
if (!(0, import_model_name.isGeminiModel)(llmRequest.model) && !modelCheckDisabled) {
|
|
97
|
+
throw new Error(
|
|
98
|
+
`Vertex AI search tool is not supported for model ${llmRequest.model}`
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
if ((0, import_model_name.isGemini1Model)(llmRequest.model) && llmRequest.config.tools.length > 0 && !this.bypassMultiToolsLimit) {
|
|
102
|
+
throw new Error(
|
|
103
|
+
"Vertex AI search tool cannot be used with other tools in Gemini 1.x."
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
const vertexAiSearchConfig = this.buildVertexAiSearchConfig(toolContext);
|
|
107
|
+
let specsInfo;
|
|
108
|
+
if (vertexAiSearchConfig.dataStoreSpecs) {
|
|
109
|
+
const specIds = vertexAiSearchConfig.dataStoreSpecs.map(
|
|
110
|
+
(spec) => spec.dataStore ? spec.dataStore.split("/").pop() : "unnamed"
|
|
111
|
+
);
|
|
112
|
+
specsInfo = `${vertexAiSearchConfig.dataStoreSpecs.length} spec(s): [${specIds.join(", ")}]`;
|
|
113
|
+
}
|
|
114
|
+
logger.debug(
|
|
115
|
+
`Adding Vertex AI Search tool config to LLM request: datastore=${vertexAiSearchConfig.datastore}, engine=${vertexAiSearchConfig.engine}, filter=${vertexAiSearchConfig.filter}, maxResults=${vertexAiSearchConfig.maxResults}, dataStoreSpecs=${specsInfo}`
|
|
116
|
+
);
|
|
117
|
+
llmRequest.config.tools.push({
|
|
118
|
+
retrieval: {
|
|
119
|
+
vertexAiSearch: vertexAiSearchConfig
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
125
|
+
0 && (module.exports = {
|
|
126
|
+
VertexAiSearchTool
|
|
127
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var experimental_exports = {};
|
|
26
|
+
__export(experimental_exports, {
|
|
27
|
+
experimental: () => experimental
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(experimental_exports);
|
|
30
|
+
var import_logger = require("./logger.js");
|
|
31
|
+
/**
|
|
32
|
+
* @license
|
|
33
|
+
* Copyright 2026 Google LLC
|
|
34
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
35
|
+
*/
|
|
36
|
+
const warnedItems = /* @__PURE__ */ new Set();
|
|
37
|
+
function experimental(target, propertyKey, descriptor) {
|
|
38
|
+
if (propertyKey === void 0) {
|
|
39
|
+
const className = target.name;
|
|
40
|
+
const newConstructor = class extends target {
|
|
41
|
+
constructor(...args) {
|
|
42
|
+
if (!warnedItems.has(className)) {
|
|
43
|
+
import_logger.logger.warn(
|
|
44
|
+
`Class ${className} is experimental and may change in the future.`
|
|
45
|
+
);
|
|
46
|
+
warnedItems.add(className);
|
|
47
|
+
}
|
|
48
|
+
super(...args);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
return newConstructor;
|
|
52
|
+
}
|
|
53
|
+
if (propertyKey !== void 0 && descriptor !== void 0) {
|
|
54
|
+
const className = typeof target === "function" ? target.name : target.constructor.name;
|
|
55
|
+
const methodName = String(propertyKey);
|
|
56
|
+
const identifier = `${className}.${methodName}`;
|
|
57
|
+
const originalMethod = descriptor.value;
|
|
58
|
+
descriptor.value = function(...args) {
|
|
59
|
+
if (!warnedItems.has(identifier)) {
|
|
60
|
+
import_logger.logger.warn(
|
|
61
|
+
`Method ${identifier} is experimental and may change in the future.`
|
|
62
|
+
);
|
|
63
|
+
warnedItems.add(identifier);
|
|
64
|
+
}
|
|
65
|
+
return originalMethod.apply(this, args);
|
|
66
|
+
};
|
|
67
|
+
return descriptor;
|
|
68
|
+
}
|
|
69
|
+
throw new Error("Invalid decorator usage");
|
|
70
|
+
}
|
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
+
0 && (module.exports = {
|
|
73
|
+
experimental
|
|
74
|
+
});
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var failover_utils_exports = {};
|
|
26
|
+
__export(failover_utils_exports, {
|
|
27
|
+
runWithRouting: () => runWithRouting
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(failover_utils_exports);
|
|
30
|
+
var import_logger = require("./logger.js");
|
|
31
|
+
/**
|
|
32
|
+
* @license
|
|
33
|
+
* Copyright 2026 Google LLC
|
|
34
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
35
|
+
*/
|
|
36
|
+
async function* runWithRouting(items, context, router, runFn) {
|
|
37
|
+
const initialKey = await router(items, context);
|
|
38
|
+
if (!initialKey) {
|
|
39
|
+
throw new Error("Initial routing failed, no item selected.");
|
|
40
|
+
}
|
|
41
|
+
let selectedKey = initialKey;
|
|
42
|
+
import_logger.logger.debug(`Router selected initial key: ${selectedKey}`);
|
|
43
|
+
let selectedItem = items[selectedKey];
|
|
44
|
+
if (!selectedItem) {
|
|
45
|
+
throw new Error(`Item not found for key: ${selectedKey}`);
|
|
46
|
+
}
|
|
47
|
+
const triedKeys = /* @__PURE__ */ new Set([selectedKey]);
|
|
48
|
+
while (true) {
|
|
49
|
+
const generatorOrPromise = runFn(selectedItem);
|
|
50
|
+
let firstYielded = false;
|
|
51
|
+
try {
|
|
52
|
+
if (isAsyncGenerator(generatorOrPromise)) {
|
|
53
|
+
for await (const result2 of generatorOrPromise) {
|
|
54
|
+
yield result2;
|
|
55
|
+
firstYielded = true;
|
|
56
|
+
}
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const result = await generatorOrPromise;
|
|
60
|
+
yield result;
|
|
61
|
+
return;
|
|
62
|
+
} catch (error) {
|
|
63
|
+
if (!firstYielded) {
|
|
64
|
+
const nextKey = await router(items, context, {
|
|
65
|
+
failedKeys: triedKeys,
|
|
66
|
+
lastError: error
|
|
67
|
+
});
|
|
68
|
+
import_logger.logger.debug(`Router selected next key: ${nextKey}`);
|
|
69
|
+
if (nextKey === void 0) {
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
if (triedKeys.has(nextKey)) {
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
selectedKey = nextKey;
|
|
76
|
+
selectedItem = items[selectedKey];
|
|
77
|
+
if (!selectedItem) {
|
|
78
|
+
throw new Error(`Item not found for key: ${selectedKey}`);
|
|
79
|
+
}
|
|
80
|
+
triedKeys.add(selectedKey);
|
|
81
|
+
} else {
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function isAsyncGenerator(obj) {
|
|
88
|
+
return typeof obj === "object" && typeof obj[Symbol.asyncIterator] === "function";
|
|
89
|
+
}
|
|
90
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
91
|
+
0 && (module.exports = {
|
|
92
|
+
runWithRouting
|
|
93
|
+
});
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __export = (target, all) => {
|
|
13
|
+
for (var name in all)
|
|
14
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
+
};
|
|
16
|
+
var __copyProps = (to, from, except, desc) => {
|
|
17
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
+
for (let key of __getOwnPropNames(from))
|
|
19
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var file_extension_utils_exports = {};
|
|
26
|
+
__export(file_extension_utils_exports, {
|
|
27
|
+
getMimeTypeAndEncoding: () => getMimeTypeAndEncoding,
|
|
28
|
+
getScriptLanguageByExtension: () => getScriptLanguageByExtension
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(file_extension_utils_exports);
|
|
31
|
+
var import_code_execution_utils = require("../code_executors/code_execution_utils.js");
|
|
32
|
+
/**
|
|
33
|
+
* @license
|
|
34
|
+
* Copyright 2026 Google LLC
|
|
35
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
36
|
+
*/
|
|
37
|
+
const MIME_TYPE_MAP = {
|
|
38
|
+
".js": { mimeType: "text/javascript", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
39
|
+
".py": { mimeType: "text/x-python", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
40
|
+
".md": { mimeType: "text/markdown", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
41
|
+
".txt": { mimeType: "text/plain", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
42
|
+
".html": { mimeType: "text/html", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
43
|
+
".css": { mimeType: "text/css", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
44
|
+
".json": { mimeType: "application/json", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
45
|
+
".csv": { mimeType: "text/csv", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
46
|
+
".svg": { mimeType: "image/svg+xml", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
47
|
+
".xml": { mimeType: "application/xml", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
48
|
+
".yaml": { mimeType: "text/yaml", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
49
|
+
".yml": { mimeType: "text/yaml", encoding: import_code_execution_utils.FileContentEncoding.UTF8 },
|
|
50
|
+
".png": { mimeType: "image/png", encoding: import_code_execution_utils.FileContentEncoding.BASE64 },
|
|
51
|
+
".jpg": { mimeType: "image/jpeg", encoding: import_code_execution_utils.FileContentEncoding.BASE64 },
|
|
52
|
+
".jpeg": { mimeType: "image/jpeg", encoding: import_code_execution_utils.FileContentEncoding.BASE64 },
|
|
53
|
+
".pdf": { mimeType: "application/pdf", encoding: import_code_execution_utils.FileContentEncoding.BASE64 }
|
|
54
|
+
};
|
|
55
|
+
const EXTENSION_TO_LANGUAGE = {
|
|
56
|
+
".js": import_code_execution_utils.CodeExecutionLanguage.JAVASCRIPT,
|
|
57
|
+
".ts": import_code_execution_utils.CodeExecutionLanguage.TYPESCRIPT,
|
|
58
|
+
".py": import_code_execution_utils.CodeExecutionLanguage.PYTHON,
|
|
59
|
+
".bat": import_code_execution_utils.CodeExecutionLanguage.WINDOWS_CMD,
|
|
60
|
+
".cmd": import_code_execution_utils.CodeExecutionLanguage.WINDOWS_CMD,
|
|
61
|
+
".ps1": import_code_execution_utils.CodeExecutionLanguage.POWERSHELL,
|
|
62
|
+
".sh": import_code_execution_utils.CodeExecutionLanguage.SHELL
|
|
63
|
+
};
|
|
64
|
+
function getMimeTypeAndEncoding(ext) {
|
|
65
|
+
return MIME_TYPE_MAP[ext.toLowerCase()] || {
|
|
66
|
+
mimeType: "application/octet-stream",
|
|
67
|
+
encoding: import_code_execution_utils.FileContentEncoding.BASE64
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function getScriptLanguageByExtension(ext) {
|
|
71
|
+
return EXTENSION_TO_LANGUAGE[ext.toLowerCase()] || import_code_execution_utils.CodeExecutionLanguage.UNSPECIFIED;
|
|
72
|
+
}
|
|
73
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
74
|
+
0 && (module.exports = {
|
|
75
|
+
getMimeTypeAndEncoding,
|
|
76
|
+
getScriptLanguageByExtension
|
|
77
|
+
});
|