@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
|
@@ -83,19 +83,20 @@ class BaseAgent {
|
|
|
83
83
|
ctx,
|
|
84
84
|
this,
|
|
85
85
|
async function* () {
|
|
86
|
+
var _a2, _b;
|
|
86
87
|
const context2 = this.createInvocationContext(parentContext);
|
|
87
88
|
const beforeAgentCallbackEvent = await this.handleBeforeAgentCallback(context2);
|
|
88
89
|
if (beforeAgentCallbackEvent) {
|
|
89
90
|
yield beforeAgentCallbackEvent;
|
|
90
91
|
}
|
|
91
|
-
if (context2.endInvocation) {
|
|
92
|
+
if (context2.endInvocation || ((_a2 = parentContext.abortSignal) == null ? void 0 : _a2.aborted)) {
|
|
92
93
|
return;
|
|
93
94
|
}
|
|
94
95
|
(0, import_tracing.traceAgentInvocation)({ agent: this, invocationContext: context2 });
|
|
95
96
|
for await (const event of this.runAsyncImpl(context2)) {
|
|
96
97
|
yield event;
|
|
97
98
|
}
|
|
98
|
-
if (context2.endInvocation) {
|
|
99
|
+
if (context2.endInvocation || ((_b = parentContext.abortSignal) == null ? void 0 : _b.aborted)) {
|
|
99
100
|
return;
|
|
100
101
|
}
|
|
101
102
|
const afterAgentCallbackEvent = await this.handleAfterAgentCallback(context2);
|
|
@@ -177,12 +178,16 @@ class BaseAgent {
|
|
|
177
178
|
* generated.
|
|
178
179
|
*/
|
|
179
180
|
async handleBeforeAgentCallback(invocationContext) {
|
|
181
|
+
var _a2;
|
|
180
182
|
if (this.beforeAgentCallback.length === 0) {
|
|
181
183
|
return void 0;
|
|
182
184
|
}
|
|
183
185
|
const callbackContext = new import_context.Context({ invocationContext });
|
|
184
186
|
for (const callback of this.beforeAgentCallback) {
|
|
185
187
|
const content = await callback(callbackContext);
|
|
188
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
186
191
|
if (content) {
|
|
187
192
|
invocationContext.endInvocation = true;
|
|
188
193
|
return (0, import_event.createEvent)({
|
|
@@ -212,12 +217,16 @@ class BaseAgent {
|
|
|
212
217
|
* generated.
|
|
213
218
|
*/
|
|
214
219
|
async handleAfterAgentCallback(invocationContext) {
|
|
220
|
+
var _a2;
|
|
215
221
|
if (this.afterAgentCallback.length === 0) {
|
|
216
222
|
return void 0;
|
|
217
223
|
}
|
|
218
224
|
const callbackContext = new import_context.Context({ invocationContext });
|
|
219
225
|
for (const callback of this.afterAgentCallback) {
|
|
220
226
|
const content = await callback(callbackContext);
|
|
227
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
221
230
|
if (content) {
|
|
222
231
|
return (0, import_event.createEvent)({
|
|
223
232
|
invocationId: invocationContext.invocationId,
|
|
@@ -59,6 +59,7 @@ class Context extends import_readonly_context.ReadonlyContext {
|
|
|
59
59
|
);
|
|
60
60
|
this.functionCallId = options.functionCallId;
|
|
61
61
|
this.toolConfirmation = options.toolConfirmation;
|
|
62
|
+
this.abortSignal = options.invocationContext.abortSignal;
|
|
62
63
|
}
|
|
63
64
|
/**
|
|
64
65
|
* The delta-aware state of the current session.
|
|
@@ -415,6 +415,7 @@ function mergeParallelFunctionResponseEvents(functionResponseEvents) {
|
|
|
415
415
|
);
|
|
416
416
|
const mergedActions = (0, import_event_actions.mergeEventActions)(actionsList);
|
|
417
417
|
return (0, import_event.createEvent)({
|
|
418
|
+
invocationId: baseEvent.invocationId,
|
|
418
419
|
author: baseEvent.author,
|
|
419
420
|
branch: baseEvent.branch,
|
|
420
421
|
content: { role: "user", parts: mergedParts },
|
|
@@ -77,6 +77,7 @@ class InvocationContext {
|
|
|
77
77
|
this.liveRequestQueue = params.liveRequestQueue;
|
|
78
78
|
this.activeStreamingTools = params.activeStreamingTools;
|
|
79
79
|
this.pluginManager = params.pluginManager;
|
|
80
|
+
this.abortSignal = params.abortSignal;
|
|
80
81
|
}
|
|
81
82
|
/**
|
|
82
83
|
* The app name of the current session.
|
|
@@ -47,6 +47,7 @@ var import_context_compactor_request_processor = require("./processors/context_c
|
|
|
47
47
|
var import_identity_llm_request_processor = require("./processors/identity_llm_request_processor.js");
|
|
48
48
|
var import_instructions_llm_request_processor = require("./processors/instructions_llm_request_processor.js");
|
|
49
49
|
var import_request_confirmation_llm_request_processor = require("./processors/request_confirmation_llm_request_processor.js");
|
|
50
|
+
var import_tool_filter_request_processor = require("./processors/tool_filter_request_processor.js");
|
|
50
51
|
var import_readonly_context = require("./readonly_context.js");
|
|
51
52
|
var import_run_config = require("./run_config.js");
|
|
52
53
|
/**
|
|
@@ -94,7 +95,8 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
94
95
|
import_instructions_llm_request_processor.INSTRUCTIONS_LLM_REQUEST_PROCESSOR,
|
|
95
96
|
import_request_confirmation_llm_request_processor.REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR,
|
|
96
97
|
import_content_request_processor.CONTENT_REQUEST_PROCESSOR,
|
|
97
|
-
import_code_execution_request_processor.CODE_EXECUTION_REQUEST_PROCESSOR
|
|
98
|
+
import_code_execution_request_processor.CODE_EXECUTION_REQUEST_PROCESSOR,
|
|
99
|
+
import_tool_filter_request_processor.TOOL_FILTER_REQUEST_PROCESSOR
|
|
98
100
|
];
|
|
99
101
|
if (!config.requestProcessors && config.contextCompactors && config.contextCompactors.length > 0) {
|
|
100
102
|
const contentIndex = this.requestProcessors.indexOf(
|
|
@@ -314,9 +316,13 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
314
316
|
event.actions.stateDelta[this.outputKey] = result;
|
|
315
317
|
}
|
|
316
318
|
async *runAsyncImpl(context2) {
|
|
319
|
+
var _a2;
|
|
317
320
|
while (true) {
|
|
318
321
|
let lastEvent = void 0;
|
|
319
322
|
for await (const event of this.runOneStepAsync(context2)) {
|
|
323
|
+
if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
320
326
|
lastEvent = event;
|
|
321
327
|
this.maybeSaveOutputToState(event);
|
|
322
328
|
yield event;
|
|
@@ -331,7 +337,11 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
331
337
|
}
|
|
332
338
|
}
|
|
333
339
|
async *runLiveImpl(context2) {
|
|
340
|
+
var _a2;
|
|
334
341
|
for await (const event of this.runLiveFlow(context2)) {
|
|
342
|
+
if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
335
345
|
this.maybeSaveOutputToState(event);
|
|
336
346
|
yield event;
|
|
337
347
|
}
|
|
@@ -348,6 +358,7 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
348
358
|
throw new Error("LlmAgent.runLiveFlow not implemented");
|
|
349
359
|
}
|
|
350
360
|
async *runOneStepAsync(invocationContext) {
|
|
361
|
+
var _a2, _b2, _c;
|
|
351
362
|
const llmRequest = {
|
|
352
363
|
contents: [],
|
|
353
364
|
toolsDict: {},
|
|
@@ -358,20 +369,28 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
358
369
|
invocationContext,
|
|
359
370
|
llmRequest
|
|
360
371
|
)) {
|
|
372
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
361
375
|
yield event;
|
|
362
376
|
}
|
|
363
377
|
}
|
|
364
378
|
for (const toolUnion of this.tools) {
|
|
365
379
|
const toolContext = new import_context.Context({ invocationContext });
|
|
366
|
-
const tools = await convertToolUnionToTools(
|
|
380
|
+
const tools = (await convertToolUnionToTools(
|
|
367
381
|
toolUnion,
|
|
368
382
|
new import_readonly_context.ReadonlyContext(invocationContext)
|
|
369
|
-
)
|
|
383
|
+
)).filter((tool) => {
|
|
384
|
+
return !llmRequest.allowedTools || llmRequest.allowedTools.includes(tool.name);
|
|
385
|
+
});
|
|
370
386
|
for (const tool of tools) {
|
|
371
387
|
await tool.processLlmRequest({ toolContext, llmRequest });
|
|
388
|
+
if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
372
391
|
}
|
|
373
392
|
}
|
|
374
|
-
if (invocationContext.endInvocation) {
|
|
393
|
+
if (invocationContext.endInvocation || ((_c = invocationContext.abortSignal) == null ? void 0 : _c.aborted)) {
|
|
375
394
|
return;
|
|
376
395
|
}
|
|
377
396
|
const modelResponseEvent = (0, import_event.createEvent)({
|
|
@@ -386,17 +405,24 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
386
405
|
this,
|
|
387
406
|
async function* () {
|
|
388
407
|
const responsesGenerator = async function* () {
|
|
408
|
+
var _a3, _b3;
|
|
389
409
|
for await (const llmResponse of this.callLlmAsync(
|
|
390
410
|
invocationContext,
|
|
391
411
|
llmRequest,
|
|
392
412
|
modelResponseEvent
|
|
393
413
|
)) {
|
|
414
|
+
if ((_a3 = invocationContext.abortSignal) == null ? void 0 : _a3.aborted) {
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
394
417
|
for await (const event of this.postprocess(
|
|
395
418
|
invocationContext,
|
|
396
419
|
llmRequest,
|
|
397
420
|
llmResponse,
|
|
398
421
|
modelResponseEvent
|
|
399
422
|
)) {
|
|
423
|
+
if ((_b3 = invocationContext.abortSignal) == null ? void 0 : _b3.aborted) {
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
400
426
|
modelResponseEvent.id = (0, import_event.createNewEventId)();
|
|
401
427
|
modelResponseEvent.timestamp = (/* @__PURE__ */ new Date()).getTime();
|
|
402
428
|
yield event;
|
|
@@ -414,12 +440,15 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
414
440
|
span.end();
|
|
415
441
|
}
|
|
416
442
|
async *postprocess(invocationContext, llmRequest, llmResponse, modelResponseEvent) {
|
|
417
|
-
var _a2, _b2;
|
|
443
|
+
var _a2, _b2, _c, _d, _e;
|
|
418
444
|
for (const processor of this.responseProcessors) {
|
|
419
445
|
for await (const event of processor.runAsync(
|
|
420
446
|
invocationContext,
|
|
421
447
|
llmResponse
|
|
422
448
|
)) {
|
|
449
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
423
452
|
yield event;
|
|
424
453
|
}
|
|
425
454
|
}
|
|
@@ -440,10 +469,10 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
440
469
|
}
|
|
441
470
|
}
|
|
442
471
|
yield mergedEvent;
|
|
443
|
-
if (!((
|
|
472
|
+
if (!((_b2 = (0, import_event.getFunctionCalls)(mergedEvent)) == null ? void 0 : _b2.length)) {
|
|
444
473
|
return;
|
|
445
474
|
}
|
|
446
|
-
if ((
|
|
475
|
+
if ((_c = invocationContext.runConfig) == null ? void 0 : _c.pauseOnToolCalls) {
|
|
447
476
|
invocationContext.endInvocation = true;
|
|
448
477
|
return;
|
|
449
478
|
}
|
|
@@ -454,7 +483,7 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
454
483
|
beforeToolCallbacks: this.canonicalBeforeToolCallbacks,
|
|
455
484
|
afterToolCallbacks: this.canonicalAfterToolCallbacks
|
|
456
485
|
});
|
|
457
|
-
if (!functionResponseEvent) {
|
|
486
|
+
if (!functionResponseEvent || ((_d = invocationContext.abortSignal) == null ? void 0 : _d.aborted)) {
|
|
458
487
|
return;
|
|
459
488
|
}
|
|
460
489
|
const authEvent = (0, import_functions.generateAuthEvent)(
|
|
@@ -479,6 +508,9 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
479
508
|
if (nextAgentName) {
|
|
480
509
|
const nextAgent = this.getAgentByName(invocationContext, nextAgentName);
|
|
481
510
|
for await (const event of nextAgent.runAsync(invocationContext)) {
|
|
511
|
+
if ((_e = invocationContext.abortSignal) == null ? void 0 : _e.aborted) {
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
482
514
|
yield event;
|
|
483
515
|
}
|
|
484
516
|
}
|
|
@@ -504,30 +536,34 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
504
536
|
return agentToRun;
|
|
505
537
|
}
|
|
506
538
|
async *callLlmAsync(invocationContext, llmRequest, modelResponseEvent) {
|
|
507
|
-
var _a2, _b2, _c, _d, _e;
|
|
539
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h;
|
|
508
540
|
const beforeModelResponse = await this.handleBeforeModelCallback(
|
|
509
541
|
invocationContext,
|
|
510
542
|
llmRequest,
|
|
511
543
|
modelResponseEvent
|
|
512
544
|
);
|
|
545
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
546
|
+
return;
|
|
547
|
+
}
|
|
513
548
|
if (beforeModelResponse) {
|
|
514
549
|
yield beforeModelResponse;
|
|
515
550
|
return;
|
|
516
551
|
}
|
|
517
|
-
(
|
|
518
|
-
(
|
|
552
|
+
(_b2 = llmRequest.config) != null ? _b2 : llmRequest.config = {};
|
|
553
|
+
(_d = (_c = llmRequest.config).labels) != null ? _d : _c.labels = {};
|
|
519
554
|
if (!llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY]) {
|
|
520
555
|
llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY] = this.name;
|
|
521
556
|
}
|
|
522
557
|
const llm = this.canonicalModel;
|
|
523
|
-
if ((
|
|
558
|
+
if ((_e = invocationContext.runConfig) == null ? void 0 : _e.supportCfc) {
|
|
524
559
|
throw new Error("CFC is not yet supported in callLlmAsync");
|
|
525
560
|
} else {
|
|
526
561
|
invocationContext.incrementLlmCallCount();
|
|
527
562
|
const responsesGenerator = llm.generateContentAsync(
|
|
528
563
|
llmRequest,
|
|
529
564
|
/* stream= */
|
|
530
|
-
((
|
|
565
|
+
((_f = invocationContext.runConfig) == null ? void 0 : _f.streamingMode) === import_run_config.StreamingMode.SSE,
|
|
566
|
+
invocationContext.abortSignal
|
|
531
567
|
);
|
|
532
568
|
for await (const llmResponse of responsesGenerator) {
|
|
533
569
|
(0, import_tracing.traceCallLlm)({
|
|
@@ -536,16 +572,23 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
536
572
|
llmRequest,
|
|
537
573
|
llmResponse
|
|
538
574
|
});
|
|
575
|
+
if ((_g = invocationContext.abortSignal) == null ? void 0 : _g.aborted) {
|
|
576
|
+
return;
|
|
577
|
+
}
|
|
539
578
|
const alteredLlmResponse = await this.handleAfterModelCallback(
|
|
540
579
|
invocationContext,
|
|
541
580
|
llmResponse,
|
|
542
581
|
modelResponseEvent
|
|
543
582
|
);
|
|
583
|
+
if ((_h = invocationContext.abortSignal) == null ? void 0 : _h.aborted) {
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
544
586
|
yield alteredLlmResponse != null ? alteredLlmResponse : llmResponse;
|
|
545
587
|
}
|
|
546
588
|
}
|
|
547
589
|
}
|
|
548
590
|
async handleBeforeModelCallback(invocationContext, llmRequest, modelResponseEvent) {
|
|
591
|
+
var _a2, _b2;
|
|
549
592
|
const callbackContext = new import_context.Context({
|
|
550
593
|
invocationContext,
|
|
551
594
|
eventActions: modelResponseEvent.actions
|
|
@@ -554,6 +597,9 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
554
597
|
callbackContext,
|
|
555
598
|
llmRequest
|
|
556
599
|
});
|
|
600
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
557
603
|
if (beforeModelCallbackResponse) {
|
|
558
604
|
return beforeModelCallbackResponse;
|
|
559
605
|
}
|
|
@@ -562,6 +608,9 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
562
608
|
context: callbackContext,
|
|
563
609
|
request: llmRequest
|
|
564
610
|
});
|
|
611
|
+
if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
612
|
+
return;
|
|
613
|
+
}
|
|
565
614
|
if (callbackResponse) {
|
|
566
615
|
return callbackResponse;
|
|
567
616
|
}
|
|
@@ -569,6 +618,7 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
569
618
|
return void 0;
|
|
570
619
|
}
|
|
571
620
|
async handleAfterModelCallback(invocationContext, llmResponse, modelResponseEvent) {
|
|
621
|
+
var _a2;
|
|
572
622
|
const callbackContext = new import_context.Context({
|
|
573
623
|
invocationContext,
|
|
574
624
|
eventActions: modelResponseEvent.actions
|
|
@@ -585,6 +635,9 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
585
635
|
context: callbackContext,
|
|
586
636
|
response: llmResponse
|
|
587
637
|
});
|
|
638
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
639
|
+
return;
|
|
640
|
+
}
|
|
588
641
|
if (callbackResponse) {
|
|
589
642
|
return callbackResponse;
|
|
590
643
|
}
|
|
@@ -592,8 +645,12 @@ class LlmAgent extends (_b = import_base_agent.BaseAgent, _a = LLM_AGENT_SIGNATU
|
|
|
592
645
|
return void 0;
|
|
593
646
|
}
|
|
594
647
|
async *runAndHandleError(responseGenerator, invocationContext, llmRequest, modelResponseEvent) {
|
|
648
|
+
var _a2;
|
|
595
649
|
try {
|
|
596
650
|
for await (const response of responseGenerator) {
|
|
651
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
597
654
|
yield response;
|
|
598
655
|
}
|
|
599
656
|
} catch (modelError) {
|
|
@@ -50,11 +50,15 @@ class LoopAgent extends (_b = import_base_agent.BaseAgent, _a = LOOP_AGENT_SIGNA
|
|
|
50
50
|
this.maxIterations = (_a2 = config.maxIterations) != null ? _a2 : Number.MAX_SAFE_INTEGER;
|
|
51
51
|
}
|
|
52
52
|
async *runAsyncImpl(context) {
|
|
53
|
+
var _a2;
|
|
53
54
|
let iteration = 0;
|
|
54
55
|
while (iteration < this.maxIterations) {
|
|
55
56
|
for (const subAgent of this.subAgents) {
|
|
56
57
|
let shouldExit = false;
|
|
57
58
|
for await (const event of subAgent.runAsync(context)) {
|
|
59
|
+
if ((_a2 = context.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
58
62
|
yield event;
|
|
59
63
|
if (event.actions.escalate) {
|
|
60
64
|
shouldExit = true;
|
|
@@ -49,10 +49,14 @@ class ParallelAgent extends (_b = import_base_agent.BaseAgent, _a = PARALLEL_AGE
|
|
|
49
49
|
this[_a] = true;
|
|
50
50
|
}
|
|
51
51
|
async *runAsyncImpl(context) {
|
|
52
|
+
var _a2;
|
|
52
53
|
const agentRuns = this.subAgents.map(
|
|
53
54
|
(subAgent) => subAgent.runAsync(createBranchCtxForSubAgent(this, subAgent, context))
|
|
54
55
|
);
|
|
55
56
|
for await (const event of mergeAgentRuns(agentRuns)) {
|
|
57
|
+
if ((_a2 = context.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
56
60
|
yield event;
|
|
57
61
|
}
|
|
58
62
|
}
|
|
@@ -194,6 +194,7 @@ async function* runPreProcessor(invocationContext, llmRequest) {
|
|
|
194
194
|
invocationContext,
|
|
195
195
|
codeExecutionInput: {
|
|
196
196
|
code: codeStr,
|
|
197
|
+
language: import_code_execution_utils.CodeExecutionLanguage.PYTHON,
|
|
197
198
|
inputFiles: [file],
|
|
198
199
|
executionId
|
|
199
200
|
}
|
|
@@ -257,6 +258,7 @@ async function* runPostProcessor(invocationContext, llmResponse) {
|
|
|
257
258
|
invocationContext,
|
|
258
259
|
codeExecutionInput: {
|
|
259
260
|
code: codeStr,
|
|
261
|
+
language: import_code_execution_utils.CodeExecutionLanguage.PYTHON,
|
|
260
262
|
inputFiles: codeExecutorContext.getInputFiles(),
|
|
261
263
|
executionId
|
|
262
264
|
}
|
|
@@ -27,6 +27,7 @@ __export(context_compactor_request_processor_exports, {
|
|
|
27
27
|
ContextCompactorRequestProcessor: () => ContextCompactorRequestProcessor
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(context_compactor_request_processor_exports);
|
|
30
|
+
var import_base_plugin = require("../../plugins/base_plugin.js");
|
|
30
31
|
/**
|
|
31
32
|
* @license
|
|
32
33
|
* Copyright 2026 Google LLC
|
|
@@ -42,8 +43,16 @@ class ContextCompactorRequestProcessor {
|
|
|
42
43
|
compactor.shouldCompact(invocationContext)
|
|
43
44
|
);
|
|
44
45
|
if (shouldCompact) {
|
|
46
|
+
await invocationContext.pluginManager.runBeforeContextCompaction({
|
|
47
|
+
invocationContext,
|
|
48
|
+
trigger: import_base_plugin.ContextCompactionTrigger.Auto
|
|
49
|
+
});
|
|
45
50
|
const oldEvents = new Set(invocationContext.session.events);
|
|
46
51
|
await Promise.resolve(compactor.compact(invocationContext));
|
|
52
|
+
await invocationContext.pluginManager.runAfterContextCompaction({
|
|
53
|
+
invocationContext,
|
|
54
|
+
trigger: import_base_plugin.ContextCompactionTrigger.Auto
|
|
55
|
+
});
|
|
47
56
|
const newEvents = invocationContext.session.events.filter(
|
|
48
57
|
(e) => !oldEvents.has(e)
|
|
49
58
|
);
|
|
@@ -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 tool_filter_request_processor_exports = {};
|
|
26
|
+
__export(tool_filter_request_processor_exports, {
|
|
27
|
+
TOOL_FILTER_REQUEST_PROCESSOR: () => TOOL_FILTER_REQUEST_PROCESSOR,
|
|
28
|
+
ToolFilterRequestProcessor: () => ToolFilterRequestProcessor
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(tool_filter_request_processor_exports);
|
|
31
|
+
var import_context = require("../context.js");
|
|
32
|
+
var import_llm_agent = require("../llm_agent.js");
|
|
33
|
+
var import_readonly_context = require("../readonly_context.js");
|
|
34
|
+
var import_base_llm_processor = require("./base_llm_processor.js");
|
|
35
|
+
/**
|
|
36
|
+
* @license
|
|
37
|
+
* Copyright 2025 Google LLC
|
|
38
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
39
|
+
*/
|
|
40
|
+
class ToolFilterRequestProcessor extends import_base_llm_processor.BaseLlmRequestProcessor {
|
|
41
|
+
/** Filters the set of tools on the request based on plugins. */
|
|
42
|
+
// eslint-disable-next-line require-yield
|
|
43
|
+
async *runAsync(invocationContext, llmRequest) {
|
|
44
|
+
const agent = invocationContext.agent;
|
|
45
|
+
if (!(0, import_llm_agent.isLlmAgent)(agent)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const toolsList = await agent.canonicalTools(
|
|
49
|
+
new import_readonly_context.ReadonlyContext(invocationContext)
|
|
50
|
+
);
|
|
51
|
+
if (toolsList.length === 0) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const toolsDict = {};
|
|
55
|
+
for (const tool of toolsList) {
|
|
56
|
+
toolsDict[tool.name] = tool;
|
|
57
|
+
}
|
|
58
|
+
const callbackContext = new import_context.Context({ invocationContext });
|
|
59
|
+
const filteredTools = await invocationContext.pluginManager.runBeforeToolSelection({
|
|
60
|
+
callbackContext,
|
|
61
|
+
tools: toolsDict
|
|
62
|
+
});
|
|
63
|
+
if (filteredTools !== void 0) {
|
|
64
|
+
llmRequest.allowedTools = Object.keys(filteredTools);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const TOOL_FILTER_REQUEST_PROCESSOR = new ToolFilterRequestProcessor();
|
|
69
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
70
|
+
0 && (module.exports = {
|
|
71
|
+
TOOL_FILTER_REQUEST_PROCESSOR,
|
|
72
|
+
ToolFilterRequestProcessor
|
|
73
|
+
});
|
|
@@ -0,0 +1,97 @@
|
|
|
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 routed_agent_exports = {};
|
|
34
|
+
__export(routed_agent_exports, {
|
|
35
|
+
RoutedAgent: () => RoutedAgent,
|
|
36
|
+
isRoutedAgent: () => isRoutedAgent
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(routed_agent_exports);
|
|
39
|
+
var import_base_agent = require("./base_agent.js");
|
|
40
|
+
var import_experimental = require("../utils/experimental.js");
|
|
41
|
+
var import_failover_utils = require("../utils/failover_utils.js");
|
|
42
|
+
/**
|
|
43
|
+
* @license
|
|
44
|
+
* Copyright 2026 Google LLC
|
|
45
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
46
|
+
*/
|
|
47
|
+
var _a, _b;
|
|
48
|
+
const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
|
|
49
|
+
function isRoutedAgent(obj) {
|
|
50
|
+
return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
|
|
51
|
+
}
|
|
52
|
+
let RoutedAgent = class extends (_b = import_base_agent.BaseAgent, _a = ROUTED_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
53
|
+
constructor(config) {
|
|
54
|
+
const agentsArray = Array.isArray(config.agents) ? config.agents : Object.values(config.agents);
|
|
55
|
+
super({
|
|
56
|
+
...config,
|
|
57
|
+
subAgents: agentsArray
|
|
58
|
+
});
|
|
59
|
+
this[_a] = true;
|
|
60
|
+
if (Array.isArray(config.agents)) {
|
|
61
|
+
this.agents = Object.fromEntries(config.agents.map((a) => [a.name, a]));
|
|
62
|
+
} else {
|
|
63
|
+
this.agents = config.agents;
|
|
64
|
+
}
|
|
65
|
+
this.router = config.router;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Runs the selected agent via text-based conversation.
|
|
69
|
+
*/
|
|
70
|
+
async *runAsyncImpl(context) {
|
|
71
|
+
yield* (0, import_failover_utils.runWithRouting)(
|
|
72
|
+
this.agents,
|
|
73
|
+
context,
|
|
74
|
+
this.router,
|
|
75
|
+
(agent) => agent.runAsync(context)
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Runs the selected agent via video/audio-based conversation.
|
|
80
|
+
*/
|
|
81
|
+
async *runLiveImpl(context) {
|
|
82
|
+
yield* (0, import_failover_utils.runWithRouting)(
|
|
83
|
+
this.agents,
|
|
84
|
+
context,
|
|
85
|
+
this.router,
|
|
86
|
+
(agent) => agent.runLive(context)
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
RoutedAgent = __decorateClass([
|
|
91
|
+
import_experimental.experimental
|
|
92
|
+
], RoutedAgent);
|
|
93
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
94
|
+
0 && (module.exports = {
|
|
95
|
+
RoutedAgent,
|
|
96
|
+
isRoutedAgent
|
|
97
|
+
});
|
|
@@ -27,6 +27,8 @@ __export(auth_handler_exports, {
|
|
|
27
27
|
AuthHandler: () => AuthHandler
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(auth_handler_exports);
|
|
30
|
+
var import_env_aware_utils = require("../utils/env_aware_utils.js");
|
|
31
|
+
var import_oauth2_credential_exchanger = require("./oauth2/oauth2_credential_exchanger.js");
|
|
30
32
|
/**
|
|
31
33
|
* @license
|
|
32
34
|
* Copyright 2025 Google LLC
|
|
@@ -40,6 +42,22 @@ class AuthHandler {
|
|
|
40
42
|
const credentialKey = "temp:" + this.authConfig.credentialKey;
|
|
41
43
|
return state.get(credentialKey);
|
|
42
44
|
}
|
|
45
|
+
async parseAndStoreAuthResponse(state) {
|
|
46
|
+
const credentialKey = "temp:" + this.authConfig.credentialKey;
|
|
47
|
+
const authSchemeType = this.authConfig.authScheme.type;
|
|
48
|
+
if (!["oauth2", "openIdConnect"].includes(authSchemeType)) {
|
|
49
|
+
state.set(credentialKey, this.authConfig.exchangedAuthCredential);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (this.authConfig.exchangedAuthCredential) {
|
|
53
|
+
const exchanger = new import_oauth2_credential_exchanger.OAuth2CredentialExchanger();
|
|
54
|
+
const exchangedCredential = await exchanger.exchange({
|
|
55
|
+
authCredential: this.authConfig.exchangedAuthCredential,
|
|
56
|
+
authScheme: this.authConfig.authScheme
|
|
57
|
+
});
|
|
58
|
+
state.set(credentialKey, exchangedCredential.credential);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
43
61
|
generateAuthRequest() {
|
|
44
62
|
var _a, _b;
|
|
45
63
|
const authSchemeType = this.authConfig.authScheme.type;
|
|
@@ -85,7 +103,54 @@ class AuthHandler {
|
|
|
85
103
|
* auth scheme.
|
|
86
104
|
*/
|
|
87
105
|
generateAuthUri() {
|
|
88
|
-
|
|
106
|
+
const authScheme = this.authConfig.authScheme;
|
|
107
|
+
const authCredential = this.authConfig.rawAuthCredential;
|
|
108
|
+
if (!authCredential || !authCredential.oauth2) {
|
|
109
|
+
return authCredential;
|
|
110
|
+
}
|
|
111
|
+
let authorizationEndpoint = "";
|
|
112
|
+
let scopes = [];
|
|
113
|
+
if ("authorizationEndpoint" in authScheme) {
|
|
114
|
+
authorizationEndpoint = authScheme.authorizationEndpoint;
|
|
115
|
+
scopes = authScheme.scopes || [];
|
|
116
|
+
} else if (authScheme.type === "oauth2" && authScheme.flows) {
|
|
117
|
+
const flows = authScheme.flows;
|
|
118
|
+
const flow = flows.implicit || flows.authorizationCode || flows.clientCredentials || flows.password;
|
|
119
|
+
if (flow) {
|
|
120
|
+
if ("authorizationUrl" in flow && flow.authorizationUrl) {
|
|
121
|
+
authorizationEndpoint = flow.authorizationUrl;
|
|
122
|
+
} else if ("tokenUrl" in flow && flow.tokenUrl) {
|
|
123
|
+
authorizationEndpoint = flow.tokenUrl;
|
|
124
|
+
}
|
|
125
|
+
if (flow.scopes) {
|
|
126
|
+
scopes = Object.keys(flow.scopes);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (!authorizationEndpoint) {
|
|
131
|
+
throw new Error("Authorization endpoint not configured in auth scheme.");
|
|
132
|
+
}
|
|
133
|
+
const state = (0, import_env_aware_utils.randomUUID)();
|
|
134
|
+
const url = new URL(authorizationEndpoint);
|
|
135
|
+
url.searchParams.set("client_id", authCredential.oauth2.clientId || "");
|
|
136
|
+
url.searchParams.set(
|
|
137
|
+
"redirect_uri",
|
|
138
|
+
authCredential.oauth2.redirectUri || ""
|
|
139
|
+
);
|
|
140
|
+
url.searchParams.set("response_type", "code");
|
|
141
|
+
url.searchParams.set("scope", scopes.join(" "));
|
|
142
|
+
url.searchParams.set("state", state);
|
|
143
|
+
url.searchParams.set("access_type", "offline");
|
|
144
|
+
url.searchParams.set("prompt", "consent");
|
|
145
|
+
const exchangedAuthCredential = {
|
|
146
|
+
...authCredential,
|
|
147
|
+
oauth2: {
|
|
148
|
+
...authCredential.oauth2,
|
|
149
|
+
authUri: url.toString(),
|
|
150
|
+
state
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
return exchangedAuthCredential;
|
|
89
154
|
}
|
|
90
155
|
}
|
|
91
156
|
// Annotate the CommonJS export names for ESM import in node:
|