@google/adk 2.3.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_remote_agent.js +17 -2
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +8 -4
- package/dist/cjs/a2a/agent_card.js +5 -81
- package/dist/cjs/a2a/agent_to_a2a.js +7 -0
- package/dist/cjs/a2a/event_converter_utils.js +10 -3
- package/dist/cjs/agents/agent_engine_client.js +399 -0
- package/dist/cjs/agents/base_agent.js +127 -68
- package/dist/cjs/agents/functions.js +64 -59
- package/dist/cjs/agents/instructions.js +8 -6
- package/dist/cjs/agents/invocation_context.js +2 -2
- package/dist/cjs/agents/llm_agent.js +124 -101
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +1 -1
- package/dist/cjs/agents/processors/code_execution_request_processor.js +8 -0
- package/dist/cjs/agents/processors/content_processor_utils.js +72 -17
- package/dist/cjs/agents/processors/content_request_processor.js +51 -2
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -1
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +1 -1
- package/dist/cjs/agents/processors/nl_planning_processor.js +13 -3
- package/dist/cjs/artifacts/file_artifact_service.js +1 -1
- package/dist/cjs/cli/cli_eval.js +884 -17
- package/dist/cjs/cli/utils/cleanup.js +84 -0
- package/dist/cjs/cli/utils/envs.js +33 -2
- package/dist/cjs/cli/utils/evals.js +75 -8
- package/dist/cjs/cli/utils/logs.js +134 -15
- package/dist/cjs/cli/utils/path_validation.js +83 -0
- package/dist/cjs/code_executors/container_code_executor.js +171 -38
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +6 -1
- package/dist/cjs/common.js +59 -32
- package/dist/cjs/context/compaction_utils.js +19 -0
- package/dist/cjs/errors/input_validation_error.js +3 -2
- package/dist/cjs/events/event.js +7 -3
- package/dist/cjs/features/feature_registry.js +5 -0
- package/dist/cjs/index.js +34 -12
- package/dist/cjs/models/google_llm.js +33 -2
- package/dist/cjs/models/interactions_utils.js +3 -0
- package/dist/cjs/plugins/base_plugin.js +54 -40
- package/dist/cjs/plugins/plugin_manager.js +27 -0
- package/dist/cjs/runner/runner.js +306 -189
- package/dist/cjs/sessions/base_session_service.js +15 -12
- package/dist/cjs/sessions/database_session_service.js +232 -38
- package/dist/cjs/sessions/db/operations.js +70 -1
- package/dist/cjs/sessions/db/schema.js +4 -0
- package/dist/cjs/sessions/in_memory_session_service.js +2 -2
- package/dist/cjs/sessions/stale_session_error.js +59 -0
- package/dist/cjs/sessions/vertex_ai_session_service.js +11 -3
- package/dist/cjs/skills/loader.js +76 -41
- package/dist/cjs/telemetry/api/instrumentation.js +632 -0
- package/dist/cjs/telemetry/api/internal/common/accumulators.js +169 -0
- package/dist/cjs/telemetry/api/internal/common/attributes.js +131 -0
- package/dist/cjs/telemetry/api/internal/common/config.js +159 -0
- package/dist/cjs/telemetry/api/internal/common/error.js +98 -0
- package/dist/cjs/telemetry/api/internal/common/finish_reason.js +63 -0
- package/dist/cjs/telemetry/api/internal/common/genai_messages.js +217 -0
- package/dist/cjs/telemetry/api/internal/common/http_exchange.js +169 -0
- package/dist/cjs/telemetry/api/internal/common/provider_name.js +87 -0
- package/dist/cjs/telemetry/api/internal/common/redaction.js +148 -0
- package/dist/cjs/telemetry/api/internal/common/serialization.js +58 -0
- package/dist/cjs/telemetry/api/internal/common/token_usage.js +118 -0
- package/dist/cjs/telemetry/api/internal/logs/inference.js +50 -0
- package/dist/cjs/telemetry/api/internal/logs/logger.js +46 -0
- package/dist/cjs/telemetry/api/internal/logs/mcp.js +141 -0
- package/dist/cjs/telemetry/api/internal/metrics/agent.js +128 -0
- package/dist/cjs/telemetry/api/internal/metrics/inference_start_hook.js +56 -0
- package/dist/cjs/telemetry/api/internal/metrics/meters.js +189 -0
- package/dist/cjs/telemetry/api/internal/metrics/tool.js +147 -0
- package/dist/cjs/telemetry/api/internal/metrics/workflow.js +132 -0
- package/dist/cjs/telemetry/api/internal/trace/agent.js +52 -0
- package/dist/cjs/telemetry/api/internal/trace/compaction.js +78 -0
- package/dist/cjs/telemetry/api/internal/trace/inference.js +132 -0
- package/dist/cjs/telemetry/api/internal/trace/live.js +52 -0
- package/dist/cjs/telemetry/api/internal/trace/node.js +73 -0
- package/dist/cjs/telemetry/api/internal/trace/propagation.js +67 -0
- package/dist/cjs/telemetry/api/internal/trace/tool.js +122 -0
- package/dist/cjs/telemetry/api/internal/trace/tracer.js +77 -0
- package/dist/cjs/telemetry/api/internal/trace/workflow.js +77 -0
- package/dist/cjs/telemetry/export/agent_engine.js +90 -0
- package/dist/cjs/telemetry/export/agent_runtime.js +73 -0
- package/dist/cjs/telemetry/export/google_cloud.js +763 -0
- package/dist/cjs/telemetry/export/request_driven_metric_reader.js +303 -0
- package/dist/cjs/telemetry/{setup.js → export/setup.js} +72 -6
- package/dist/cjs/tools/agent_tool.js +9 -1
- package/dist/cjs/tools/apihub_tool/apihub_toolset.js +18 -23
- package/dist/cjs/tools/application_integration_tool/application_integration_toolset.js +109 -43
- package/dist/cjs/tools/application_integration_tool/clients/connections_client.js +222 -114
- package/dist/cjs/tools/application_integration_tool/clients/integration_client.js +34 -14
- package/dist/cjs/tools/application_integration_tool/integration_connector_tool.js +175 -0
- package/dist/cjs/tools/base_toolset.js +1 -1
- package/dist/cjs/tools/computer_use/base_computer.js +125 -0
- package/dist/cjs/tools/computer_use/computer_use_actions.js +502 -0
- package/dist/cjs/tools/computer_use/computer_use_tool.js +244 -0
- package/dist/cjs/tools/computer_use/computer_use_toolset.js +360 -0
- package/dist/cjs/tools/function_tool.js +15 -5
- package/dist/cjs/tools/google_api_tool/google_api_tool.js +4 -1
- package/dist/cjs/tools/google_api_tool/google_api_toolset.js +174 -0
- package/dist/cjs/tools/google_api_tool/google_api_toolsets.js +124 -0
- package/dist/cjs/tools/google_api_tool/googleapi_to_openapi_converter.js +5 -3
- package/dist/cjs/tools/google_api_tool/index.js +20 -23
- package/dist/cjs/tools/load_artifacts_tool.js +27 -11
- package/dist/cjs/tools/load_memory_tool.js +14 -15
- package/dist/cjs/tools/mcp/mcp_session_manager.js +23 -3
- package/dist/cjs/tools/mcp/mcp_tool.js +7 -3
- package/dist/cjs/tools/mcp/mcp_toolset.js +19 -20
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +30 -29
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +4 -4
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +20 -6
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +17 -6
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +7 -13
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +57 -10
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +7 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +3 -0
- package/dist/cjs/tools/skill/run_skill_script_tool.js +12 -2
- package/dist/cjs/tools/toolbox_toolset.js +193 -0
- package/dist/cjs/tools/webmcp/webmcp_toolset.js +1 -14
- package/dist/cjs/utils/async_queue.js +37 -3
- package/dist/cjs/utils/client_labels.js +17 -2
- package/dist/cjs/utils/env_aware_utils.js +13 -7
- package/dist/cjs/utils/error_utils.js +40 -2
- package/dist/cjs/utils/failover_utils.js +11 -10
- package/dist/cjs/utils/gemini_schema_util.js +145 -14
- package/dist/cjs/utils/id_provider.js +63 -0
- package/dist/cjs/utils/logger_node.js +4 -0
- package/dist/cjs/utils/model_name.js +15 -0
- package/dist/cjs/utils/output_schema_utils.js +5 -2
- package/dist/cjs/utils/simple_zod_to_json.js +13 -31
- package/dist/cjs/utils/ssrf_guard.js +46 -16
- package/dist/cjs/utils/task.js +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/index.js +2 -0
- package/dist/cjs/workflow/node_runner.js +24 -80
- package/dist/cjs/workflow/nodes/parallel_worker.js +18 -7
- package/dist/cjs/workflow/run_llm_agent_as_node.js +19 -14
- package/dist/cjs/workflow/utils/retry_utils.js +2 -2
- package/dist/cjs/workflow/workflow.js +12 -12
- package/dist/esm/a2a/a2a_remote_agent.js +23 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +8 -4
- package/dist/esm/a2a/agent_card.js +5 -83
- package/dist/esm/a2a/agent_to_a2a.js +7 -0
- package/dist/esm/a2a/event_converter_utils.js +10 -3
- package/dist/esm/agents/agent_engine_client.js +382 -0
- package/dist/esm/agents/base_agent.js +127 -72
- package/dist/esm/agents/functions.js +69 -63
- package/dist/esm/agents/instructions.js +8 -6
- package/dist/esm/agents/invocation_context.js +2 -2
- package/dist/esm/agents/llm_agent.js +130 -106
- package/dist/esm/agents/processors/basic_llm_request_processor.js +1 -1
- package/dist/esm/agents/processors/code_execution_request_processor.js +8 -0
- package/dist/esm/agents/processors/content_processor_utils.js +72 -17
- package/dist/esm/agents/processors/content_request_processor.js +51 -2
- package/dist/esm/agents/processors/context_compactor_request_processor.js +5 -1
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +1 -1
- package/dist/esm/agents/processors/nl_planning_processor.js +13 -3
- package/dist/esm/artifacts/file_artifact_service.js +1 -1
- package/dist/esm/cli/cli_eval.js +880 -17
- package/dist/esm/cli/utils/cleanup.js +56 -0
- package/dist/esm/cli/utils/envs.js +33 -2
- package/dist/esm/cli/utils/evals.js +74 -8
- package/dist/esm/cli/utils/logs.js +132 -13
- package/dist/esm/cli/utils/path_validation.js +45 -0
- package/dist/esm/code_executors/container_code_executor.js +171 -38
- package/dist/esm/code_executors/unsafe_local_code_executor.js +6 -1
- package/dist/esm/common.js +59 -19
- package/dist/esm/context/compaction_utils.js +19 -0
- package/dist/esm/errors/input_validation_error.js +3 -2
- package/dist/esm/events/event.js +7 -3
- package/dist/esm/features/feature_registry.js +5 -0
- package/dist/esm/index.js +36 -10
- package/dist/esm/models/google_llm.js +33 -2
- package/dist/esm/models/interactions_utils.js +3 -0
- package/dist/esm/plugins/base_plugin.js +54 -40
- package/dist/esm/plugins/plugin_manager.js +27 -0
- package/dist/esm/runner/runner.js +310 -192
- package/dist/esm/sessions/base_session_service.js +13 -11
- package/dist/esm/sessions/database_session_service.js +231 -38
- package/dist/esm/sessions/db/operations.js +70 -1
- package/dist/esm/sessions/db/schema.js +4 -0
- package/dist/esm/sessions/in_memory_session_service.js +2 -2
- package/dist/esm/sessions/stale_session_error.js +31 -0
- package/dist/esm/sessions/vertex_ai_session_service.js +11 -3
- package/dist/esm/skills/loader.js +76 -41
- package/dist/esm/telemetry/api/instrumentation.js +655 -0
- package/dist/esm/telemetry/api/internal/common/accumulators.js +139 -0
- package/dist/esm/telemetry/api/internal/common/attributes.js +94 -0
- package/dist/esm/telemetry/api/internal/common/config.js +128 -0
- package/dist/esm/telemetry/api/internal/common/error.js +69 -0
- package/dist/esm/telemetry/api/internal/common/finish_reason.js +35 -0
- package/dist/esm/telemetry/api/internal/common/genai_messages.js +188 -0
- package/dist/esm/telemetry/api/internal/common/http_exchange.js +142 -0
- package/dist/esm/telemetry/api/internal/common/provider_name.js +59 -0
- package/dist/esm/telemetry/api/internal/common/redaction.js +121 -0
- package/dist/esm/telemetry/api/internal/common/serialization.js +30 -0
- package/dist/esm/telemetry/api/internal/common/token_usage.js +85 -0
- package/dist/esm/telemetry/api/internal/logs/inference.js +23 -0
- package/dist/esm/telemetry/api/internal/logs/logger.js +19 -0
- package/dist/esm/telemetry/api/internal/logs/mcp.js +113 -0
- package/dist/esm/telemetry/api/internal/metrics/agent.js +107 -0
- package/dist/esm/telemetry/api/internal/metrics/inference_start_hook.js +29 -0
- package/dist/esm/telemetry/api/internal/metrics/meters.js +165 -0
- package/dist/esm/telemetry/api/internal/metrics/tool.js +119 -0
- package/dist/esm/telemetry/api/internal/metrics/workflow.js +112 -0
- package/dist/esm/telemetry/api/internal/trace/agent.js +25 -0
- package/dist/esm/telemetry/api/internal/trace/compaction.js +50 -0
- package/dist/esm/telemetry/api/internal/trace/inference.js +107 -0
- package/dist/esm/telemetry/api/internal/trace/live.js +28 -0
- package/dist/esm/telemetry/api/internal/trace/node.js +44 -0
- package/dist/esm/telemetry/api/internal/trace/propagation.js +39 -0
- package/dist/esm/telemetry/api/internal/trace/tool.js +96 -0
- package/dist/esm/telemetry/api/internal/trace/tracer.js +52 -0
- package/dist/esm/telemetry/api/internal/trace/workflow.js +54 -0
- package/dist/esm/telemetry/export/agent_engine.js +67 -0
- package/dist/esm/telemetry/export/agent_runtime.js +46 -0
- package/dist/esm/telemetry/export/google_cloud.js +733 -0
- package/dist/esm/telemetry/export/request_driven_metric_reader.js +276 -0
- package/dist/esm/telemetry/export/setup.js +160 -0
- package/dist/esm/tools/agent_tool.js +9 -1
- package/dist/esm/tools/apihub_tool/apihub_toolset.js +17 -22
- package/dist/esm/tools/application_integration_tool/application_integration_toolset.js +114 -44
- package/dist/esm/tools/application_integration_tool/clients/connections_client.js +226 -115
- package/dist/esm/tools/application_integration_tool/clients/integration_client.js +34 -14
- package/dist/esm/tools/application_integration_tool/integration_connector_tool.js +149 -0
- package/dist/esm/tools/base_toolset.js +1 -1
- package/dist/esm/tools/computer_use/base_computer.js +99 -0
- package/dist/esm/tools/computer_use/computer_use_actions.js +477 -0
- package/dist/esm/tools/computer_use/computer_use_tool.js +217 -0
- package/dist/esm/tools/computer_use/computer_use_toolset.js +344 -0
- package/dist/esm/tools/function_tool.js +15 -5
- package/dist/esm/tools/google_api_tool/google_api_tool.js +4 -1
- package/dist/esm/tools/google_api_tool/google_api_toolset.js +147 -0
- package/dist/esm/tools/google_api_tool/google_api_toolsets.js +94 -0
- package/dist/esm/tools/google_api_tool/googleapi_to_openapi_converter.js +5 -3
- package/dist/esm/tools/google_api_tool/index.js +18 -20
- package/dist/esm/tools/load_artifacts_tool.js +25 -10
- package/dist/esm/tools/load_memory_tool.js +14 -15
- package/dist/esm/tools/mcp/mcp_session_manager.js +23 -3
- package/dist/esm/tools/mcp/mcp_tool.js +7 -3
- package/dist/esm/tools/mcp/mcp_toolset.js +19 -20
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +27 -26
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +4 -4
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +20 -6
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +17 -6
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +6 -12
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +57 -10
- package/dist/esm/tools/skill/load_skill_resource_tool.js +7 -0
- package/dist/esm/tools/skill/load_skill_tool.js +3 -0
- package/dist/esm/tools/skill/run_skill_script_tool.js +12 -2
- package/dist/esm/tools/toolbox_toolset.js +167 -0
- package/dist/esm/tools/webmcp/webmcp_toolset.js +1 -14
- package/dist/esm/utils/async_queue.js +37 -3
- package/dist/esm/utils/client_labels.js +17 -2
- package/dist/esm/utils/env_aware_utils.js +12 -7
- package/dist/esm/utils/error_utils.js +37 -1
- package/dist/esm/utils/failover_utils.js +11 -10
- package/dist/esm/utils/gemini_schema_util.js +144 -14
- package/dist/esm/utils/id_provider.js +33 -0
- package/dist/esm/utils/logger_node.js +4 -0
- package/dist/esm/utils/model_name.js +14 -0
- package/dist/esm/utils/output_schema_utils.js +5 -2
- package/dist/esm/utils/simple_zod_to_json.js +13 -31
- package/dist/esm/utils/ssrf_guard.js +55 -15
- package/dist/esm/utils/task.js +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/index.js +2 -1
- package/dist/esm/workflow/node_runner.js +26 -80
- package/dist/esm/workflow/nodes/parallel_worker.js +16 -6
- package/dist/esm/workflow/run_llm_agent_as_node.js +19 -14
- package/dist/esm/workflow/utils/retry_utils.js +2 -2
- package/dist/esm/workflow/workflow.js +12 -12
- package/dist/types/a2a/a2a_remote_agent.d.ts +6 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +3 -2
- package/dist/types/agents/agent_engine_client.d.ts +155 -0
- package/dist/types/agents/base_agent.d.ts +14 -0
- package/dist/types/agents/llm_agent.d.ts +5 -1
- package/dist/types/agents/processors/content_processor_utils.d.ts +12 -10
- package/dist/types/agents/processors/nl_planning_processor.d.ts +2 -1
- package/dist/types/agents/run_config.d.ts +14 -0
- package/dist/types/cli/cli_eval.d.ts +172 -9
- package/dist/types/cli/utils/cleanup.d.ts +18 -0
- package/dist/types/cli/utils/envs.d.ts +13 -3
- package/dist/types/cli/utils/evals.d.ts +64 -1
- package/dist/types/cli/utils/logs.d.ts +20 -3
- package/dist/types/cli/utils/path_validation.d.ts +30 -0
- package/dist/types/code_executors/container_code_executor.d.ts +62 -9
- package/dist/types/common.d.ts +21 -18
- package/dist/types/context/compaction_utils.d.ts +13 -1
- package/dist/types/errors/input_validation_error.d.ts +2 -1
- package/dist/types/events/event.d.ts +3 -0
- package/dist/types/features/feature_registry.d.ts +1 -0
- package/dist/types/index.d.ts +11 -6
- package/dist/types/plugins/base_plugin.d.ts +50 -31
- package/dist/types/plugins/plugin_manager.d.ts +13 -0
- package/dist/types/runner/runner.d.ts +11 -0
- package/dist/types/sessions/base_session_service.d.ts +5 -2
- package/dist/types/sessions/database_session_service.d.ts +17 -1
- package/dist/types/sessions/db/operations.d.ts +2 -1
- package/dist/types/sessions/db/schema.d.ts +5 -3
- package/dist/types/sessions/stale_session_error.d.ts +21 -0
- package/dist/types/skills/loader.d.ts +3 -2
- package/dist/types/telemetry/api/instrumentation.d.ts +259 -0
- package/dist/types/telemetry/api/internal/common/accumulators.d.ts +91 -0
- package/dist/types/telemetry/api/internal/common/attributes.d.ts +90 -0
- package/dist/types/telemetry/api/internal/common/config.d.ts +61 -0
- package/dist/types/telemetry/api/internal/common/error.d.ts +29 -0
- package/dist/types/telemetry/api/internal/common/finish_reason.d.ts +18 -0
- package/dist/types/telemetry/api/internal/common/genai_messages.d.ts +26 -0
- package/dist/types/telemetry/api/internal/common/http_exchange.d.ts +50 -0
- package/dist/types/telemetry/api/internal/common/provider_name.d.ts +16 -0
- package/dist/types/telemetry/api/internal/common/redaction.d.ts +14 -0
- package/dist/types/telemetry/api/internal/common/serialization.d.ts +18 -0
- package/dist/types/telemetry/api/internal/common/token_usage.d.ts +47 -0
- package/dist/types/telemetry/api/internal/logs/inference.d.ts +15 -0
- package/dist/types/telemetry/api/internal/logs/logger.d.ts +13 -0
- package/dist/types/telemetry/api/internal/logs/mcp.d.ts +31 -0
- package/dist/types/telemetry/api/internal/metrics/agent.d.ts +28 -0
- package/dist/types/telemetry/api/internal/metrics/inference_start_hook.d.ts +12 -0
- package/dist/types/telemetry/api/internal/metrics/meters.d.ts +57 -0
- package/dist/types/telemetry/api/internal/metrics/tool.d.ts +44 -0
- package/dist/types/telemetry/api/internal/metrics/workflow.d.ts +32 -0
- package/dist/types/telemetry/api/internal/trace/agent.d.ts +14 -0
- package/dist/types/telemetry/api/internal/trace/compaction.d.ts +20 -0
- package/dist/types/telemetry/api/internal/trace/inference.d.ts +31 -0
- package/dist/types/telemetry/api/internal/trace/live.d.ts +21 -0
- package/dist/types/telemetry/api/internal/trace/node.d.ts +22 -0
- package/dist/types/telemetry/api/internal/trace/propagation.d.ts +22 -0
- package/dist/types/telemetry/api/internal/trace/tool.d.ts +57 -0
- package/dist/types/telemetry/api/internal/trace/tracer.d.ts +31 -0
- package/dist/types/telemetry/api/internal/trace/workflow.d.ts +21 -0
- package/dist/types/telemetry/export/agent_engine.d.ts +23 -0
- package/dist/types/telemetry/export/agent_runtime.d.ts +40 -0
- package/dist/types/telemetry/export/google_cloud.d.ts +189 -0
- package/dist/types/telemetry/export/request_driven_metric_reader.d.ts +144 -0
- package/dist/types/telemetry/{setup.d.ts → export/setup.d.ts} +3 -0
- package/dist/types/tools/agent_tool.d.ts +1 -1
- package/dist/types/tools/apihub_tool/apihub_toolset.d.ts +14 -21
- package/dist/types/tools/application_integration_tool/application_integration_toolset.d.ts +32 -9
- package/dist/types/tools/application_integration_tool/clients/connections_client.d.ts +35 -12
- package/dist/types/tools/application_integration_tool/clients/integration_client.d.ts +3 -3
- package/dist/types/tools/application_integration_tool/integration_connector_tool.d.ts +70 -0
- package/dist/types/tools/base_toolset.d.ts +7 -6
- package/dist/types/tools/computer_use/base_computer.d.ts +281 -0
- package/dist/types/tools/computer_use/computer_use_actions.d.ts +53 -0
- package/dist/types/tools/computer_use/computer_use_tool.d.ts +108 -0
- package/dist/types/tools/computer_use/computer_use_toolset.d.ts +132 -0
- package/dist/types/tools/google_api_tool/google_api_tool.d.ts +10 -3
- package/dist/types/tools/google_api_tool/google_api_toolset.d.ts +57 -0
- package/dist/types/tools/google_api_tool/google_api_toolsets.d.ts +48 -0
- package/dist/types/tools/google_api_tool/googleapi_to_openapi_converter.d.ts +5 -4
- package/dist/types/tools/google_api_tool/index.d.ts +4 -5
- package/dist/types/tools/load_artifacts_tool.d.ts +18 -1
- package/dist/types/tools/load_memory_tool.d.ts +32 -4
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +16 -0
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +8 -8
- package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +12 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +15 -3
- package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +5 -0
- package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +10 -0
- package/dist/types/tools/toolbox_toolset.d.ts +154 -0
- package/dist/types/utils/async_queue.d.ts +14 -0
- package/dist/types/utils/client_labels.d.ts +2 -1
- package/dist/types/utils/env_aware_utils.d.ts +11 -0
- package/dist/types/utils/error_utils.d.ts +4 -0
- package/dist/types/utils/gemini_schema_util.d.ts +29 -0
- package/dist/types/utils/id_provider.d.ts +43 -0
- package/dist/types/utils/model_name.d.ts +8 -0
- package/dist/types/utils/output_schema_utils.d.ts +3 -2
- package/dist/types/utils/simple_zod_to_json.d.ts +1 -2
- package/dist/types/utils/ssrf_guard.d.ts +2 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/workflow/index.d.ts +1 -1
- package/dist/types/workflow/nodes/parallel_worker.d.ts +8 -1
- package/dist/web/index_web.js +94 -88
- package/dist/web/index_web.js.map +4 -4
- package/package.json +43 -38
- package/dist/cjs/agents/remote_agent.js +0 -187
- package/dist/cjs/telemetry/google_cloud.js +0 -116
- package/dist/cjs/telemetry/tracing.js +0 -350
- package/dist/cjs/tools/crewai_tool.js +0 -132
- package/dist/cjs/tools/google_api_tool/google_api_tool_set.js +0 -226
- package/dist/cjs/tools/google_api_tool/google_api_tool_sets.js +0 -58
- package/dist/cjs/tools/langchain_tool.js +0 -172
- package/dist/cjs/tools/toolbox_tool.js +0 -108
- package/dist/esm/agents/remote_agent.js +0 -164
- package/dist/esm/telemetry/google_cloud.js +0 -99
- package/dist/esm/telemetry/setup.js +0 -89
- package/dist/esm/telemetry/tracing.js +0 -315
- package/dist/esm/tools/crewai_tool.js +0 -107
- package/dist/esm/tools/google_api_tool/google_api_tool_set.js +0 -188
- package/dist/esm/tools/google_api_tool/google_api_tool_sets.js +0 -24
- package/dist/esm/tools/langchain_tool.js +0 -148
- package/dist/esm/tools/toolbox_tool.js +0 -80
- package/dist/types/agents/remote_agent.d.ts +0 -68
- package/dist/types/telemetry/google_cloud.d.ts +0 -9
- package/dist/types/telemetry/tracing.d.ts +0 -129
- package/dist/types/tools/crewai_tool.d.ts +0 -85
- package/dist/types/tools/google_api_tool/google_api_tool_set.d.ts +0 -78
- package/dist/types/tools/google_api_tool/google_api_tool_sets.d.ts +0 -33
- package/dist/types/tools/langchain_tool.d.ts +0 -103
- package/dist/types/tools/toolbox_tool.d.ts +0 -73
|
@@ -40,6 +40,16 @@ let ContainerCodeExecutor = class extends BaseCodeExecutor {
|
|
|
40
40
|
constructor(options = {}) {
|
|
41
41
|
var _a, _b, _c;
|
|
42
42
|
super();
|
|
43
|
+
/** Started session containers, ordered from least to most recently used. */
|
|
44
|
+
this.containers = /* @__PURE__ */ new Map();
|
|
45
|
+
/** Container starts that are still in flight, keyed by session. */
|
|
46
|
+
this.initPromises = /* @__PURE__ */ new Map();
|
|
47
|
+
/**
|
|
48
|
+
* Number of `executeCode` calls in progress per session. A session with a
|
|
49
|
+
* call in progress is never evicted, so a run is not stopped midway.
|
|
50
|
+
*/
|
|
51
|
+
this.activeExecutions = /* @__PURE__ */ new Map();
|
|
52
|
+
this.closing = false;
|
|
43
53
|
if (!options.image && !options.dockerPath) {
|
|
44
54
|
throw new Error(
|
|
45
55
|
"Either image or dockerPath must be set for ContainerCodeExecutor."
|
|
@@ -51,6 +61,12 @@ let ContainerCodeExecutor = class extends BaseCodeExecutor {
|
|
|
51
61
|
"timeoutSeconds must be greater than 0 for ContainerCodeExecutor."
|
|
52
62
|
);
|
|
53
63
|
}
|
|
64
|
+
this.maxContainers = options.maxContainers;
|
|
65
|
+
if (this.maxContainers !== void 0 && (!Number.isInteger(this.maxContainers) || this.maxContainers < 1)) {
|
|
66
|
+
throw new Error(
|
|
67
|
+
"maxContainers must be a positive integer for ContainerCodeExecutor."
|
|
68
|
+
);
|
|
69
|
+
}
|
|
54
70
|
this.dockerPath = options.dockerPath ? path.resolve(options.dockerPath) : void 0;
|
|
55
71
|
this.containerOptions = {
|
|
56
72
|
image: (_b = options.image) != null ? _b : DEFAULT_IMAGE_TAG,
|
|
@@ -62,6 +78,7 @@ let ContainerCodeExecutor = class extends BaseCodeExecutor {
|
|
|
62
78
|
defineFrozenFalse(this, "optimizeDataFile");
|
|
63
79
|
}
|
|
64
80
|
async executeCode(params) {
|
|
81
|
+
var _a, _b;
|
|
65
82
|
const { code, language } = params.codeExecutionInput;
|
|
66
83
|
const command = LANGUAGE_RUNTIME_COMMAND_MAP[language];
|
|
67
84
|
if (!command) {
|
|
@@ -69,20 +86,32 @@ let ContainerCodeExecutor = class extends BaseCodeExecutor {
|
|
|
69
86
|
`Unsupported language for ContainerCodeExecutor: ${language}. Supported: ${Object.keys(LANGUAGE_RUNTIME_COMMAND_MAP).join(", ")}.`
|
|
70
87
|
);
|
|
71
88
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
this.
|
|
76
|
-
|
|
77
|
-
|
|
89
|
+
const key = sessionKey(params.invocationContext);
|
|
90
|
+
this.activeExecutions.set(key, ((_a = this.activeExecutions.get(key)) != null ? _a : 0) + 1);
|
|
91
|
+
try {
|
|
92
|
+
const container = await this.ensureContainer(key);
|
|
93
|
+
const { stdout, stderr, exitCode } = await container.execute(
|
|
94
|
+
[...TIMEOUT_COMMAND, String(this.timeoutSeconds), ...command, code],
|
|
95
|
+
this.timeoutSeconds
|
|
96
|
+
);
|
|
97
|
+
logger.debug(`Executed ${language} code:
|
|
78
98
|
\`\`\`
|
|
79
99
|
${code}
|
|
80
100
|
\`\`\``);
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
101
|
+
return {
|
|
102
|
+
stdout,
|
|
103
|
+
stderr: this.describeExit(stderr, exitCode),
|
|
104
|
+
outputFiles: []
|
|
105
|
+
};
|
|
106
|
+
} finally {
|
|
107
|
+
const remaining = ((_b = this.activeExecutions.get(key)) != null ? _b : 1) - 1;
|
|
108
|
+
if (remaining > 0) {
|
|
109
|
+
this.activeExecutions.set(key, remaining);
|
|
110
|
+
} else {
|
|
111
|
+
this.activeExecutions.delete(key);
|
|
112
|
+
}
|
|
113
|
+
this.evictLeastRecentlyUsed();
|
|
114
|
+
}
|
|
86
115
|
}
|
|
87
116
|
/**
|
|
88
117
|
* Turns a non-zero exit into stderr the model can see. An empty stderr maps
|
|
@@ -102,38 +131,134 @@ ${message}` : message;
|
|
|
102
131
|
return stderr;
|
|
103
132
|
}
|
|
104
133
|
/**
|
|
105
|
-
* Stops and removes
|
|
106
|
-
*
|
|
134
|
+
* Stops and removes every session's container. Waits for container starts
|
|
135
|
+
* that are still in flight, so no container is left running after it
|
|
136
|
+
* resolves. Safe to call when none has been started, and concurrent calls
|
|
137
|
+
* share one teardown. Provided for deterministic teardown in tests and app
|
|
138
|
+
* shutdown.
|
|
107
139
|
*/
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
this.
|
|
111
|
-
|
|
112
|
-
|
|
140
|
+
close() {
|
|
141
|
+
var _a;
|
|
142
|
+
(_a = this.closePromise) != null ? _a : this.closePromise = this.stopAll().finally(() => {
|
|
143
|
+
this.closePromise = void 0;
|
|
144
|
+
});
|
|
145
|
+
return this.closePromise;
|
|
113
146
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
this.
|
|
118
|
-
this.
|
|
119
|
-
|
|
120
|
-
|
|
147
|
+
async stopAll() {
|
|
148
|
+
this.closing = true;
|
|
149
|
+
try {
|
|
150
|
+
while (this.initPromises.size > 0) {
|
|
151
|
+
await Promise.allSettled([...this.initPromises.values()]);
|
|
152
|
+
}
|
|
153
|
+
const containers = [...this.containers.values()];
|
|
154
|
+
this.containers.clear();
|
|
155
|
+
this.initPromises.clear();
|
|
156
|
+
await Promise.allSettled(containers.map((container) => container.stop()));
|
|
157
|
+
} finally {
|
|
158
|
+
this.closing = false;
|
|
121
159
|
}
|
|
122
|
-
return this.initPromise;
|
|
123
160
|
}
|
|
124
|
-
|
|
161
|
+
/**
|
|
162
|
+
* Returns the given session's container, starting it if needed. Concurrent
|
|
163
|
+
* calls for one session share a single in-flight start, and reuse marks the
|
|
164
|
+
* container as the most recently used.
|
|
165
|
+
*/
|
|
166
|
+
ensureContainer(key) {
|
|
167
|
+
const existing = this.containers.get(key);
|
|
168
|
+
if (existing) {
|
|
169
|
+
this.containers.delete(key);
|
|
170
|
+
this.containers.set(key, existing);
|
|
171
|
+
return Promise.resolve(existing);
|
|
172
|
+
}
|
|
173
|
+
const inFlight = this.initPromises.get(key);
|
|
174
|
+
if (inFlight) {
|
|
175
|
+
return inFlight;
|
|
176
|
+
}
|
|
177
|
+
const initPromise = this.initContainer(
|
|
178
|
+
key
|
|
179
|
+
).finally(() => {
|
|
180
|
+
if (this.initPromises.get(key) === initPromise) {
|
|
181
|
+
this.initPromises.delete(key);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
this.initPromises.set(key, initPromise);
|
|
185
|
+
return initPromise;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Builds the image from `dockerPath` once and shares the build across every
|
|
189
|
+
* session. A failed build is cleared so the next call retries it.
|
|
190
|
+
*/
|
|
191
|
+
ensureImageBuilt() {
|
|
192
|
+
var _a;
|
|
193
|
+
const dockerPath = this.dockerPath;
|
|
194
|
+
if (!dockerPath) {
|
|
195
|
+
return Promise.resolve();
|
|
196
|
+
}
|
|
197
|
+
(_a = this.buildPromise) != null ? _a : this.buildPromise = new DockerContainer(this.containerOptions).build(dockerPath).catch((error) => {
|
|
198
|
+
this.buildPromise = void 0;
|
|
199
|
+
throw error;
|
|
200
|
+
});
|
|
201
|
+
return this.buildPromise;
|
|
202
|
+
}
|
|
203
|
+
async initContainer(key) {
|
|
204
|
+
await this.ensureImageBuilt();
|
|
205
|
+
if (this.closing) {
|
|
206
|
+
throw new Error(
|
|
207
|
+
"ContainerCodeExecutor closed during container initialization."
|
|
208
|
+
);
|
|
209
|
+
}
|
|
125
210
|
const container = new DockerContainer(this.containerOptions);
|
|
126
|
-
|
|
127
|
-
await container.
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
211
|
+
try {
|
|
212
|
+
await container.start();
|
|
213
|
+
const { exitCode } = await container.execute(
|
|
214
|
+
["which", "python3"],
|
|
215
|
+
this.timeoutSeconds
|
|
216
|
+
);
|
|
217
|
+
if (exitCode !== 0) {
|
|
218
|
+
throw new Error("python3 is not installed in the container.");
|
|
219
|
+
}
|
|
220
|
+
} catch (error) {
|
|
221
|
+
await container.stop().catch((stopError) => {
|
|
222
|
+
logger.debug(
|
|
223
|
+
`Failed to stop container after failed start: ${stopError}`
|
|
224
|
+
);
|
|
225
|
+
});
|
|
226
|
+
throw error;
|
|
227
|
+
}
|
|
228
|
+
if (this.closing) {
|
|
229
|
+
await container.stop().catch((stopError) => {
|
|
230
|
+
logger.debug(`Failed to stop container during close: ${stopError}`);
|
|
231
|
+
});
|
|
232
|
+
throw new Error(
|
|
233
|
+
"ContainerCodeExecutor closed during container initialization."
|
|
234
|
+
);
|
|
235
|
+
}
|
|
236
|
+
this.containers.set(key, container);
|
|
237
|
+
this.evictLeastRecentlyUsed();
|
|
238
|
+
return container;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Stops the least recently used idle session containers until the count is
|
|
242
|
+
* within `maxContainers`. A session with a call in progress is skipped, which
|
|
243
|
+
* includes the caller that just registered its container; if every session
|
|
244
|
+
* is busy, the overshoot stays until a call ends. The stop is not awaited so
|
|
245
|
+
* the caller is not delayed by another session's teardown.
|
|
246
|
+
*/
|
|
247
|
+
evictLeastRecentlyUsed() {
|
|
248
|
+
if (this.maxContainers === void 0) {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
for (const [key, container] of this.containers) {
|
|
252
|
+
if (this.containers.size <= this.maxContainers) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
if (this.activeExecutions.has(key)) {
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
this.containers.delete(key);
|
|
259
|
+
void container.stop().catch((error) => {
|
|
260
|
+
logger.debug(`Failed to stop evicted container: ${error}`);
|
|
261
|
+
});
|
|
137
262
|
}
|
|
138
263
|
}
|
|
139
264
|
};
|
|
@@ -141,6 +266,14 @@ __name(ContainerCodeExecutor, "ContainerCodeExecutor");
|
|
|
141
266
|
ContainerCodeExecutor = __decorateClass([
|
|
142
267
|
experimental
|
|
143
268
|
], ContainerCodeExecutor);
|
|
269
|
+
function sessionKey(invocationContext) {
|
|
270
|
+
const session = invocationContext == null ? void 0 : invocationContext.session;
|
|
271
|
+
if (!session) {
|
|
272
|
+
return "default";
|
|
273
|
+
}
|
|
274
|
+
return JSON.stringify([session.appName, session.userId, session.id]);
|
|
275
|
+
}
|
|
276
|
+
__name(sessionKey, "sessionKey");
|
|
144
277
|
function defineFrozenFalse(target, key) {
|
|
145
278
|
Object.defineProperty(target, key, {
|
|
146
279
|
value: false,
|
|
@@ -216,7 +216,12 @@ Code execution timed out after ${this.timeoutSeconds} seconds.`;
|
|
|
216
216
|
};
|
|
217
217
|
} finally {
|
|
218
218
|
if (tempDir) {
|
|
219
|
-
await fs.rm(tempDir, {
|
|
219
|
+
await fs.rm(tempDir, {
|
|
220
|
+
recursive: true,
|
|
221
|
+
force: true,
|
|
222
|
+
maxRetries: 10,
|
|
223
|
+
retryDelay: 500
|
|
224
|
+
});
|
|
220
225
|
}
|
|
221
226
|
}
|
|
222
227
|
}
|
package/dist/esm/common.js
CHANGED
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
handleFunctionCallsLive,
|
|
19
19
|
isToolNotFound
|
|
20
20
|
} from "./agents/functions.js";
|
|
21
|
+
import { injectSessionState } from "./agents/instructions.js";
|
|
21
22
|
import {
|
|
22
23
|
InvocationContext,
|
|
23
24
|
LlmCallsLimitExceededError,
|
|
@@ -49,7 +50,6 @@ import {
|
|
|
49
50
|
InteractionsRequestProcessor
|
|
50
51
|
} from "./agents/processors/interactions_request_processor.js";
|
|
51
52
|
import { ReadonlyContext } from "./agents/readonly_context.js";
|
|
52
|
-
import { RemoteAgent, isRemoteAgent } from "./agents/remote_agent.js";
|
|
53
53
|
import { RoutedAgent, isRoutedAgent } from "./agents/routed_agent.js";
|
|
54
54
|
import { StreamingMode, createRunConfig } from "./agents/run_config.js";
|
|
55
55
|
import { SequentialAgent, isSequentialAgent } from "./agents/sequential_agent.js";
|
|
@@ -182,11 +182,29 @@ import {
|
|
|
182
182
|
import { BaseSessionService } from "./sessions/base_session_service.js";
|
|
183
183
|
import { InMemorySessionService } from "./sessions/in_memory_session_service.js";
|
|
184
184
|
import { createSession } from "./sessions/session.js";
|
|
185
|
+
import {
|
|
186
|
+
StaleSessionError,
|
|
187
|
+
isStaleSessionError
|
|
188
|
+
} from "./sessions/stale_session_error.js";
|
|
185
189
|
import { State, StateSchemaError, isStateSchemaError } from "./sessions/state.js";
|
|
186
190
|
import { AgentTool, isAgentTool } from "./tools/agent_tool.js";
|
|
187
191
|
import { BaseTool, isBaseTool } from "./tools/base_tool.js";
|
|
188
192
|
import { BaseToolset, isBaseToolset } from "./tools/base_toolset.js";
|
|
189
193
|
import { BuiltInTool } from "./tools/built_in_tool.js";
|
|
194
|
+
import {
|
|
195
|
+
BaseComputer,
|
|
196
|
+
ComputerEnvironment,
|
|
197
|
+
isBaseComputer
|
|
198
|
+
} from "./tools/computer_use/base_computer.js";
|
|
199
|
+
import {
|
|
200
|
+
ComputerUseTool,
|
|
201
|
+
isComputerUseTool
|
|
202
|
+
} from "./tools/computer_use/computer_use_tool.js";
|
|
203
|
+
import {
|
|
204
|
+
ComputerUseToolset,
|
|
205
|
+
adaptComputerUseTool,
|
|
206
|
+
isComputerUseToolset
|
|
207
|
+
} from "./tools/computer_use/computer_use_toolset.js";
|
|
190
208
|
import { ConsolidateContextTool } from "./tools/consolidate_context_tool.js";
|
|
191
209
|
import {
|
|
192
210
|
ENTERPRISE_WEB_SEARCH,
|
|
@@ -240,6 +258,7 @@ import { renameReservedKeywords, toSnakeCaseName } from "./utils/case_utils.js";
|
|
|
240
258
|
import { getClientLabels, runWithClientLabel } from "./utils/client_labels.js";
|
|
241
259
|
import { toGeminiSchema } from "./utils/gemini_schema_util.js";
|
|
242
260
|
import { genaiSchemaToJsonSchema } from "./utils/genai_schema_to_json.js";
|
|
261
|
+
import { newId, resetIdProvider, setIdProvider } from "./utils/id_provider.js";
|
|
243
262
|
import {
|
|
244
263
|
LogLevel,
|
|
245
264
|
getLogger,
|
|
@@ -255,7 +274,11 @@ import {
|
|
|
255
274
|
isGemini3xLive
|
|
256
275
|
} from "./utils/model_name.js";
|
|
257
276
|
import { toJsonSchema } from "./utils/schema.js";
|
|
258
|
-
import {
|
|
277
|
+
import {
|
|
278
|
+
isZodObject,
|
|
279
|
+
isZodSchema,
|
|
280
|
+
zodObjectToSchema
|
|
281
|
+
} from "./utils/simple_zod_to_json.js";
|
|
259
282
|
import { Task } from "./utils/task.js";
|
|
260
283
|
import { GoogleLLMVariant } from "./utils/variant_utils.js";
|
|
261
284
|
import { version } from "./version.js";
|
|
@@ -265,7 +288,11 @@ import { SearchSkillsTool } from "./tools/skill/search_skills_tool.js";
|
|
|
265
288
|
export * from "./artifacts/base_artifact_service.js";
|
|
266
289
|
export * from "./features/feature_registry.js";
|
|
267
290
|
export * from "./memory/base_memory_service.js";
|
|
268
|
-
|
|
291
|
+
import {
|
|
292
|
+
mergeStates,
|
|
293
|
+
trimTempDeltaState,
|
|
294
|
+
trimTempState
|
|
295
|
+
} from "./sessions/base_session_service.js";
|
|
269
296
|
export * from "./tools/base_tool.js";
|
|
270
297
|
import {
|
|
271
298
|
BaseNode,
|
|
@@ -297,6 +324,7 @@ import {
|
|
|
297
324
|
isNodeSchemaValidationError,
|
|
298
325
|
isNodeState,
|
|
299
326
|
isNodeTimeoutError,
|
|
327
|
+
isParallelWorker,
|
|
300
328
|
isRequestInput,
|
|
301
329
|
isRunnableRoot,
|
|
302
330
|
isWorkflow,
|
|
@@ -305,24 +333,19 @@ import {
|
|
|
305
333
|
prepareRetryConfig
|
|
306
334
|
} from "./workflow/index.js";
|
|
307
335
|
import { App, isApp, validateAppName } from "./apps/app.js";
|
|
308
|
-
|
|
309
|
-
export * from "./features/feature_registry.js";
|
|
310
|
-
export * from "./memory/base_memory_service.js";
|
|
311
|
-
export * from "./sessions/base_session_service.js";
|
|
312
|
-
export * from "./tools/base_tool.js";
|
|
336
|
+
import { RUNNER_CLEANUP_TIMEOUT_MS, closeRunners } from "./cli/utils/cleanup.js";
|
|
313
337
|
import {
|
|
314
338
|
convertSessionToEvalFormat,
|
|
339
|
+
convertSessionToEvalInvocations,
|
|
315
340
|
createEmptyState
|
|
316
341
|
} from "./cli/utils/evals.js";
|
|
317
|
-
import { CrewaiTool, isCrewaiTool } from "./tools/crewai_tool.js";
|
|
318
342
|
import {
|
|
319
343
|
buildFunctionDeclarationForLangchain,
|
|
320
344
|
buildFunctionDeclarationForParamsForCrewai,
|
|
321
345
|
buildFunctionDeclarationUtil
|
|
322
346
|
} from "./tools/function_tool.js";
|
|
323
|
-
import { LangchainTool, isLangchainTool } from "./tools/langchain_tool.js";
|
|
324
347
|
import { isBaseRetrievalTool } from "./tools/retrieval/base_retrieval_tool.js";
|
|
325
|
-
import {
|
|
348
|
+
import { ToolboxToolset, isToolboxToolset } from "./tools/toolbox_toolset.js";
|
|
326
349
|
export {
|
|
327
350
|
ADK_HANDLE_MODEL_ERROR_TOOL_NAME,
|
|
328
351
|
AUTH_PREPROCESSOR,
|
|
@@ -343,6 +366,7 @@ export {
|
|
|
343
366
|
AuthSchemeType,
|
|
344
367
|
BaseAgent,
|
|
345
368
|
BaseCodeExecutor,
|
|
369
|
+
BaseComputer,
|
|
346
370
|
BaseEnvironment,
|
|
347
371
|
BaseExampleProvider,
|
|
348
372
|
BaseLlm,
|
|
@@ -365,6 +389,9 @@ export {
|
|
|
365
389
|
ChromeModelUnavailableError,
|
|
366
390
|
CodeExecutionLanguage,
|
|
367
391
|
CodeExecutionResponseProcessor,
|
|
392
|
+
ComputerEnvironment,
|
|
393
|
+
ComputerUseTool,
|
|
394
|
+
ComputerUseToolset,
|
|
368
395
|
ConsolidateContextTool,
|
|
369
396
|
ContentRequestProcessor,
|
|
370
397
|
Context,
|
|
@@ -372,7 +399,6 @@ export {
|
|
|
372
399
|
ContextCompactorRequestProcessor,
|
|
373
400
|
CredentialExchangeError,
|
|
374
401
|
CredentialRefresherRegistry,
|
|
375
|
-
CrewaiTool,
|
|
376
402
|
DEFAULT_ROUTE,
|
|
377
403
|
ENTERPRISE_WEB_SEARCH,
|
|
378
404
|
EXIT_LOOP,
|
|
@@ -414,7 +440,6 @@ export {
|
|
|
414
440
|
LOAD_ARTIFACTS,
|
|
415
441
|
LOAD_MEMORY,
|
|
416
442
|
LangGraphAgent,
|
|
417
|
-
LangchainTool,
|
|
418
443
|
ListSkillsTool,
|
|
419
444
|
LiveRequestQueue,
|
|
420
445
|
LlamaIndexRetrieval,
|
|
@@ -451,10 +476,10 @@ export {
|
|
|
451
476
|
REQUEST_INPUT_FUNCTION_CALL_NAME,
|
|
452
477
|
RESERVED_TOOL_CALL_ERROR_TYPE,
|
|
453
478
|
RESTORED_EVENT_KEY,
|
|
479
|
+
RUNNER_CLEANUP_TIMEOUT_MS,
|
|
454
480
|
ReadonlyContext,
|
|
455
481
|
ReflectAndRetryModelPlugin,
|
|
456
482
|
ReflectAndRetryToolPlugin,
|
|
457
|
-
RemoteAgent,
|
|
458
483
|
RequestInput,
|
|
459
484
|
RoutedAgent,
|
|
460
485
|
RoutedLlm,
|
|
@@ -467,6 +492,7 @@ export {
|
|
|
467
492
|
SequentialAgent,
|
|
468
493
|
SessionNotFoundError,
|
|
469
494
|
SessionStateCredentialService,
|
|
495
|
+
StaleSessionError,
|
|
470
496
|
State,
|
|
471
497
|
StateSchemaError,
|
|
472
498
|
StreamingMode,
|
|
@@ -479,7 +505,7 @@ export {
|
|
|
479
505
|
ToolErrorType,
|
|
480
506
|
ToolExecutionError,
|
|
481
507
|
ToolNode,
|
|
482
|
-
|
|
508
|
+
ToolboxToolset,
|
|
483
509
|
TrackingScope,
|
|
484
510
|
TrajectoryThoughtPruningCompactor,
|
|
485
511
|
TruncatingContextCompactor,
|
|
@@ -492,13 +518,16 @@ export {
|
|
|
492
518
|
WebMCPToolset,
|
|
493
519
|
Workflow,
|
|
494
520
|
WorkflowNode,
|
|
521
|
+
adaptComputerUseTool,
|
|
495
522
|
appendInstructions,
|
|
496
523
|
asRunnableRoot,
|
|
497
524
|
buildFunctionDeclarationForLangchain,
|
|
498
525
|
buildFunctionDeclarationForParamsForCrewai,
|
|
499
526
|
buildFunctionDeclarationUtil,
|
|
527
|
+
closeRunners,
|
|
500
528
|
commonPrefixOf,
|
|
501
529
|
convertSessionToEvalFormat,
|
|
530
|
+
convertSessionToEvalInvocations,
|
|
502
531
|
createEmptyState,
|
|
503
532
|
createEvent,
|
|
504
533
|
createEventActions,
|
|
@@ -531,10 +560,12 @@ export {
|
|
|
531
560
|
handleFunctionCallsLive,
|
|
532
561
|
hasThoughts,
|
|
533
562
|
hasTrailingCodeExecutionResult,
|
|
563
|
+
injectSessionState,
|
|
534
564
|
isAgentTool,
|
|
535
565
|
isApp,
|
|
536
566
|
isAuthCredential,
|
|
537
567
|
isBaseAgent,
|
|
568
|
+
isBaseComputer,
|
|
538
569
|
isBaseExampleProvider,
|
|
539
570
|
isBaseLlm,
|
|
540
571
|
isBasePlanner,
|
|
@@ -543,7 +574,8 @@ export {
|
|
|
543
574
|
isBaseToolset,
|
|
544
575
|
isBuiltInPlanner,
|
|
545
576
|
isCompactedEvent,
|
|
546
|
-
|
|
577
|
+
isComputerUseTool,
|
|
578
|
+
isComputerUseToolset,
|
|
547
579
|
isFinalResponse,
|
|
548
580
|
isFunctionTool,
|
|
549
581
|
isGemini2OrAbove,
|
|
@@ -552,7 +584,6 @@ export {
|
|
|
552
584
|
isGemini3xLive,
|
|
553
585
|
isIntentMismatchError,
|
|
554
586
|
isLangGraphAgent,
|
|
555
|
-
isLangchainTool,
|
|
556
587
|
isLlmAgent,
|
|
557
588
|
isLlmCallsLimitExceededError,
|
|
558
589
|
isLoopAgent,
|
|
@@ -562,7 +593,7 @@ export {
|
|
|
562
593
|
isNodeState,
|
|
563
594
|
isNodeTimeoutError,
|
|
564
595
|
isParallelAgent,
|
|
565
|
-
|
|
596
|
+
isParallelWorker,
|
|
566
597
|
isRequestInput,
|
|
567
598
|
isRoutableLlmAgent,
|
|
568
599
|
isRoutedAgent,
|
|
@@ -571,13 +602,18 @@ export {
|
|
|
571
602
|
isScratchpadEvent,
|
|
572
603
|
isSequentialAgent,
|
|
573
604
|
isSessionArtifactService,
|
|
605
|
+
isStaleSessionError,
|
|
574
606
|
isStateSchemaError,
|
|
575
607
|
isToolNotFound,
|
|
576
|
-
|
|
608
|
+
isToolboxToolset,
|
|
577
609
|
isWebMCPSupported,
|
|
578
610
|
isWorkflow,
|
|
611
|
+
isZodObject,
|
|
612
|
+
isZodSchema,
|
|
579
613
|
logger,
|
|
580
614
|
markRestored,
|
|
615
|
+
mergeStates,
|
|
616
|
+
newId,
|
|
581
617
|
node,
|
|
582
618
|
normalizeRetryExceptions,
|
|
583
619
|
populateClientFunctionCallId,
|
|
@@ -590,9 +626,11 @@ export {
|
|
|
590
626
|
requestInputTool,
|
|
591
627
|
requireAgent,
|
|
592
628
|
requiresUserInput,
|
|
629
|
+
resetIdProvider,
|
|
593
630
|
resetLogger,
|
|
594
631
|
resolveScopeKey,
|
|
595
632
|
runWithClientLabel,
|
|
633
|
+
setIdProvider,
|
|
596
634
|
setLogLevel,
|
|
597
635
|
setLogger,
|
|
598
636
|
stringifyContent,
|
|
@@ -601,6 +639,8 @@ export {
|
|
|
601
639
|
toJsonSchema,
|
|
602
640
|
toSnakeCaseName,
|
|
603
641
|
toStructuredEvents,
|
|
642
|
+
trimTempDeltaState,
|
|
643
|
+
trimTempState,
|
|
604
644
|
validateAppName,
|
|
605
645
|
version,
|
|
606
646
|
zodObjectToSchema
|
|
@@ -40,6 +40,25 @@ function calculateRetainStartIndex(rawEvents, eventRetentionSize) {
|
|
|
40
40
|
break;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
+
const latestCalls = /* @__PURE__ */ new Map();
|
|
44
|
+
const callDependencies = rawEvents.map((event, index) => {
|
|
45
|
+
let earliestCall = index;
|
|
46
|
+
for (const response of getFunctionResponses(event)) {
|
|
47
|
+
if (response.id === void 0) continue;
|
|
48
|
+
const callIndex = latestCalls.get(response.id);
|
|
49
|
+
if (callIndex !== void 0) {
|
|
50
|
+
earliestCall = Math.min(earliestCall, callIndex);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
for (const call of getFunctionCalls(event)) {
|
|
54
|
+
if (call.id === void 0) continue;
|
|
55
|
+
latestCalls.set(call.id, index);
|
|
56
|
+
}
|
|
57
|
+
return earliestCall;
|
|
58
|
+
});
|
|
59
|
+
for (let index = rawEvents.length - 1; index >= retainStartIndex; index--) {
|
|
60
|
+
retainStartIndex = Math.min(retainStartIndex, callDependencies[index]);
|
|
61
|
+
}
|
|
43
62
|
return retainStartIndex;
|
|
44
63
|
}
|
|
45
64
|
__name(calculateRetainStartIndex, "calculateRetainStartIndex");
|
|
@@ -10,9 +10,10 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
10
10
|
const _InputValidationError = class _InputValidationError extends Error {
|
|
11
11
|
/**
|
|
12
12
|
* @param message A message describing why the input is invalid.
|
|
13
|
+
* @param options Standard error options, e.g. `{cause}`.
|
|
13
14
|
*/
|
|
14
|
-
constructor(message = "Invalid input.") {
|
|
15
|
-
super(message);
|
|
15
|
+
constructor(message = "Invalid input.", options) {
|
|
16
|
+
super(message, options);
|
|
16
17
|
this.name = "InputValidationError";
|
|
17
18
|
}
|
|
18
19
|
};
|
package/dist/esm/events/event.js
CHANGED
|
@@ -7,7 +7,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
7
7
|
* Copyright 2026 Google LLC
|
|
8
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { newId, newIdOr } from "../utils/id_provider.js";
|
|
11
11
|
import { toCamelCase, toSnakeCase } from "../utils/object_notation_utils.js";
|
|
12
12
|
import { createEventActions } from "./event_actions.js";
|
|
13
13
|
const EVENT_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for("google.adk.event");
|
|
@@ -46,7 +46,7 @@ function getFunctionCalls(event) {
|
|
|
46
46
|
__name(getFunctionCalls, "getFunctionCalls");
|
|
47
47
|
const AF_FUNCTION_CALL_ID_PREFIX = "adk-";
|
|
48
48
|
function generateClientFunctionCallId() {
|
|
49
|
-
return `${AF_FUNCTION_CALL_ID_PREFIX}${
|
|
49
|
+
return `${AF_FUNCTION_CALL_ID_PREFIX}${newId()}`;
|
|
50
50
|
}
|
|
51
51
|
__name(generateClientFunctionCallId, "generateClientFunctionCallId");
|
|
52
52
|
function populateClientFunctionCallId(modelResponseEvent) {
|
|
@@ -128,13 +128,17 @@ function isEvent(obj) {
|
|
|
128
128
|
}
|
|
129
129
|
__name(isEvent, "isEvent");
|
|
130
130
|
function createNewEventId() {
|
|
131
|
+
return newIdOr(createRandomEventId);
|
|
132
|
+
}
|
|
133
|
+
__name(createNewEventId, "createNewEventId");
|
|
134
|
+
function createRandomEventId() {
|
|
131
135
|
let id = "";
|
|
132
136
|
for (let i = 0; i < 8; i++) {
|
|
133
137
|
id += ASCII_LETTERS_AND_NUMBERS[Math.floor(Math.random() * ASCII_LETTERS_AND_NUMBERS.length)];
|
|
134
138
|
}
|
|
135
139
|
return id;
|
|
136
140
|
}
|
|
137
|
-
__name(
|
|
141
|
+
__name(createRandomEventId, "createRandomEventId");
|
|
138
142
|
const PRESERVE_KEYS_CAMEL_CASE = [
|
|
139
143
|
"actions.stateDelta",
|
|
140
144
|
"actions.artifactDelta",
|
|
@@ -10,6 +10,7 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
10
10
|
import { getBooleanEnvVar } from "../utils/env_aware_utils.js";
|
|
11
11
|
import { logger } from "../utils/logger.js";
|
|
12
12
|
var FeatureName = /* @__PURE__ */ ((FeatureName2) => {
|
|
13
|
+
FeatureName2["COMPUTER_USE"] = "COMPUTER_USE";
|
|
13
14
|
FeatureName2["PROGRESSIVE_SSE_STREAMING"] = "PROGRESSIVE_SSE_STREAMING";
|
|
14
15
|
return FeatureName2;
|
|
15
16
|
})(FeatureName || {});
|
|
@@ -20,6 +21,10 @@ var FeatureStage = /* @__PURE__ */ ((FeatureStage2) => {
|
|
|
20
21
|
return FeatureStage2;
|
|
21
22
|
})(FeatureStage || {});
|
|
22
23
|
const FEATURE_REGISTRY = {
|
|
24
|
+
["COMPUTER_USE" /* COMPUTER_USE */]: {
|
|
25
|
+
stage: "experimental" /* EXPERIMENTAL */,
|
|
26
|
+
defaultOn: true
|
|
27
|
+
},
|
|
23
28
|
["PROGRESSIVE_SSE_STREAMING" /* PROGRESSIVE_SSE_STREAMING */]: {
|
|
24
29
|
stage: "experimental" /* EXPERIMENTAL */,
|
|
25
30
|
defaultOn: false
|