@google/adk 2.4.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 +282 -55
- package/dist/cjs/agents/base_agent.js +111 -68
- package/dist/cjs/agents/functions.js +62 -85
- package/dist/cjs/agents/instructions.js +7 -6
- package/dist/cjs/agents/invocation_context.js +2 -2
- package/dist/cjs/agents/llm_agent.js +105 -95
- package/dist/cjs/agents/processors/content_processor_utils.js +42 -15
- package/dist/cjs/agents/processors/content_request_processor.js +28 -11
- 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 +2 -1
- 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 +128 -9
- package/dist/cjs/cli/utils/path_validation.js +83 -0
- package/dist/cjs/code_executors/container_code_executor.js +158 -36
- package/dist/cjs/common.js +50 -12
- package/dist/cjs/context/compaction_utils.js +19 -0
- package/dist/cjs/events/event.js +7 -3
- package/dist/cjs/features/feature_registry.js +5 -0
- package/dist/cjs/index.js +29 -14
- 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 +45 -21
- 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 +1 -4
- package/dist/cjs/sessions/database_session_service.js +191 -19
- 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/vertex_ai_session_service.js +11 -3
- package/dist/cjs/skills/loader.js +29 -28
- 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 -5
- package/dist/cjs/tools/agent_tool.js +9 -1
- package/dist/cjs/tools/application_integration_tool/application_integration_toolset.js +22 -34
- package/dist/cjs/tools/application_integration_tool/clients/connections_client.js +60 -20
- package/dist/cjs/tools/application_integration_tool/clients/integration_client.js +26 -10
- package/dist/cjs/tools/application_integration_tool/integration_connector_tool.js +14 -23
- 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_toolset.js +3 -2
- package/dist/cjs/tools/google_api_tool/googleapi_to_openapi_converter.js +3 -1
- package/dist/cjs/tools/load_artifacts_tool.js +15 -5
- package/dist/cjs/tools/load_memory_tool.js +2 -5
- 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 +18 -6
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +30 -29
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +2 -2
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +45 -14
- 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 +47 -28
- package/dist/cjs/utils/async_queue.js +37 -3
- package/dist/cjs/utils/client_labels.js +9 -11
- 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 +10 -9
- package/dist/cjs/utils/gemini_schema_util.js +125 -12
- package/dist/cjs/utils/id_provider.js +63 -0
- package/dist/cjs/utils/model_name.js +15 -0
- package/dist/cjs/utils/simple_zod_to_json.js +13 -31
- package/dist/cjs/utils/ssrf_guard.js +46 -16
- 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 +293 -55
- package/dist/esm/agents/base_agent.js +111 -72
- package/dist/esm/agents/functions.js +67 -89
- package/dist/esm/agents/instructions.js +7 -6
- package/dist/esm/agents/invocation_context.js +2 -2
- package/dist/esm/agents/llm_agent.js +111 -100
- package/dist/esm/agents/processors/content_processor_utils.js +42 -15
- package/dist/esm/agents/processors/content_request_processor.js +28 -11
- 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 +2 -1
- 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 +128 -9
- package/dist/esm/cli/utils/path_validation.js +45 -0
- package/dist/esm/code_executors/container_code_executor.js +158 -36
- package/dist/esm/common.js +49 -6
- package/dist/esm/context/compaction_utils.js +19 -0
- package/dist/esm/events/event.js +7 -3
- package/dist/esm/features/feature_registry.js +5 -0
- package/dist/esm/index.js +27 -15
- 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 +45 -21
- 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 +1 -4
- package/dist/esm/sessions/database_session_service.js +191 -19
- 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/vertex_ai_session_service.js +11 -3
- package/dist/esm/skills/loader.js +29 -28
- 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/application_integration_tool/application_integration_toolset.js +23 -35
- package/dist/esm/tools/application_integration_tool/clients/connections_client.js +64 -21
- package/dist/esm/tools/application_integration_tool/clients/integration_client.js +26 -10
- package/dist/esm/tools/application_integration_tool/integration_connector_tool.js +14 -23
- 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_toolset.js +3 -2
- package/dist/esm/tools/google_api_tool/googleapi_to_openapi_converter.js +3 -1
- package/dist/esm/tools/load_artifacts_tool.js +15 -5
- package/dist/esm/tools/load_memory_tool.js +2 -5
- 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 +18 -6
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +27 -26
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +2 -2
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +45 -14
- 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 +47 -28
- package/dist/esm/utils/async_queue.js +37 -3
- package/dist/esm/utils/client_labels.js +9 -11
- 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 +10 -9
- package/dist/esm/utils/gemini_schema_util.js +124 -11
- package/dist/esm/utils/id_provider.js +33 -0
- package/dist/esm/utils/model_name.js +14 -0
- package/dist/esm/utils/simple_zod_to_json.js +13 -31
- package/dist/esm/utils/ssrf_guard.js +55 -15
- 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 +121 -3
- package/dist/types/agents/base_agent.d.ts +2 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +9 -9
- 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 +19 -2
- package/dist/types/cli/utils/path_validation.d.ts +30 -0
- package/dist/types/code_executors/container_code_executor.d.ts +49 -8
- package/dist/types/common.d.ts +16 -9
- package/dist/types/context/compaction_utils.d.ts +13 -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 +9 -6
- package/dist/types/plugins/base_plugin.d.ts +50 -21
- 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 +0 -2
- package/dist/types/sessions/db/operations.d.ts +2 -1
- package/dist/types/sessions/db/schema.d.ts +5 -3
- 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/application_integration_tool/clients/connections_client.d.ts +13 -4
- package/dist/types/tools/base_toolset.d.ts +1 -1
- 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_toolset.d.ts +2 -0
- package/dist/types/tools/load_artifacts_tool.d.ts +5 -1
- package/dist/types/tools/load_memory_tool.d.ts +13 -7
- 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/operation_parser.d.ts +7 -3
- package/dist/types/tools/toolbox_toolset.d.ts +15 -20
- package/dist/types/utils/async_queue.d.ts +14 -0
- 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 +27 -6
- package/dist/types/utils/id_provider.d.ts +43 -0
- package/dist/types/utils/model_name.d.ts +8 -0
- 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 +86 -88
- package/dist/web/index_web.js.map +4 -4
- package/package.json +13 -15
- package/dist/cjs/telemetry/google_cloud.js +0 -116
- package/dist/cjs/telemetry/tracing.js +0 -393
- package/dist/esm/telemetry/google_cloud.js +0 -99
- package/dist/esm/telemetry/setup.js +0 -88
- package/dist/esm/telemetry/tracing.js +0 -361
- package/dist/types/telemetry/google_cloud.d.ts +0 -9
- package/dist/types/telemetry/tracing.d.ts +0 -143
|
@@ -26,6 +26,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
26
26
|
var model_name_exports = {};
|
|
27
27
|
__export(model_name_exports, {
|
|
28
28
|
extractModelName: () => extractModelName,
|
|
29
|
+
getGeminiMajorVersion: () => getGeminiMajorVersion,
|
|
29
30
|
isGemini1Model: () => isGemini1Model,
|
|
30
31
|
isGemini2OrAbove: () => isGemini2OrAbove,
|
|
31
32
|
isGemini35LiveTranslate: () => isGemini35LiveTranslate,
|
|
@@ -68,6 +69,19 @@ function parseVersion(versionString) {
|
|
|
68
69
|
};
|
|
69
70
|
}
|
|
70
71
|
__name(parseVersion, "parseVersion");
|
|
72
|
+
function getGeminiMajorVersion(modelString) {
|
|
73
|
+
if (!modelString) {
|
|
74
|
+
return void 0;
|
|
75
|
+
}
|
|
76
|
+
const modelName = extractModelName(modelString);
|
|
77
|
+
if (!modelName.startsWith("gemini-")) {
|
|
78
|
+
return void 0;
|
|
79
|
+
}
|
|
80
|
+
const versionString = modelName.slice("gemini-".length).split("-", 1)[0];
|
|
81
|
+
const parsedVersion = parseVersion(versionString);
|
|
82
|
+
return parsedVersion.valid ? parsedVersion.major : void 0;
|
|
83
|
+
}
|
|
84
|
+
__name(getGeminiMajorVersion, "getGeminiMajorVersion");
|
|
71
85
|
function isGemini1Model(modelString) {
|
|
72
86
|
const modelName = extractModelName(modelString);
|
|
73
87
|
return modelName.startsWith("gemini-1");
|
|
@@ -112,6 +126,7 @@ __name(isGeminiModelIdCheckDisabled, "isGeminiModelIdCheckDisabled");
|
|
|
112
126
|
// Annotate the CommonJS export names for ESM import in node:
|
|
113
127
|
0 && (module.exports = {
|
|
114
128
|
extractModelName,
|
|
129
|
+
getGeminiMajorVersion,
|
|
115
130
|
isGemini1Model,
|
|
116
131
|
isGemini2OrAbove,
|
|
117
132
|
isGemini35LiveTranslate,
|
|
@@ -35,6 +35,7 @@ module.exports = __toCommonJS(simple_zod_to_json_exports);
|
|
|
35
35
|
var import_genai = require("@google/genai");
|
|
36
36
|
var import_zod_to_json_schema = require("zod-to-json-schema");
|
|
37
37
|
var import_v4 = require("zod/v4");
|
|
38
|
+
var import_gemini_schema_util = require("./gemini_schema_util.js");
|
|
38
39
|
/**
|
|
39
40
|
* @license
|
|
40
41
|
* Copyright 2025 Google LLC
|
|
@@ -86,21 +87,10 @@ function zodObjectToSchema(schema) {
|
|
|
86
87
|
if (jsonSchema.readOnly !== void 0) {
|
|
87
88
|
delete jsonSchema.readOnly;
|
|
88
89
|
}
|
|
89
|
-
|
|
90
|
-
jsonSchema
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
delete jsonSchema.pattern;
|
|
94
|
-
}
|
|
95
|
-
if (jsonSchema.minItems !== void 0) {
|
|
96
|
-
jsonSchema.minItems = jsonSchema.minItems.toString();
|
|
97
|
-
}
|
|
98
|
-
if (jsonSchema.minLength !== void 0) {
|
|
99
|
-
jsonSchema.minLength = jsonSchema.minLength.toString();
|
|
100
|
-
}
|
|
101
|
-
if (jsonSchema.maxLength !== void 0) {
|
|
102
|
-
jsonSchema.maxLength = jsonSchema.maxLength.toString();
|
|
103
|
-
}
|
|
90
|
+
(0, import_gemini_schema_util.copySchemaConstraints)(
|
|
91
|
+
jsonSchema,
|
|
92
|
+
jsonSchema
|
|
93
|
+
);
|
|
104
94
|
if (((_a = jsonSchema.enum) == null ? void 0 : _a.length) === 1 && jsonSchema.enum[0] === null) {
|
|
105
95
|
jsonSchema.type = import_genai.Type.NULL;
|
|
106
96
|
delete jsonSchema.enum;
|
|
@@ -121,32 +111,24 @@ function zodObjectToSchema(schema) {
|
|
|
121
111
|
$refStrategy: "none",
|
|
122
112
|
emailStrategy: "format:email",
|
|
123
113
|
postProcess: /* @__PURE__ */ __name((jsonSchema) => {
|
|
124
|
-
var _a, _b, _c
|
|
114
|
+
var _a, _b, _c;
|
|
125
115
|
if (!jsonSchema) {
|
|
126
116
|
return;
|
|
127
117
|
}
|
|
128
118
|
if (jsonSchema.additionalProperties !== void 0) {
|
|
129
119
|
delete jsonSchema.additionalProperties;
|
|
130
120
|
}
|
|
131
|
-
|
|
132
|
-
jsonSchema
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
if (jsonSchema.minLength !== void 0) {
|
|
138
|
-
jsonSchema.minLength = (_c = jsonSchema.minLength) == null ? void 0 : _c.toString();
|
|
139
|
-
}
|
|
140
|
-
if (jsonSchema.maxLength !== void 0) {
|
|
141
|
-
jsonSchema.maxLength = (_d = jsonSchema.maxLength) == null ? void 0 : _d.toString();
|
|
142
|
-
}
|
|
143
|
-
if (((_e = jsonSchema.enum) == null ? void 0 : _e.length) === 1 && jsonSchema.enum[0] === "null") {
|
|
121
|
+
(0, import_gemini_schema_util.copySchemaConstraints)(
|
|
122
|
+
jsonSchema,
|
|
123
|
+
jsonSchema
|
|
124
|
+
);
|
|
125
|
+
if (((_a = jsonSchema.enum) == null ? void 0 : _a.length) === 1 && jsonSchema.enum[0] === "null") {
|
|
144
126
|
jsonSchema.type = import_genai.Type.NULL;
|
|
145
127
|
delete jsonSchema.enum;
|
|
146
128
|
}
|
|
147
129
|
if (jsonSchema.type === "integer" && jsonSchema.format !== "int64") {
|
|
148
|
-
(
|
|
149
|
-
(
|
|
130
|
+
(_b = jsonSchema.minimum) != null ? _b : jsonSchema.minimum = Number.MIN_SAFE_INTEGER;
|
|
131
|
+
(_c = jsonSchema.maximum) != null ? _c : jsonSchema.maximum = Number.MAX_SAFE_INTEGER;
|
|
150
132
|
}
|
|
151
133
|
if (jsonSchema.type !== void 0) {
|
|
152
134
|
jsonSchema.type = jsonSchema.type.toUpperCase();
|
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
"use strict";
|
|
8
|
+
var __create = Object.create;
|
|
8
9
|
var __defProp = Object.defineProperty;
|
|
9
10
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
11
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
11
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
14
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
15
|
var __export = (target, all) => {
|
|
@@ -22,10 +24,19 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
22
24
|
}
|
|
23
25
|
return to;
|
|
24
26
|
};
|
|
27
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
28
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
29
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
30
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
31
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
32
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
33
|
+
mod
|
|
34
|
+
));
|
|
25
35
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
36
|
var ssrf_guard_exports = {};
|
|
27
37
|
__export(ssrf_guard_exports, {
|
|
28
38
|
isHttpUrl: () => isHttpUrl,
|
|
39
|
+
isIpAddress: () => isIpAddress,
|
|
29
40
|
isLinkLocalAddress: () => isLinkLocalAddress,
|
|
30
41
|
isLocalhostHostname: () => isLocalhostHostname,
|
|
31
42
|
isNonGlobalAddress: () => isNonGlobalAddress,
|
|
@@ -33,13 +44,13 @@ __export(ssrf_guard_exports, {
|
|
|
33
44
|
resolveHostAddresses: () => resolveHostAddresses
|
|
34
45
|
});
|
|
35
46
|
module.exports = __toCommonJS(ssrf_guard_exports);
|
|
36
|
-
var import_promises = require("node:dns/promises");
|
|
37
|
-
var import_node_net = require("node:net");
|
|
38
47
|
/**
|
|
39
48
|
* @license
|
|
40
49
|
* Copyright 2026 Google LLC
|
|
41
50
|
* SPDX-License-Identifier: Apache-2.0
|
|
42
51
|
*/
|
|
52
|
+
const DNS_MODULE = "node:dns/promises";
|
|
53
|
+
const IPV6_CHARACTERS = /^[0-9a-f:.]+$/i;
|
|
43
54
|
const HTTP_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:"]);
|
|
44
55
|
const NON_GLOBAL_IPV4_CIDRS = [
|
|
45
56
|
"0.0.0.0/8",
|
|
@@ -118,11 +129,16 @@ function isLinkLocalAddress(address) {
|
|
|
118
129
|
return classifyAddress(address, isLinkLocalIpv4, isLinkLocalIpv6);
|
|
119
130
|
}
|
|
120
131
|
__name(isLinkLocalAddress, "isLinkLocalAddress");
|
|
132
|
+
function isIpAddress(address) {
|
|
133
|
+
return parseIpv4(address) !== null || isIpv6Literal(address);
|
|
134
|
+
}
|
|
135
|
+
__name(isIpAddress, "isIpAddress");
|
|
121
136
|
async function resolveHostAddresses(hostname) {
|
|
122
|
-
if ((
|
|
137
|
+
if (isIpAddress(hostname)) {
|
|
123
138
|
return [hostname];
|
|
124
139
|
}
|
|
125
|
-
const
|
|
140
|
+
const { lookup } = await Promise.resolve().then(() => __toESM(require(DNS_MODULE)));
|
|
141
|
+
const records = await lookup(hostname, { all: true });
|
|
126
142
|
const addresses = [...new Set(records.map((record) => record.address))];
|
|
127
143
|
if (addresses.length === 0) {
|
|
128
144
|
throw new Error(`Unable to resolve host: ${hostname}`);
|
|
@@ -154,8 +170,20 @@ function parseIpv4(address) {
|
|
|
154
170
|
return octets;
|
|
155
171
|
}
|
|
156
172
|
__name(parseIpv4, "parseIpv4");
|
|
173
|
+
function isIpv6Literal(address) {
|
|
174
|
+
if (!address.includes(":") || !IPV6_CHARACTERS.test(address)) {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
try {
|
|
178
|
+
new URL(`http://[${address}]/`);
|
|
179
|
+
return true;
|
|
180
|
+
} catch {
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
__name(isIpv6Literal, "isIpv6Literal");
|
|
157
185
|
function parseIpv6(address) {
|
|
158
|
-
if ((
|
|
186
|
+
if (!isIpv6Literal(address)) {
|
|
159
187
|
return null;
|
|
160
188
|
}
|
|
161
189
|
const [head, tail] = address.split("::");
|
|
@@ -182,14 +210,6 @@ function ipv4ToInt(octets) {
|
|
|
182
210
|
return (octets[0] << 24 | octets[1] << 16 | octets[2] << 8 | octets[3]) >>> 0;
|
|
183
211
|
}
|
|
184
212
|
__name(ipv4ToInt, "ipv4ToInt");
|
|
185
|
-
function hextetsToBigInt(hextets) {
|
|
186
|
-
let value = 0n;
|
|
187
|
-
for (const hextet of hextets) {
|
|
188
|
-
value = value << 16n | BigInt(hextet);
|
|
189
|
-
}
|
|
190
|
-
return value;
|
|
191
|
-
}
|
|
192
|
-
__name(hextetsToBigInt, "hextetsToBigInt");
|
|
193
213
|
function parseIpv4Cidr(cidr) {
|
|
194
214
|
const [address, prefix] = cidr.split("/");
|
|
195
215
|
const mask = 4294967295 << 32 - Number(prefix) >>> 0;
|
|
@@ -198,7 +218,7 @@ function parseIpv4Cidr(cidr) {
|
|
|
198
218
|
__name(parseIpv4Cidr, "parseIpv4Cidr");
|
|
199
219
|
function parseIpv6Cidr(cidr) {
|
|
200
220
|
const [address, prefix] = cidr.split("/");
|
|
201
|
-
return { base:
|
|
221
|
+
return { base: parseIpv6(address), prefix: Number(prefix) };
|
|
202
222
|
}
|
|
203
223
|
__name(parseIpv6Cidr, "parseIpv6Cidr");
|
|
204
224
|
function matchesIpv4Cidr(octets, { base, mask }) {
|
|
@@ -206,8 +226,17 @@ function matchesIpv4Cidr(octets, { base, mask }) {
|
|
|
206
226
|
}
|
|
207
227
|
__name(matchesIpv4Cidr, "matchesIpv4Cidr");
|
|
208
228
|
function matchesIpv6Cidr(hextets, { base, prefix }) {
|
|
209
|
-
|
|
210
|
-
|
|
229
|
+
for (let i = 0; i < base.length; i++) {
|
|
230
|
+
const bits = Math.min(16, prefix - i * 16);
|
|
231
|
+
if (bits <= 0) {
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
const mask = 65535 << 16 - bits & 65535;
|
|
235
|
+
if ((hextets[i] & mask) !== (base[i] & mask)) {
|
|
236
|
+
return false;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return true;
|
|
211
240
|
}
|
|
212
241
|
__name(matchesIpv6Cidr, "matchesIpv6Cidr");
|
|
213
242
|
function embeddedIpv4(hextets) {
|
|
@@ -254,6 +283,7 @@ __name(isLinkLocalIpv6, "isLinkLocalIpv6");
|
|
|
254
283
|
// Annotate the CommonJS export names for ESM import in node:
|
|
255
284
|
0 && (module.exports = {
|
|
256
285
|
isHttpUrl,
|
|
286
|
+
isIpAddress,
|
|
257
287
|
isLinkLocalAddress,
|
|
258
288
|
isLocalhostHostname,
|
|
259
289
|
isNonGlobalAddress,
|
package/dist/cjs/version.js
CHANGED
|
@@ -32,7 +32,7 @@ module.exports = __toCommonJS(version_exports);
|
|
|
32
32
|
* Copyright 2025 Google LLC
|
|
33
33
|
* SPDX-License-Identifier: Apache-2.0
|
|
34
34
|
*/
|
|
35
|
-
const version = "2.
|
|
35
|
+
const version = "2.5.0";
|
|
36
36
|
// Annotate the CommonJS export names for ESM import in node:
|
|
37
37
|
0 && (module.exports = {
|
|
38
38
|
version
|
|
@@ -55,6 +55,7 @@ __export(workflow_exports, {
|
|
|
55
55
|
isNodeSchemaValidationError: () => import_errors.isNodeSchemaValidationError,
|
|
56
56
|
isNodeState: () => import_node_state.isNodeState,
|
|
57
57
|
isNodeTimeoutError: () => import_errors.isNodeTimeoutError,
|
|
58
|
+
isParallelWorker: () => import_parallel_worker.isParallelWorker,
|
|
58
59
|
isRequestInput: () => import_request_input.isRequestInput,
|
|
59
60
|
isRunnableRoot: () => import_run_node_as_invocation.isRunnableRoot,
|
|
60
61
|
isWorkflow: () => import_workflow.isWorkflow,
|
|
@@ -121,6 +122,7 @@ var import_node_error_event = require("./node_error_event.js");
|
|
|
121
122
|
isNodeSchemaValidationError,
|
|
122
123
|
isNodeState,
|
|
123
124
|
isNodeTimeoutError,
|
|
125
|
+
isParallelWorker,
|
|
124
126
|
isRequestInput,
|
|
125
127
|
isRunnableRoot,
|
|
126
128
|
isWorkflow,
|
|
@@ -28,11 +28,9 @@ __export(node_runner_exports, {
|
|
|
28
28
|
executeChildNode: () => executeChildNode
|
|
29
29
|
});
|
|
30
30
|
module.exports = __toCommonJS(node_runner_exports);
|
|
31
|
-
var import_api = require("@opentelemetry/api");
|
|
32
31
|
var import_invocation_context = require("../agents/invocation_context.js");
|
|
33
32
|
var import_event = require("../events/event.js");
|
|
34
|
-
var
|
|
35
|
-
var import_error_utils = require("../utils/error_utils.js");
|
|
33
|
+
var import_instrumentation = require("../telemetry/api/instrumentation.js");
|
|
36
34
|
var import_branch_path = require("./branch_path.js");
|
|
37
35
|
var import_errors = require("./errors.js");
|
|
38
36
|
var import_node_context = require("./node_context.js");
|
|
@@ -50,11 +48,12 @@ function executeChildNode(params) {
|
|
|
50
48
|
const { parent, node, options = {} } = params;
|
|
51
49
|
const nodeName = (_a = options.nodeName) != null ? _a : node.name;
|
|
52
50
|
const nodePath = (_b = options.overrideNodePath) != null ? _b : parent.nodePath ? `${parent.nodePath}.${nodeName}` : nodeName;
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
);
|
|
51
|
+
const scope = (0, import_instrumentation.recordNodeInvocation)({
|
|
52
|
+
node,
|
|
53
|
+
nodeName,
|
|
54
|
+
sessionId: parent.invocationContext.session.id
|
|
55
|
+
});
|
|
56
|
+
return scope.run(() => runChildNode({ params, nodeName, nodePath, scope }));
|
|
58
57
|
}
|
|
59
58
|
__name(executeChildNode, "executeChildNode");
|
|
60
59
|
async function runChildNode({
|
|
@@ -69,7 +68,7 @@ async function runChildNode({
|
|
|
69
68
|
},
|
|
70
69
|
nodeName,
|
|
71
70
|
nodePath,
|
|
72
|
-
|
|
71
|
+
scope
|
|
73
72
|
}) {
|
|
74
73
|
var _a, _b, _c, _d;
|
|
75
74
|
const runId = (_a = options.runId) != null ? _a : nodeName;
|
|
@@ -123,13 +122,6 @@ async function runChildNode({
|
|
|
123
122
|
});
|
|
124
123
|
if (skipOutput !== void 0) {
|
|
125
124
|
child.output = skipOutput;
|
|
126
|
-
(0, import_tracing.traceNodeExecution)({
|
|
127
|
-
nodePath,
|
|
128
|
-
runId,
|
|
129
|
-
attempt: nodeState.attemptCount,
|
|
130
|
-
status: "completed",
|
|
131
|
-
interruptCount: child.interruptIds.length
|
|
132
|
-
});
|
|
133
125
|
if (options.useAsOutput) {
|
|
134
126
|
parent.output = child.output;
|
|
135
127
|
parent.route = child.route;
|
|
@@ -143,16 +135,14 @@ async function runChildNode({
|
|
|
143
135
|
resetState(child);
|
|
144
136
|
child.attemptCount = nodeState.attemptCount;
|
|
145
137
|
try {
|
|
146
|
-
inputRecorded = await
|
|
138
|
+
inputRecorded = await runOnce({
|
|
147
139
|
node,
|
|
148
140
|
child,
|
|
149
141
|
input,
|
|
150
142
|
nodeName,
|
|
151
143
|
branch,
|
|
152
144
|
isolationScope,
|
|
153
|
-
|
|
154
|
-
runId,
|
|
155
|
-
attempt: nodeState.attemptCount
|
|
145
|
+
scope
|
|
156
146
|
});
|
|
157
147
|
failIfNodeReportedError(child, nodeName);
|
|
158
148
|
succeeded = true;
|
|
@@ -179,13 +169,6 @@ async function runChildNode({
|
|
|
179
169
|
if (!inputRecorded && child.interruptIds.length > 0) {
|
|
180
170
|
recordInputForResume({ child, nodeName, branch, isolationScope, input });
|
|
181
171
|
}
|
|
182
|
-
(0, import_tracing.traceNodeExecution)({
|
|
183
|
-
nodePath,
|
|
184
|
-
runId,
|
|
185
|
-
attempt: nodeState.attemptCount,
|
|
186
|
-
status: child.interruptIds.length > 0 ? "waiting" : "completed",
|
|
187
|
-
interruptCount: child.interruptIds.length
|
|
188
|
-
});
|
|
189
172
|
if (pluginManager == null ? void 0 : pluginManager.hasPlugins) {
|
|
190
173
|
const replacedOutput = await pluginManager.runAfterNodeCallback({
|
|
191
174
|
node,
|
|
@@ -203,58 +186,13 @@ async function runChildNode({
|
|
|
203
186
|
}
|
|
204
187
|
return child;
|
|
205
188
|
} catch (err) {
|
|
206
|
-
(
|
|
207
|
-
nodePath,
|
|
208
|
-
runId,
|
|
209
|
-
attempt: nodeState.attemptCount,
|
|
210
|
-
status: "failed",
|
|
211
|
-
interruptCount: child.interruptIds.length
|
|
212
|
-
});
|
|
213
|
-
span.setStatus({ code: import_api.SpanStatusCode.ERROR, message: (0, import_error_utils.formatError)(err) });
|
|
189
|
+
scope.end(err);
|
|
214
190
|
throw err;
|
|
215
191
|
} finally {
|
|
216
|
-
|
|
192
|
+
scope.end();
|
|
217
193
|
}
|
|
218
194
|
}
|
|
219
195
|
__name(runChildNode, "runChildNode");
|
|
220
|
-
function runAttempt(params) {
|
|
221
|
-
const { node, nodePath, runId, attempt } = params;
|
|
222
|
-
if (!node.preparedRetryConfig) {
|
|
223
|
-
return runOnce(params);
|
|
224
|
-
}
|
|
225
|
-
return import_tracing.tracer.startActiveSpan(
|
|
226
|
-
`execute_node_attempt ${params.nodeName}`,
|
|
227
|
-
async (span) => {
|
|
228
|
-
try {
|
|
229
|
-
const inputRecorded = await runOnce(params);
|
|
230
|
-
(0, import_tracing.traceNodeExecution)({
|
|
231
|
-
nodePath,
|
|
232
|
-
runId,
|
|
233
|
-
attempt,
|
|
234
|
-
status: params.child.interruptIds.length > 0 ? "waiting" : "completed",
|
|
235
|
-
interruptCount: params.child.interruptIds.length
|
|
236
|
-
});
|
|
237
|
-
return inputRecorded;
|
|
238
|
-
} catch (err) {
|
|
239
|
-
(0, import_tracing.traceNodeExecution)({
|
|
240
|
-
nodePath,
|
|
241
|
-
runId,
|
|
242
|
-
attempt,
|
|
243
|
-
status: "failed",
|
|
244
|
-
interruptCount: params.child.interruptIds.length
|
|
245
|
-
});
|
|
246
|
-
span.setStatus({
|
|
247
|
-
code: import_api.SpanStatusCode.ERROR,
|
|
248
|
-
message: (0, import_error_utils.formatError)(err)
|
|
249
|
-
});
|
|
250
|
-
throw err;
|
|
251
|
-
} finally {
|
|
252
|
-
span.end();
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
);
|
|
256
|
-
}
|
|
257
|
-
__name(runAttempt, "runAttempt");
|
|
258
196
|
function failIfNodeReportedError(child, nodeName) {
|
|
259
197
|
const reported = child.reportedError;
|
|
260
198
|
if (!reported || child.output !== void 0 || child.route !== void 0 || child.interruptIds.length > 0) {
|
|
@@ -281,11 +219,12 @@ async function runOnce({
|
|
|
281
219
|
input,
|
|
282
220
|
nodeName,
|
|
283
221
|
branch,
|
|
284
|
-
isolationScope
|
|
222
|
+
isolationScope,
|
|
223
|
+
scope
|
|
285
224
|
}) {
|
|
286
225
|
var _a;
|
|
287
226
|
let inputRecorded = false;
|
|
288
|
-
const consume = /* @__PURE__ */ __name((event) => {
|
|
227
|
+
const consume = /* @__PURE__ */ __name(async (event) => {
|
|
289
228
|
var _a2, _b, _c;
|
|
290
229
|
enrichEvent({ event, child, nodeName, branch, isolationScope });
|
|
291
230
|
const emittedDelta = (_a2 = event.actions) == null ? void 0 : _a2.stateDelta;
|
|
@@ -324,13 +263,18 @@ async function runOnce({
|
|
|
324
263
|
};
|
|
325
264
|
inputRecorded = true;
|
|
326
265
|
}
|
|
327
|
-
|
|
266
|
+
scope.recordEvent(event);
|
|
267
|
+
if (event.partial) {
|
|
268
|
+
child.channel.push(event);
|
|
269
|
+
} else {
|
|
270
|
+
await child.channel.pushAndWait(event);
|
|
271
|
+
}
|
|
328
272
|
}, "consume");
|
|
329
273
|
const parentSignal = child.invocationContext.abortSignal;
|
|
330
274
|
const hasTimeout = typeof node.timeout === "number" && node.timeout > 0;
|
|
331
275
|
if (!hasTimeout && !parentSignal) {
|
|
332
276
|
for await (const event of node.run(child, input)) {
|
|
333
|
-
consume(event);
|
|
277
|
+
await consume(event);
|
|
334
278
|
}
|
|
335
279
|
return inputRecorded;
|
|
336
280
|
}
|
|
@@ -338,7 +282,7 @@ async function runOnce({
|
|
|
338
282
|
child.abortSignal = parentSignal;
|
|
339
283
|
try {
|
|
340
284
|
for await (const event of node.run(child, input)) {
|
|
341
|
-
consume(event);
|
|
285
|
+
await consume(event);
|
|
342
286
|
}
|
|
343
287
|
} finally {
|
|
344
288
|
child.abortSignal = void 0;
|
|
@@ -378,7 +322,7 @@ async function runOnce({
|
|
|
378
322
|
try {
|
|
379
323
|
let result = await Promise.race([iterator.next(), aborted]);
|
|
380
324
|
while (!result.done) {
|
|
381
|
-
consume(result.value);
|
|
325
|
+
await Promise.race([consume(result.value), aborted]);
|
|
382
326
|
result = await Promise.race([iterator.next(), aborted]);
|
|
383
327
|
}
|
|
384
328
|
} finally {
|
|
@@ -25,7 +25,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
25
25
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
26
|
var parallel_worker_exports = {};
|
|
27
27
|
__export(parallel_worker_exports, {
|
|
28
|
-
ParallelWorker: () => ParallelWorker
|
|
28
|
+
ParallelWorker: () => ParallelWorker,
|
|
29
|
+
isParallelWorker: () => isParallelWorker
|
|
29
30
|
});
|
|
30
31
|
module.exports = __toCommonJS(parallel_worker_exports);
|
|
31
32
|
var import_base_node = require("../base_node.js");
|
|
@@ -36,11 +37,16 @@ var import_workflow_graph_utils = require("../utils/workflow_graph_utils.js");
|
|
|
36
37
|
* Copyright 2026 Google LLC
|
|
37
38
|
* SPDX-License-Identifier: Apache-2.0
|
|
38
39
|
*/
|
|
40
|
+
var _a, _b;
|
|
39
41
|
const DEFAULT_MAX_PARALLEL_WORKERS = 8;
|
|
40
|
-
const
|
|
42
|
+
const PARALLEL_WORKER_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
43
|
+
"google.adk.workflow.parallelWorker"
|
|
44
|
+
);
|
|
45
|
+
const _ParallelWorker = class _ParallelWorker extends (_b = import_base_node.BaseNode, _a = PARALLEL_WORKER_SIGNATURE_SYMBOL, _b) {
|
|
41
46
|
constructor(inner, config = {}) {
|
|
42
47
|
const built = (0, import_workflow_graph_utils.buildNode)(inner);
|
|
43
48
|
super({ name: built.name, rerunOnResume: true });
|
|
49
|
+
this[_a] = true;
|
|
44
50
|
if (config.maxParallelWorkers !== void 0 && config.maxParallelWorkers < 1) {
|
|
45
51
|
throw new Error("maxParallelWorkers must be greater than or equal to 1.");
|
|
46
52
|
}
|
|
@@ -48,7 +54,7 @@ const _ParallelWorker = class _ParallelWorker extends import_base_node.BaseNode
|
|
|
48
54
|
this.maxParallelWorkers = config.maxParallelWorkers;
|
|
49
55
|
}
|
|
50
56
|
async *runImpl(ctx, input) {
|
|
51
|
-
var
|
|
57
|
+
var _a2;
|
|
52
58
|
const items = Array.isArray(input) ? input : [input];
|
|
53
59
|
if (items.length === 0) {
|
|
54
60
|
yield [];
|
|
@@ -56,7 +62,7 @@ const _ParallelWorker = class _ParallelWorker extends import_base_node.BaseNode
|
|
|
56
62
|
}
|
|
57
63
|
const results = new Array(items.length);
|
|
58
64
|
const poolSize = Math.min(
|
|
59
|
-
(
|
|
65
|
+
(_a2 = this.maxParallelWorkers) != null ? _a2 : DEFAULT_MAX_PARALLEL_WORKERS,
|
|
60
66
|
items.length
|
|
61
67
|
);
|
|
62
68
|
let nextIndex = 0;
|
|
@@ -65,8 +71,8 @@ const _ParallelWorker = class _ParallelWorker extends import_base_node.BaseNode
|
|
|
65
71
|
let interrupted = false;
|
|
66
72
|
const interruptIds = [];
|
|
67
73
|
const isAborted = /* @__PURE__ */ __name(() => {
|
|
68
|
-
var
|
|
69
|
-
return ((
|
|
74
|
+
var _a3, _b2;
|
|
75
|
+
return ((_a3 = ctx.abortSignal) == null ? void 0 : _a3.aborted) === true || ((_b2 = ctx.invocationContext.abortSignal) == null ? void 0 : _b2.aborted) === true;
|
|
70
76
|
}, "isAborted");
|
|
71
77
|
const worker = /* @__PURE__ */ __name(async () => {
|
|
72
78
|
while (!failed && !interrupted && !isAborted()) {
|
|
@@ -123,7 +129,12 @@ const _ParallelWorker = class _ParallelWorker extends import_base_node.BaseNode
|
|
|
123
129
|
};
|
|
124
130
|
__name(_ParallelWorker, "ParallelWorker");
|
|
125
131
|
let ParallelWorker = _ParallelWorker;
|
|
132
|
+
function isParallelWorker(value) {
|
|
133
|
+
return typeof value === "object" && value !== null && PARALLEL_WORKER_SIGNATURE_SYMBOL in value && value[PARALLEL_WORKER_SIGNATURE_SYMBOL] === true;
|
|
134
|
+
}
|
|
135
|
+
__name(isParallelWorker, "isParallelWorker");
|
|
126
136
|
// Annotate the CommonJS export names for ESM import in node:
|
|
127
137
|
0 && (module.exports = {
|
|
128
|
-
ParallelWorker
|
|
138
|
+
ParallelWorker,
|
|
139
|
+
isParallelWorker
|
|
129
140
|
});
|
|
@@ -42,9 +42,7 @@ async function* runLlmAgentAsNode(agent, ctx, nodeInput) {
|
|
|
42
42
|
if (!isTaskMode && !agent.includeContentsExplicit) {
|
|
43
43
|
agent.includeContents = "none";
|
|
44
44
|
}
|
|
45
|
-
|
|
46
|
-
await appendNodeInputAsUserTurn(ctx, nodeInput);
|
|
47
|
-
}
|
|
45
|
+
const inputEvent = isTaskMode ? void 0 : pushNodeInputAsUserTurn(ctx, nodeInput);
|
|
48
46
|
const agentIc = withWorkflowInstructionScope(ctx.getInvocationContext(), {
|
|
49
47
|
input: nodeInput,
|
|
50
48
|
outputsByNode: collectPredecessorOutputs(ctx)
|
|
@@ -53,15 +51,19 @@ async function* runLlmAgentAsNode(agent, ctx, nodeInput) {
|
|
|
53
51
|
yield* runTaskMode(ctx, agentIc, agent);
|
|
54
52
|
return;
|
|
55
53
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
try {
|
|
55
|
+
for await (const event of agent.runAsync(agentIc)) {
|
|
56
|
+
maybeSetOutput(agent, event);
|
|
57
|
+
yield event;
|
|
58
|
+
}
|
|
59
|
+
} finally {
|
|
60
|
+
removeEvent(ctx.session.events, inputEvent);
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
__name(runLlmAgentAsNode, "runLlmAgentAsNode");
|
|
62
|
-
|
|
64
|
+
function pushNodeInputAsUserTurn(ctx, nodeInput) {
|
|
63
65
|
if (nodeInput === void 0 || nodeInput === null) {
|
|
64
|
-
return;
|
|
66
|
+
return void 0;
|
|
65
67
|
}
|
|
66
68
|
const userEvent = (0, import_event.createEvent)({
|
|
67
69
|
author: "user",
|
|
@@ -72,14 +74,17 @@ async function appendNodeInputAsUserTurn(ctx, nodeInput) {
|
|
|
72
74
|
if (ctx.isolationScope !== void 0) {
|
|
73
75
|
userEvent.isolationScope = ctx.isolationScope;
|
|
74
76
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
ctx.session.events.push(userEvent);
|
|
78
|
+
return userEvent;
|
|
79
|
+
}
|
|
80
|
+
__name(pushNodeInputAsUserTurn, "pushNodeInputAsUserTurn");
|
|
81
|
+
function removeEvent(events, event) {
|
|
82
|
+
const index = event ? events.indexOf(event) : -1;
|
|
83
|
+
if (index !== -1) {
|
|
84
|
+
events.splice(index, 1);
|
|
80
85
|
}
|
|
81
86
|
}
|
|
82
|
-
__name(
|
|
87
|
+
__name(removeEvent, "removeEvent");
|
|
83
88
|
async function* runTaskMode(ctx, agentIc, agent) {
|
|
84
89
|
var _a, _b;
|
|
85
90
|
const finishTool = agent.finishTaskTool;
|
|
@@ -42,7 +42,7 @@ const DEFAULT_MAX_DELAY_SECONDS = 60;
|
|
|
42
42
|
const DEFAULT_BACKOFF_FACTOR = 2;
|
|
43
43
|
const DEFAULT_JITTER = 1;
|
|
44
44
|
function errorNames(error) {
|
|
45
|
-
var _a;
|
|
45
|
+
var _a, _b, _c;
|
|
46
46
|
if (error instanceof Error) {
|
|
47
47
|
const names = [(_a = error.constructor) == null ? void 0 : _a.name, error.name].filter(
|
|
48
48
|
(name) => !!name
|
|
@@ -50,7 +50,7 @@ function errorNames(error) {
|
|
|
50
50
|
return [...new Set(names)];
|
|
51
51
|
}
|
|
52
52
|
if (typeof error === "object" && error !== null) {
|
|
53
|
-
return [error.constructor.name];
|
|
53
|
+
return [(_c = (_b = error.constructor) == null ? void 0 : _b.name) != null ? _c : "Object"];
|
|
54
54
|
}
|
|
55
55
|
return [typeof error];
|
|
56
56
|
}
|
|
@@ -37,8 +37,7 @@ __export(workflow_exports, {
|
|
|
37
37
|
isWorkflow: () => isWorkflow
|
|
38
38
|
});
|
|
39
39
|
module.exports = __toCommonJS(workflow_exports);
|
|
40
|
-
var
|
|
41
|
-
var import_tracing = require("../telemetry/tracing.js");
|
|
40
|
+
var import_instrumentation = require("../telemetry/api/instrumentation.js");
|
|
42
41
|
var import_experimental = require("../utils/experimental.js");
|
|
43
42
|
var import_base_node = require("./base_node.js");
|
|
44
43
|
var import_branch_path = require("./branch_path.js");
|
|
@@ -111,19 +110,20 @@ let Workflow = class extends (_b = import_base_node.BaseNode, _a = WORKFLOW_SIGN
|
|
|
111
110
|
dynamicState,
|
|
112
111
|
abort.controller.signal
|
|
113
112
|
);
|
|
114
|
-
const
|
|
113
|
+
const telemetryScope = (0, import_instrumentation.recordWorkflowInvocation)({
|
|
114
|
+
workflow: this,
|
|
115
|
+
sessionId: ctx.invocationContext.session.id
|
|
116
|
+
});
|
|
115
117
|
try {
|
|
116
|
-
await
|
|
117
|
-
(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return this.orchestrate(ctx, nodeInput, dynamicState, abort.controller);
|
|
123
|
-
});
|
|
118
|
+
await telemetryScope.run(
|
|
119
|
+
() => this.orchestrate(ctx, nodeInput, dynamicState, abort.controller)
|
|
120
|
+
);
|
|
121
|
+
} catch (error) {
|
|
122
|
+
telemetryScope.end(error);
|
|
123
|
+
throw error;
|
|
124
124
|
} finally {
|
|
125
125
|
abort.dispose();
|
|
126
|
-
|
|
126
|
+
telemetryScope.end();
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
/**
|