@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
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __defProp = Object.defineProperty;
|
|
9
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var request_driven_metric_reader_exports = {};
|
|
27
|
+
__export(request_driven_metric_reader_exports, {
|
|
28
|
+
MIN_EXPORT_INTERVAL_MS: () => MIN_EXPORT_INTERVAL_MS,
|
|
29
|
+
RequestDrivenMetricReader: () => RequestDrivenMetricReader,
|
|
30
|
+
isRequestDrivenMetricReader: () => isRequestDrivenMetricReader
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(request_driven_metric_reader_exports);
|
|
33
|
+
var import_api = require("@opentelemetry/api");
|
|
34
|
+
var import_sdk_metrics = require("@opentelemetry/sdk-metrics");
|
|
35
|
+
var import_error_utils = require("../../utils/error_utils.js");
|
|
36
|
+
var import_logger = require("../../utils/logger.js");
|
|
37
|
+
/**
|
|
38
|
+
* @license
|
|
39
|
+
* Copyright 2026 Google LLC
|
|
40
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
41
|
+
*/
|
|
42
|
+
var _a, _b;
|
|
43
|
+
const MIN_EXPORT_INTERVAL_MS = 5e3;
|
|
44
|
+
const FLOOR_ENV_VAR = "GOOGLE_CLOUD_AGENT_ENGINE_METRICS_COLLECTION_INTERVAL_FLOOR_MS";
|
|
45
|
+
const EXPORT_INTERVAL_ENV_VAR = "OTEL_METRIC_EXPORT_INTERVAL";
|
|
46
|
+
const EXPORT_TIMEOUT_ENV_VAR = "OTEL_METRIC_EXPORT_TIMEOUT";
|
|
47
|
+
const DEFAULT_EXPORT_INTERVAL_MS = 6e4;
|
|
48
|
+
const DEFAULT_EXPORT_TIMEOUT_MS = 3e4;
|
|
49
|
+
const OVERDUE_PERIODS = 1.5;
|
|
50
|
+
const INFERENCE_START_HOOK_KEY = /* @__PURE__ */ Symbol.for(
|
|
51
|
+
"google.adk.telemetry.inferenceStartHook"
|
|
52
|
+
);
|
|
53
|
+
const SUPPRESS_TRACING_KEY = (0, import_api.createContextKey)(
|
|
54
|
+
"OpenTelemetry SDK Context Key SUPPRESS_TRACING"
|
|
55
|
+
);
|
|
56
|
+
const EXPORT_RESULT_SUCCESS = 0;
|
|
57
|
+
const REQUEST_DRIVEN_METRIC_READER_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
58
|
+
"google.adk.requestDrivenMetricReader"
|
|
59
|
+
);
|
|
60
|
+
function isRequestDrivenMetricReader(obj) {
|
|
61
|
+
return typeof obj === "object" && obj !== null && REQUEST_DRIVEN_METRIC_READER_SIGNATURE_SYMBOL in obj;
|
|
62
|
+
}
|
|
63
|
+
__name(isRequestDrivenMetricReader, "isRequestDrivenMetricReader");
|
|
64
|
+
const _RequestDrivenMetricReader = class _RequestDrivenMetricReader extends (_b = import_sdk_metrics.MetricReader, _a = REQUEST_DRIVEN_METRIC_READER_SIGNATURE_SYMBOL, _b) {
|
|
65
|
+
constructor({
|
|
66
|
+
exporter,
|
|
67
|
+
exportIntervalMillis,
|
|
68
|
+
exportTimeoutMillis,
|
|
69
|
+
floorMillis,
|
|
70
|
+
now = /* @__PURE__ */ __name(() => performance.now(), "now")
|
|
71
|
+
}) {
|
|
72
|
+
var _a2, _b2;
|
|
73
|
+
super({
|
|
74
|
+
aggregationSelector: (_a2 = exporter.selectAggregation) == null ? void 0 : _a2.bind(exporter),
|
|
75
|
+
aggregationTemporalitySelector: (_b2 = exporter.selectAggregationTemporality) == null ? void 0 : _b2.bind(exporter)
|
|
76
|
+
});
|
|
77
|
+
this[_a] = true;
|
|
78
|
+
this.inferenceStartHook = /* @__PURE__ */ __name(() => this.onInferenceStart(), "inferenceStartHook");
|
|
79
|
+
this.inFlight = 0;
|
|
80
|
+
this.isShutdown = false;
|
|
81
|
+
this.warnedNoRequest = false;
|
|
82
|
+
this.exporter = exporter;
|
|
83
|
+
this.now = now;
|
|
84
|
+
this.periodMillis = resolveMillis({
|
|
85
|
+
name: EXPORT_INTERVAL_ENV_VAR,
|
|
86
|
+
explicit: exportIntervalMillis,
|
|
87
|
+
fallback: DEFAULT_EXPORT_INTERVAL_MS,
|
|
88
|
+
allowZero: false
|
|
89
|
+
});
|
|
90
|
+
this.exportTimeoutMillis = resolveMillis({
|
|
91
|
+
name: EXPORT_TIMEOUT_ENV_VAR,
|
|
92
|
+
explicit: exportTimeoutMillis,
|
|
93
|
+
fallback: DEFAULT_EXPORT_TIMEOUT_MS,
|
|
94
|
+
allowZero: false
|
|
95
|
+
});
|
|
96
|
+
this.floorMillis = resolveMillis({
|
|
97
|
+
name: FLOOR_ENV_VAR,
|
|
98
|
+
explicit: floorMillis,
|
|
99
|
+
fallback: MIN_EXPORT_INTERVAL_MS,
|
|
100
|
+
allowZero: true
|
|
101
|
+
});
|
|
102
|
+
this.nextDue = this.now() + this.periodMillis;
|
|
103
|
+
}
|
|
104
|
+
/** Marks a request as started, and collects if a guidepost has passed. */
|
|
105
|
+
onRequestStart() {
|
|
106
|
+
try {
|
|
107
|
+
const now = this.now();
|
|
108
|
+
const overlap = this.inFlight >= 1;
|
|
109
|
+
if (!overlap) {
|
|
110
|
+
this.busyStart = now;
|
|
111
|
+
}
|
|
112
|
+
this.inFlight += 1;
|
|
113
|
+
if (!this.canCollect() || !overlap || now < this.nextDue) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (this.floorAllows(now)) {
|
|
117
|
+
this.startCollect(now);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
this.nextDue += this.periodMillis;
|
|
121
|
+
} catch (error) {
|
|
122
|
+
import_logger.logger.warn(`Metric request-start hook failed: ${(0, import_error_utils.formatError)(error)}`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Marks a request as ended. Collects when no request is left in flight and
|
|
127
|
+
* the floor allows it, and resolves once any running collect has exported.
|
|
128
|
+
*/
|
|
129
|
+
async onRequestEnd() {
|
|
130
|
+
try {
|
|
131
|
+
const now = this.now();
|
|
132
|
+
this.inFlight = Math.max(0, this.inFlight - 1);
|
|
133
|
+
if (this.inFlight === 0 && this.canCollect() && this.floorAllows(now)) {
|
|
134
|
+
this.startCollect(now);
|
|
135
|
+
}
|
|
136
|
+
} catch (error) {
|
|
137
|
+
import_logger.logger.warn(`Metric request-end hook failed: ${(0, import_error_utils.formatError)(error)}`);
|
|
138
|
+
}
|
|
139
|
+
await this.runningCollect;
|
|
140
|
+
}
|
|
141
|
+
/** Collects at a model-call start if the busy period is overdue. */
|
|
142
|
+
onInferenceStart() {
|
|
143
|
+
try {
|
|
144
|
+
if (this.inFlight === 0) {
|
|
145
|
+
if (!this.warnedNoRequest && !this.isShutdown) {
|
|
146
|
+
this.warnedNoRequest = true;
|
|
147
|
+
import_logger.logger.warn(
|
|
148
|
+
"A model call started with no active request in RequestDrivenMetricReader. Wrap each request with agentRuntimeRequestHooks(otelHooks) so metrics are collected and exported while requests hold the CPU."
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const now = this.now();
|
|
154
|
+
if (this.canCollect() && this.isOverdue(now) && this.floorAllows(now)) {
|
|
155
|
+
this.startCollect(now);
|
|
156
|
+
}
|
|
157
|
+
} catch (error) {
|
|
158
|
+
import_logger.logger.warn(`Metric model-call hook failed: ${(0, import_error_utils.formatError)(error)}`);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Registers the model-call start hook when a provider initializes this
|
|
163
|
+
* reader.
|
|
164
|
+
*
|
|
165
|
+
* Because the hook uses a single process-global slot where the last
|
|
166
|
+
* registered reader wins, only a single active reader is supported.
|
|
167
|
+
*/
|
|
168
|
+
onInitialized() {
|
|
169
|
+
Reflect.set(globalThis, INFERENCE_START_HOOK_KEY, this.inferenceStartHook);
|
|
170
|
+
}
|
|
171
|
+
/** Shuts down the reader, exports remaining metrics, and cleans up hooks. */
|
|
172
|
+
async onShutdown() {
|
|
173
|
+
this.isShutdown = true;
|
|
174
|
+
if (Reflect.get(globalThis, INFERENCE_START_HOOK_KEY) === this.inferenceStartHook) {
|
|
175
|
+
Reflect.deleteProperty(globalThis, INFERENCE_START_HOOK_KEY);
|
|
176
|
+
}
|
|
177
|
+
await this.runningCollect;
|
|
178
|
+
await this.runExclusive();
|
|
179
|
+
await this.exporter.shutdown();
|
|
180
|
+
}
|
|
181
|
+
/** Flushes any in-flight and pending metric exports. */
|
|
182
|
+
async onForceFlush() {
|
|
183
|
+
await this.runningCollect;
|
|
184
|
+
await this.runExclusive();
|
|
185
|
+
await this.exporter.forceFlush();
|
|
186
|
+
}
|
|
187
|
+
canCollect() {
|
|
188
|
+
return this.runningCollect === void 0 && !this.isShutdown;
|
|
189
|
+
}
|
|
190
|
+
floorAllows(now) {
|
|
191
|
+
return this.lastCollect === void 0 || now - this.lastCollect >= this.floorMillis;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Returns whether the current busy period has gone 1.5 periods without a
|
|
195
|
+
* collect. A collect from an earlier busy period does not count, so a short
|
|
196
|
+
* request after an idle gap is never overdue: collecting at its model call
|
|
197
|
+
* would set the floor and mute the drain that carries its points.
|
|
198
|
+
*/
|
|
199
|
+
isOverdue(now) {
|
|
200
|
+
var _a2;
|
|
201
|
+
if (this.busyStart === void 0) {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
const since = Math.max(this.busyStart, (_a2 = this.lastCollect) != null ? _a2 : -Infinity);
|
|
205
|
+
return now - since >= OVERDUE_PERIODS * this.periodMillis;
|
|
206
|
+
}
|
|
207
|
+
/** Starts a collect, and moves the guidepost grid past `now`. */
|
|
208
|
+
startCollect(now) {
|
|
209
|
+
if (now >= this.nextDue) {
|
|
210
|
+
const missed = Math.floor((now - this.nextDue) / this.periodMillis) + 1;
|
|
211
|
+
this.nextDue += missed * this.periodMillis;
|
|
212
|
+
}
|
|
213
|
+
this.lastCollect = now;
|
|
214
|
+
void this.runExclusive();
|
|
215
|
+
}
|
|
216
|
+
/** Runs one collect and export as the running collect. Never rejects. */
|
|
217
|
+
runExclusive() {
|
|
218
|
+
const run = this.collectAndExport().finally(() => {
|
|
219
|
+
if (this.runningCollect === run) {
|
|
220
|
+
this.runningCollect = void 0;
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
this.runningCollect = run;
|
|
224
|
+
return run;
|
|
225
|
+
}
|
|
226
|
+
async collectAndExport() {
|
|
227
|
+
var _a2, _b2;
|
|
228
|
+
try {
|
|
229
|
+
const { resourceMetrics, errors } = await this.collect({
|
|
230
|
+
timeoutMillis: this.exportTimeoutMillis
|
|
231
|
+
});
|
|
232
|
+
for (const error of errors) {
|
|
233
|
+
import_logger.logger.warn(`Metric collection reported: ${(0, import_error_utils.formatError)(error)}`);
|
|
234
|
+
}
|
|
235
|
+
if (resourceMetrics.resource.asyncAttributesPending) {
|
|
236
|
+
await ((_b2 = (_a2 = resourceMetrics.resource).waitForAsyncAttributes) == null ? void 0 : _b2.call(_a2));
|
|
237
|
+
}
|
|
238
|
+
if (resourceMetrics.scopeMetrics.length === 0) {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
await this.export(resourceMetrics);
|
|
242
|
+
} catch (error) {
|
|
243
|
+
import_logger.logger.warn(`Request-driven metric export failed: ${(0, import_error_utils.formatError)(error)}`);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
async export(resourceMetrics) {
|
|
247
|
+
let timer;
|
|
248
|
+
const timedOut = new Promise((_, reject) => {
|
|
249
|
+
timer = setTimeout(() => {
|
|
250
|
+
reject(
|
|
251
|
+
new Error(
|
|
252
|
+
`Metric export timed out after ${this.exportTimeoutMillis} ms.`
|
|
253
|
+
)
|
|
254
|
+
);
|
|
255
|
+
}, this.exportTimeoutMillis);
|
|
256
|
+
});
|
|
257
|
+
const exported = new Promise((resolve) => {
|
|
258
|
+
import_api.context.with(
|
|
259
|
+
import_api.context.active().setValue(SUPPRESS_TRACING_KEY, true),
|
|
260
|
+
() => this.exporter.export(resourceMetrics, resolve)
|
|
261
|
+
);
|
|
262
|
+
});
|
|
263
|
+
try {
|
|
264
|
+
const result = await Promise.race([exported, timedOut]);
|
|
265
|
+
if (result.code !== EXPORT_RESULT_SUCCESS) {
|
|
266
|
+
throw new Error(
|
|
267
|
+
`Metric exporter reported a failure: ${(0, import_error_utils.formatError)(result.error)}`
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
} finally {
|
|
271
|
+
clearTimeout(timer);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
__name(_RequestDrivenMetricReader, "RequestDrivenMetricReader");
|
|
276
|
+
let RequestDrivenMetricReader = _RequestDrivenMetricReader;
|
|
277
|
+
function resolveMillis({
|
|
278
|
+
name,
|
|
279
|
+
explicit,
|
|
280
|
+
fallback,
|
|
281
|
+
allowZero
|
|
282
|
+
}) {
|
|
283
|
+
const raw = explicit != null ? explicit : process.env[name];
|
|
284
|
+
if (raw === void 0) {
|
|
285
|
+
return fallback;
|
|
286
|
+
}
|
|
287
|
+
const value = typeof raw === "number" ? raw : Number(raw.trim() || NaN);
|
|
288
|
+
const inRange = allowZero ? value >= 0 : value > 0;
|
|
289
|
+
if (Number.isFinite(value) && inRange) {
|
|
290
|
+
return value;
|
|
291
|
+
}
|
|
292
|
+
import_logger.logger.warn(
|
|
293
|
+
`Found invalid value for ${name}=${JSON.stringify(raw)}, using default ${fallback}.`
|
|
294
|
+
);
|
|
295
|
+
return fallback;
|
|
296
|
+
}
|
|
297
|
+
__name(resolveMillis, "resolveMillis");
|
|
298
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
299
|
+
0 && (module.exports = {
|
|
300
|
+
MIN_EXPORT_INTERVAL_MS,
|
|
301
|
+
RequestDrivenMetricReader,
|
|
302
|
+
isRequestDrivenMetricReader
|
|
303
|
+
});
|
|
@@ -44,8 +44,24 @@ var import_sdk_trace_node = require("@opentelemetry/sdk-trace-node");
|
|
|
44
44
|
* SPDX-License-Identifier: Apache-2.0
|
|
45
45
|
*/
|
|
46
46
|
function maybeSetOtelProviders(otelHooksToSetup = [], otelResource) {
|
|
47
|
+
const tracerAlreadySet = isTracerProviderRegistered();
|
|
48
|
+
const meterAlreadySet = isMeterProviderRegistered();
|
|
49
|
+
const loggerAlreadySet = isLoggerProviderRegistered();
|
|
50
|
+
if (tracerAlreadySet && meterAlreadySet && loggerAlreadySet) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const exportersConfig = getOtelExportersConfig();
|
|
54
|
+
if (tracerAlreadySet) {
|
|
55
|
+
exportersConfig.enableTracing = false;
|
|
56
|
+
}
|
|
57
|
+
if (meterAlreadySet) {
|
|
58
|
+
exportersConfig.enableMetrics = false;
|
|
59
|
+
}
|
|
60
|
+
if (loggerAlreadySet) {
|
|
61
|
+
exportersConfig.enableLogging = false;
|
|
62
|
+
}
|
|
47
63
|
const resource = otelResource || getOtelResource();
|
|
48
|
-
const allHooks = [...otelHooksToSetup, getOtelExporters()];
|
|
64
|
+
const allHooks = [...otelHooksToSetup, getOtelExporters(exportersConfig)];
|
|
49
65
|
const spanProcessors = allHooks.flatMap(
|
|
50
66
|
(hooks) => hooks.spanProcessors || []
|
|
51
67
|
);
|
|
@@ -53,22 +69,21 @@ function maybeSetOtelProviders(otelHooksToSetup = [], otelResource) {
|
|
|
53
69
|
const logRecordProcessors = allHooks.flatMap(
|
|
54
70
|
(hooks) => hooks.logRecordProcessors || []
|
|
55
71
|
);
|
|
56
|
-
if (spanProcessors.length > 0) {
|
|
72
|
+
if (!tracerAlreadySet && spanProcessors.length > 0) {
|
|
57
73
|
const tracerProvider = new import_sdk_trace_node.NodeTracerProvider({
|
|
58
74
|
resource,
|
|
59
75
|
spanProcessors
|
|
60
76
|
});
|
|
61
77
|
tracerProvider.register();
|
|
62
|
-
import_api.trace.setGlobalTracerProvider(tracerProvider);
|
|
63
78
|
}
|
|
64
|
-
if (metricReaders.length > 0) {
|
|
79
|
+
if (!meterAlreadySet && metricReaders.length > 0) {
|
|
65
80
|
const meterProvider = new import_sdk_metrics.MeterProvider({
|
|
66
81
|
readers: metricReaders,
|
|
67
82
|
resource
|
|
68
83
|
});
|
|
69
84
|
import_api.metrics.setGlobalMeterProvider(meterProvider);
|
|
70
85
|
}
|
|
71
|
-
if (logRecordProcessors.length > 0) {
|
|
86
|
+
if (!loggerAlreadySet && logRecordProcessors.length > 0) {
|
|
72
87
|
const loggerProvider = new import_sdk_logs.LoggerProvider({
|
|
73
88
|
resource,
|
|
74
89
|
processors: logRecordProcessors
|
|
@@ -79,7 +94,7 @@ function maybeSetOtelProviders(otelHooksToSetup = [], otelResource) {
|
|
|
79
94
|
__name(maybeSetOtelProviders, "maybeSetOtelProviders");
|
|
80
95
|
function getOtelResource() {
|
|
81
96
|
return (0, import_resources.detectResources)({
|
|
82
|
-
detectors: []
|
|
97
|
+
detectors: [import_resources.envDetector]
|
|
83
98
|
});
|
|
84
99
|
}
|
|
85
100
|
__name(getOtelResource, "getOtelResource");
|
|
@@ -104,6 +119,57 @@ function getOtelExporters(config = getOtelExportersConfig()) {
|
|
|
104
119
|
};
|
|
105
120
|
}
|
|
106
121
|
__name(getOtelExporters, "getOtelExporters");
|
|
122
|
+
function isTracerProviderRegistered() {
|
|
123
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
124
|
+
const provider = (_b = (_a = import_api.trace).getTracerProvider) == null ? void 0 : _b.call(_a);
|
|
125
|
+
if (!provider) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
const noopDelegate = typeof import_api.ProxyTracerProvider === "function" ? (_d = (_c = new import_api.ProxyTracerProvider()) == null ? void 0 : _c.getDelegate) == null ? void 0 : _d.call(_c) : void 0;
|
|
129
|
+
const getDelegate = provider.getDelegate;
|
|
130
|
+
if (typeof getDelegate === "function") {
|
|
131
|
+
const delegate = getDelegate.call(provider);
|
|
132
|
+
if (!delegate) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
if (noopDelegate && delegate === noopDelegate) {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
return ((_e = delegate.constructor) == null ? void 0 : _e.name) !== "NoopTracerProvider";
|
|
139
|
+
}
|
|
140
|
+
if (noopDelegate && provider === noopDelegate) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
return ((_f = provider.constructor) == null ? void 0 : _f.name) !== "ProxyTracerProvider" && ((_g = provider.constructor) == null ? void 0 : _g.name) !== "NoopTracerProvider";
|
|
144
|
+
}
|
|
145
|
+
__name(isTracerProviderRegistered, "isTracerProviderRegistered");
|
|
146
|
+
function isMeterProviderRegistered() {
|
|
147
|
+
var _a, _b, _c;
|
|
148
|
+
const provider = (_b = (_a = import_api.metrics).getMeterProvider) == null ? void 0 : _b.call(_a);
|
|
149
|
+
if (!provider) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
const noopMeter = typeof import_api.createNoopMeter === "function" ? (0, import_api.createNoopMeter)() : void 0;
|
|
153
|
+
if (noopMeter && typeof provider.getMeter === "function") {
|
|
154
|
+
if (provider.getMeter("adk") === noopMeter) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return ((_c = provider.constructor) == null ? void 0 : _c.name) !== "NoopMeterProvider";
|
|
159
|
+
}
|
|
160
|
+
__name(isMeterProviderRegistered, "isMeterProviderRegistered");
|
|
161
|
+
function isLoggerProviderRegistered() {
|
|
162
|
+
var _a, _b, _c, _d;
|
|
163
|
+
const provider = (_b = (_a = import_api_logs.logs).getLoggerProvider) == null ? void 0 : _b.call(_a);
|
|
164
|
+
if (!provider) {
|
|
165
|
+
return false;
|
|
166
|
+
}
|
|
167
|
+
if (typeof provider._getDelegate === "function") {
|
|
168
|
+
return provider._delegate !== void 0;
|
|
169
|
+
}
|
|
170
|
+
return ((_c = provider.constructor) == null ? void 0 : _c.name) !== "ProxyLoggerProvider" && ((_d = provider.constructor) == null ? void 0 : _d.name) !== "NoopLoggerProvider";
|
|
171
|
+
}
|
|
172
|
+
__name(isLoggerProviderRegistered, "isLoggerProviderRegistered");
|
|
107
173
|
// Annotate the CommonJS export names for ESM import in node:
|
|
108
174
|
0 && (module.exports = {
|
|
109
175
|
maybeSetOtelProviders
|
|
@@ -30,6 +30,7 @@ __export(agent_tool_exports, {
|
|
|
30
30
|
});
|
|
31
31
|
module.exports = __toCommonJS(agent_tool_exports);
|
|
32
32
|
var import_genai = require("@google/genai");
|
|
33
|
+
var import_lodash_es = require("lodash-es");
|
|
33
34
|
var import_llm_agent = require("../agents/llm_agent.js");
|
|
34
35
|
var import_in_memory_memory_service = require("../memory/in_memory_memory_service.js");
|
|
35
36
|
var import_runner = require("../runner/runner.js");
|
|
@@ -156,12 +157,18 @@ const _AgentTool = class _AgentTool extends (_b = import_base_tool.BaseTool, _a
|
|
|
156
157
|
memoryService: (_b2 = toolContext.invocationContext.memoryService) != null ? _b2 : new import_in_memory_memory_service.InMemoryMemoryService(),
|
|
157
158
|
credentialService: toolContext.invocationContext.credentialService
|
|
158
159
|
});
|
|
160
|
+
const parentState = toolContext.state.toRecord();
|
|
159
161
|
const session = await runner.sessionService.getOrCreateSession({
|
|
160
162
|
appName: this.agent.name,
|
|
161
163
|
userId: toolContext.invocationContext.userId,
|
|
162
164
|
sessionId: toolContext.invocationContext.session.id,
|
|
163
|
-
state:
|
|
165
|
+
state: parentState
|
|
164
166
|
});
|
|
167
|
+
const stateDelta = Object.fromEntries(
|
|
168
|
+
Object.entries(parentState).filter(
|
|
169
|
+
([key, value]) => !key.startsWith(import_state.State.TEMP_PREFIX) && !(0, import_lodash_es.isEqual)(session.state[key], value)
|
|
170
|
+
)
|
|
171
|
+
);
|
|
165
172
|
if ((_c = toolContext.abortSignal) == null ? void 0 : _c.aborted) {
|
|
166
173
|
return "";
|
|
167
174
|
}
|
|
@@ -170,6 +177,7 @@ const _AgentTool = class _AgentTool extends (_b = import_base_tool.BaseTool, _a
|
|
|
170
177
|
userId: session.userId,
|
|
171
178
|
sessionId: session.id,
|
|
172
179
|
newMessage: content,
|
|
180
|
+
stateDelta: Object.keys(stateDelta).length > 0 ? stateDelta : void 0,
|
|
173
181
|
abortSignal: toolContext.abortSignal
|
|
174
182
|
})) {
|
|
175
183
|
if ((_d = toolContext.abortSignal) == null ? void 0 : _d.aborted) {
|
|
@@ -46,7 +46,7 @@ __export(apihub_toolset_exports, {
|
|
|
46
46
|
APIHubToolset: () => APIHubToolset
|
|
47
47
|
});
|
|
48
48
|
module.exports = __toCommonJS(apihub_toolset_exports);
|
|
49
|
-
var
|
|
49
|
+
var yaml = __toESM(require("js-yaml"), 1);
|
|
50
50
|
var import_case_utils = require("../../utils/case_utils.js");
|
|
51
51
|
var import_experimental = require("../../utils/experimental.js");
|
|
52
52
|
var import_base_toolset = require("../base_toolset.js");
|
|
@@ -59,15 +59,15 @@ var import_apihub_client = require("./clients/apihub_client.js");
|
|
|
59
59
|
*/
|
|
60
60
|
let APIHubToolset = class extends import_base_toolset.BaseToolset {
|
|
61
61
|
constructor(options) {
|
|
62
|
-
var _a, _b, _c, _d;
|
|
63
|
-
super([]);
|
|
64
|
-
this.name = (
|
|
65
|
-
this.description = (
|
|
62
|
+
var _a, _b, _c, _d, _e;
|
|
63
|
+
super((_a = options.toolFilter) != null ? _a : []);
|
|
64
|
+
this.name = (_b = options.name) != null ? _b : "";
|
|
65
|
+
this.description = (_c = options.description) != null ? _c : "";
|
|
66
66
|
this.apihubResourceName = options.apihubResourceName;
|
|
67
|
-
this.lazyLoadSpec = (
|
|
67
|
+
this.lazyLoadSpec = (_d = options.lazyLoadSpec) != null ? _d : false;
|
|
68
68
|
this.authScheme = options.authScheme;
|
|
69
69
|
this.authCredential = options.authCredential;
|
|
70
|
-
this.apihubClient = (
|
|
70
|
+
this.apihubClient = (_e = options.apihubClient) != null ? _e : new import_apihub_client.APIHubClient({
|
|
71
71
|
accessToken: options.accessToken,
|
|
72
72
|
serviceAccountJson: options.serviceAccountJson
|
|
73
73
|
});
|
|
@@ -86,21 +86,12 @@ let APIHubToolset = class extends import_base_toolset.BaseToolset {
|
|
|
86
86
|
const toolset = await this.loadToolset();
|
|
87
87
|
return toolset ? toolset.getTools(context) : [];
|
|
88
88
|
}
|
|
89
|
-
/**
|
|
90
|
-
* Returns the tool with the given name, or `undefined` when the spec
|
|
91
|
-
* produced no such tool.
|
|
92
|
-
*
|
|
93
|
-
* Unlike `OpenAPIToolset.getTool`, the result is a Promise, because the spec
|
|
94
|
-
* may still be loading.
|
|
95
|
-
*
|
|
96
|
-
* @param name The tool name, which is the operation ID in snake_case.
|
|
97
|
-
* @throws When the spec cannot be fetched or is not valid YAML or JSON.
|
|
98
|
-
*/
|
|
99
|
-
async getTool(name) {
|
|
100
|
-
const toolset = await this.loadToolset();
|
|
101
|
-
return toolset == null ? void 0 : toolset.getTool(name);
|
|
102
|
-
}
|
|
103
89
|
async close() {
|
|
90
|
+
if (!this.toolsetPromise) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
const toolset = await this.toolsetPromise.catch(() => void 0);
|
|
94
|
+
await (toolset == null ? void 0 : toolset.close());
|
|
104
95
|
}
|
|
105
96
|
loadToolset() {
|
|
106
97
|
if (!this.toolsetPromise) {
|
|
@@ -119,7 +110,10 @@ let APIHubToolset = class extends import_base_toolset.BaseToolset {
|
|
|
119
110
|
const spec = await this.apihubClient.getSpecContent(
|
|
120
111
|
this.apihubResourceName
|
|
121
112
|
);
|
|
122
|
-
|
|
113
|
+
if (!spec.trim()) {
|
|
114
|
+
return void 0;
|
|
115
|
+
}
|
|
116
|
+
const specDict = yaml.load(spec);
|
|
123
117
|
if (!specDict) {
|
|
124
118
|
return void 0;
|
|
125
119
|
}
|
|
@@ -128,7 +122,8 @@ let APIHubToolset = class extends import_base_toolset.BaseToolset {
|
|
|
128
122
|
return new import_openapi_toolset.OpenAPIToolset({
|
|
129
123
|
specDict,
|
|
130
124
|
authScheme: this.authScheme,
|
|
131
|
-
authCredential: this.authCredential
|
|
125
|
+
authCredential: this.authCredential,
|
|
126
|
+
toolFilter: this.toolFilter
|
|
132
127
|
});
|
|
133
128
|
}
|
|
134
129
|
};
|