@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 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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -33,7 +35,8 @@ function applyGoogleMapsGrounding(llmRequest) {
|
|
|
33
35
|
"Google maps tool is not supported for model ".concat(llmRequest.model)
|
|
34
36
|
);
|
|
35
37
|
}
|
|
36
|
-
|
|
38
|
+
__name(applyGoogleMapsGrounding, "applyGoogleMapsGrounding");
|
|
39
|
+
const _GoogleMapsGroundingTool = class _GoogleMapsGroundingTool extends BaseTool {
|
|
37
40
|
constructor() {
|
|
38
41
|
super({ name: "google_maps", description: "Google Maps Grounding Tool" });
|
|
39
42
|
}
|
|
@@ -45,7 +48,9 @@ class GoogleMapsGroundingTool extends BaseTool {
|
|
|
45
48
|
}) {
|
|
46
49
|
applyGoogleMapsGrounding(llmRequest);
|
|
47
50
|
}
|
|
48
|
-
}
|
|
51
|
+
};
|
|
52
|
+
__name(_GoogleMapsGroundingTool, "GoogleMapsGroundingTool");
|
|
53
|
+
let GoogleMapsGroundingTool = _GoogleMapsGroundingTool;
|
|
49
54
|
const GOOGLE_MAPS_GROUNDING = new GoogleMapsGroundingTool();
|
|
50
55
|
export {
|
|
51
56
|
GOOGLE_MAPS_GROUNDING,
|
|
@@ -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
|
|
@@ -7,7 +9,7 @@ const require = topLevelCreateRequire(import.meta.url);
|
|
|
7
9
|
*/
|
|
8
10
|
import { isGemini1Model, isGeminiModel } from "../utils/model_name.js";
|
|
9
11
|
import { BaseTool } from "./base_tool.js";
|
|
10
|
-
class
|
|
12
|
+
const _GoogleSearchTool = class _GoogleSearchTool extends BaseTool {
|
|
11
13
|
constructor() {
|
|
12
14
|
super({ name: "google_search", description: "Google Search Tool" });
|
|
13
15
|
}
|
|
@@ -43,7 +45,9 @@ class GoogleSearchTool extends BaseTool {
|
|
|
43
45
|
"Google search tool is not supported for model ".concat(llmRequest.model)
|
|
44
46
|
);
|
|
45
47
|
}
|
|
46
|
-
}
|
|
48
|
+
};
|
|
49
|
+
__name(_GoogleSearchTool, "GoogleSearchTool");
|
|
50
|
+
let GoogleSearchTool = _GoogleSearchTool;
|
|
47
51
|
const GOOGLE_SEARCH = new GoogleSearchTool();
|
|
48
52
|
export {
|
|
49
53
|
GOOGLE_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
|
|
@@ -25,6 +27,7 @@ function normalizeMimeType(mimeType) {
|
|
|
25
27
|
}
|
|
26
28
|
return mimeType.split(";")[0].trim();
|
|
27
29
|
}
|
|
30
|
+
__name(normalizeMimeType, "normalizeMimeType");
|
|
28
31
|
function isInlineMimeTypeSupported(mimeType) {
|
|
29
32
|
const normalized = normalizeMimeType(mimeType);
|
|
30
33
|
if (!normalized) {
|
|
@@ -34,6 +37,7 @@ function isInlineMimeTypeSupported(mimeType) {
|
|
|
34
37
|
(prefix) => normalized.startsWith(prefix)
|
|
35
38
|
) || GEMINI_SUPPORTED_INLINE_MIME_TYPES.has(normalized);
|
|
36
39
|
}
|
|
40
|
+
__name(isInlineMimeTypeSupported, "isInlineMimeTypeSupported");
|
|
37
41
|
function asSafePartForLlm(artifact, artifactName) {
|
|
38
42
|
const inlineData = artifact.inlineData;
|
|
39
43
|
if (!inlineData) {
|
|
@@ -63,7 +67,8 @@ function asSafePartForLlm(artifact, artifactName) {
|
|
|
63
67
|
text: "[Binary artifact: ".concat(artifactName, ", type: ").concat(mimeType, ", size: ").concat(sizeKb.toFixed(1), " KB. Content cannot be displayed inline.]")
|
|
64
68
|
};
|
|
65
69
|
}
|
|
66
|
-
|
|
70
|
+
__name(asSafePartForLlm, "asSafePartForLlm");
|
|
71
|
+
const _LoadArtifactsTool = class _LoadArtifactsTool extends BaseTool {
|
|
67
72
|
constructor() {
|
|
68
73
|
super({
|
|
69
74
|
name: "load_artifacts",
|
|
@@ -144,7 +149,9 @@ class LoadArtifactsTool extends BaseTool {
|
|
|
144
149
|
}
|
|
145
150
|
}
|
|
146
151
|
}
|
|
147
|
-
}
|
|
152
|
+
};
|
|
153
|
+
__name(_LoadArtifactsTool, "LoadArtifactsTool");
|
|
154
|
+
let LoadArtifactsTool = _LoadArtifactsTool;
|
|
148
155
|
const LOAD_ARTIFACTS = new LoadArtifactsTool();
|
|
149
156
|
export {
|
|
150
157
|
LOAD_ARTIFACTS,
|
|
@@ -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 _LoadMemoryTool = class _LoadMemoryTool extends BaseTool {
|
|
14
16
|
constructor() {
|
|
15
17
|
super({
|
|
16
18
|
name: "load_memory",
|
|
@@ -71,7 +73,9 @@ class LoadMemoryTool extends BaseTool {
|
|
|
71
73
|
"You have memory. You can use it to answer questions. If any questions need\nyou to look up the memory, you should call load_memory function with a query."
|
|
72
74
|
]);
|
|
73
75
|
}
|
|
74
|
-
}
|
|
76
|
+
};
|
|
77
|
+
__name(_LoadMemoryTool, "LoadMemoryTool");
|
|
78
|
+
let LoadMemoryTool = _LoadMemoryTool;
|
|
75
79
|
const LOAD_MEMORY = new LoadMemoryTool();
|
|
76
80
|
export {
|
|
77
81
|
LOAD_MEMORY,
|
|
@@ -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
|
|
@@ -64,13 +66,16 @@ const BLOCKED_IPV6_CIDRS = [
|
|
|
64
66
|
function failedToFetchMessage(url) {
|
|
65
67
|
return "Failed to fetch url: ".concat(url);
|
|
66
68
|
}
|
|
69
|
+
__name(failedToFetchMessage, "failedToFetchMessage");
|
|
67
70
|
function isBlockedHostname(hostname) {
|
|
68
71
|
const normalized = hostname.replace(/\.+$/, "").toLowerCase();
|
|
69
72
|
return normalized === "localhost" || normalized.endsWith(".localhost");
|
|
70
73
|
}
|
|
74
|
+
__name(isBlockedHostname, "isBlockedHostname");
|
|
71
75
|
function normalizeHost(hostname) {
|
|
72
76
|
return hostname.startsWith("[") ? hostname.slice(1, -1) : hostname;
|
|
73
77
|
}
|
|
78
|
+
__name(normalizeHost, "normalizeHost");
|
|
74
79
|
function parseIpv4(address) {
|
|
75
80
|
const match = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(address);
|
|
76
81
|
if (!match) {
|
|
@@ -82,6 +87,7 @@ function parseIpv4(address) {
|
|
|
82
87
|
}
|
|
83
88
|
return octets;
|
|
84
89
|
}
|
|
90
|
+
__name(parseIpv4, "parseIpv4");
|
|
85
91
|
function parseIpv6(address) {
|
|
86
92
|
if (isIP(address) !== 6) {
|
|
87
93
|
return null;
|
|
@@ -92,6 +98,7 @@ function parseIpv6(address) {
|
|
|
92
98
|
const compressed = address.includes("::") ? new Array(8 - highGroups.length - lowGroups.length).fill(0) : [];
|
|
93
99
|
return [...highGroups, ...compressed, ...lowGroups];
|
|
94
100
|
}
|
|
101
|
+
__name(parseIpv6, "parseIpv6");
|
|
95
102
|
function expandHextets(fragment) {
|
|
96
103
|
const hextets = [];
|
|
97
104
|
for (const group of fragment.split(":")) {
|
|
@@ -104,9 +111,11 @@ function expandHextets(fragment) {
|
|
|
104
111
|
}
|
|
105
112
|
return hextets;
|
|
106
113
|
}
|
|
114
|
+
__name(expandHextets, "expandHextets");
|
|
107
115
|
function ipv4ToInt(octets) {
|
|
108
116
|
return (octets[0] << 24 | octets[1] << 16 | octets[2] << 8 | octets[3]) >>> 0;
|
|
109
117
|
}
|
|
118
|
+
__name(ipv4ToInt, "ipv4ToInt");
|
|
110
119
|
function hextetsToBigInt(hextets) {
|
|
111
120
|
let value = /* @__PURE__ */ BigInt("0");
|
|
112
121
|
for (const hextet of hextets) {
|
|
@@ -114,21 +123,25 @@ function hextetsToBigInt(hextets) {
|
|
|
114
123
|
}
|
|
115
124
|
return value;
|
|
116
125
|
}
|
|
126
|
+
__name(hextetsToBigInt, "hextetsToBigInt");
|
|
117
127
|
function parseIpv4Cidr(cidr) {
|
|
118
128
|
const [address, prefix] = cidr.split("/");
|
|
119
129
|
const mask = 4294967295 << 32 - Number(prefix) >>> 0;
|
|
120
130
|
return { base: (ipv4ToInt(parseIpv4(address)) & mask) >>> 0, mask };
|
|
121
131
|
}
|
|
132
|
+
__name(parseIpv4Cidr, "parseIpv4Cidr");
|
|
122
133
|
function parseIpv6Cidr(cidr) {
|
|
123
134
|
const [address, prefix] = cidr.split("/");
|
|
124
135
|
return { base: hextetsToBigInt(parseIpv6(address)), prefix: Number(prefix) };
|
|
125
136
|
}
|
|
137
|
+
__name(parseIpv6Cidr, "parseIpv6Cidr");
|
|
126
138
|
function isBlockedIpv4(octets) {
|
|
127
139
|
const value = ipv4ToInt(octets);
|
|
128
140
|
return BLOCKED_IPV4_CIDRS.some(
|
|
129
141
|
({ base, mask }) => (value & mask) >>> 0 === base
|
|
130
142
|
);
|
|
131
143
|
}
|
|
144
|
+
__name(isBlockedIpv4, "isBlockedIpv4");
|
|
132
145
|
function isBlockedIpv6(hextets) {
|
|
133
146
|
const value = hextetsToBigInt(hextets);
|
|
134
147
|
if (value >> /* @__PURE__ */ BigInt("32") === /* @__PURE__ */ BigInt("0xffff")) {
|
|
@@ -143,6 +156,7 @@ function isBlockedIpv6(hextets) {
|
|
|
143
156
|
({ base, prefix }) => value >> BigInt(128 - prefix) === base >> BigInt(128 - prefix)
|
|
144
157
|
);
|
|
145
158
|
}
|
|
159
|
+
__name(isBlockedIpv6, "isBlockedIpv6");
|
|
146
160
|
function isBlockedAddress(address) {
|
|
147
161
|
const octets = parseIpv4(address);
|
|
148
162
|
if (octets) {
|
|
@@ -154,6 +168,7 @@ function isBlockedAddress(address) {
|
|
|
154
168
|
}
|
|
155
169
|
return true;
|
|
156
170
|
}
|
|
171
|
+
__name(isBlockedAddress, "isBlockedAddress");
|
|
157
172
|
async function resolveHostAddresses(hostname) {
|
|
158
173
|
if (isIP(hostname) !== 0) {
|
|
159
174
|
return [hostname];
|
|
@@ -165,6 +180,7 @@ async function resolveHostAddresses(hostname) {
|
|
|
165
180
|
}
|
|
166
181
|
return addresses;
|
|
167
182
|
}
|
|
183
|
+
__name(resolveHostAddresses, "resolveHostAddresses");
|
|
168
184
|
function assertUrlAllowed(url) {
|
|
169
185
|
const parsed = new URL(url);
|
|
170
186
|
if (!ALLOWED_SCHEMES.has(parsed.protocol)) {
|
|
@@ -175,20 +191,24 @@ function assertUrlAllowed(url) {
|
|
|
175
191
|
}
|
|
176
192
|
return parsed;
|
|
177
193
|
}
|
|
194
|
+
__name(assertUrlAllowed, "assertUrlAllowed");
|
|
178
195
|
async function validateResolvedAddresses(hostname) {
|
|
179
196
|
const addresses = await resolveHostAddresses(hostname);
|
|
180
197
|
if (addresses.some(isBlockedAddress)) {
|
|
181
198
|
throw new Error("Blocked host: ".concat(hostname));
|
|
182
199
|
}
|
|
183
200
|
}
|
|
201
|
+
__name(validateResolvedAddresses, "validateResolvedAddresses");
|
|
184
202
|
function decodeHtmlEntities(text) {
|
|
185
203
|
return text.replace(/ /g, " ").replace(/'/g, "'").replace(/'/g, "'").replace(/"/g, '"').replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&");
|
|
186
204
|
}
|
|
205
|
+
__name(decodeHtmlEntities, "decodeHtmlEntities");
|
|
187
206
|
function htmlToText(html) {
|
|
188
207
|
const withoutCode = html.replace(/<script[\s\S]*?<\/script>/gi, " ").replace(/<style[\s\S]*?<\/style>/gi, " ").replace(/<!--[\s\S]*?-->/g, " ");
|
|
189
208
|
const text = decodeHtmlEntities(withoutCode.replace(/<[^>]+>/g, "\n"));
|
|
190
209
|
return text.split("\n").map((line) => line.trim()).filter((line) => line.split(/\s+/).filter(Boolean).length > 3).join("\n");
|
|
191
210
|
}
|
|
211
|
+
__name(htmlToText, "htmlToText");
|
|
192
212
|
async function loadWebPage(url, options) {
|
|
193
213
|
var _a;
|
|
194
214
|
const timeoutMs = (_a = options == null ? void 0 : options.timeoutMs) != null ? _a : DEFAULT_TIMEOUT_MS;
|
|
@@ -207,13 +227,14 @@ async function loadWebPage(url, options) {
|
|
|
207
227
|
return failedToFetchMessage(url);
|
|
208
228
|
}
|
|
209
229
|
}
|
|
230
|
+
__name(loadWebPage, "loadWebPage");
|
|
210
231
|
const LOAD_WEB_PAGE = new FunctionTool({
|
|
211
232
|
name: "load_web_page",
|
|
212
233
|
description: "Fetches the content at the given URL and returns the readable text extracted from the page.",
|
|
213
234
|
parameters: z.object({
|
|
214
235
|
url: z.string().describe("The URL to fetch and extract text from.")
|
|
215
236
|
}),
|
|
216
|
-
execute: ({ url }) => loadWebPage(url)
|
|
237
|
+
execute: /* @__PURE__ */ __name(({ url }) => loadWebPage(url), "execute")
|
|
217
238
|
});
|
|
218
239
|
export {
|
|
219
240
|
LOAD_WEB_PAGE,
|
|
@@ -19,6 +19,7 @@ var __spreadValues = (a, b) => {
|
|
|
19
19
|
return a;
|
|
20
20
|
};
|
|
21
21
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
22
23
|
/**
|
|
23
24
|
* @license
|
|
24
25
|
* Copyright 2025 Google LLC
|
|
@@ -28,7 +29,7 @@ import {
|
|
|
28
29
|
FunctionTool
|
|
29
30
|
} from "./function_tool.js";
|
|
30
31
|
const LONG_RUNNING_INSTRUCTION = "\n\nNOTE: This is a long-running operation. Do not call this tool again if it has already returned some intermediate or pending status.";
|
|
31
|
-
class
|
|
32
|
+
const _LongRunningFunctionTool = class _LongRunningFunctionTool extends FunctionTool {
|
|
32
33
|
/**
|
|
33
34
|
* The constructor acts as the user-friendly factory.
|
|
34
35
|
* @param options The configuration for the tool.
|
|
@@ -49,7 +50,9 @@ class LongRunningFunctionTool extends FunctionTool {
|
|
|
49
50
|
}
|
|
50
51
|
return declaration;
|
|
51
52
|
}
|
|
52
|
-
}
|
|
53
|
+
};
|
|
54
|
+
__name(_LongRunningFunctionTool, "LongRunningFunctionTool");
|
|
55
|
+
let LongRunningFunctionTool = _LongRunningFunctionTool;
|
|
53
56
|
export {
|
|
54
57
|
LongRunningFunctionTool
|
|
55
58
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2026 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
export * from "./load_mcp_resource_tool.js";
|
|
9
|
+
export * from "./mcp_session_manager.js";
|
|
10
|
+
export * from "./mcp_tool.js";
|
|
11
|
+
export * from "./mcp_toolset.js";
|
|
@@ -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
|
|
@@ -11,7 +13,7 @@ import { logger } from "../../utils/logger.js";
|
|
|
11
13
|
import {
|
|
12
14
|
BaseTool
|
|
13
15
|
} from "../base_tool.js";
|
|
14
|
-
class
|
|
16
|
+
const _LoadMcpResourceTool = class _LoadMcpResourceTool extends BaseTool {
|
|
15
17
|
constructor(mcpToolset) {
|
|
16
18
|
super({
|
|
17
19
|
name: "load_mcp_resource",
|
|
@@ -101,7 +103,9 @@ class LoadMcpResourceTool extends BaseTool {
|
|
|
101
103
|
}
|
|
102
104
|
return { text: "[Unknown content type for ".concat(resourceName, "]") };
|
|
103
105
|
}
|
|
104
|
-
}
|
|
106
|
+
};
|
|
107
|
+
__name(_LoadMcpResourceTool, "LoadMcpResourceTool");
|
|
108
|
+
let LoadMcpResourceTool = _LoadMcpResourceTool;
|
|
105
109
|
export {
|
|
106
110
|
LoadMcpResourceTool
|
|
107
111
|
};
|