@google/adk 1.6.0 → 2.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_event.js +18 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +5 -2
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +9 -2
- package/dist/cjs/a2a/agent_card.js +33 -3
- package/dist/cjs/a2a/agent_executor.js +25 -16
- package/dist/cjs/a2a/agent_to_a2a.js +22 -10
- package/dist/cjs/a2a/auth.js +3 -0
- package/dist/cjs/a2a/event_converter_utils.js +10 -0
- package/dist/cjs/a2a/event_processor_utils.js +71 -35
- package/dist/cjs/a2a/executor_context.js +2 -0
- package/dist/cjs/a2a/index.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +46 -9
- package/dist/cjs/agents/context.js +5 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +38 -16
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +42 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +535 -45
- package/dist/cjs/agents/loop_agent.js +19 -2
- package/dist/cjs/agents/parallel_agent.js +21 -2
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -4
- package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +6 -3
- package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -5
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +9 -4
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +5 -2
- package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +313 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +218 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +7 -3
- package/dist/cjs/agents/routed_agent.js +6 -13
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +20 -3
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +11 -11
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +21 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
- package/dist/cjs/artifacts/in_memory_artifact_service.js +9 -2
- package/dist/cjs/artifacts/registry.js +6 -1
- package/dist/cjs/artifacts/scoped_artifact_service.js +5 -2
- package/dist/cjs/auth/auth_handler.js +5 -2
- package/dist/cjs/auth/auth_preprocessor.js +48 -40
- package/dist/cjs/auth/auth_provider_registry.js +5 -2
- package/dist/cjs/auth/auth_schemes.js +2 -0
- package/dist/cjs/auth/credential_response_binding.js +101 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +5 -2
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +6 -0
- package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
- package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/cjs/code_executors/base_code_executor.js +6 -2
- package/dist/cjs/code_executors/built_in_code_executor.js +6 -2
- package/dist/cjs/code_executors/code_execution_utils.js +6 -0
- package/dist/cjs/code_executors/code_executor_context.js +5 -2
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +8 -2
- package/dist/cjs/common.js +106 -1
- package/dist/cjs/context/agent_controlled_context_compactor.js +5 -2
- package/dist/cjs/context/anchored_context_compactor.js +5 -2
- package/dist/cjs/context/compaction_utils.js +3 -0
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +9 -3
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +5 -2
- package/dist/cjs/context/truncating_context_compactor.js +5 -2
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -0
- package/dist/cjs/events/compacted_event.js +4 -0
- package/dist/cjs/events/event.js +38 -3
- package/dist/cjs/events/event_actions.js +5 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +6 -2
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +7 -25
- package/dist/cjs/integrations/agent_registry/agent_registry.js +7 -4
- package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
- package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
- package/dist/cjs/memory/in_memory_memory_service.js +8 -2
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +17 -2
- package/dist/cjs/models/apigee_llm.js +9 -3
- package/dist/cjs/models/base_llm.js +7 -3
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +24 -12
- package/dist/cjs/models/interactions_utils.js +16 -0
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +6 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/base_plugin.js +39 -5
- package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
- package/dist/cjs/plugins/logging_plugin.js +13 -8
- package/dist/cjs/plugins/plugin_manager.js +37 -2
- package/dist/cjs/plugins/security_plugin.js +15 -8
- package/dist/cjs/runner/in_memory_runner.js +5 -2
- package/dist/cjs/runner/runner.js +208 -18
- package/dist/cjs/sessions/base_session_service.js +13 -2
- package/dist/cjs/sessions/database_session_service.js +6 -2
- package/dist/cjs/sessions/db/operations.js +34 -6
- package/dist/cjs/sessions/db/schema.js +16 -8
- package/dist/cjs/sessions/in_memory_session_service.js +22 -14
- package/dist/cjs/sessions/registry.js +4 -1
- package/dist/cjs/sessions/session.js +2 -0
- package/dist/cjs/sessions/state.js +80 -8
- package/dist/cjs/sessions/state_write_order.js +105 -0
- package/dist/cjs/sessions/vertex_ai_session_service.js +110 -15
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +22 -10
- package/dist/cjs/skills/prompt.js +3 -0
- package/dist/cjs/telemetry/google_cloud.js +42 -9
- package/dist/cjs/telemetry/setup.js +5 -0
- package/dist/cjs/telemetry/tracing.js +60 -4
- package/dist/cjs/tools/agent_tool.js +6 -2
- package/dist/cjs/tools/base_tool.js +24 -2
- package/dist/cjs/tools/base_toolset.js +6 -2
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +6 -2
- package/dist/cjs/tools/example_tool.js +5 -2
- package/dist/cjs/tools/exit_loop_tool.js +5 -2
- package/dist/cjs/tools/finish_task_tool.js +119 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +5 -2
- package/dist/cjs/tools/function_tool.js +73 -8
- package/dist/cjs/tools/get_user_choice_tool.js +3 -2
- package/dist/cjs/tools/google_maps_grounding_tool.js +6 -2
- package/dist/cjs/tools/google_search_tool.js +5 -2
- package/dist/cjs/tools/load_artifacts_tool.js +8 -2
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +21 -1
- package/dist/cjs/tools/long_running_tool.js +5 -2
- package/dist/cjs/tools/mcp/index.js +39 -0
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_session_manager.js +36 -8
- package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +4 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/cjs/tools/preload_memory_tool.js +5 -2
- package/dist/cjs/tools/request_input_tool.js +6 -4
- package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/skill_toolset.js +35 -0
- package/dist/cjs/tools/tool_confirmation.js +26 -3
- package/dist/cjs/tools/url_context_tool.js +5 -2
- package/dist/cjs/tools/vertex_ai_search_tool.js +5 -2
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +5 -2
- package/dist/cjs/utils/async_hooks_shim.js +5 -2
- package/dist/cjs/utils/async_queue.js +45 -18
- package/dist/cjs/utils/branch_trie.js +2 -0
- package/dist/cjs/utils/case_utils.js +2 -0
- package/dist/cjs/utils/client_labels.js +5 -0
- package/dist/cjs/utils/crypto_shim.js +2 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +41 -0
- package/dist/cjs/utils/error_utils.js +8 -0
- package/dist/cjs/utils/experimental.js +9 -2
- package/dist/cjs/utils/failover_utils.js +3 -0
- package/dist/cjs/utils/file_extension_utils.js +3 -0
- package/dist/cjs/utils/file_utils.js +7 -2
- package/dist/cjs/utils/gemini_schema_util.js +6 -2
- package/dist/cjs/utils/genai_schema_to_json.js +107 -0
- package/dist/cjs/utils/live_connection_utils.js +5 -2
- package/dist/cjs/utils/logger.js +13 -4
- package/dist/cjs/utils/model_name.js +8 -0
- package/dist/cjs/utils/object_notation_utils.js +7 -3
- package/dist/cjs/utils/optional_peer.js +68 -0
- package/dist/cjs/utils/output_schema_utils.js +2 -0
- package/dist/cjs/utils/partial_copy.js +2 -0
- package/dist/cjs/utils/redact_uri.js +66 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- package/dist/cjs/utils/streaming_utils.js +14 -6
- package/dist/cjs/utils/task.js +7 -4
- package/dist/cjs/utils/variant_utils.js +3 -1
- package/dist/cjs/utils/vertex_ai_utils.js +3 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +211 -0
- package/dist/cjs/workflow/branch_path.js +108 -0
- package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
- package/dist/cjs/workflow/errors.js +178 -0
- package/dist/cjs/workflow/graph.js +158 -0
- package/dist/cjs/workflow/index.js +131 -0
- package/dist/cjs/workflow/node.js +65 -0
- package/dist/cjs/workflow/node_builders.js +68 -0
- package/dist/cjs/workflow/node_context.js +246 -0
- package/dist/cjs/workflow/node_error_event.js +86 -0
- package/dist/cjs/workflow/node_runner.js +459 -0
- package/dist/cjs/workflow/node_state.js +57 -0
- package/dist/cjs/workflow/node_status.js +48 -0
- package/dist/cjs/workflow/nodes/function_node.js +195 -0
- package/dist/cjs/workflow/nodes/join_node.js +56 -0
- package/dist/cjs/workflow/nodes/node_tool.js +156 -0
- package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
- package/dist/cjs/workflow/nodes/tool_node.js +117 -0
- package/dist/cjs/workflow/request_input.js +64 -0
- package/dist/cjs/workflow/retry_config.js +71 -0
- package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
- package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
- package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
- package/dist/cjs/workflow/trigger.js +27 -0
- package/dist/cjs/workflow/utils/graph_parser.js +212 -0
- package/dist/cjs/workflow/utils/graph_validation.js +216 -0
- package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
- package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
- package/dist/cjs/workflow/utils/retry_utils.js +112 -0
- package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
- package/dist/cjs/workflow/workflow.js +509 -0
- package/dist/esm/a2a/a2a_event.js +19 -0
- package/dist/esm/a2a/a2a_remote_agent.js +6 -2
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/esm/a2a/agent_card.js +34 -3
- package/dist/esm/a2a/agent_executor.js +27 -17
- package/dist/esm/a2a/agent_to_a2a.js +44 -15
- package/dist/esm/a2a/auth.js +4 -0
- package/dist/esm/a2a/event_converter_utils.js +11 -0
- package/dist/esm/a2a/event_processor_utils.js +74 -34
- package/dist/esm/a2a/executor_context.js +3 -0
- package/dist/esm/a2a/index.js +20 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +47 -9
- package/dist/esm/agents/context.js +6 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +42 -13
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +41 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +536 -45
- package/dist/esm/agents/loop_agent.js +21 -2
- package/dist/esm/agents/parallel_agent.js +23 -2
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/esm/agents/processors/base_llm_processor.js +10 -4
- package/dist/esm/agents/processors/basic_llm_request_processor.js +7 -3
- package/dist/esm/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +10 -4
- package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +6 -2
- package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +318 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +197 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +8 -3
- package/dist/esm/agents/routed_agent.js +6 -14
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +22 -3
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +14 -11
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +22 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
- package/dist/esm/artifacts/in_memory_artifact_service.js +10 -2
- package/dist/esm/artifacts/registry.js +7 -1
- package/dist/esm/artifacts/scoped_artifact_service.js +6 -2
- package/dist/esm/auth/auth_handler.js +6 -2
- package/dist/esm/auth/auth_preprocessor.js +50 -41
- package/dist/esm/auth/auth_provider_registry.js +6 -2
- package/dist/esm/auth/auth_schemes.js +3 -0
- package/dist/esm/auth/credential_response_binding.js +74 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +6 -2
- package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/esm/code_executors/base_code_executor.js +7 -2
- package/dist/esm/code_executors/built_in_code_executor.js +7 -2
- package/dist/esm/code_executors/code_execution_utils.js +7 -0
- package/dist/esm/code_executors/code_executor_context.js +6 -2
- package/dist/esm/code_executors/unsafe_local_code_executor.js +9 -2
- package/dist/esm/common.js +109 -4
- package/dist/esm/context/agent_controlled_context_compactor.js +6 -2
- package/dist/esm/context/anchored_context_compactor.js +6 -2
- package/dist/esm/context/compaction_utils.js +4 -0
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +10 -3
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/esm/context/truncating_context_compactor.js +6 -2
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -0
- package/dist/esm/events/compacted_event.js +5 -0
- package/dist/esm/events/event.js +38 -3
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +7 -2
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +4 -15
- package/dist/esm/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
- package/dist/esm/integrations/agent_registry/helpers.js +4 -0
- package/dist/esm/memory/in_memory_memory_service.js +9 -2
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +18 -2
- package/dist/esm/models/apigee_llm.js +10 -3
- package/dist/esm/models/base_llm.js +8 -3
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +26 -13
- package/dist/esm/models/interactions_utils.js +17 -0
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +7 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/base_plugin.js +39 -5
- package/dist/esm/plugins/global_instruction_plugin.js +6 -2
- package/dist/esm/plugins/logging_plugin.js +14 -8
- package/dist/esm/plugins/plugin_manager.js +38 -2
- package/dist/esm/plugins/security_plugin.js +14 -6
- package/dist/esm/runner/in_memory_runner.js +6 -2
- package/dist/esm/runner/runner.js +215 -20
- package/dist/esm/sessions/base_session_service.js +14 -2
- package/dist/esm/sessions/database_session_service.js +7 -2
- package/dist/esm/sessions/db/operations.js +34 -6
- package/dist/esm/sessions/db/schema.js +16 -8
- package/dist/esm/sessions/in_memory_session_service.js +23 -14
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/session.js +3 -0
- package/dist/esm/sessions/state.js +78 -7
- package/dist/esm/sessions/state_write_order.js +74 -0
- package/dist/esm/sessions/vertex_ai_session_service.js +110 -15
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +23 -10
- package/dist/esm/skills/prompt.js +4 -0
- package/dist/esm/telemetry/google_cloud.js +54 -9
- package/dist/esm/telemetry/setup.js +6 -0
- package/dist/esm/telemetry/tracing.js +59 -4
- package/dist/esm/tools/agent_tool.js +7 -2
- package/dist/esm/tools/base_tool.js +25 -2
- package/dist/esm/tools/base_toolset.js +7 -2
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +7 -2
- package/dist/esm/tools/example_tool.js +6 -2
- package/dist/esm/tools/exit_loop_tool.js +6 -2
- package/dist/esm/tools/finish_task_tool.js +92 -0
- package/dist/esm/tools/forwarding_artifact_service.js +6 -2
- package/dist/esm/tools/function_tool.js +74 -8
- package/dist/esm/tools/get_user_choice_tool.js +4 -2
- package/dist/esm/tools/google_maps_grounding_tool.js +7 -2
- package/dist/esm/tools/google_search_tool.js +6 -2
- package/dist/esm/tools/load_artifacts_tool.js +9 -2
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +22 -1
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/esm/tools/mcp/index.js +11 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_session_manager.js +45 -9
- package/dist/esm/tools/mcp/mcp_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/esm/tools/preload_memory_tool.js +6 -2
- package/dist/esm/tools/request_input_tool.js +7 -4
- package/dist/esm/tools/skill/list_skills_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_tool.js +4 -1
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/esm/tools/skill/search_skills_tool.js +2 -0
- package/dist/esm/tools/skill/skill_toolset.js +25 -0
- package/dist/esm/tools/tool_confirmation.js +24 -2
- package/dist/esm/tools/url_context_tool.js +6 -2
- package/dist/esm/tools/vertex_ai_search_tool.js +6 -2
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/esm/utils/async_hooks_shim.js +6 -2
- package/dist/esm/utils/async_queue.js +46 -18
- package/dist/esm/utils/branch_trie.js +3 -0
- package/dist/esm/utils/case_utils.js +3 -0
- package/dist/esm/utils/client_labels.js +6 -0
- package/dist/esm/utils/crypto_shim.js +3 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +41 -0
- package/dist/esm/utils/error_utils.js +9 -0
- package/dist/esm/utils/experimental.js +10 -2
- package/dist/esm/utils/failover_utils.js +4 -0
- package/dist/esm/utils/file_extension_utils.js +4 -0
- package/dist/esm/utils/file_utils.js +8 -2
- package/dist/esm/utils/gemini_schema_util.js +7 -2
- package/dist/esm/utils/genai_schema_to_json.js +80 -0
- package/dist/esm/utils/live_connection_utils.js +6 -2
- package/dist/esm/utils/logger.js +14 -4
- package/dist/esm/utils/model_name.js +9 -0
- package/dist/esm/utils/object_notation_utils.js +8 -3
- package/dist/esm/utils/optional_peer.js +41 -0
- package/dist/esm/utils/output_schema_utils.js +3 -0
- package/dist/esm/utils/partial_copy.js +3 -0
- package/dist/esm/utils/redact_uri.js +39 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- package/dist/esm/utils/streaming_utils.js +15 -6
- package/dist/esm/utils/task.js +8 -4
- package/dist/esm/utils/variant_utils.js +5 -2
- package/dist/esm/utils/vertex_ai_utils.js +5 -2
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +182 -0
- package/dist/esm/workflow/branch_path.js +77 -0
- package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/esm/workflow/errors.js +140 -0
- package/dist/esm/workflow/graph.js +127 -0
- package/dist/esm/workflow/index.js +80 -0
- package/dist/esm/workflow/node.js +38 -0
- package/dist/esm/workflow/node_builders.js +40 -0
- package/dist/esm/workflow/node_context.js +219 -0
- package/dist/esm/workflow/node_error_event.js +57 -0
- package/dist/esm/workflow/node_runner.js +439 -0
- package/dist/esm/workflow/node_state.js +29 -0
- package/dist/esm/workflow/node_status.js +20 -0
- package/dist/esm/workflow/nodes/function_node.js +172 -0
- package/dist/esm/workflow/nodes/join_node.js +29 -0
- package/dist/esm/workflow/nodes/node_tool.js +131 -0
- package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
- package/dist/esm/workflow/nodes/tool_node.js +90 -0
- package/dist/esm/workflow/request_input.js +36 -0
- package/dist/esm/workflow/retry_config.js +43 -0
- package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
- package/dist/esm/workflow/run_node_as_invocation.js +139 -0
- package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
- package/dist/esm/workflow/trigger.js +7 -0
- package/dist/esm/workflow/utils/graph_parser.js +188 -0
- package/dist/esm/workflow/utils/graph_validation.js +189 -0
- package/dist/esm/workflow/utils/hitl_utils.js +222 -0
- package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
- package/dist/esm/workflow/utils/retry_utils.js +82 -0
- package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/esm/workflow/workflow.js +493 -0
- package/dist/types/a2a/agent_card.d.ts +3 -3
- package/dist/types/a2a/agent_to_a2a.d.ts +4 -4
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/agents/base_agent.d.ts +37 -9
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +1 -2
- package/dist/types/agents/invocation_context.d.ts +95 -3
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +77 -1
- package/dist/types/agents/loop_agent.d.ts +5 -0
- package/dist/types/agents/parallel_agent.d.ts +5 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
- package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
- package/dist/types/agents/run_config.d.ts +57 -2
- package/dist/types/agents/sequential_agent.d.ts +5 -0
- package/dist/types/agents/user_input_request.d.ts +71 -0
- package/dist/types/apps/app.d.ts +8 -3
- package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
- package/dist/types/auth/credential_response_binding.d.ts +24 -0
- package/dist/types/common.d.ts +18 -8
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- package/dist/types/events/event.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +10 -0
- package/dist/types/index.d.ts +5 -13
- package/dist/types/models/apigee_llm.d.ts +4 -4
- package/dist/types/models/google_llm.d.ts +2 -1
- package/dist/types/plugins/base_plugin.d.ts +35 -0
- package/dist/types/plugins/plugin_manager.d.ts +20 -0
- package/dist/types/plugins/security_plugin.d.ts +4 -2
- package/dist/types/runner/in_memory_runner.d.ts +2 -2
- package/dist/types/runner/runner.d.ts +59 -3
- package/dist/types/sessions/base_session_service.d.ts +2 -2
- package/dist/types/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/telemetry/tracing.d.ts +15 -0
- package/dist/types/tools/base_tool.d.ts +15 -0
- package/dist/types/tools/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/function_tool.d.ts +46 -1
- package/dist/types/tools/mcp/index.d.ts +13 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
- package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
- package/dist/types/tools/request_input_tool.d.ts +6 -1
- package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
- package/dist/types/tools/tool_confirmation.d.ts +47 -0
- package/dist/types/utils/async_queue.d.ts +34 -2
- package/dist/types/utils/deprecated.d.ts +21 -0
- package/dist/types/utils/env_aware_utils.d.ts +16 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/optional_peer.d.ts +36 -0
- package/dist/types/utils/redact_uri.d.ts +28 -0
- package/dist/types/utils/schema.d.ts +73 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
- package/dist/types/utils/vertex_ai_utils.d.ts +4 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/workflow/base_node.d.ts +142 -0
- package/dist/types/workflow/branch_path.d.ts +40 -0
- package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
- package/dist/types/workflow/errors.d.ts +132 -0
- package/dist/types/workflow/graph.d.ts +127 -0
- package/dist/types/workflow/index.d.ts +46 -0
- package/dist/types/workflow/node.d.ts +48 -0
- package/dist/types/workflow/node_builders.d.ts +25 -0
- package/dist/types/workflow/node_context.d.ts +208 -0
- package/dist/types/workflow/node_error_event.d.ts +18 -0
- package/dist/types/workflow/node_runner.d.ts +82 -0
- package/dist/types/workflow/node_state.d.ts +47 -0
- package/dist/types/workflow/node_status.d.ts +28 -0
- package/dist/types/workflow/nodes/function_node.d.ts +78 -0
- package/dist/types/workflow/nodes/join_node.d.ts +24 -0
- package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
- package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
- package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
- package/dist/types/workflow/request_input.d.ts +73 -0
- package/dist/types/workflow/retry_config.d.ts +84 -0
- package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
- package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
- package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
- package/dist/types/workflow/trigger.d.ts +22 -0
- package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
- package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
- package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
- package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
- package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
- package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
- package/dist/types/workflow/workflow.d.ts +115 -0
- package/dist/web/a2a/a2a_event.js +19 -0
- package/dist/web/a2a/a2a_remote_agent.js +6 -2
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/web/a2a/agent_card.js +34 -3
- package/dist/web/a2a/agent_executor.js +45 -17
- package/dist/web/a2a/agent_to_a2a.js +44 -15
- package/dist/web/a2a/auth.js +4 -0
- package/dist/web/a2a/event_converter_utils.js +10 -0
- package/dist/web/a2a/event_processor_utils.js +73 -34
- package/dist/web/a2a/executor_context.js +3 -0
- package/dist/web/a2a/index.js +20 -0
- package/dist/web/a2a/metadata_converter_utils.js +5 -0
- package/dist/web/a2a/part_converter_utils.js +13 -0
- package/dist/web/agents/active_streaming_tool.js +6 -2
- package/dist/web/agents/base_agent.js +48 -9
- package/dist/web/agents/context.js +6 -2
- package/dist/web/agents/framework_function_calls.js +34 -0
- package/dist/web/agents/functions.js +42 -13
- package/dist/web/agents/instructions.js +52 -12
- package/dist/web/agents/invocation_context.js +56 -7
- package/dist/web/agents/live_request_queue.js +30 -5
- package/dist/web/agents/llm_agent.js +630 -52
- package/dist/web/agents/loop_agent.js +21 -2
- package/dist/web/agents/parallel_agent.js +23 -2
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/base_llm_processor.js +10 -4
- package/dist/web/agents/processors/basic_llm_request_processor.js +6 -3
- package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/web/agents/processors/content_processor_utils.js +87 -16
- package/dist/web/agents/processors/content_request_processor.js +10 -4
- package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/web/agents/processors/instructions_llm_request_processor.js +6 -2
- package/dist/web/agents/processors/interactions_request_processor.js +6 -2
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
- package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/web/agents/readonly_context.js +8 -3
- package/dist/web/agents/routed_agent.js +6 -14
- package/dist/web/agents/run_config.js +12 -0
- package/dist/web/agents/sequential_agent.js +22 -3
- package/dist/web/agents/user_input_request.js +135 -0
- package/dist/web/apps/app.js +14 -11
- package/dist/web/apps/resumability_config.js +2 -0
- package/dist/web/artifacts/file_artifact_service.js +22 -2
- package/dist/web/artifacts/gcs_artifact_service.js +56 -11
- package/dist/web/artifacts/in_memory_artifact_service.js +10 -2
- package/dist/web/artifacts/registry.js +7 -1
- package/dist/web/artifacts/scoped_artifact_service.js +5 -2
- package/dist/web/auth/auth_handler.js +5 -2
- package/dist/web/auth/auth_preprocessor.js +50 -41
- package/dist/web/auth/auth_provider_registry.js +6 -2
- package/dist/web/auth/auth_schemes.js +3 -0
- package/dist/web/auth/credential_response_binding.js +91 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +6 -2
- package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/web/code_executors/base_code_executor.js +7 -2
- package/dist/web/code_executors/built_in_code_executor.js +7 -2
- package/dist/web/code_executors/code_execution_utils.js +7 -0
- package/dist/web/code_executors/code_executor_context.js +6 -2
- package/dist/web/code_executors/unsafe_local_code_executor.js +9 -2
- package/dist/web/common.js +109 -4
- package/dist/web/context/agent_controlled_context_compactor.js +6 -2
- package/dist/web/context/anchored_context_compactor.js +5 -2
- package/dist/web/context/compaction_utils.js +4 -0
- package/dist/web/context/summarizers/llm_summarizer.js +6 -2
- package/dist/web/context/token_based_context_compactor.js +10 -3
- package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/web/context/truncating_context_compactor.js +6 -2
- package/dist/web/environment/base_environment.js +71 -0
- package/dist/web/environment/local_environment.js +165 -0
- package/dist/web/events/compacted_event.js +4 -0
- package/dist/web/events/event.js +37 -3
- package/dist/web/events/event_actions.js +5 -0
- package/dist/web/events/structured_events.js +3 -0
- package/dist/web/examples/base_example_provider.js +7 -2
- package/dist/web/examples/example_util.js +4 -0
- package/dist/web/features/feature_registry.js +8 -0
- package/dist/web/index.js +4 -15
- package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
- package/dist/web/integrations/agent_registry/helpers.js +4 -0
- package/dist/web/memory/in_memory_memory_service.js +9 -2
- package/dist/web/memory/vertex_ai_memory_bank_service.js +17 -2
- package/dist/web/models/apigee_llm.js +9 -3
- package/dist/web/models/base_llm.js +8 -3
- package/dist/web/models/gemini_llm_connection.js +6 -2
- package/dist/web/models/google_llm.js +25 -13
- package/dist/web/models/interactions_utils.js +17 -0
- package/dist/web/models/llm_request.js +5 -0
- package/dist/web/models/llm_response.js +3 -0
- package/dist/web/models/registry.js +7 -2
- package/dist/web/models/routed_llm.js +4 -14
- package/dist/web/plugins/base_plugin.js +39 -5
- package/dist/web/plugins/global_instruction_plugin.js +6 -2
- package/dist/web/plugins/logging_plugin.js +14 -8
- package/dist/web/plugins/plugin_manager.js +38 -2
- package/dist/web/plugins/security_plugin.js +14 -6
- package/dist/web/runner/in_memory_runner.js +6 -2
- package/dist/web/runner/runner.js +232 -20
- package/dist/web/sessions/base_session_service.js +14 -2
- package/dist/web/sessions/database_session_service.js +6 -2
- package/dist/web/sessions/db/operations.js +34 -6
- package/dist/web/sessions/db/schema.js +16 -8
- package/dist/web/sessions/in_memory_session_service.js +23 -14
- package/dist/web/sessions/registry.js +5 -1
- package/dist/web/sessions/session.js +3 -0
- package/dist/web/sessions/state.js +77 -7
- package/dist/web/sessions/state_write_order.js +74 -0
- package/dist/web/sessions/vertex_ai_session_service.js +118 -15
- package/dist/web/skills/gcp_skill_registry.js +2 -0
- package/dist/web/skills/loader.js +22 -10
- package/dist/web/skills/prompt.js +4 -0
- package/dist/web/telemetry/google_cloud.js +54 -9
- package/dist/web/telemetry/setup.js +6 -0
- package/dist/web/telemetry/tracing.js +77 -7
- package/dist/web/tools/agent_tool.js +7 -2
- package/dist/web/tools/base_tool.js +25 -2
- package/dist/web/tools/base_toolset.js +7 -2
- package/dist/web/tools/consolidate_context_tool.js +6 -2
- package/dist/web/tools/enterprise_web_search_tool.js +7 -2
- package/dist/web/tools/example_tool.js +6 -2
- package/dist/web/tools/exit_loop_tool.js +6 -2
- package/dist/web/tools/finish_task_tool.js +92 -0
- package/dist/web/tools/forwarding_artifact_service.js +6 -2
- package/dist/web/tools/function_tool.js +74 -8
- package/dist/web/tools/get_user_choice_tool.js +4 -2
- package/dist/web/tools/google_maps_grounding_tool.js +7 -2
- package/dist/web/tools/google_search_tool.js +6 -2
- package/dist/web/tools/load_artifacts_tool.js +9 -2
- package/dist/web/tools/load_memory_tool.js +6 -2
- package/dist/web/tools/load_web_page.js +22 -1
- package/dist/web/tools/long_running_tool.js +5 -2
- package/dist/web/tools/mcp/index.js +11 -0
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_session_manager.js +45 -9
- package/dist/web/tools/mcp/mcp_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_toolset.js +5 -2
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/web/tools/preload_memory_tool.js +6 -2
- package/dist/web/tools/request_input_tool.js +7 -4
- package/dist/web/tools/skill/list_skills_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_tool.js +4 -1
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
- package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
- package/dist/web/tools/skill/search_skills_tool.js +2 -0
- package/dist/web/tools/skill/skill_toolset.js +25 -0
- package/dist/web/tools/tool_confirmation.js +24 -2
- package/dist/web/tools/url_context_tool.js +6 -2
- package/dist/web/tools/vertex_ai_search_tool.js +6 -2
- package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/web/utils/async_hooks_shim.js +6 -2
- package/dist/web/utils/async_queue.js +46 -18
- package/dist/web/utils/branch_trie.js +3 -0
- package/dist/web/utils/case_utils.js +3 -0
- package/dist/web/utils/client_labels.js +6 -0
- package/dist/web/utils/crypto_shim.js +3 -0
- package/dist/web/utils/deprecated.js +40 -0
- package/dist/web/utils/env_aware_utils.js +41 -0
- package/dist/web/utils/error_utils.js +9 -0
- package/dist/web/utils/experimental.js +10 -2
- package/dist/web/utils/failover_utils.js +4 -0
- package/dist/web/utils/file_extension_utils.js +4 -0
- package/dist/web/utils/file_utils.js +7 -2
- package/dist/web/utils/gemini_schema_util.js +6 -2
- package/dist/web/utils/genai_schema_to_json.js +80 -0
- package/dist/web/utils/live_connection_utils.js +5 -2
- package/dist/web/utils/logger.js +14 -4
- package/dist/web/utils/model_name.js +9 -0
- package/dist/web/utils/object_notation_utils.js +8 -3
- package/dist/web/utils/optional_peer.js +38 -0
- package/dist/web/utils/output_schema_utils.js +3 -0
- package/dist/web/utils/partial_copy.js +3 -0
- package/dist/web/utils/redact_uri.js +39 -0
- package/dist/web/utils/schema.js +167 -0
- package/dist/web/utils/simple_zod_to_json.js +15 -4
- package/dist/web/utils/streaming_utils.js +14 -6
- package/dist/web/utils/task.js +8 -4
- package/dist/web/utils/variant_utils.js +5 -2
- package/dist/web/utils/vertex_ai_utils.js +5 -2
- package/dist/web/version.js +1 -1
- package/dist/web/workflow/base_node.js +215 -0
- package/dist/web/workflow/branch_path.js +77 -0
- package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/web/workflow/errors.js +140 -0
- package/dist/web/workflow/graph.js +127 -0
- package/dist/web/workflow/index.js +80 -0
- package/dist/web/workflow/node.js +87 -0
- package/dist/web/workflow/node_builders.js +40 -0
- package/dist/web/workflow/node_context.js +236 -0
- package/dist/web/workflow/node_error_event.js +86 -0
- package/dist/web/workflow/node_runner.js +481 -0
- package/dist/web/workflow/node_state.js +43 -0
- package/dist/web/workflow/node_status.js +20 -0
- package/dist/web/workflow/nodes/function_node.js +221 -0
- package/dist/web/workflow/nodes/join_node.js +47 -0
- package/dist/web/workflow/nodes/node_tool.js +131 -0
- package/dist/web/workflow/nodes/parallel_worker.js +120 -0
- package/dist/web/workflow/nodes/tool_node.js +126 -0
- package/dist/web/workflow/request_input.js +36 -0
- package/dist/web/workflow/retry_config.js +43 -0
- package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
- package/dist/web/workflow/run_node_as_invocation.js +170 -0
- package/dist/web/workflow/schedule_dynamic_node.js +26 -0
- package/dist/web/workflow/trigger.js +7 -0
- package/dist/web/workflow/utils/graph_parser.js +188 -0
- package/dist/web/workflow/utils/graph_validation.js +189 -0
- package/dist/web/workflow/utils/hitl_utils.js +239 -0
- package/dist/web/workflow/utils/rehydration_utils.js +342 -0
- package/dist/web/workflow/utils/retry_utils.js +82 -0
- package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/web/workflow/workflow.js +529 -0
- package/package.json +82 -8
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -15,6 +17,12 @@ const GEN_AI_TOOL_CALL_ID = "gen_ai.tool.call.id";
|
|
|
15
17
|
const GEN_AI_TOOL_DESCRIPTION = "gen_ai.tool.description";
|
|
16
18
|
const GEN_AI_TOOL_NAME = "gen_ai.tool.name";
|
|
17
19
|
const GEN_AI_TOOL_TYPE = "gen_ai.tool.type";
|
|
20
|
+
const ADK_WORKFLOW_NAME = "adk.workflow.name";
|
|
21
|
+
const ADK_NODE_PATH = "adk.node.path";
|
|
22
|
+
const ADK_NODE_RUN_ID = "adk.node.run_id";
|
|
23
|
+
const ADK_NODE_ATTEMPT = "adk.node.attempt";
|
|
24
|
+
const ADK_NODE_STATUS = "adk.node.status";
|
|
25
|
+
const ADK_NODE_INTERRUPT_COUNT = "adk.node.interrupt_count";
|
|
18
26
|
const tracer = trace.getTracer("gcp.vertex.agent", version);
|
|
19
27
|
function safeJsonSerialize(obj) {
|
|
20
28
|
try {
|
|
@@ -23,6 +31,7 @@ function safeJsonSerialize(obj) {
|
|
|
23
31
|
return "<not serializable>";
|
|
24
32
|
}
|
|
25
33
|
}
|
|
34
|
+
__name(safeJsonSerialize, "safeJsonSerialize");
|
|
26
35
|
function traceAgentInvocation({
|
|
27
36
|
agent,
|
|
28
37
|
invocationContext
|
|
@@ -37,6 +46,41 @@ function traceAgentInvocation({
|
|
|
37
46
|
[GEN_AI_CONVERSATION_ID]: invocationContext.session.id
|
|
38
47
|
});
|
|
39
48
|
}
|
|
49
|
+
__name(traceAgentInvocation, "traceAgentInvocation");
|
|
50
|
+
function traceWorkflowInvocation({
|
|
51
|
+
workflowName,
|
|
52
|
+
nodePath,
|
|
53
|
+
sessionId
|
|
54
|
+
}) {
|
|
55
|
+
const span = trace.getActiveSpan();
|
|
56
|
+
if (!span) return;
|
|
57
|
+
span.setAttributes({
|
|
58
|
+
[GEN_AI_OPERATION_NAME]: "invoke_workflow",
|
|
59
|
+
[GEN_AI_CONVERSATION_ID]: sessionId,
|
|
60
|
+
[ADK_WORKFLOW_NAME]: workflowName,
|
|
61
|
+
[ADK_NODE_PATH]: nodePath
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
__name(traceWorkflowInvocation, "traceWorkflowInvocation");
|
|
65
|
+
function traceNodeExecution({
|
|
66
|
+
nodePath,
|
|
67
|
+
runId,
|
|
68
|
+
attempt,
|
|
69
|
+
status,
|
|
70
|
+
interruptCount
|
|
71
|
+
}) {
|
|
72
|
+
const span = trace.getActiveSpan();
|
|
73
|
+
if (!span) return;
|
|
74
|
+
span.setAttributes({
|
|
75
|
+
[GEN_AI_OPERATION_NAME]: "execute_node",
|
|
76
|
+
[ADK_NODE_PATH]: nodePath,
|
|
77
|
+
[ADK_NODE_RUN_ID]: runId,
|
|
78
|
+
[ADK_NODE_ATTEMPT]: attempt,
|
|
79
|
+
[ADK_NODE_STATUS]: status,
|
|
80
|
+
[ADK_NODE_INTERRUPT_COUNT]: interruptCount
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
__name(traceNodeExecution, "traceNodeExecution");
|
|
40
84
|
function traceToolCall({
|
|
41
85
|
tool,
|
|
42
86
|
args,
|
|
@@ -78,6 +122,7 @@ function traceToolCall({
|
|
|
78
122
|
"gcp.vertex.agent.tool_response": shouldAddRequestResponseToSpans() ? safeJsonSerialize(toolResponse) : "{}"
|
|
79
123
|
});
|
|
80
124
|
}
|
|
125
|
+
__name(traceToolCall, "traceToolCall");
|
|
81
126
|
function traceMergedToolCalls({
|
|
82
127
|
responseEventId,
|
|
83
128
|
functionResponseEvent
|
|
@@ -101,28 +146,30 @@ function traceMergedToolCalls({
|
|
|
101
146
|
shouldAddRequestResponseToSpans() ? safeJsonSerialize(functionResponseEvent) : "{}"
|
|
102
147
|
);
|
|
103
148
|
}
|
|
149
|
+
__name(traceMergedToolCalls, "traceMergedToolCalls");
|
|
104
150
|
function traceCallLlm({
|
|
105
151
|
invocationContext,
|
|
106
152
|
eventId,
|
|
107
153
|
llmRequest,
|
|
108
154
|
llmResponse
|
|
109
155
|
}) {
|
|
110
|
-
var _a, _b, _c;
|
|
156
|
+
var _a, _b, _c, _d;
|
|
111
157
|
const span = trace.getActiveSpan();
|
|
112
158
|
if (!span) return;
|
|
113
159
|
span.setAttributes({
|
|
114
160
|
"gen_ai.system": "gcp.vertex.agent",
|
|
115
161
|
"gen_ai.request.model": llmRequest.model,
|
|
162
|
+
...((_a = invocationContext.agent) == null ? void 0 : _a.name) ? { [GEN_AI_AGENT_NAME]: invocationContext.agent.name } : {},
|
|
116
163
|
"gcp.vertex.agent.invocation_id": invocationContext.invocationId,
|
|
117
164
|
"gcp.vertex.agent.session_id": invocationContext.session.id,
|
|
118
165
|
"gcp.vertex.agent.event_id": eventId,
|
|
119
166
|
// Consider removing once GenAI SDK provides a way to record this info.
|
|
120
167
|
"gcp.vertex.agent.llm_request": shouldAddRequestResponseToSpans() ? safeJsonSerialize(buildLlmRequestForTrace(llmRequest)) : "{}"
|
|
121
168
|
});
|
|
122
|
-
if ((
|
|
169
|
+
if ((_b = llmRequest.config) == null ? void 0 : _b.topP) {
|
|
123
170
|
span.setAttribute("gen_ai.request.top_p", llmRequest.config.topP);
|
|
124
171
|
}
|
|
125
|
-
if (((
|
|
172
|
+
if (((_c = llmRequest.config) == null ? void 0 : _c.maxOutputTokens) !== void 0) {
|
|
126
173
|
span.setAttribute(
|
|
127
174
|
"gen_ai.request.max_tokens",
|
|
128
175
|
llmRequest.config.maxOutputTokens
|
|
@@ -138,7 +185,7 @@ function traceCallLlm({
|
|
|
138
185
|
llmResponse.usageMetadata.promptTokenCount || 0
|
|
139
186
|
);
|
|
140
187
|
}
|
|
141
|
-
if ((
|
|
188
|
+
if ((_d = llmResponse.usageMetadata) == null ? void 0 : _d.candidatesTokenCount) {
|
|
142
189
|
span.setAttribute(
|
|
143
190
|
"gen_ai.usage.output_tokens",
|
|
144
191
|
llmResponse.usageMetadata.candidatesTokenCount
|
|
@@ -149,6 +196,7 @@ function traceCallLlm({
|
|
|
149
196
|
span.setAttribute("gen_ai.response.finish_reasons", [finishReasonValue]);
|
|
150
197
|
}
|
|
151
198
|
}
|
|
199
|
+
__name(traceCallLlm, "traceCallLlm");
|
|
152
200
|
function traceSendData({
|
|
153
201
|
invocationContext,
|
|
154
202
|
eventId,
|
|
@@ -165,6 +213,7 @@ function traceSendData({
|
|
|
165
213
|
shouldAddRequestResponseToSpans() ? safeJsonSerialize(data) : "{}"
|
|
166
214
|
);
|
|
167
215
|
}
|
|
216
|
+
__name(traceSendData, "traceSendData");
|
|
168
217
|
function buildLlmRequestForTrace(llmRequest) {
|
|
169
218
|
const result = {
|
|
170
219
|
model: llmRequest.model,
|
|
@@ -183,6 +232,7 @@ function buildLlmRequestForTrace(llmRequest) {
|
|
|
183
232
|
});
|
|
184
233
|
return result;
|
|
185
234
|
}
|
|
235
|
+
__name(buildLlmRequestForTrace, "buildLlmRequestForTrace");
|
|
186
236
|
function bindOtelContextToAsyncGenerator(ctx, generator) {
|
|
187
237
|
return {
|
|
188
238
|
// Bind the next() method to execute within the provided context
|
|
@@ -200,20 +250,25 @@ function bindOtelContextToAsyncGenerator(ctx, generator) {
|
|
|
200
250
|
}
|
|
201
251
|
};
|
|
202
252
|
}
|
|
253
|
+
__name(bindOtelContextToAsyncGenerator, "bindOtelContextToAsyncGenerator");
|
|
203
254
|
function runAsyncGeneratorWithOtelContext(otelContext, generatorFnContext, generatorFn) {
|
|
204
255
|
const generator = generatorFn.call(generatorFnContext);
|
|
205
256
|
return bindOtelContextToAsyncGenerator(otelContext, generator);
|
|
206
257
|
}
|
|
258
|
+
__name(runAsyncGeneratorWithOtelContext, "runAsyncGeneratorWithOtelContext");
|
|
207
259
|
function shouldAddRequestResponseToSpans() {
|
|
208
260
|
const envValue = process.env.ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS || "true";
|
|
209
261
|
return envValue === "true" || envValue === "1";
|
|
210
262
|
}
|
|
263
|
+
__name(shouldAddRequestResponseToSpans, "shouldAddRequestResponseToSpans");
|
|
211
264
|
export {
|
|
212
265
|
runAsyncGeneratorWithOtelContext,
|
|
213
266
|
traceAgentInvocation,
|
|
214
267
|
traceCallLlm,
|
|
215
268
|
traceMergedToolCalls,
|
|
269
|
+
traceNodeExecution,
|
|
216
270
|
traceSendData,
|
|
217
271
|
traceToolCall,
|
|
272
|
+
traceWorkflowInvocation,
|
|
218
273
|
tracer
|
|
219
274
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -19,7 +21,8 @@ const AGENT_TOOL_SIGNATURE_SYMBOL = Symbol.for("google.adk.agentTool");
|
|
|
19
21
|
function isAgentTool(obj) {
|
|
20
22
|
return typeof obj === "object" && obj !== null && AGENT_TOOL_SIGNATURE_SYMBOL in obj && obj[AGENT_TOOL_SIGNATURE_SYMBOL] === true;
|
|
21
23
|
}
|
|
22
|
-
|
|
24
|
+
__name(isAgentTool, "isAgentTool");
|
|
25
|
+
const _AgentTool = class _AgentTool extends (_b = BaseTool, _a = AGENT_TOOL_SIGNATURE_SYMBOL, _b) {
|
|
23
26
|
constructor(config) {
|
|
24
27
|
super({
|
|
25
28
|
name: config.agent.name,
|
|
@@ -124,7 +127,9 @@ class AgentTool extends (_b = BaseTool, _a = AGENT_TOOL_SIGNATURE_SYMBOL, _b) {
|
|
|
124
127
|
const mergedText = lastEvent.content.parts.filter((part) => !part.thought).map((part) => part.text).filter((text) => text).join("\n");
|
|
125
128
|
return hasOutputSchema ? JSON.parse(mergedText) : mergedText;
|
|
126
129
|
}
|
|
127
|
-
}
|
|
130
|
+
};
|
|
131
|
+
__name(_AgentTool, "AgentTool");
|
|
132
|
+
let AgentTool = _AgentTool;
|
|
128
133
|
export {
|
|
129
134
|
AgentTool,
|
|
130
135
|
isAgentTool
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -11,8 +13,9 @@ const BASE_TOOL_SIGNATURE_SYMBOL = Symbol.for("google.adk.baseTool");
|
|
|
11
13
|
function isBaseTool(obj) {
|
|
12
14
|
return typeof obj === "object" && obj !== null && BASE_TOOL_SIGNATURE_SYMBOL in obj && obj[BASE_TOOL_SIGNATURE_SYMBOL] === true;
|
|
13
15
|
}
|
|
16
|
+
__name(isBaseTool, "isBaseTool");
|
|
14
17
|
_a = BASE_TOOL_SIGNATURE_SYMBOL;
|
|
15
|
-
class
|
|
18
|
+
const _BaseTool = class _BaseTool {
|
|
16
19
|
/**
|
|
17
20
|
* Base constructor for a tool.
|
|
18
21
|
*
|
|
@@ -42,6 +45,23 @@ class BaseTool {
|
|
|
42
45
|
_getDeclaration() {
|
|
43
46
|
return void 0;
|
|
44
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Whether this tool needs a human to approve `args` before it runs.
|
|
50
|
+
*
|
|
51
|
+
* The gate itself lives in the tool that owns it (see `FunctionTool`), but
|
|
52
|
+
* the resume path has to ask the same question a turn later, to check that an
|
|
53
|
+
* approval it is about to honour belongs to a tool that gates at all. A tool
|
|
54
|
+
* that never gates returns false here, which is the safe default: an approval
|
|
55
|
+
* naming it is meaningless and gets rejected rather than executed. Mirrors
|
|
56
|
+
* Python's `BaseTool.check_require_confirmation`.
|
|
57
|
+
*
|
|
58
|
+
* @param _args The arguments the tool would run with.
|
|
59
|
+
* @param _toolContext The context of the call, when there is one.
|
|
60
|
+
* @return Whether the call requires confirmation.
|
|
61
|
+
*/
|
|
62
|
+
async checkRequireConfirmation(_args, _toolContext) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
45
65
|
/**
|
|
46
66
|
* Processes the outgoing LLM request for this tool.
|
|
47
67
|
*
|
|
@@ -80,13 +100,16 @@ class BaseTool {
|
|
|
80
100
|
get apiVariant() {
|
|
81
101
|
return getGoogleLlmVariant();
|
|
82
102
|
}
|
|
83
|
-
}
|
|
103
|
+
};
|
|
104
|
+
__name(_BaseTool, "BaseTool");
|
|
105
|
+
let BaseTool = _BaseTool;
|
|
84
106
|
function findToolWithFunctionDeclarations(llmRequest) {
|
|
85
107
|
var _a2;
|
|
86
108
|
return (((_a2 = llmRequest.config) == null ? void 0 : _a2.tools) || []).find(
|
|
87
109
|
(tool) => "functionDeclarations" in tool
|
|
88
110
|
);
|
|
89
111
|
}
|
|
112
|
+
__name(findToolWithFunctionDeclarations, "findToolWithFunctionDeclarations");
|
|
90
113
|
export {
|
|
91
114
|
BaseTool,
|
|
92
115
|
isBaseTool
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -10,8 +12,9 @@ const BASE_TOOLSET_SIGNATURE_SYMBOL = Symbol.for("google.adk.baseToolset");
|
|
|
10
12
|
function isBaseToolset(obj) {
|
|
11
13
|
return typeof obj === "object" && obj !== null && BASE_TOOLSET_SIGNATURE_SYMBOL in obj && obj[BASE_TOOLSET_SIGNATURE_SYMBOL] === true;
|
|
12
14
|
}
|
|
15
|
+
__name(isBaseToolset, "isBaseToolset");
|
|
13
16
|
_a = BASE_TOOLSET_SIGNATURE_SYMBOL;
|
|
14
|
-
class
|
|
17
|
+
const _BaseToolset = class _BaseToolset {
|
|
15
18
|
constructor(toolFilter, prefix) {
|
|
16
19
|
this.toolFilter = toolFilter;
|
|
17
20
|
this.prefix = prefix;
|
|
@@ -50,7 +53,9 @@ class BaseToolset {
|
|
|
50
53
|
*/
|
|
51
54
|
async processLlmRequest(toolContext, llmRequest) {
|
|
52
55
|
}
|
|
53
|
-
}
|
|
56
|
+
};
|
|
57
|
+
__name(_BaseToolset, "BaseToolset");
|
|
58
|
+
let BaseToolset = _BaseToolset;
|
|
54
59
|
export {
|
|
55
60
|
BaseToolset,
|
|
56
61
|
isBaseToolset
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -7,7 +9,7 @@ const require = topLevelCreateRequire(import.meta.url);
|
|
|
7
9
|
*/
|
|
8
10
|
import { Type } from "@google/genai";
|
|
9
11
|
import { BaseTool } from "./base_tool.js";
|
|
10
|
-
class
|
|
12
|
+
const _ConsolidateContextTool = class _ConsolidateContextTool extends BaseTool {
|
|
11
13
|
constructor() {
|
|
12
14
|
super({
|
|
13
15
|
name: "consolidate_context",
|
|
@@ -45,7 +47,9 @@ class ConsolidateContextTool extends BaseTool {
|
|
|
45
47
|
message: "Context consolidation requested."
|
|
46
48
|
};
|
|
47
49
|
}
|
|
48
|
-
}
|
|
50
|
+
};
|
|
51
|
+
__name(_ConsolidateContextTool, "ConsolidateContextTool");
|
|
52
|
+
let ConsolidateContextTool = _ConsolidateContextTool;
|
|
49
53
|
export {
|
|
50
54
|
ConsolidateContextTool
|
|
51
55
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -31,7 +33,8 @@ function applyEnterpriseWebSearch(llmRequest) {
|
|
|
31
33
|
`Enterprise Web Search tool is not supported for model ${llmRequest.model}`
|
|
32
34
|
);
|
|
33
35
|
}
|
|
34
|
-
|
|
36
|
+
__name(applyEnterpriseWebSearch, "applyEnterpriseWebSearch");
|
|
37
|
+
const _EnterpriseWebSearchTool = class _EnterpriseWebSearchTool extends BaseTool {
|
|
35
38
|
constructor() {
|
|
36
39
|
super({
|
|
37
40
|
name: "enterprise_web_search",
|
|
@@ -46,7 +49,9 @@ class EnterpriseWebSearchTool extends BaseTool {
|
|
|
46
49
|
}) {
|
|
47
50
|
applyEnterpriseWebSearch(llmRequest);
|
|
48
51
|
}
|
|
49
|
-
}
|
|
52
|
+
};
|
|
53
|
+
__name(_EnterpriseWebSearchTool, "EnterpriseWebSearchTool");
|
|
54
|
+
let EnterpriseWebSearchTool = _EnterpriseWebSearchTool;
|
|
50
55
|
const ENTERPRISE_WEB_SEARCH = new EnterpriseWebSearchTool();
|
|
51
56
|
export {
|
|
52
57
|
ENTERPRISE_WEB_SEARCH,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -10,7 +12,7 @@ import { appendInstructions } from "../models/llm_request.js";
|
|
|
10
12
|
import {
|
|
11
13
|
BaseTool
|
|
12
14
|
} from "./base_tool.js";
|
|
13
|
-
class
|
|
15
|
+
const _ExampleTool = class _ExampleTool extends BaseTool {
|
|
14
16
|
constructor(examples) {
|
|
15
17
|
super({
|
|
16
18
|
// Name and description are not used because this tool only changes
|
|
@@ -36,7 +38,9 @@ class ExampleTool extends BaseTool {
|
|
|
36
38
|
buildExampleSi(this.examples, parts[0].text, llmRequest.model)
|
|
37
39
|
]);
|
|
38
40
|
}
|
|
39
|
-
}
|
|
41
|
+
};
|
|
42
|
+
__name(_ExampleTool, "ExampleTool");
|
|
43
|
+
let ExampleTool = _ExampleTool;
|
|
40
44
|
export {
|
|
41
45
|
ExampleTool
|
|
42
46
|
};
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
6
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
9
|
*/
|
|
8
10
|
import { BaseTool } from "./base_tool.js";
|
|
9
|
-
class
|
|
11
|
+
const _ExitLoopTool = class _ExitLoopTool extends BaseTool {
|
|
10
12
|
/** Creates an ExitLoopTool with its fixed name and description. */
|
|
11
13
|
constructor() {
|
|
12
14
|
super({
|
|
@@ -35,7 +37,9 @@ class ExitLoopTool extends BaseTool {
|
|
|
35
37
|
toolContext.actions.skipSummarization = true;
|
|
36
38
|
return "";
|
|
37
39
|
}
|
|
38
|
-
}
|
|
40
|
+
};
|
|
41
|
+
__name(_ExitLoopTool, "ExitLoopTool");
|
|
42
|
+
let ExitLoopTool = _ExitLoopTool;
|
|
39
43
|
const EXIT_LOOP = new ExitLoopTool();
|
|
40
44
|
export {
|
|
41
45
|
EXIT_LOOP,
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
5
|
+
/**
|
|
6
|
+
* @license
|
|
7
|
+
* Copyright 2026 Google LLC
|
|
8
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
9
|
+
*/
|
|
10
|
+
import { Type } from "@google/genai";
|
|
11
|
+
import { appendInstructions } from "../models/llm_request.js";
|
|
12
|
+
import {
|
|
13
|
+
BaseTool
|
|
14
|
+
} from "./base_tool.js";
|
|
15
|
+
const FINISH_TASK_TOOL_NAME = "finish_task";
|
|
16
|
+
const FINISH_TASK_SUCCESS_RESULT = "Task completed.";
|
|
17
|
+
const DEFAULT_TASK_OUTPUT_SCHEMA = {
|
|
18
|
+
type: Type.OBJECT,
|
|
19
|
+
properties: {
|
|
20
|
+
result: {
|
|
21
|
+
type: Type.STRING,
|
|
22
|
+
description: "A brief summary of what the agent accomplished."
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
required: ["result"]
|
|
26
|
+
};
|
|
27
|
+
const _FinishTaskTool = class _FinishTaskTool extends BaseTool {
|
|
28
|
+
constructor(outputSchema) {
|
|
29
|
+
const schema = outputSchema != null ? outputSchema : DEFAULT_TASK_OUTPUT_SCHEMA;
|
|
30
|
+
let description = "Signal that this agent has completed its delegated task. Call this when you have finished your delegated task.";
|
|
31
|
+
if (outputSchema) {
|
|
32
|
+
description += " Pass the required output data in the parameters.";
|
|
33
|
+
}
|
|
34
|
+
super({ name: FINISH_TASK_TOOL_NAME, description });
|
|
35
|
+
this.outputSchema = schema;
|
|
36
|
+
this.wrapperKey = schema.type === Type.OBJECT ? void 0 : "result";
|
|
37
|
+
}
|
|
38
|
+
_getDeclaration() {
|
|
39
|
+
const parameters = this.wrapperKey ? {
|
|
40
|
+
type: Type.OBJECT,
|
|
41
|
+
properties: { [this.wrapperKey]: this.outputSchema },
|
|
42
|
+
required: [this.wrapperKey]
|
|
43
|
+
} : this.outputSchema;
|
|
44
|
+
return { name: this.name, description: this.description, parameters };
|
|
45
|
+
}
|
|
46
|
+
async processLlmRequest(request) {
|
|
47
|
+
await super.processLlmRequest(request);
|
|
48
|
+
appendInstructions(request.llmRequest, [
|
|
49
|
+
"Do NOT call `finish_task` prematurely. Use your available tools to fully complete every aspect of the task first. If the task is unclear, ask the user for clarification before proceeding. Once the task is fully complete, call `finish_task` by itself with no accompanying text output."
|
|
50
|
+
]);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Extracts the task output from a `finish_task` call's arguments, applying the
|
|
54
|
+
* wrapper-key unwrapping when the schema is a non-object.
|
|
55
|
+
*/
|
|
56
|
+
extractOutput(args) {
|
|
57
|
+
if (this.wrapperKey) {
|
|
58
|
+
return args[this.wrapperKey];
|
|
59
|
+
}
|
|
60
|
+
return args;
|
|
61
|
+
}
|
|
62
|
+
async runAsync({ args }) {
|
|
63
|
+
const value = this.wrapperKey ? args[this.wrapperKey] : args;
|
|
64
|
+
const missing = this.missingRequiredKeys(value);
|
|
65
|
+
if (missing.length > 0) {
|
|
66
|
+
return {
|
|
67
|
+
error: `Invoking \`${this.name}()\` failed due to missing required parameters: ${missing.join(", ")}. You could retry calling this tool, but it is IMPORTANT for you to provide all the mandatory parameters with correct types.`
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return FINISH_TASK_SUCCESS_RESULT;
|
|
71
|
+
}
|
|
72
|
+
/** Returns any `required` keys the schema declares that are absent. */
|
|
73
|
+
missingRequiredKeys(value) {
|
|
74
|
+
var _a;
|
|
75
|
+
const required = this.wrapperKey ? value === void 0 || value === null ? [this.wrapperKey] : [] : (_a = this.outputSchema.required) != null ? _a : [];
|
|
76
|
+
if (this.wrapperKey) {
|
|
77
|
+
return required;
|
|
78
|
+
}
|
|
79
|
+
if (typeof value !== "object" || value === null) {
|
|
80
|
+
return required;
|
|
81
|
+
}
|
|
82
|
+
const obj = value;
|
|
83
|
+
return required.filter((key) => obj[key] === void 0);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
__name(_FinishTaskTool, "FinishTaskTool");
|
|
87
|
+
let FinishTaskTool = _FinishTaskTool;
|
|
88
|
+
export {
|
|
89
|
+
FINISH_TASK_SUCCESS_RESULT,
|
|
90
|
+
FINISH_TASK_TOOL_NAME,
|
|
91
|
+
FinishTaskTool
|
|
92
|
+
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
6
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
9
|
*/
|
|
8
|
-
class
|
|
10
|
+
const _ForwardingArtifactService = class _ForwardingArtifactService {
|
|
9
11
|
constructor(toolContext) {
|
|
10
12
|
this.toolContext = toolContext;
|
|
11
13
|
this.invocationContext = toolContext.invocationContext;
|
|
@@ -41,7 +43,9 @@ class ForwardingArtifactService {
|
|
|
41
43
|
version: request.version
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
|
-
}
|
|
46
|
+
};
|
|
47
|
+
__name(_ForwardingArtifactService, "ForwardingArtifactService");
|
|
48
|
+
let ForwardingArtifactService = _ForwardingArtifactService;
|
|
45
49
|
export {
|
|
46
50
|
ForwardingArtifactService
|
|
47
51
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -18,17 +20,19 @@ function toSchema(parameters) {
|
|
|
18
20
|
}
|
|
19
21
|
return parameters;
|
|
20
22
|
}
|
|
23
|
+
__name(toSchema, "toSchema");
|
|
21
24
|
const FUNCTION_TOOL_SIGNATURE_SYMBOL = Symbol.for("google.adk.functionTool");
|
|
22
25
|
function isFunctionTool(obj) {
|
|
23
26
|
return typeof obj === "object" && obj !== null && FUNCTION_TOOL_SIGNATURE_SYMBOL in obj && obj[FUNCTION_TOOL_SIGNATURE_SYMBOL] === true;
|
|
24
27
|
}
|
|
25
|
-
|
|
28
|
+
__name(isFunctionTool, "isFunctionTool");
|
|
29
|
+
const _FunctionTool = class _FunctionTool extends (_b = BaseTool, _a = FUNCTION_TOOL_SIGNATURE_SYMBOL, _b) {
|
|
26
30
|
/**
|
|
27
31
|
* The constructor acts as the user-friendly factory.
|
|
28
32
|
* @param options The configuration for the tool.
|
|
29
33
|
*/
|
|
30
34
|
constructor(options) {
|
|
31
|
-
var _a2;
|
|
35
|
+
var _a2, _b2;
|
|
32
36
|
const name = (_a2 = options.name) != null ? _a2 : options.execute.name;
|
|
33
37
|
if (!name) {
|
|
34
38
|
throw new Error(
|
|
@@ -44,6 +48,7 @@ class FunctionTool extends (_b = BaseTool, _a = FUNCTION_TOOL_SIGNATURE_SYMBOL,
|
|
|
44
48
|
this[_a] = true;
|
|
45
49
|
this.execute = options.execute;
|
|
46
50
|
this.parameters = options.parameters;
|
|
51
|
+
this.requireConfirmation = (_b2 = options.requireConfirmation) != null ? _b2 : false;
|
|
47
52
|
}
|
|
48
53
|
/**
|
|
49
54
|
* Returns the function declaration derived from the tool's name, description,
|
|
@@ -65,20 +70,81 @@ class FunctionTool extends (_b = BaseTool, _a = FUNCTION_TOOL_SIGNATURE_SYMBOL,
|
|
|
65
70
|
*/
|
|
66
71
|
async runAsync(req) {
|
|
67
72
|
try {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
validatedArgs = this.parameters.parse(req.args);
|
|
71
|
-
}
|
|
72
|
-
return await this.execute(
|
|
73
|
+
const validatedArgs = this.validateArgs(req.args);
|
|
74
|
+
const pending = await this.checkConfirmation(
|
|
73
75
|
validatedArgs,
|
|
74
76
|
req.toolContext
|
|
75
77
|
);
|
|
78
|
+
if (pending !== void 0) {
|
|
79
|
+
return pending;
|
|
80
|
+
}
|
|
81
|
+
return await this.execute(validatedArgs, req.toolContext);
|
|
76
82
|
} catch (error) {
|
|
77
83
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
78
84
|
throw new Error(`Error in tool '${this.name}': ${errorMessage}`);
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
|
-
|
|
87
|
+
/**
|
|
88
|
+
* Whether this call is gated on human approval — the static flag, or the
|
|
89
|
+
* predicate evaluated against the validated arguments.
|
|
90
|
+
*
|
|
91
|
+
* @param args The arguments the tool would run with.
|
|
92
|
+
* @param toolContext The context of the call, when there is one.
|
|
93
|
+
* @return Whether the call requires confirmation.
|
|
94
|
+
*/
|
|
95
|
+
async checkRequireConfirmation(args, toolContext) {
|
|
96
|
+
if (typeof this.requireConfirmation !== "function") {
|
|
97
|
+
return this.requireConfirmation;
|
|
98
|
+
}
|
|
99
|
+
return this.requireConfirmation(this.validateArgs(args), toolContext);
|
|
100
|
+
}
|
|
101
|
+
/** Parses `args` against the parameter schema, when one is declared. */
|
|
102
|
+
validateArgs(args) {
|
|
103
|
+
if (isZodObject(this.parameters)) {
|
|
104
|
+
return this.parameters.parse(args);
|
|
105
|
+
}
|
|
106
|
+
return args;
|
|
107
|
+
}
|
|
108
|
+
/** Resolves `requireConfirmation`, which may be a flag or a predicate. */
|
|
109
|
+
async evaluateRequireConfirmation(input, toolContext) {
|
|
110
|
+
return typeof this.requireConfirmation === "function" ? this.requireConfirmation(input, toolContext) : this.requireConfirmation;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Evaluates the confirmation gate. Returns `undefined` if the tool may
|
|
114
|
+
* proceed; otherwise returns the function response payload to surface instead
|
|
115
|
+
* of running (a request-for-confirmation on the first pass, or a rejection
|
|
116
|
+
* once the user declined).
|
|
117
|
+
*/
|
|
118
|
+
async checkConfirmation(input, toolContext) {
|
|
119
|
+
const requireConfirmation = await this.evaluateRequireConfirmation(
|
|
120
|
+
input,
|
|
121
|
+
toolContext
|
|
122
|
+
);
|
|
123
|
+
if (!requireConfirmation) {
|
|
124
|
+
return void 0;
|
|
125
|
+
}
|
|
126
|
+
if (!toolContext) {
|
|
127
|
+
throw new Error(
|
|
128
|
+
`Tool '${this.name}' requires confirmation but no tool context was provided.`
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
if (!toolContext.toolConfirmation) {
|
|
132
|
+
toolContext.requestConfirmation({
|
|
133
|
+
hint: `Please approve or reject the tool call ${this.name}() by responding with a FunctionResponse with an expected ToolConfirmation payload.`
|
|
134
|
+
});
|
|
135
|
+
toolContext.actions.skipSummarization = true;
|
|
136
|
+
return {
|
|
137
|
+
error: "This tool call requires confirmation, please approve or reject."
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
if (!toolContext.toolConfirmation.confirmed) {
|
|
141
|
+
return { error: "This tool call is rejected." };
|
|
142
|
+
}
|
|
143
|
+
return void 0;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
__name(_FunctionTool, "FunctionTool");
|
|
147
|
+
let FunctionTool = _FunctionTool;
|
|
82
148
|
export {
|
|
83
149
|
FunctionTool,
|
|
84
150
|
isFunctionTool
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -13,12 +15,12 @@ const getUserChoiceTool = new LongRunningFunctionTool({
|
|
|
13
15
|
parameters: z.object({
|
|
14
16
|
options: z.array(z.string()).describe("List of options to present to the user.")
|
|
15
17
|
}),
|
|
16
|
-
execute: async (input, context) => {
|
|
18
|
+
execute: /* @__PURE__ */ __name(async (input, context) => {
|
|
17
19
|
if (context) {
|
|
18
20
|
context.actions.skipSummarization = true;
|
|
19
21
|
}
|
|
20
22
|
return null;
|
|
21
|
-
}
|
|
23
|
+
}, "execute")
|
|
22
24
|
});
|
|
23
25
|
export {
|
|
24
26
|
getUserChoiceTool
|