@google/adk 0.6.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_remote_agent.js +18 -13
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -0
- 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 +61 -0
- package/dist/cjs/features/feature_registry.js +141 -0
- package/dist/cjs/index.js +32 -20
- package/dist/cjs/index.js.map +4 -4
- 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 +10 -3
- package/dist/cjs/tools/mcp/mcp_tool.js +4 -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/utils/experimental.js +74 -0
- package/dist/cjs/utils/failover_utils.js +93 -0
- package/dist/cjs/utils/file_extension_utils.js +77 -0
- package/dist/cjs/utils/file_utils.js +94 -0
- package/dist/cjs/utils/gemini_schema_util.js +54 -12
- 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 +20 -13
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +9 -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 +47 -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 +34 -21
- package/dist/esm/index.js.map +4 -4
- 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 +12 -3
- 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 +6 -1
- package/dist/esm/tools/mcp/mcp_toolset.js +2 -0
- 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/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 +56 -12
- package/dist/esm/utils/logger.js +2 -0
- package/dist/esm/utils/model_name.js +2 -0
- 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/a2a/a2a_remote_agent.d.ts +7 -3
- 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 +26 -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/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/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/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 +17 -24
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +9 -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 +47 -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 +3 -2
- package/dist/web/index.js.map +4 -4
- 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 +12 -3
- 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 +6 -1
- package/dist/web/tools/mcp/mcp_toolset.js +2 -0
- 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/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 +87 -12
- package/dist/web/utils/logger.js +2 -0
- package/dist/web/utils/model_name.js +2 -0
- 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
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
1
3
|
/**
|
|
2
4
|
* @license
|
|
3
5
|
* Copyright 2025 Google LLC
|
|
@@ -38,6 +40,7 @@ import { ContextCompactorRequestProcessor } from "./processors/context_compactor
|
|
|
38
40
|
import { IDENTITY_LLM_REQUEST_PROCESSOR } from "./processors/identity_llm_request_processor.js";
|
|
39
41
|
import { INSTRUCTIONS_LLM_REQUEST_PROCESSOR } from "./processors/instructions_llm_request_processor.js";
|
|
40
42
|
import { REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR } from "./processors/request_confirmation_llm_request_processor.js";
|
|
43
|
+
import { TOOL_FILTER_REQUEST_PROCESSOR } from "./processors/tool_filter_request_processor.js";
|
|
41
44
|
import { ReadonlyContext } from "./readonly_context.js";
|
|
42
45
|
import { StreamingMode } from "./run_config.js";
|
|
43
46
|
const ADK_AGENT_NAME_LABEL_KEY = "adk_agent_name";
|
|
@@ -79,7 +82,8 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
79
82
|
INSTRUCTIONS_LLM_REQUEST_PROCESSOR,
|
|
80
83
|
REQUEST_CONFIRMATION_LLM_REQUEST_PROCESSOR,
|
|
81
84
|
CONTENT_REQUEST_PROCESSOR,
|
|
82
|
-
CODE_EXECUTION_REQUEST_PROCESSOR
|
|
85
|
+
CODE_EXECUTION_REQUEST_PROCESSOR,
|
|
86
|
+
TOOL_FILTER_REQUEST_PROCESSOR
|
|
83
87
|
];
|
|
84
88
|
if (!config.requestProcessors && config.contextCompactors && config.contextCompactors.length > 0) {
|
|
85
89
|
const contentIndex = this.requestProcessors.indexOf(
|
|
@@ -299,9 +303,13 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
299
303
|
event.actions.stateDelta[this.outputKey] = result;
|
|
300
304
|
}
|
|
301
305
|
async *runAsyncImpl(context2) {
|
|
306
|
+
var _a2;
|
|
302
307
|
while (true) {
|
|
303
308
|
let lastEvent = void 0;
|
|
304
309
|
for await (const event of this.runOneStepAsync(context2)) {
|
|
310
|
+
if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
311
|
+
return;
|
|
312
|
+
}
|
|
305
313
|
lastEvent = event;
|
|
306
314
|
this.maybeSaveOutputToState(event);
|
|
307
315
|
yield event;
|
|
@@ -316,7 +324,11 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
316
324
|
}
|
|
317
325
|
}
|
|
318
326
|
async *runLiveImpl(context2) {
|
|
327
|
+
var _a2;
|
|
319
328
|
for await (const event of this.runLiveFlow(context2)) {
|
|
329
|
+
if ((_a2 = context2.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
320
332
|
this.maybeSaveOutputToState(event);
|
|
321
333
|
yield event;
|
|
322
334
|
}
|
|
@@ -333,6 +345,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
333
345
|
throw new Error("LlmAgent.runLiveFlow not implemented");
|
|
334
346
|
}
|
|
335
347
|
async *runOneStepAsync(invocationContext) {
|
|
348
|
+
var _a2, _b2, _c;
|
|
336
349
|
const llmRequest = {
|
|
337
350
|
contents: [],
|
|
338
351
|
toolsDict: {},
|
|
@@ -343,20 +356,28 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
343
356
|
invocationContext,
|
|
344
357
|
llmRequest
|
|
345
358
|
)) {
|
|
359
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
346
362
|
yield event;
|
|
347
363
|
}
|
|
348
364
|
}
|
|
349
365
|
for (const toolUnion of this.tools) {
|
|
350
366
|
const toolContext = new Context({ invocationContext });
|
|
351
|
-
const tools = await convertToolUnionToTools(
|
|
367
|
+
const tools = (await convertToolUnionToTools(
|
|
352
368
|
toolUnion,
|
|
353
369
|
new ReadonlyContext(invocationContext)
|
|
354
|
-
)
|
|
370
|
+
)).filter((tool) => {
|
|
371
|
+
return !llmRequest.allowedTools || llmRequest.allowedTools.includes(tool.name);
|
|
372
|
+
});
|
|
355
373
|
for (const tool of tools) {
|
|
356
374
|
await tool.processLlmRequest({ toolContext, llmRequest });
|
|
375
|
+
if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
376
|
+
return;
|
|
377
|
+
}
|
|
357
378
|
}
|
|
358
379
|
}
|
|
359
|
-
if (invocationContext.endInvocation) {
|
|
380
|
+
if (invocationContext.endInvocation || ((_c = invocationContext.abortSignal) == null ? void 0 : _c.aborted)) {
|
|
360
381
|
return;
|
|
361
382
|
}
|
|
362
383
|
const modelResponseEvent = createEvent({
|
|
@@ -371,17 +392,24 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
371
392
|
this,
|
|
372
393
|
async function* () {
|
|
373
394
|
const responsesGenerator = async function* () {
|
|
395
|
+
var _a3, _b3;
|
|
374
396
|
for await (const llmResponse of this.callLlmAsync(
|
|
375
397
|
invocationContext,
|
|
376
398
|
llmRequest,
|
|
377
399
|
modelResponseEvent
|
|
378
400
|
)) {
|
|
401
|
+
if ((_a3 = invocationContext.abortSignal) == null ? void 0 : _a3.aborted) {
|
|
402
|
+
return;
|
|
403
|
+
}
|
|
379
404
|
for await (const event of this.postprocess(
|
|
380
405
|
invocationContext,
|
|
381
406
|
llmRequest,
|
|
382
407
|
llmResponse,
|
|
383
408
|
modelResponseEvent
|
|
384
409
|
)) {
|
|
410
|
+
if ((_b3 = invocationContext.abortSignal) == null ? void 0 : _b3.aborted) {
|
|
411
|
+
return;
|
|
412
|
+
}
|
|
385
413
|
modelResponseEvent.id = createNewEventId();
|
|
386
414
|
modelResponseEvent.timestamp = (/* @__PURE__ */ new Date()).getTime();
|
|
387
415
|
yield event;
|
|
@@ -399,12 +427,15 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
399
427
|
span.end();
|
|
400
428
|
}
|
|
401
429
|
async *postprocess(invocationContext, llmRequest, llmResponse, modelResponseEvent) {
|
|
402
|
-
var _a2, _b2;
|
|
430
|
+
var _a2, _b2, _c, _d, _e;
|
|
403
431
|
for (const processor of this.responseProcessors) {
|
|
404
432
|
for await (const event of processor.runAsync(
|
|
405
433
|
invocationContext,
|
|
406
434
|
llmResponse
|
|
407
435
|
)) {
|
|
436
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
408
439
|
yield event;
|
|
409
440
|
}
|
|
410
441
|
}
|
|
@@ -425,10 +456,10 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
425
456
|
}
|
|
426
457
|
}
|
|
427
458
|
yield mergedEvent;
|
|
428
|
-
if (!((
|
|
459
|
+
if (!((_b2 = getFunctionCalls(mergedEvent)) == null ? void 0 : _b2.length)) {
|
|
429
460
|
return;
|
|
430
461
|
}
|
|
431
|
-
if ((
|
|
462
|
+
if ((_c = invocationContext.runConfig) == null ? void 0 : _c.pauseOnToolCalls) {
|
|
432
463
|
invocationContext.endInvocation = true;
|
|
433
464
|
return;
|
|
434
465
|
}
|
|
@@ -439,7 +470,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
439
470
|
beforeToolCallbacks: this.canonicalBeforeToolCallbacks,
|
|
440
471
|
afterToolCallbacks: this.canonicalAfterToolCallbacks
|
|
441
472
|
});
|
|
442
|
-
if (!functionResponseEvent) {
|
|
473
|
+
if (!functionResponseEvent || ((_d = invocationContext.abortSignal) == null ? void 0 : _d.aborted)) {
|
|
443
474
|
return;
|
|
444
475
|
}
|
|
445
476
|
const authEvent = generateAuthEvent(
|
|
@@ -464,6 +495,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
464
495
|
if (nextAgentName) {
|
|
465
496
|
const nextAgent = this.getAgentByName(invocationContext, nextAgentName);
|
|
466
497
|
for await (const event of nextAgent.runAsync(invocationContext)) {
|
|
498
|
+
if ((_e = invocationContext.abortSignal) == null ? void 0 : _e.aborted) {
|
|
499
|
+
return;
|
|
500
|
+
}
|
|
467
501
|
yield event;
|
|
468
502
|
}
|
|
469
503
|
}
|
|
@@ -489,30 +523,34 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
489
523
|
return agentToRun;
|
|
490
524
|
}
|
|
491
525
|
async *callLlmAsync(invocationContext, llmRequest, modelResponseEvent) {
|
|
492
|
-
var _a2, _b2, _c, _d, _e;
|
|
526
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h;
|
|
493
527
|
const beforeModelResponse = await this.handleBeforeModelCallback(
|
|
494
528
|
invocationContext,
|
|
495
529
|
llmRequest,
|
|
496
530
|
modelResponseEvent
|
|
497
531
|
);
|
|
532
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
498
535
|
if (beforeModelResponse) {
|
|
499
536
|
yield beforeModelResponse;
|
|
500
537
|
return;
|
|
501
538
|
}
|
|
502
|
-
(
|
|
503
|
-
(
|
|
539
|
+
(_b2 = llmRequest.config) != null ? _b2 : llmRequest.config = {};
|
|
540
|
+
(_d = (_c = llmRequest.config).labels) != null ? _d : _c.labels = {};
|
|
504
541
|
if (!llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY]) {
|
|
505
542
|
llmRequest.config.labels[ADK_AGENT_NAME_LABEL_KEY] = this.name;
|
|
506
543
|
}
|
|
507
544
|
const llm = this.canonicalModel;
|
|
508
|
-
if ((
|
|
545
|
+
if ((_e = invocationContext.runConfig) == null ? void 0 : _e.supportCfc) {
|
|
509
546
|
throw new Error("CFC is not yet supported in callLlmAsync");
|
|
510
547
|
} else {
|
|
511
548
|
invocationContext.incrementLlmCallCount();
|
|
512
549
|
const responsesGenerator = llm.generateContentAsync(
|
|
513
550
|
llmRequest,
|
|
514
551
|
/* stream= */
|
|
515
|
-
((
|
|
552
|
+
((_f = invocationContext.runConfig) == null ? void 0 : _f.streamingMode) === StreamingMode.SSE,
|
|
553
|
+
invocationContext.abortSignal
|
|
516
554
|
);
|
|
517
555
|
for await (const llmResponse of responsesGenerator) {
|
|
518
556
|
traceCallLlm({
|
|
@@ -521,16 +559,23 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
521
559
|
llmRequest,
|
|
522
560
|
llmResponse
|
|
523
561
|
});
|
|
562
|
+
if ((_g = invocationContext.abortSignal) == null ? void 0 : _g.aborted) {
|
|
563
|
+
return;
|
|
564
|
+
}
|
|
524
565
|
const alteredLlmResponse = await this.handleAfterModelCallback(
|
|
525
566
|
invocationContext,
|
|
526
567
|
llmResponse,
|
|
527
568
|
modelResponseEvent
|
|
528
569
|
);
|
|
570
|
+
if ((_h = invocationContext.abortSignal) == null ? void 0 : _h.aborted) {
|
|
571
|
+
return;
|
|
572
|
+
}
|
|
529
573
|
yield alteredLlmResponse != null ? alteredLlmResponse : llmResponse;
|
|
530
574
|
}
|
|
531
575
|
}
|
|
532
576
|
}
|
|
533
577
|
async handleBeforeModelCallback(invocationContext, llmRequest, modelResponseEvent) {
|
|
578
|
+
var _a2, _b2;
|
|
534
579
|
const callbackContext = new Context({
|
|
535
580
|
invocationContext,
|
|
536
581
|
eventActions: modelResponseEvent.actions
|
|
@@ -539,6 +584,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
539
584
|
callbackContext,
|
|
540
585
|
llmRequest
|
|
541
586
|
});
|
|
587
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
588
|
+
return;
|
|
589
|
+
}
|
|
542
590
|
if (beforeModelCallbackResponse) {
|
|
543
591
|
return beforeModelCallbackResponse;
|
|
544
592
|
}
|
|
@@ -547,6 +595,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
547
595
|
context: callbackContext,
|
|
548
596
|
request: llmRequest
|
|
549
597
|
});
|
|
598
|
+
if ((_b2 = invocationContext.abortSignal) == null ? void 0 : _b2.aborted) {
|
|
599
|
+
return;
|
|
600
|
+
}
|
|
550
601
|
if (callbackResponse) {
|
|
551
602
|
return callbackResponse;
|
|
552
603
|
}
|
|
@@ -554,6 +605,7 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
554
605
|
return void 0;
|
|
555
606
|
}
|
|
556
607
|
async handleAfterModelCallback(invocationContext, llmResponse, modelResponseEvent) {
|
|
608
|
+
var _a2;
|
|
557
609
|
const callbackContext = new Context({
|
|
558
610
|
invocationContext,
|
|
559
611
|
eventActions: modelResponseEvent.actions
|
|
@@ -570,6 +622,9 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
570
622
|
context: callbackContext,
|
|
571
623
|
response: llmResponse
|
|
572
624
|
});
|
|
625
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
626
|
+
return;
|
|
627
|
+
}
|
|
573
628
|
if (callbackResponse) {
|
|
574
629
|
return callbackResponse;
|
|
575
630
|
}
|
|
@@ -577,8 +632,12 @@ class LlmAgent extends (_b = BaseAgent, _a = LLM_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
577
632
|
return void 0;
|
|
578
633
|
}
|
|
579
634
|
async *runAndHandleError(responseGenerator, invocationContext, llmRequest, modelResponseEvent) {
|
|
635
|
+
var _a2;
|
|
580
636
|
try {
|
|
581
637
|
for await (const response of responseGenerator) {
|
|
638
|
+
if ((_a2 = invocationContext.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
639
|
+
return;
|
|
640
|
+
}
|
|
582
641
|
yield response;
|
|
583
642
|
}
|
|
584
643
|
} catch (modelError) {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
1
3
|
/**
|
|
2
4
|
* @license
|
|
3
5
|
* Copyright 2025 Google LLC
|
|
@@ -20,11 +22,15 @@ class LoopAgent extends (_b = BaseAgent, _a = LOOP_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
|
20
22
|
this.maxIterations = (_a2 = config.maxIterations) != null ? _a2 : Number.MAX_SAFE_INTEGER;
|
|
21
23
|
}
|
|
22
24
|
async *runAsyncImpl(context) {
|
|
25
|
+
var _a2;
|
|
23
26
|
let iteration = 0;
|
|
24
27
|
while (iteration < this.maxIterations) {
|
|
25
28
|
for (const subAgent of this.subAgents) {
|
|
26
29
|
let shouldExit = false;
|
|
27
30
|
for await (const event of subAgent.runAsync(context)) {
|
|
31
|
+
if ((_a2 = context.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
28
34
|
yield event;
|
|
29
35
|
if (event.actions.escalate) {
|
|
30
36
|
shouldExit = true;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
1
3
|
/**
|
|
2
4
|
* @license
|
|
3
5
|
* Copyright 2025 Google LLC
|
|
@@ -19,10 +21,14 @@ class ParallelAgent extends (_b = BaseAgent, _a = PARALLEL_AGENT_SIGNATURE_SYMBO
|
|
|
19
21
|
this[_a] = true;
|
|
20
22
|
}
|
|
21
23
|
async *runAsyncImpl(context) {
|
|
24
|
+
var _a2;
|
|
22
25
|
const agentRuns = this.subAgents.map(
|
|
23
26
|
(subAgent) => subAgent.runAsync(createBranchCtxForSubAgent(this, subAgent, context))
|
|
24
27
|
);
|
|
25
28
|
for await (const event of mergeAgentRuns(agentRuns)) {
|
|
29
|
+
if ((_a2 = context.abortSignal) == null ? void 0 : _a2.aborted) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
26
32
|
yield event;
|
|
27
33
|
}
|
|
28
34
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
1
3
|
/**
|
|
2
4
|
* @license
|
|
3
5
|
* Copyright 2025 Google LLC
|
|
@@ -9,6 +11,7 @@ import { isBuiltInCodeExecutor } from "../../code_executors/built_in_code_execut
|
|
|
9
11
|
import {
|
|
10
12
|
buildCodeExecutionResultPart,
|
|
11
13
|
buildExecutableCodePart,
|
|
14
|
+
CodeExecutionLanguage,
|
|
12
15
|
convertCodeExecutionParts,
|
|
13
16
|
extractCodeAndTruncateContent
|
|
14
17
|
} from "../../code_executors/code_execution_utils.js";
|
|
@@ -169,6 +172,7 @@ async function* runPreProcessor(invocationContext, llmRequest) {
|
|
|
169
172
|
invocationContext,
|
|
170
173
|
codeExecutionInput: {
|
|
171
174
|
code: codeStr,
|
|
175
|
+
language: CodeExecutionLanguage.PYTHON,
|
|
172
176
|
inputFiles: [file],
|
|
173
177
|
executionId
|
|
174
178
|
}
|
|
@@ -232,6 +236,7 @@ async function* runPostProcessor(invocationContext, llmResponse) {
|
|
|
232
236
|
invocationContext,
|
|
233
237
|
codeExecutionInput: {
|
|
234
238
|
code: codeStr,
|
|
239
|
+
language: CodeExecutionLanguage.PYTHON,
|
|
235
240
|
inputFiles: codeExecutorContext.getInputFiles(),
|
|
236
241
|
executionId
|
|
237
242
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
1
3
|
/**
|
|
2
4
|
* @license
|
|
3
5
|
* Copyright 2026 Google LLC
|
|
4
6
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
7
|
*/
|
|
8
|
+
import { ContextCompactionTrigger } from "../../plugins/base_plugin.js";
|
|
6
9
|
class ContextCompactorRequestProcessor {
|
|
7
10
|
constructor(compactors) {
|
|
8
11
|
this.compactors = compactors;
|
|
@@ -13,8 +16,16 @@ class ContextCompactorRequestProcessor {
|
|
|
13
16
|
compactor.shouldCompact(invocationContext)
|
|
14
17
|
);
|
|
15
18
|
if (shouldCompact) {
|
|
19
|
+
await invocationContext.pluginManager.runBeforeContextCompaction({
|
|
20
|
+
invocationContext,
|
|
21
|
+
trigger: ContextCompactionTrigger.Auto
|
|
22
|
+
});
|
|
16
23
|
const oldEvents = new Set(invocationContext.session.events);
|
|
17
24
|
await Promise.resolve(compactor.compact(invocationContext));
|
|
25
|
+
await invocationContext.pluginManager.runAfterContextCompaction({
|
|
26
|
+
invocationContext,
|
|
27
|
+
trigger: ContextCompactionTrigger.Auto
|
|
28
|
+
});
|
|
18
29
|
const newEvents = invocationContext.session.events.filter(
|
|
19
30
|
(e) => !oldEvents.has(e)
|
|
20
31
|
);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2025 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
import { Context } from "../context.js";
|
|
9
|
+
import { isLlmAgent } from "../llm_agent.js";
|
|
10
|
+
import { ReadonlyContext } from "../readonly_context.js";
|
|
11
|
+
import { BaseLlmRequestProcessor } from "./base_llm_processor.js";
|
|
12
|
+
class ToolFilterRequestProcessor extends BaseLlmRequestProcessor {
|
|
13
|
+
/** Filters the set of tools on the request based on plugins. */
|
|
14
|
+
// eslint-disable-next-line require-yield
|
|
15
|
+
async *runAsync(invocationContext, llmRequest) {
|
|
16
|
+
const agent = invocationContext.agent;
|
|
17
|
+
if (!isLlmAgent(agent)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const toolsList = await agent.canonicalTools(
|
|
21
|
+
new ReadonlyContext(invocationContext)
|
|
22
|
+
);
|
|
23
|
+
if (toolsList.length === 0) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const toolsDict = {};
|
|
27
|
+
for (const tool of toolsList) {
|
|
28
|
+
toolsDict[tool.name] = tool;
|
|
29
|
+
}
|
|
30
|
+
const callbackContext = new Context({ invocationContext });
|
|
31
|
+
const filteredTools = await invocationContext.pluginManager.runBeforeToolSelection({
|
|
32
|
+
callbackContext,
|
|
33
|
+
tools: toolsDict
|
|
34
|
+
});
|
|
35
|
+
if (filteredTools !== void 0) {
|
|
36
|
+
llmRequest.allowedTools = Object.keys(filteredTools);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const TOOL_FILTER_REQUEST_PROCESSOR = new ToolFilterRequestProcessor();
|
|
41
|
+
export {
|
|
42
|
+
TOOL_FILTER_REQUEST_PROCESSOR,
|
|
43
|
+
ToolFilterRequestProcessor
|
|
44
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
6
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
7
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
8
|
+
if (decorator = decorators[i])
|
|
9
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
10
|
+
if (kind && result) __defProp(target, key, result);
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* @license
|
|
15
|
+
* Copyright 2026 Google LLC
|
|
16
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
17
|
+
*/
|
|
18
|
+
var _a, _b;
|
|
19
|
+
import { BaseAgent } from "./base_agent.js";
|
|
20
|
+
import { experimental } from "../utils/experimental.js";
|
|
21
|
+
import { runWithRouting } from "../utils/failover_utils.js";
|
|
22
|
+
const ROUTED_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.routedAgent");
|
|
23
|
+
function isRoutedAgent(obj) {
|
|
24
|
+
return typeof obj === "object" && obj !== null && ROUTED_AGENT_SIGNATURE_SYMBOL in obj && obj[ROUTED_AGENT_SIGNATURE_SYMBOL] === true;
|
|
25
|
+
}
|
|
26
|
+
let RoutedAgent = class extends (_b = BaseAgent, _a = ROUTED_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
27
|
+
constructor(config) {
|
|
28
|
+
const agentsArray = Array.isArray(config.agents) ? config.agents : Object.values(config.agents);
|
|
29
|
+
super({
|
|
30
|
+
...config,
|
|
31
|
+
subAgents: agentsArray
|
|
32
|
+
});
|
|
33
|
+
this[_a] = true;
|
|
34
|
+
if (Array.isArray(config.agents)) {
|
|
35
|
+
this.agents = Object.fromEntries(config.agents.map((a) => [a.name, a]));
|
|
36
|
+
} else {
|
|
37
|
+
this.agents = config.agents;
|
|
38
|
+
}
|
|
39
|
+
this.router = config.router;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Runs the selected agent via text-based conversation.
|
|
43
|
+
*/
|
|
44
|
+
async *runAsyncImpl(context) {
|
|
45
|
+
yield* runWithRouting(
|
|
46
|
+
this.agents,
|
|
47
|
+
context,
|
|
48
|
+
this.router,
|
|
49
|
+
(agent) => agent.runAsync(context)
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Runs the selected agent via video/audio-based conversation.
|
|
54
|
+
*/
|
|
55
|
+
async *runLiveImpl(context) {
|
|
56
|
+
yield* runWithRouting(
|
|
57
|
+
this.agents,
|
|
58
|
+
context,
|
|
59
|
+
this.router,
|
|
60
|
+
(agent) => agent.runLive(context)
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
RoutedAgent = __decorateClass([
|
|
65
|
+
experimental
|
|
66
|
+
], RoutedAgent);
|
|
67
|
+
export {
|
|
68
|
+
RoutedAgent,
|
|
69
|
+
isRoutedAgent
|
|
70
|
+
};
|