@google/adk 1.5.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 +17 -4
- 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 -11
- package/dist/cjs/a2a/auth.js +68 -0
- package/dist/cjs/a2a/event_converter_utils.js +50 -15
- 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 +58 -23
- 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 +536 -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 +8 -4
- 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 +11 -25
- 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 +8 -3
- 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 +19 -11
- 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 +19 -5
- 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 +31 -14
- package/dist/cjs/common.js +112 -1
- package/dist/cjs/context/agent_controlled_context_compactor.js +7 -13
- package/dist/cjs/context/anchored_context_compactor.js +5 -2
- package/dist/cjs/context/compaction_utils.js +17 -2
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +11 -23
- 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 -22
- 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 +21 -4
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +20 -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 +43 -7
- 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 +226 -29
- package/dist/cjs/sessions/base_session_service.js +21 -5
- 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 +30 -22
- 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 +132 -25
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +62 -16
- 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 +54 -0
- 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 +69 -27
- 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 +56 -0
- 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 +45 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +56 -13
- package/dist/cjs/utils/error_utils.js +128 -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 +12 -4
- 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 +45 -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 +6 -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 +18 -4
- 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 -16
- package/dist/esm/a2a/auth.js +41 -0
- package/dist/esm/a2a/event_converter_utils.js +51 -15
- 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 +62 -20
- 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 +537 -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 +9 -4
- 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 +12 -25
- 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 +9 -3
- 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 +20 -11
- 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 +20 -5
- 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 +31 -13
- package/dist/esm/common.js +113 -4
- package/dist/esm/context/agent_controlled_context_compactor.js +8 -13
- package/dist/esm/context/anchored_context_compactor.js +6 -2
- package/dist/esm/context/compaction_utils.js +16 -1
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +16 -24
- 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 -13
- 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 +22 -4
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +25 -3
- 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 +43 -7
- 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 +233 -31
- package/dist/esm/sessions/base_session_service.js +22 -5
- 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 +31 -22
- 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 +136 -26
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +63 -16
- 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 +27 -0
- 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 +80 -30
- 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 +29 -0
- 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 +18 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +56 -13
- package/dist/esm/utils/error_utils.js +101 -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 +13 -4
- 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 +18 -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 +7 -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/auth.d.ts +30 -0
- package/dist/types/a2a/event_converter_utils.d.ts +4 -1
- 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/auth/credential_service/in_memory_credential_service.d.ts +11 -0
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +5 -1
- package/dist/types/common.d.ts +20 -8
- package/dist/types/context/agent_controlled_context_compactor.d.ts +0 -1
- package/dist/types/context/compaction_utils.d.ts +8 -0
- package/dist/types/context/token_based_context_compactor.d.ts +0 -1
- 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 +6 -13
- package/dist/types/memory/in_memory_memory_service.d.ts +11 -0
- 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 +39 -2
- 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 +10 -2
- package/dist/types/sessions/in_memory_session_service.d.ts +9 -0
- package/dist/types/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/sessions/vertex_ai_session_service.d.ts +19 -1
- package/dist/types/skills/loader.d.ts +5 -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/get_user_choice_tool.d.ts +14 -0
- 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 +20 -0
- 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/crypto_shim.d.ts +16 -0
- package/dist/types/utils/deprecated.d.ts +21 -0
- package/dist/types/utils/env_aware_utils.d.ts +39 -0
- package/dist/types/utils/error_utils.d.ts +18 -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/output_schema_utils.d.ts +18 -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 +5 -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 +18 -4
- 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 -16
- package/dist/web/a2a/auth.js +41 -0
- package/dist/web/a2a/event_converter_utils.js +50 -15
- 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 +62 -20
- 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 +631 -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 +8 -4
- 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 +12 -25
- 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 +9 -3
- 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 +20 -11
- 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 +20 -5
- 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 +31 -13
- package/dist/web/common.js +113 -4
- package/dist/web/context/agent_controlled_context_compactor.js +8 -13
- package/dist/web/context/anchored_context_compactor.js +5 -2
- package/dist/web/context/compaction_utils.js +16 -1
- package/dist/web/context/summarizers/llm_summarizer.js +6 -2
- package/dist/web/context/token_based_context_compactor.js +16 -24
- 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 -13
- 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 +22 -4
- package/dist/web/memory/vertex_ai_memory_bank_service.js +24 -3
- 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 +43 -7
- 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 +249 -31
- package/dist/web/sessions/base_session_service.js +22 -5
- 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 +31 -22
- 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 +142 -26
- package/dist/web/skills/gcp_skill_registry.js +2 -0
- package/dist/web/skills/loader.js +62 -16
- 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 +27 -0
- 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 +80 -30
- 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 +29 -0
- 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 +18 -0
- package/dist/web/utils/deprecated.js +40 -0
- package/dist/web/utils/env_aware_utils.js +56 -13
- package/dist/web/utils/error_utils.js +101 -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 +12 -4
- 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 +18 -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 +7 -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,8 +1,25 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defProps = Object.defineProperties;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
3
6
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
4
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
8
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
23
|
var __objRest = (source, exclude) => {
|
|
7
24
|
var target = {};
|
|
8
25
|
for (var prop in source)
|
|
@@ -30,6 +47,12 @@ const GEN_AI_TOOL_CALL_ID = "gen_ai.tool.call.id";
|
|
|
30
47
|
const GEN_AI_TOOL_DESCRIPTION = "gen_ai.tool.description";
|
|
31
48
|
const GEN_AI_TOOL_NAME = "gen_ai.tool.name";
|
|
32
49
|
const GEN_AI_TOOL_TYPE = "gen_ai.tool.type";
|
|
50
|
+
const ADK_WORKFLOW_NAME = "adk.workflow.name";
|
|
51
|
+
const ADK_NODE_PATH = "adk.node.path";
|
|
52
|
+
const ADK_NODE_RUN_ID = "adk.node.run_id";
|
|
53
|
+
const ADK_NODE_ATTEMPT = "adk.node.attempt";
|
|
54
|
+
const ADK_NODE_STATUS = "adk.node.status";
|
|
55
|
+
const ADK_NODE_INTERRUPT_COUNT = "adk.node.interrupt_count";
|
|
33
56
|
const tracer = trace.getTracer("gcp.vertex.agent", version);
|
|
34
57
|
function safeJsonSerialize(obj) {
|
|
35
58
|
try {
|
|
@@ -38,6 +61,7 @@ function safeJsonSerialize(obj) {
|
|
|
38
61
|
return "<not serializable>";
|
|
39
62
|
}
|
|
40
63
|
}
|
|
64
|
+
__name(safeJsonSerialize, "safeJsonSerialize");
|
|
41
65
|
function traceAgentInvocation({
|
|
42
66
|
agent,
|
|
43
67
|
invocationContext
|
|
@@ -52,6 +76,41 @@ function traceAgentInvocation({
|
|
|
52
76
|
[GEN_AI_CONVERSATION_ID]: invocationContext.session.id
|
|
53
77
|
});
|
|
54
78
|
}
|
|
79
|
+
__name(traceAgentInvocation, "traceAgentInvocation");
|
|
80
|
+
function traceWorkflowInvocation({
|
|
81
|
+
workflowName,
|
|
82
|
+
nodePath,
|
|
83
|
+
sessionId
|
|
84
|
+
}) {
|
|
85
|
+
const span = trace.getActiveSpan();
|
|
86
|
+
if (!span) return;
|
|
87
|
+
span.setAttributes({
|
|
88
|
+
[GEN_AI_OPERATION_NAME]: "invoke_workflow",
|
|
89
|
+
[GEN_AI_CONVERSATION_ID]: sessionId,
|
|
90
|
+
[ADK_WORKFLOW_NAME]: workflowName,
|
|
91
|
+
[ADK_NODE_PATH]: nodePath
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
__name(traceWorkflowInvocation, "traceWorkflowInvocation");
|
|
95
|
+
function traceNodeExecution({
|
|
96
|
+
nodePath,
|
|
97
|
+
runId,
|
|
98
|
+
attempt,
|
|
99
|
+
status,
|
|
100
|
+
interruptCount
|
|
101
|
+
}) {
|
|
102
|
+
const span = trace.getActiveSpan();
|
|
103
|
+
if (!span) return;
|
|
104
|
+
span.setAttributes({
|
|
105
|
+
[GEN_AI_OPERATION_NAME]: "execute_node",
|
|
106
|
+
[ADK_NODE_PATH]: nodePath,
|
|
107
|
+
[ADK_NODE_RUN_ID]: runId,
|
|
108
|
+
[ADK_NODE_ATTEMPT]: attempt,
|
|
109
|
+
[ADK_NODE_STATUS]: status,
|
|
110
|
+
[ADK_NODE_INTERRUPT_COUNT]: interruptCount
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
__name(traceNodeExecution, "traceNodeExecution");
|
|
55
114
|
function traceToolCall({
|
|
56
115
|
tool,
|
|
57
116
|
args,
|
|
@@ -93,6 +152,7 @@ function traceToolCall({
|
|
|
93
152
|
"gcp.vertex.agent.tool_response": shouldAddRequestResponseToSpans() ? safeJsonSerialize(toolResponse) : "{}"
|
|
94
153
|
});
|
|
95
154
|
}
|
|
155
|
+
__name(traceToolCall, "traceToolCall");
|
|
96
156
|
function traceMergedToolCalls({
|
|
97
157
|
responseEventId,
|
|
98
158
|
functionResponseEvent
|
|
@@ -116,28 +176,30 @@ function traceMergedToolCalls({
|
|
|
116
176
|
shouldAddRequestResponseToSpans() ? safeJsonSerialize(functionResponseEvent) : "{}"
|
|
117
177
|
);
|
|
118
178
|
}
|
|
179
|
+
__name(traceMergedToolCalls, "traceMergedToolCalls");
|
|
119
180
|
function traceCallLlm({
|
|
120
181
|
invocationContext,
|
|
121
182
|
eventId,
|
|
122
183
|
llmRequest,
|
|
123
184
|
llmResponse
|
|
124
185
|
}) {
|
|
125
|
-
var _a, _b, _c;
|
|
186
|
+
var _a, _b, _c, _d;
|
|
126
187
|
const span = trace.getActiveSpan();
|
|
127
188
|
if (!span) return;
|
|
128
|
-
span.setAttributes({
|
|
189
|
+
span.setAttributes(__spreadProps(__spreadValues({
|
|
129
190
|
"gen_ai.system": "gcp.vertex.agent",
|
|
130
|
-
"gen_ai.request.model": llmRequest.model
|
|
191
|
+
"gen_ai.request.model": llmRequest.model
|
|
192
|
+
}, ((_a = invocationContext.agent) == null ? void 0 : _a.name) ? { [GEN_AI_AGENT_NAME]: invocationContext.agent.name } : {}), {
|
|
131
193
|
"gcp.vertex.agent.invocation_id": invocationContext.invocationId,
|
|
132
194
|
"gcp.vertex.agent.session_id": invocationContext.session.id,
|
|
133
195
|
"gcp.vertex.agent.event_id": eventId,
|
|
134
196
|
// Consider removing once GenAI SDK provides a way to record this info.
|
|
135
197
|
"gcp.vertex.agent.llm_request": shouldAddRequestResponseToSpans() ? safeJsonSerialize(buildLlmRequestForTrace(llmRequest)) : "{}"
|
|
136
|
-
});
|
|
137
|
-
if ((
|
|
198
|
+
}));
|
|
199
|
+
if ((_b = llmRequest.config) == null ? void 0 : _b.topP) {
|
|
138
200
|
span.setAttribute("gen_ai.request.top_p", llmRequest.config.topP);
|
|
139
201
|
}
|
|
140
|
-
if (((
|
|
202
|
+
if (((_c = llmRequest.config) == null ? void 0 : _c.maxOutputTokens) !== void 0) {
|
|
141
203
|
span.setAttribute(
|
|
142
204
|
"gen_ai.request.max_tokens",
|
|
143
205
|
llmRequest.config.maxOutputTokens
|
|
@@ -153,7 +215,7 @@ function traceCallLlm({
|
|
|
153
215
|
llmResponse.usageMetadata.promptTokenCount || 0
|
|
154
216
|
);
|
|
155
217
|
}
|
|
156
|
-
if ((
|
|
218
|
+
if ((_d = llmResponse.usageMetadata) == null ? void 0 : _d.candidatesTokenCount) {
|
|
157
219
|
span.setAttribute(
|
|
158
220
|
"gen_ai.usage.output_tokens",
|
|
159
221
|
llmResponse.usageMetadata.candidatesTokenCount
|
|
@@ -164,6 +226,7 @@ function traceCallLlm({
|
|
|
164
226
|
span.setAttribute("gen_ai.response.finish_reasons", [finishReasonValue]);
|
|
165
227
|
}
|
|
166
228
|
}
|
|
229
|
+
__name(traceCallLlm, "traceCallLlm");
|
|
167
230
|
function traceSendData({
|
|
168
231
|
invocationContext,
|
|
169
232
|
eventId,
|
|
@@ -180,6 +243,7 @@ function traceSendData({
|
|
|
180
243
|
shouldAddRequestResponseToSpans() ? safeJsonSerialize(data) : "{}"
|
|
181
244
|
);
|
|
182
245
|
}
|
|
246
|
+
__name(traceSendData, "traceSendData");
|
|
183
247
|
function buildLlmRequestForTrace(llmRequest) {
|
|
184
248
|
const result = {
|
|
185
249
|
model: llmRequest.model,
|
|
@@ -198,6 +262,7 @@ function buildLlmRequestForTrace(llmRequest) {
|
|
|
198
262
|
});
|
|
199
263
|
return result;
|
|
200
264
|
}
|
|
265
|
+
__name(buildLlmRequestForTrace, "buildLlmRequestForTrace");
|
|
201
266
|
function bindOtelContextToAsyncGenerator(ctx, generator) {
|
|
202
267
|
return {
|
|
203
268
|
// Bind the next() method to execute within the provided context
|
|
@@ -215,20 +280,25 @@ function bindOtelContextToAsyncGenerator(ctx, generator) {
|
|
|
215
280
|
}
|
|
216
281
|
};
|
|
217
282
|
}
|
|
283
|
+
__name(bindOtelContextToAsyncGenerator, "bindOtelContextToAsyncGenerator");
|
|
218
284
|
function runAsyncGeneratorWithOtelContext(otelContext, generatorFnContext, generatorFn) {
|
|
219
285
|
const generator = generatorFn.call(generatorFnContext);
|
|
220
286
|
return bindOtelContextToAsyncGenerator(otelContext, generator);
|
|
221
287
|
}
|
|
288
|
+
__name(runAsyncGeneratorWithOtelContext, "runAsyncGeneratorWithOtelContext");
|
|
222
289
|
function shouldAddRequestResponseToSpans() {
|
|
223
290
|
const envValue = process.env.ADK_CAPTURE_MESSAGE_CONTENT_IN_SPANS || "true";
|
|
224
291
|
return envValue === "true" || envValue === "1";
|
|
225
292
|
}
|
|
293
|
+
__name(shouldAddRequestResponseToSpans, "shouldAddRequestResponseToSpans");
|
|
226
294
|
export {
|
|
227
295
|
runAsyncGeneratorWithOtelContext,
|
|
228
296
|
traceAgentInvocation,
|
|
229
297
|
traceCallLlm,
|
|
230
298
|
traceMergedToolCalls,
|
|
299
|
+
traceNodeExecution,
|
|
231
300
|
traceSendData,
|
|
232
301
|
traceToolCall,
|
|
302
|
+
traceWorkflowInvocation,
|
|
233
303
|
tracer
|
|
234
304
|
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
3
4
|
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
6
|
var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
|
|
5
7
|
/**
|
|
6
8
|
* @license
|
|
@@ -21,7 +23,8 @@ const AGENT_TOOL_SIGNATURE_SYMBOL = Symbol.for("google.adk.agentTool");
|
|
|
21
23
|
function isAgentTool(obj) {
|
|
22
24
|
return typeof obj === "object" && obj !== null && AGENT_TOOL_SIGNATURE_SYMBOL in obj && obj[AGENT_TOOL_SIGNATURE_SYMBOL] === true;
|
|
23
25
|
}
|
|
24
|
-
|
|
26
|
+
__name(isAgentTool, "isAgentTool");
|
|
27
|
+
const _AgentTool = class _AgentTool extends (_b = BaseTool, _a = AGENT_TOOL_SIGNATURE_SYMBOL, _b) {
|
|
25
28
|
constructor(config) {
|
|
26
29
|
super({
|
|
27
30
|
name: config.agent.name,
|
|
@@ -138,7 +141,9 @@ class AgentTool extends (_b = BaseTool, _a = AGENT_TOOL_SIGNATURE_SYMBOL, _b) {
|
|
|
138
141
|
const mergedText = lastEvent.content.parts.filter((part) => !part.thought).map((part) => part.text).filter((text) => text).join("\n");
|
|
139
142
|
return hasOutputSchema ? JSON.parse(mergedText) : mergedText;
|
|
140
143
|
}
|
|
141
|
-
}
|
|
144
|
+
};
|
|
145
|
+
__name(_AgentTool, "AgentTool");
|
|
146
|
+
let AgentTool = _AgentTool;
|
|
142
147
|
export {
|
|
143
148
|
AgentTool,
|
|
144
149
|
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 ".concat(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 `".concat(this.name, "()` failed due to missing required ") + "parameters: ".concat(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 '".concat(this.name, "': ").concat(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 '".concat(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 ".concat(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
|