@google/adk 1.5.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_event.js +18 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +17 -4
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +9 -2
- package/dist/cjs/a2a/agent_card.js +33 -3
- package/dist/cjs/a2a/agent_executor.js +25 -16
- package/dist/cjs/a2a/agent_to_a2a.js +22 -11
- package/dist/cjs/a2a/auth.js +68 -0
- package/dist/cjs/a2a/event_converter_utils.js +50 -15
- package/dist/cjs/a2a/event_processor_utils.js +71 -35
- package/dist/cjs/a2a/executor_context.js +2 -0
- package/dist/cjs/a2a/index.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +46 -9
- package/dist/cjs/agents/context.js +5 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +58 -23
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +42 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +536 -45
- package/dist/cjs/agents/loop_agent.js +19 -2
- package/dist/cjs/agents/parallel_agent.js +21 -2
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -4
- package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -5
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +11 -25
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +8 -3
- package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +313 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +218 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +7 -3
- package/dist/cjs/agents/routed_agent.js +6 -13
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +20 -3
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +11 -11
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +21 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
- package/dist/cjs/artifacts/in_memory_artifact_service.js +19 -11
- package/dist/cjs/artifacts/registry.js +6 -1
- package/dist/cjs/artifacts/scoped_artifact_service.js +5 -2
- package/dist/cjs/auth/auth_handler.js +5 -2
- package/dist/cjs/auth/auth_preprocessor.js +48 -40
- package/dist/cjs/auth/auth_provider_registry.js +5 -2
- package/dist/cjs/auth/auth_schemes.js +2 -0
- package/dist/cjs/auth/credential_response_binding.js +101 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +19 -5
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +6 -0
- package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
- package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/cjs/code_executors/base_code_executor.js +6 -2
- package/dist/cjs/code_executors/built_in_code_executor.js +6 -2
- package/dist/cjs/code_executors/code_execution_utils.js +6 -0
- package/dist/cjs/code_executors/code_executor_context.js +5 -2
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +31 -14
- package/dist/cjs/common.js +112 -1
- package/dist/cjs/context/agent_controlled_context_compactor.js +7 -13
- package/dist/cjs/context/anchored_context_compactor.js +5 -2
- package/dist/cjs/context/compaction_utils.js +17 -2
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +11 -23
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +5 -2
- package/dist/cjs/context/truncating_context_compactor.js +5 -2
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -0
- package/dist/cjs/events/compacted_event.js +4 -0
- package/dist/cjs/events/event.js +38 -3
- package/dist/cjs/events/event_actions.js +5 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +6 -2
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +7 -22
- package/dist/cjs/integrations/agent_registry/agent_registry.js +7 -4
- package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
- package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
- package/dist/cjs/memory/in_memory_memory_service.js +21 -4
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +20 -2
- package/dist/cjs/models/apigee_llm.js +9 -3
- package/dist/cjs/models/base_llm.js +7 -3
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +24 -12
- package/dist/cjs/models/interactions_utils.js +16 -0
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +6 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/base_plugin.js +43 -7
- package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
- package/dist/cjs/plugins/logging_plugin.js +13 -8
- package/dist/cjs/plugins/plugin_manager.js +37 -2
- package/dist/cjs/plugins/security_plugin.js +15 -8
- package/dist/cjs/runner/in_memory_runner.js +5 -2
- package/dist/cjs/runner/runner.js +226 -29
- package/dist/cjs/sessions/base_session_service.js +21 -5
- package/dist/cjs/sessions/database_session_service.js +6 -2
- package/dist/cjs/sessions/db/operations.js +34 -6
- package/dist/cjs/sessions/db/schema.js +16 -8
- package/dist/cjs/sessions/in_memory_session_service.js +30 -22
- package/dist/cjs/sessions/registry.js +4 -1
- package/dist/cjs/sessions/session.js +2 -0
- package/dist/cjs/sessions/state.js +80 -8
- package/dist/cjs/sessions/state_write_order.js +105 -0
- package/dist/cjs/sessions/vertex_ai_session_service.js +132 -25
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +62 -16
- package/dist/cjs/skills/prompt.js +3 -0
- package/dist/cjs/telemetry/google_cloud.js +42 -9
- package/dist/cjs/telemetry/setup.js +5 -0
- package/dist/cjs/telemetry/tracing.js +60 -4
- package/dist/cjs/tools/agent_tool.js +6 -2
- package/dist/cjs/tools/base_tool.js +24 -2
- package/dist/cjs/tools/base_toolset.js +6 -2
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +6 -2
- package/dist/cjs/tools/example_tool.js +5 -2
- package/dist/cjs/tools/exit_loop_tool.js +5 -2
- package/dist/cjs/tools/finish_task_tool.js +119 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +5 -2
- package/dist/cjs/tools/function_tool.js +73 -8
- package/dist/cjs/tools/get_user_choice_tool.js +54 -0
- package/dist/cjs/tools/google_maps_grounding_tool.js +6 -2
- package/dist/cjs/tools/google_search_tool.js +5 -2
- package/dist/cjs/tools/load_artifacts_tool.js +8 -2
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +21 -1
- package/dist/cjs/tools/long_running_tool.js +5 -2
- package/dist/cjs/tools/mcp/index.js +39 -0
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_session_manager.js +69 -27
- package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +4 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/cjs/tools/preload_memory_tool.js +5 -2
- package/dist/cjs/tools/request_input_tool.js +56 -0
- package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/skill_toolset.js +35 -0
- package/dist/cjs/tools/tool_confirmation.js +26 -3
- package/dist/cjs/tools/url_context_tool.js +5 -2
- package/dist/cjs/tools/vertex_ai_search_tool.js +5 -2
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +5 -2
- package/dist/cjs/utils/async_hooks_shim.js +5 -2
- package/dist/cjs/utils/async_queue.js +45 -18
- package/dist/cjs/utils/branch_trie.js +2 -0
- package/dist/cjs/utils/case_utils.js +2 -0
- package/dist/cjs/utils/client_labels.js +5 -0
- package/dist/cjs/utils/crypto_shim.js +45 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +56 -13
- package/dist/cjs/utils/error_utils.js +128 -0
- package/dist/cjs/utils/experimental.js +9 -2
- package/dist/cjs/utils/failover_utils.js +3 -0
- package/dist/cjs/utils/file_extension_utils.js +3 -0
- package/dist/cjs/utils/file_utils.js +12 -4
- package/dist/cjs/utils/gemini_schema_util.js +6 -2
- package/dist/cjs/utils/genai_schema_to_json.js +107 -0
- package/dist/cjs/utils/live_connection_utils.js +5 -2
- package/dist/cjs/utils/logger.js +13 -4
- package/dist/cjs/utils/model_name.js +8 -0
- package/dist/cjs/utils/object_notation_utils.js +7 -3
- package/dist/cjs/utils/optional_peer.js +68 -0
- package/dist/cjs/utils/output_schema_utils.js +45 -0
- package/dist/cjs/utils/partial_copy.js +2 -0
- package/dist/cjs/utils/redact_uri.js +66 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- package/dist/cjs/utils/streaming_utils.js +14 -6
- package/dist/cjs/utils/task.js +7 -4
- package/dist/cjs/utils/variant_utils.js +3 -1
- package/dist/cjs/utils/vertex_ai_utils.js +6 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +211 -0
- package/dist/cjs/workflow/branch_path.js +108 -0
- package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
- package/dist/cjs/workflow/errors.js +178 -0
- package/dist/cjs/workflow/graph.js +158 -0
- package/dist/cjs/workflow/index.js +131 -0
- package/dist/cjs/workflow/node.js +65 -0
- package/dist/cjs/workflow/node_builders.js +68 -0
- package/dist/cjs/workflow/node_context.js +246 -0
- package/dist/cjs/workflow/node_error_event.js +86 -0
- package/dist/cjs/workflow/node_runner.js +459 -0
- package/dist/cjs/workflow/node_state.js +57 -0
- package/dist/cjs/workflow/node_status.js +48 -0
- package/dist/cjs/workflow/nodes/function_node.js +195 -0
- package/dist/cjs/workflow/nodes/join_node.js +56 -0
- package/dist/cjs/workflow/nodes/node_tool.js +156 -0
- package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
- package/dist/cjs/workflow/nodes/tool_node.js +117 -0
- package/dist/cjs/workflow/request_input.js +64 -0
- package/dist/cjs/workflow/retry_config.js +71 -0
- package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
- package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
- package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
- package/dist/cjs/workflow/trigger.js +27 -0
- package/dist/cjs/workflow/utils/graph_parser.js +212 -0
- package/dist/cjs/workflow/utils/graph_validation.js +216 -0
- package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
- package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
- package/dist/cjs/workflow/utils/retry_utils.js +112 -0
- package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
- package/dist/cjs/workflow/workflow.js +509 -0
- package/dist/esm/a2a/a2a_event.js +19 -0
- package/dist/esm/a2a/a2a_remote_agent.js +18 -4
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/esm/a2a/agent_card.js +34 -3
- package/dist/esm/a2a/agent_executor.js +27 -17
- package/dist/esm/a2a/agent_to_a2a.js +44 -16
- package/dist/esm/a2a/auth.js +41 -0
- package/dist/esm/a2a/event_converter_utils.js +51 -15
- package/dist/esm/a2a/event_processor_utils.js +74 -34
- package/dist/esm/a2a/executor_context.js +3 -0
- package/dist/esm/a2a/index.js +20 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +47 -9
- package/dist/esm/agents/context.js +6 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +62 -20
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +41 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +537 -45
- package/dist/esm/agents/loop_agent.js +21 -2
- package/dist/esm/agents/parallel_agent.js +23 -2
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/esm/agents/processors/base_llm_processor.js +10 -4
- package/dist/esm/agents/processors/basic_llm_request_processor.js +9 -4
- package/dist/esm/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +12 -25
- package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +9 -3
- package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +318 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +197 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +8 -3
- package/dist/esm/agents/routed_agent.js +6 -14
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +22 -3
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +14 -11
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +22 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
- package/dist/esm/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/esm/artifacts/registry.js +7 -1
- package/dist/esm/artifacts/scoped_artifact_service.js +6 -2
- package/dist/esm/auth/auth_handler.js +6 -2
- package/dist/esm/auth/auth_preprocessor.js +50 -41
- package/dist/esm/auth/auth_provider_registry.js +6 -2
- package/dist/esm/auth/auth_schemes.js +3 -0
- package/dist/esm/auth/credential_response_binding.js +74 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +20 -5
- package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/esm/code_executors/base_code_executor.js +7 -2
- package/dist/esm/code_executors/built_in_code_executor.js +7 -2
- package/dist/esm/code_executors/code_execution_utils.js +7 -0
- package/dist/esm/code_executors/code_executor_context.js +6 -2
- package/dist/esm/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/esm/common.js +113 -4
- package/dist/esm/context/agent_controlled_context_compactor.js +8 -13
- package/dist/esm/context/anchored_context_compactor.js +6 -2
- package/dist/esm/context/compaction_utils.js +16 -1
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +16 -24
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/esm/context/truncating_context_compactor.js +6 -2
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -0
- package/dist/esm/events/compacted_event.js +5 -0
- package/dist/esm/events/event.js +38 -3
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +7 -2
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +4 -13
- package/dist/esm/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
- package/dist/esm/integrations/agent_registry/helpers.js +4 -0
- package/dist/esm/memory/in_memory_memory_service.js +22 -4
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +25 -3
- package/dist/esm/models/apigee_llm.js +10 -3
- package/dist/esm/models/base_llm.js +8 -3
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +26 -13
- package/dist/esm/models/interactions_utils.js +17 -0
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +7 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/base_plugin.js +43 -7
- package/dist/esm/plugins/global_instruction_plugin.js +6 -2
- package/dist/esm/plugins/logging_plugin.js +14 -8
- package/dist/esm/plugins/plugin_manager.js +38 -2
- package/dist/esm/plugins/security_plugin.js +14 -6
- package/dist/esm/runner/in_memory_runner.js +6 -2
- package/dist/esm/runner/runner.js +233 -31
- package/dist/esm/sessions/base_session_service.js +22 -5
- package/dist/esm/sessions/database_session_service.js +7 -2
- package/dist/esm/sessions/db/operations.js +34 -6
- package/dist/esm/sessions/db/schema.js +16 -8
- package/dist/esm/sessions/in_memory_session_service.js +31 -22
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/session.js +3 -0
- package/dist/esm/sessions/state.js +78 -7
- package/dist/esm/sessions/state_write_order.js +74 -0
- package/dist/esm/sessions/vertex_ai_session_service.js +136 -26
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +63 -16
- package/dist/esm/skills/prompt.js +4 -0
- package/dist/esm/telemetry/google_cloud.js +54 -9
- package/dist/esm/telemetry/setup.js +6 -0
- package/dist/esm/telemetry/tracing.js +59 -4
- package/dist/esm/tools/agent_tool.js +7 -2
- package/dist/esm/tools/base_tool.js +25 -2
- package/dist/esm/tools/base_toolset.js +7 -2
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +7 -2
- package/dist/esm/tools/example_tool.js +6 -2
- package/dist/esm/tools/exit_loop_tool.js +6 -2
- package/dist/esm/tools/finish_task_tool.js +92 -0
- package/dist/esm/tools/forwarding_artifact_service.js +6 -2
- package/dist/esm/tools/function_tool.js +74 -8
- package/dist/esm/tools/get_user_choice_tool.js +27 -0
- package/dist/esm/tools/google_maps_grounding_tool.js +7 -2
- package/dist/esm/tools/google_search_tool.js +6 -2
- package/dist/esm/tools/load_artifacts_tool.js +9 -2
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +22 -1
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/esm/tools/mcp/index.js +11 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_session_manager.js +80 -30
- package/dist/esm/tools/mcp/mcp_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/esm/tools/preload_memory_tool.js +6 -2
- package/dist/esm/tools/request_input_tool.js +29 -0
- package/dist/esm/tools/skill/list_skills_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_tool.js +4 -1
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/esm/tools/skill/search_skills_tool.js +2 -0
- package/dist/esm/tools/skill/skill_toolset.js +25 -0
- package/dist/esm/tools/tool_confirmation.js +24 -2
- package/dist/esm/tools/url_context_tool.js +6 -2
- package/dist/esm/tools/vertex_ai_search_tool.js +6 -2
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/esm/utils/async_hooks_shim.js +6 -2
- package/dist/esm/utils/async_queue.js +46 -18
- package/dist/esm/utils/branch_trie.js +3 -0
- package/dist/esm/utils/case_utils.js +3 -0
- package/dist/esm/utils/client_labels.js +6 -0
- package/dist/esm/utils/crypto_shim.js +18 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +56 -13
- package/dist/esm/utils/error_utils.js +101 -0
- package/dist/esm/utils/experimental.js +10 -2
- package/dist/esm/utils/failover_utils.js +4 -0
- package/dist/esm/utils/file_extension_utils.js +4 -0
- package/dist/esm/utils/file_utils.js +13 -4
- package/dist/esm/utils/gemini_schema_util.js +7 -2
- package/dist/esm/utils/genai_schema_to_json.js +80 -0
- package/dist/esm/utils/live_connection_utils.js +6 -2
- package/dist/esm/utils/logger.js +14 -4
- package/dist/esm/utils/model_name.js +9 -0
- package/dist/esm/utils/object_notation_utils.js +8 -3
- package/dist/esm/utils/optional_peer.js +41 -0
- package/dist/esm/utils/output_schema_utils.js +18 -0
- package/dist/esm/utils/partial_copy.js +3 -0
- package/dist/esm/utils/redact_uri.js +39 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- package/dist/esm/utils/streaming_utils.js +15 -6
- package/dist/esm/utils/task.js +8 -4
- package/dist/esm/utils/variant_utils.js +5 -2
- package/dist/esm/utils/vertex_ai_utils.js +7 -2
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +182 -0
- package/dist/esm/workflow/branch_path.js +77 -0
- package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/esm/workflow/errors.js +140 -0
- package/dist/esm/workflow/graph.js +127 -0
- package/dist/esm/workflow/index.js +80 -0
- package/dist/esm/workflow/node.js +38 -0
- package/dist/esm/workflow/node_builders.js +40 -0
- package/dist/esm/workflow/node_context.js +219 -0
- package/dist/esm/workflow/node_error_event.js +57 -0
- package/dist/esm/workflow/node_runner.js +439 -0
- package/dist/esm/workflow/node_state.js +29 -0
- package/dist/esm/workflow/node_status.js +20 -0
- package/dist/esm/workflow/nodes/function_node.js +172 -0
- package/dist/esm/workflow/nodes/join_node.js +29 -0
- package/dist/esm/workflow/nodes/node_tool.js +131 -0
- package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
- package/dist/esm/workflow/nodes/tool_node.js +90 -0
- package/dist/esm/workflow/request_input.js +36 -0
- package/dist/esm/workflow/retry_config.js +43 -0
- package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
- package/dist/esm/workflow/run_node_as_invocation.js +139 -0
- package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
- package/dist/esm/workflow/trigger.js +7 -0
- package/dist/esm/workflow/utils/graph_parser.js +188 -0
- package/dist/esm/workflow/utils/graph_validation.js +189 -0
- package/dist/esm/workflow/utils/hitl_utils.js +222 -0
- package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
- package/dist/esm/workflow/utils/retry_utils.js +82 -0
- package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/esm/workflow/workflow.js +493 -0
- package/dist/types/a2a/agent_card.d.ts +3 -3
- package/dist/types/a2a/agent_to_a2a.d.ts +4 -4
- package/dist/types/a2a/auth.d.ts +30 -0
- package/dist/types/a2a/event_converter_utils.d.ts +4 -1
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/agents/base_agent.d.ts +37 -9
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +1 -2
- package/dist/types/agents/invocation_context.d.ts +95 -3
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +77 -1
- package/dist/types/agents/loop_agent.d.ts +5 -0
- package/dist/types/agents/parallel_agent.d.ts +5 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
- package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
- package/dist/types/agents/run_config.d.ts +57 -2
- package/dist/types/agents/sequential_agent.d.ts +5 -0
- package/dist/types/agents/user_input_request.d.ts +71 -0
- package/dist/types/apps/app.d.ts +8 -3
- package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
- package/dist/types/auth/credential_response_binding.d.ts +24 -0
- package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +11 -0
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +5 -1
- package/dist/types/common.d.ts +20 -8
- package/dist/types/context/agent_controlled_context_compactor.d.ts +0 -1
- package/dist/types/context/compaction_utils.d.ts +8 -0
- package/dist/types/context/token_based_context_compactor.d.ts +0 -1
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- package/dist/types/events/event.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +10 -0
- package/dist/types/index.d.ts +6 -13
- package/dist/types/memory/in_memory_memory_service.d.ts +11 -0
- package/dist/types/models/apigee_llm.d.ts +4 -4
- package/dist/types/models/google_llm.d.ts +2 -1
- package/dist/types/plugins/base_plugin.d.ts +39 -2
- package/dist/types/plugins/plugin_manager.d.ts +20 -0
- package/dist/types/plugins/security_plugin.d.ts +4 -2
- package/dist/types/runner/in_memory_runner.d.ts +2 -2
- package/dist/types/runner/runner.d.ts +59 -3
- package/dist/types/sessions/base_session_service.d.ts +10 -2
- package/dist/types/sessions/in_memory_session_service.d.ts +9 -0
- package/dist/types/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/sessions/vertex_ai_session_service.d.ts +19 -1
- package/dist/types/skills/loader.d.ts +5 -0
- package/dist/types/telemetry/tracing.d.ts +15 -0
- package/dist/types/tools/base_tool.d.ts +15 -0
- package/dist/types/tools/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/function_tool.d.ts +46 -1
- package/dist/types/tools/get_user_choice_tool.d.ts +14 -0
- package/dist/types/tools/mcp/index.d.ts +13 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
- package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
- package/dist/types/tools/request_input_tool.d.ts +20 -0
- package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
- package/dist/types/tools/tool_confirmation.d.ts +47 -0
- package/dist/types/utils/async_queue.d.ts +34 -2
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/deprecated.d.ts +21 -0
- package/dist/types/utils/env_aware_utils.d.ts +39 -0
- package/dist/types/utils/error_utils.d.ts +18 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/optional_peer.d.ts +36 -0
- package/dist/types/utils/output_schema_utils.d.ts +18 -0
- package/dist/types/utils/redact_uri.d.ts +28 -0
- package/dist/types/utils/schema.d.ts +73 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
- package/dist/types/utils/vertex_ai_utils.d.ts +5 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/workflow/base_node.d.ts +142 -0
- package/dist/types/workflow/branch_path.d.ts +40 -0
- package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
- package/dist/types/workflow/errors.d.ts +132 -0
- package/dist/types/workflow/graph.d.ts +127 -0
- package/dist/types/workflow/index.d.ts +46 -0
- package/dist/types/workflow/node.d.ts +48 -0
- package/dist/types/workflow/node_builders.d.ts +25 -0
- package/dist/types/workflow/node_context.d.ts +208 -0
- package/dist/types/workflow/node_error_event.d.ts +18 -0
- package/dist/types/workflow/node_runner.d.ts +82 -0
- package/dist/types/workflow/node_state.d.ts +47 -0
- package/dist/types/workflow/node_status.d.ts +28 -0
- package/dist/types/workflow/nodes/function_node.d.ts +78 -0
- package/dist/types/workflow/nodes/join_node.d.ts +24 -0
- package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
- package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
- package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
- package/dist/types/workflow/request_input.d.ts +73 -0
- package/dist/types/workflow/retry_config.d.ts +84 -0
- package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
- package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
- package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
- package/dist/types/workflow/trigger.d.ts +22 -0
- package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
- package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
- package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
- package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
- package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
- package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
- package/dist/types/workflow/workflow.d.ts +115 -0
- package/dist/web/a2a/a2a_event.js +19 -0
- package/dist/web/a2a/a2a_remote_agent.js +18 -4
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/web/a2a/agent_card.js +34 -3
- package/dist/web/a2a/agent_executor.js +45 -17
- package/dist/web/a2a/agent_to_a2a.js +44 -16
- package/dist/web/a2a/auth.js +41 -0
- package/dist/web/a2a/event_converter_utils.js +50 -15
- package/dist/web/a2a/event_processor_utils.js +73 -34
- package/dist/web/a2a/executor_context.js +3 -0
- package/dist/web/a2a/index.js +20 -0
- package/dist/web/a2a/metadata_converter_utils.js +5 -0
- package/dist/web/a2a/part_converter_utils.js +13 -0
- package/dist/web/agents/active_streaming_tool.js +6 -2
- package/dist/web/agents/base_agent.js +48 -9
- package/dist/web/agents/context.js +6 -2
- package/dist/web/agents/framework_function_calls.js +34 -0
- package/dist/web/agents/functions.js +62 -20
- package/dist/web/agents/instructions.js +52 -12
- package/dist/web/agents/invocation_context.js +56 -7
- package/dist/web/agents/live_request_queue.js +30 -5
- package/dist/web/agents/llm_agent.js +631 -52
- package/dist/web/agents/loop_agent.js +21 -2
- package/dist/web/agents/parallel_agent.js +23 -2
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/base_llm_processor.js +10 -4
- package/dist/web/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/web/agents/processors/content_processor_utils.js +87 -16
- package/dist/web/agents/processors/content_request_processor.js +12 -25
- package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/web/agents/processors/instructions_llm_request_processor.js +9 -3
- package/dist/web/agents/processors/interactions_request_processor.js +6 -2
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
- package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/web/agents/readonly_context.js +8 -3
- package/dist/web/agents/routed_agent.js +6 -14
- package/dist/web/agents/run_config.js +12 -0
- package/dist/web/agents/sequential_agent.js +22 -3
- package/dist/web/agents/user_input_request.js +135 -0
- package/dist/web/apps/app.js +14 -11
- package/dist/web/apps/resumability_config.js +2 -0
- package/dist/web/artifacts/file_artifact_service.js +22 -2
- package/dist/web/artifacts/gcs_artifact_service.js +56 -11
- package/dist/web/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/web/artifacts/registry.js +7 -1
- package/dist/web/artifacts/scoped_artifact_service.js +5 -2
- package/dist/web/auth/auth_handler.js +5 -2
- package/dist/web/auth/auth_preprocessor.js +50 -41
- package/dist/web/auth/auth_provider_registry.js +6 -2
- package/dist/web/auth/auth_schemes.js +3 -0
- package/dist/web/auth/credential_response_binding.js +91 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +20 -5
- package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/web/code_executors/base_code_executor.js +7 -2
- package/dist/web/code_executors/built_in_code_executor.js +7 -2
- package/dist/web/code_executors/code_execution_utils.js +7 -0
- package/dist/web/code_executors/code_executor_context.js +6 -2
- package/dist/web/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/web/common.js +113 -4
- package/dist/web/context/agent_controlled_context_compactor.js +8 -13
- package/dist/web/context/anchored_context_compactor.js +5 -2
- package/dist/web/context/compaction_utils.js +16 -1
- package/dist/web/context/summarizers/llm_summarizer.js +6 -2
- package/dist/web/context/token_based_context_compactor.js +16 -24
- package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/web/context/truncating_context_compactor.js +6 -2
- package/dist/web/environment/base_environment.js +71 -0
- package/dist/web/environment/local_environment.js +165 -0
- package/dist/web/events/compacted_event.js +4 -0
- package/dist/web/events/event.js +37 -3
- package/dist/web/events/event_actions.js +5 -0
- package/dist/web/events/structured_events.js +3 -0
- package/dist/web/examples/base_example_provider.js +7 -2
- package/dist/web/examples/example_util.js +4 -0
- package/dist/web/features/feature_registry.js +8 -0
- package/dist/web/index.js +4 -13
- package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
- package/dist/web/integrations/agent_registry/helpers.js +4 -0
- package/dist/web/memory/in_memory_memory_service.js +22 -4
- package/dist/web/memory/vertex_ai_memory_bank_service.js +24 -3
- package/dist/web/models/apigee_llm.js +9 -3
- package/dist/web/models/base_llm.js +8 -3
- package/dist/web/models/gemini_llm_connection.js +6 -2
- package/dist/web/models/google_llm.js +25 -13
- package/dist/web/models/interactions_utils.js +17 -0
- package/dist/web/models/llm_request.js +5 -0
- package/dist/web/models/llm_response.js +3 -0
- package/dist/web/models/registry.js +7 -2
- package/dist/web/models/routed_llm.js +4 -14
- package/dist/web/plugins/base_plugin.js +43 -7
- package/dist/web/plugins/global_instruction_plugin.js +6 -2
- package/dist/web/plugins/logging_plugin.js +14 -8
- package/dist/web/plugins/plugin_manager.js +38 -2
- package/dist/web/plugins/security_plugin.js +14 -6
- package/dist/web/runner/in_memory_runner.js +6 -2
- package/dist/web/runner/runner.js +249 -31
- package/dist/web/sessions/base_session_service.js +22 -5
- package/dist/web/sessions/database_session_service.js +6 -2
- package/dist/web/sessions/db/operations.js +34 -6
- package/dist/web/sessions/db/schema.js +16 -8
- package/dist/web/sessions/in_memory_session_service.js +31 -22
- package/dist/web/sessions/registry.js +5 -1
- package/dist/web/sessions/session.js +3 -0
- package/dist/web/sessions/state.js +77 -7
- package/dist/web/sessions/state_write_order.js +74 -0
- package/dist/web/sessions/vertex_ai_session_service.js +142 -26
- package/dist/web/skills/gcp_skill_registry.js +2 -0
- package/dist/web/skills/loader.js +62 -16
- package/dist/web/skills/prompt.js +4 -0
- package/dist/web/telemetry/google_cloud.js +54 -9
- package/dist/web/telemetry/setup.js +6 -0
- package/dist/web/telemetry/tracing.js +77 -7
- package/dist/web/tools/agent_tool.js +7 -2
- package/dist/web/tools/base_tool.js +25 -2
- package/dist/web/tools/base_toolset.js +7 -2
- package/dist/web/tools/consolidate_context_tool.js +6 -2
- package/dist/web/tools/enterprise_web_search_tool.js +7 -2
- package/dist/web/tools/example_tool.js +6 -2
- package/dist/web/tools/exit_loop_tool.js +6 -2
- package/dist/web/tools/finish_task_tool.js +92 -0
- package/dist/web/tools/forwarding_artifact_service.js +6 -2
- package/dist/web/tools/function_tool.js +74 -8
- package/dist/web/tools/get_user_choice_tool.js +27 -0
- package/dist/web/tools/google_maps_grounding_tool.js +7 -2
- package/dist/web/tools/google_search_tool.js +6 -2
- package/dist/web/tools/load_artifacts_tool.js +9 -2
- package/dist/web/tools/load_memory_tool.js +6 -2
- package/dist/web/tools/load_web_page.js +22 -1
- package/dist/web/tools/long_running_tool.js +5 -2
- package/dist/web/tools/mcp/index.js +11 -0
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_session_manager.js +80 -30
- package/dist/web/tools/mcp/mcp_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_toolset.js +5 -2
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/web/tools/preload_memory_tool.js +6 -2
- package/dist/web/tools/request_input_tool.js +29 -0
- package/dist/web/tools/skill/list_skills_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_tool.js +4 -1
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
- package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
- package/dist/web/tools/skill/search_skills_tool.js +2 -0
- package/dist/web/tools/skill/skill_toolset.js +25 -0
- package/dist/web/tools/tool_confirmation.js +24 -2
- package/dist/web/tools/url_context_tool.js +6 -2
- package/dist/web/tools/vertex_ai_search_tool.js +6 -2
- package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/web/utils/async_hooks_shim.js +6 -2
- package/dist/web/utils/async_queue.js +46 -18
- package/dist/web/utils/branch_trie.js +3 -0
- package/dist/web/utils/case_utils.js +3 -0
- package/dist/web/utils/client_labels.js +6 -0
- package/dist/web/utils/crypto_shim.js +18 -0
- package/dist/web/utils/deprecated.js +40 -0
- package/dist/web/utils/env_aware_utils.js +56 -13
- package/dist/web/utils/error_utils.js +101 -0
- package/dist/web/utils/experimental.js +10 -2
- package/dist/web/utils/failover_utils.js +4 -0
- package/dist/web/utils/file_extension_utils.js +4 -0
- package/dist/web/utils/file_utils.js +12 -4
- package/dist/web/utils/gemini_schema_util.js +6 -2
- package/dist/web/utils/genai_schema_to_json.js +80 -0
- package/dist/web/utils/live_connection_utils.js +5 -2
- package/dist/web/utils/logger.js +14 -4
- package/dist/web/utils/model_name.js +9 -0
- package/dist/web/utils/object_notation_utils.js +8 -3
- package/dist/web/utils/optional_peer.js +38 -0
- package/dist/web/utils/output_schema_utils.js +18 -0
- package/dist/web/utils/partial_copy.js +3 -0
- package/dist/web/utils/redact_uri.js +39 -0
- package/dist/web/utils/schema.js +167 -0
- package/dist/web/utils/simple_zod_to_json.js +15 -4
- package/dist/web/utils/streaming_utils.js +14 -6
- package/dist/web/utils/task.js +8 -4
- package/dist/web/utils/variant_utils.js +5 -2
- package/dist/web/utils/vertex_ai_utils.js +7 -2
- package/dist/web/version.js +1 -1
- package/dist/web/workflow/base_node.js +215 -0
- package/dist/web/workflow/branch_path.js +77 -0
- package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/web/workflow/errors.js +140 -0
- package/dist/web/workflow/graph.js +127 -0
- package/dist/web/workflow/index.js +80 -0
- package/dist/web/workflow/node.js +87 -0
- package/dist/web/workflow/node_builders.js +40 -0
- package/dist/web/workflow/node_context.js +236 -0
- package/dist/web/workflow/node_error_event.js +86 -0
- package/dist/web/workflow/node_runner.js +481 -0
- package/dist/web/workflow/node_state.js +43 -0
- package/dist/web/workflow/node_status.js +20 -0
- package/dist/web/workflow/nodes/function_node.js +221 -0
- package/dist/web/workflow/nodes/join_node.js +47 -0
- package/dist/web/workflow/nodes/node_tool.js +131 -0
- package/dist/web/workflow/nodes/parallel_worker.js +120 -0
- package/dist/web/workflow/nodes/tool_node.js +126 -0
- package/dist/web/workflow/request_input.js +36 -0
- package/dist/web/workflow/retry_config.js +43 -0
- package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
- package/dist/web/workflow/run_node_as_invocation.js +170 -0
- package/dist/web/workflow/schedule_dynamic_node.js +26 -0
- package/dist/web/workflow/trigger.js +7 -0
- package/dist/web/workflow/utils/graph_parser.js +188 -0
- package/dist/web/workflow/utils/graph_validation.js +189 -0
- package/dist/web/workflow/utils/hitl_utils.js +239 -0
- package/dist/web/workflow/utils/rehydration_utils.js +342 -0
- package/dist/web/workflow/utils/retry_utils.js +82 -0
- package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/web/workflow/workflow.js +529 -0
- package/package.json +82 -8
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -43,34 +45,38 @@ function toA2AMessage(event, {
|
|
|
43
45
|
metadata: getA2AEventMetadata(event, { appName, userId, sessionId })
|
|
44
46
|
};
|
|
45
47
|
}
|
|
46
|
-
|
|
48
|
+
__name(toA2AMessage, "toA2AMessage");
|
|
49
|
+
function toAdkEvent(event, invocationId, agentName, branch) {
|
|
47
50
|
if (isMessage(event)) {
|
|
48
|
-
return messageToAdkEvent(event, invocationId, agentName);
|
|
51
|
+
return messageToAdkEvent(event, invocationId, agentName, branch);
|
|
49
52
|
}
|
|
50
53
|
if (isTask(event)) {
|
|
51
|
-
return taskToAdkEvent(event, invocationId, agentName);
|
|
54
|
+
return taskToAdkEvent(event, invocationId, agentName, branch);
|
|
52
55
|
}
|
|
53
56
|
if (isTaskArtifactUpdateEvent(event)) {
|
|
54
|
-
return artifactUpdateToAdkEvent(event, invocationId, agentName);
|
|
57
|
+
return artifactUpdateToAdkEvent(event, invocationId, agentName, branch);
|
|
55
58
|
}
|
|
56
59
|
if (isTaskStatusUpdateEvent(event)) {
|
|
57
|
-
return event.final ? finalTaskStatusUpdateToAdkEvent(event, invocationId, agentName) : taskStatusUpdateToAdkEvent(event, invocationId, agentName);
|
|
60
|
+
return event.final ? finalTaskStatusUpdateToAdkEvent(event, invocationId, agentName, branch) : taskStatusUpdateToAdkEvent(event, invocationId, agentName, branch);
|
|
58
61
|
}
|
|
59
62
|
return void 0;
|
|
60
63
|
}
|
|
61
|
-
|
|
64
|
+
__name(toAdkEvent, "toAdkEvent");
|
|
65
|
+
function messageToAdkEvent(msg, invocationId, agentName, branch) {
|
|
62
66
|
const parts = toGenAIParts(msg.parts);
|
|
63
67
|
const content = parts.length === 0 ? void 0 : msg.role === MessageRole.USER ? createUserContent(parts) : createModelContent(parts);
|
|
64
68
|
return {
|
|
65
69
|
...createAdkEventFromMetadata(msg),
|
|
66
70
|
invocationId,
|
|
67
71
|
author: msg.role === MessageRole.USER ? MessageRole.USER : agentName,
|
|
72
|
+
branch,
|
|
68
73
|
content,
|
|
69
74
|
turnComplete: true,
|
|
70
75
|
partial: false
|
|
71
76
|
};
|
|
72
77
|
}
|
|
73
|
-
|
|
78
|
+
__name(messageToAdkEvent, "messageToAdkEvent");
|
|
79
|
+
function artifactUpdateToAdkEvent(a2aEvent, invocationId, agentName, branch) {
|
|
74
80
|
var _a;
|
|
75
81
|
const partsToConvert = ((_a = a2aEvent.artifact) == null ? void 0 : _a.parts) || [];
|
|
76
82
|
if (partsToConvert.length === 0) {
|
|
@@ -81,12 +87,14 @@ function artifactUpdateToAdkEvent(a2aEvent, invocationId, agentName) {
|
|
|
81
87
|
...createAdkEventFromMetadata(a2aEvent),
|
|
82
88
|
invocationId,
|
|
83
89
|
author: agentName,
|
|
90
|
+
branch,
|
|
84
91
|
content: createModelContent(toGenAIParts(partsToConvert)),
|
|
85
92
|
longRunningToolIds: getLongRunningToolIDs(partsToConvert),
|
|
86
93
|
partial
|
|
87
94
|
};
|
|
88
95
|
}
|
|
89
|
-
|
|
96
|
+
__name(artifactUpdateToAdkEvent, "artifactUpdateToAdkEvent");
|
|
97
|
+
function finalTaskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName, branch) {
|
|
90
98
|
var _a;
|
|
91
99
|
const partsToConvert = ((_a = a2aEvent.status.message) == null ? void 0 : _a.parts) || [];
|
|
92
100
|
if (partsToConvert.length === 0) {
|
|
@@ -99,13 +107,15 @@ function finalTaskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName) {
|
|
|
99
107
|
...createAdkEventFromMetadata(a2aEvent),
|
|
100
108
|
invocationId,
|
|
101
109
|
author: agentName,
|
|
110
|
+
branch,
|
|
102
111
|
errorMessage: isFailedTask ? getFailedTaskStatusUpdateEventError(a2aEvent) : void 0,
|
|
103
112
|
content: hasContent ? createModelContent(parts) : void 0,
|
|
104
113
|
longRunningToolIds: getLongRunningToolIDs(partsToConvert),
|
|
105
114
|
turnComplete: true
|
|
106
115
|
};
|
|
107
116
|
}
|
|
108
|
-
|
|
117
|
+
__name(finalTaskStatusUpdateToAdkEvent, "finalTaskStatusUpdateToAdkEvent");
|
|
118
|
+
function taskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName, branch) {
|
|
109
119
|
const msg = a2aEvent.status.message;
|
|
110
120
|
if (!msg) {
|
|
111
121
|
return void 0;
|
|
@@ -118,12 +128,14 @@ function taskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName) {
|
|
|
118
128
|
...createAdkEventFromMetadata(a2aEvent),
|
|
119
129
|
invocationId,
|
|
120
130
|
author: agentName,
|
|
131
|
+
branch,
|
|
121
132
|
content: createModelContent(parts),
|
|
122
133
|
turnComplete: false,
|
|
123
134
|
partial: true
|
|
124
135
|
};
|
|
125
136
|
}
|
|
126
|
-
|
|
137
|
+
__name(taskStatusUpdateToAdkEvent, "taskStatusUpdateToAdkEvent");
|
|
138
|
+
function taskToAdkEvent(a2aTask, invocationId, agentName, branch) {
|
|
127
139
|
var _a, _b;
|
|
128
140
|
const parts = [];
|
|
129
141
|
const longRunningToolIds = [];
|
|
@@ -151,16 +163,27 @@ function taskToAdkEvent(a2aTask, invocationId, agentName) {
|
|
|
151
163
|
...createAdkEventFromMetadata(a2aTask),
|
|
152
164
|
invocationId,
|
|
153
165
|
author: agentName,
|
|
166
|
+
branch,
|
|
154
167
|
content: isFailed ? void 0 : createModelContent(parts),
|
|
155
168
|
errorMessage: isFailed ? getFailedTaskStatusUpdateEventError(a2aTask) : void 0,
|
|
156
169
|
longRunningToolIds,
|
|
157
170
|
turnComplete: isTerminal
|
|
158
171
|
};
|
|
159
172
|
}
|
|
173
|
+
__name(taskToAdkEvent, "taskToAdkEvent");
|
|
174
|
+
const PEER_SETTABLE_ACTION_FIELDS = /* @__PURE__ */ new Set(["escalate"]);
|
|
160
175
|
function createAdkEventFromMetadata(a2aEvent) {
|
|
161
176
|
const metadata = a2aEvent.metadata || {};
|
|
162
177
|
return createEvent({
|
|
163
|
-
branch
|
|
178
|
+
// `branch` is intentionally NOT restored from peer metadata here (unlike
|
|
179
|
+
// the other fields below): it is the mechanism getContents() (see
|
|
180
|
+
// content_processor_utils.ts) uses to keep sibling sub-agent branches'
|
|
181
|
+
// conversation contexts isolated from each other. A remote A2A peer that
|
|
182
|
+
// controls its own outgoing metadata could otherwise forge `adk_branch`
|
|
183
|
+
// (set it to a shared ancestor branch, or omit it) to leak its content
|
|
184
|
+
// into an unrelated sibling agent's LLM context. Every caller of the
|
|
185
|
+
// `*ToAdkEvent` functions in this file force-sets `branch` from its own
|
|
186
|
+
// local `InvocationContext` instead, the same way `author` is handled.
|
|
164
187
|
author: metadata[A2AMetadataKeys.AUTHOR],
|
|
165
188
|
partial: metadata[A2AMetadataKeys.PARTIAL],
|
|
166
189
|
errorCode: metadata[A2AMetadataKeys.ERROR_CODE],
|
|
@@ -169,12 +192,24 @@ function createAdkEventFromMetadata(a2aEvent) {
|
|
|
169
192
|
groundingMetadata: metadata[A2AMetadataKeys.GROUNDING_METADATA],
|
|
170
193
|
usageMetadata: metadata[A2AMetadataKeys.USAGE_METADATA],
|
|
171
194
|
customMetadata: metadata[A2AMetadataKeys.CUSTOM_METADATA],
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
195
|
+
// Only fields in PEER_SETTABLE_ACTION_FIELDS may be restored from
|
|
196
|
+
// metadata a remote A2A peer controls. Every other action field either
|
|
197
|
+
// mutates the caller's own session or drives the caller's own control
|
|
198
|
+
// flow (e.g. `transferToAgent`, see llm_agent.ts), so it must never be
|
|
199
|
+
// rebuilt from peer-supplied data. Filtering through an allowlist here
|
|
200
|
+
// (rather than just omitting the unsafe field) means a future action
|
|
201
|
+
// field is unsafe-by-default: adding it to `candidateActions` alone
|
|
202
|
+
// does nothing until it's also added to the allowlist.
|
|
203
|
+
actions: createEventActions(
|
|
204
|
+
Object.fromEntries(
|
|
205
|
+
Object.entries({
|
|
206
|
+
escalate: !!metadata[A2AMetadataKeys.ESCALATE]
|
|
207
|
+
}).filter(([key]) => PEER_SETTABLE_ACTION_FIELDS.has(key))
|
|
208
|
+
)
|
|
209
|
+
)
|
|
176
210
|
});
|
|
177
211
|
}
|
|
212
|
+
__name(createAdkEventFromMetadata, "createAdkEventFromMetadata");
|
|
178
213
|
function getLongRunningToolIDs(parts) {
|
|
179
214
|
const ids = [];
|
|
180
215
|
for (const a2aPart of parts) {
|
|
@@ -187,6 +222,7 @@ function getLongRunningToolIDs(parts) {
|
|
|
187
222
|
}
|
|
188
223
|
return ids;
|
|
189
224
|
}
|
|
225
|
+
__name(getLongRunningToolIDs, "getLongRunningToolIDs");
|
|
190
226
|
export {
|
|
191
227
|
toA2AMessage,
|
|
192
228
|
toAdkEvent
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
6
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
9
|
*/
|
|
10
|
+
import {
|
|
11
|
+
getPendingUserInputRequests,
|
|
12
|
+
getUserInputRequests
|
|
13
|
+
} from "../agents/user_input_request.js";
|
|
8
14
|
import { createEventActions } from "../events/event_actions.js";
|
|
9
15
|
import {
|
|
10
16
|
createInputMissingErrorEvent,
|
|
@@ -58,6 +64,7 @@ function getFinalTaskStatusUpdate(adkEvents, context) {
|
|
|
58
64
|
}
|
|
59
65
|
});
|
|
60
66
|
}
|
|
67
|
+
__name(getFinalTaskStatusUpdate, "getFinalTaskStatusUpdate");
|
|
61
68
|
function scanForInputRequiredEvents(adkEvents, context) {
|
|
62
69
|
var _a, _b;
|
|
63
70
|
const inputRequiredParts = [];
|
|
@@ -95,6 +102,7 @@ function scanForInputRequiredEvents(adkEvents, context) {
|
|
|
95
102
|
}
|
|
96
103
|
return void 0;
|
|
97
104
|
}
|
|
105
|
+
__name(scanForInputRequiredEvents, "scanForInputRequiredEvents");
|
|
98
106
|
function getLongRunnningFunctionCallId(genAIPart, longRunningToolIds = [], inputRequiredParts = []) {
|
|
99
107
|
var _a, _b, _c;
|
|
100
108
|
const functionCallId = (_a = genAIPart.functionCall) == null ? void 0 : _a.id;
|
|
@@ -115,47 +123,79 @@ function getLongRunnningFunctionCallId(genAIPart, longRunningToolIds = [], input
|
|
|
115
123
|
}
|
|
116
124
|
return;
|
|
117
125
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
126
|
+
__name(getLongRunnningFunctionCallId, "getLongRunnningFunctionCallId");
|
|
127
|
+
function getUnansweredRequestEvent(options) {
|
|
128
|
+
var _a, _b, _c;
|
|
129
|
+
const { taskId, contextId, task, sessionEvents, genAIContent } = options;
|
|
130
|
+
const pending = pendingRequestParts(task, sessionEvents);
|
|
131
|
+
const answered = new Set(
|
|
132
|
+
((_a = genAIContent == null ? void 0 : genAIContent.parts) != null ? _a : []).map((part) => {
|
|
133
|
+
var _a2;
|
|
134
|
+
return (_a2 = part.functionResponse) == null ? void 0 : _a2.id;
|
|
135
|
+
}).filter((id) => !!id)
|
|
136
|
+
);
|
|
137
|
+
const missingId = [...pending.keys()].find((id) => !answered.has(id));
|
|
138
|
+
if (!missingId) {
|
|
121
139
|
return void 0;
|
|
122
140
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
141
|
+
return createInputMissingErrorEvent({
|
|
142
|
+
taskId: (_b = task == null ? void 0 : task.id) != null ? _b : taskId,
|
|
143
|
+
contextId: (_c = task == null ? void 0 : task.contextId) != null ? _c : contextId,
|
|
144
|
+
parts: [
|
|
145
|
+
...toA2AParts([...pending.values()]),
|
|
146
|
+
{
|
|
147
|
+
kind: "text",
|
|
148
|
+
text: `No input provided for function call id ${missingId}`,
|
|
149
|
+
metadata: {
|
|
150
|
+
validation_error: true
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
__name(getUnansweredRequestEvent, "getUnansweredRequestEvent");
|
|
157
|
+
function pendingRequestParts(task, sessionEvents) {
|
|
158
|
+
var _a, _b, _c, _d, _e, _f;
|
|
159
|
+
const pending = /* @__PURE__ */ new Map();
|
|
160
|
+
if (task && isInputRequiredTaskStatusUpdateEvent(task) && task.status.message) {
|
|
161
|
+
for (const part of toGenAIParts(task.status.message.parts)) {
|
|
162
|
+
if ((_a = part.functionCall) == null ? void 0 : _a.id) {
|
|
163
|
+
pending.set(part.functionCall.id, part);
|
|
164
|
+
}
|
|
129
165
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
166
|
+
}
|
|
167
|
+
const pendingIds = new Set(
|
|
168
|
+
getPendingUserInputRequests(sessionEvents).map(
|
|
169
|
+
(request) => request.interruptId
|
|
170
|
+
)
|
|
171
|
+
);
|
|
172
|
+
for (const event of sessionEvents) {
|
|
173
|
+
for (const part of (_c = (_b = event.content) == null ? void 0 : _b.parts) != null ? _c : []) {
|
|
174
|
+
const id = interruptIdOfPart(event, part);
|
|
175
|
+
if (id && pendingIds.has(id)) {
|
|
176
|
+
pending.set(id, part);
|
|
134
177
|
}
|
|
135
|
-
);
|
|
136
|
-
if (!hasMatchingResponse) {
|
|
137
|
-
return createInputMissingErrorEvent({
|
|
138
|
-
taskId: task.id,
|
|
139
|
-
contextId: task.contextId,
|
|
140
|
-
parts: [
|
|
141
|
-
...statusMsg.parts.filter((p) => {
|
|
142
|
-
var _a2;
|
|
143
|
-
return !((_a2 = p.metadata) == null ? void 0 : _a2.validation_error);
|
|
144
|
-
}),
|
|
145
|
-
{
|
|
146
|
-
kind: "text",
|
|
147
|
-
text: `No input provided for function call id ${functionCallId}`,
|
|
148
|
-
metadata: {
|
|
149
|
-
validation_error: true
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
]
|
|
153
|
-
});
|
|
154
178
|
}
|
|
155
179
|
}
|
|
156
|
-
|
|
180
|
+
for (const event of sessionEvents) {
|
|
181
|
+
for (const part of (_e = (_d = event.content) == null ? void 0 : _d.parts) != null ? _e : []) {
|
|
182
|
+
if ((_f = part.functionResponse) == null ? void 0 : _f.id) {
|
|
183
|
+
pending.delete(part.functionResponse.id);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return pending;
|
|
188
|
+
}
|
|
189
|
+
__name(pendingRequestParts, "pendingRequestParts");
|
|
190
|
+
function interruptIdOfPart(event, part) {
|
|
191
|
+
if (!part.functionCall) {
|
|
192
|
+
return void 0;
|
|
193
|
+
}
|
|
194
|
+
const [request] = getUserInputRequests({ ...event, content: { parts: [part] } });
|
|
195
|
+
return request == null ? void 0 : request.interruptId;
|
|
157
196
|
}
|
|
197
|
+
__name(interruptIdOfPart, "interruptIdOfPart");
|
|
158
198
|
export {
|
|
159
199
|
getFinalTaskStatusUpdate,
|
|
160
|
-
|
|
200
|
+
getUnansweredRequestEvent
|
|
161
201
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -20,6 +22,7 @@ function createExecutorContext({
|
|
|
20
22
|
requestContext
|
|
21
23
|
};
|
|
22
24
|
}
|
|
25
|
+
__name(createExecutorContext, "createExecutorContext");
|
|
23
26
|
export {
|
|
24
27
|
createExecutorContext
|
|
25
28
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
|
+
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
/**
|
|
4
|
+
* @license
|
|
5
|
+
* Copyright 2026 Google LLC
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
*/
|
|
8
|
+
import { AGENT_CARD_PATH, RemoteA2AAgent } from "./a2a_remote_agent.js";
|
|
9
|
+
import { getA2AAgentCard } from "./agent_card.js";
|
|
10
|
+
import { A2AAgentExecutor } from "./agent_executor.js";
|
|
11
|
+
import { toA2a } from "./agent_to_a2a.js";
|
|
12
|
+
import { bearerTokenUserBuilder } from "./auth.js";
|
|
13
|
+
export {
|
|
14
|
+
A2AAgentExecutor,
|
|
15
|
+
AGENT_CARD_PATH,
|
|
16
|
+
RemoteA2AAgent,
|
|
17
|
+
bearerTokenUserBuilder,
|
|
18
|
+
getA2AAgentCard,
|
|
19
|
+
toA2a
|
|
20
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -41,6 +43,7 @@ function getAdkEventMetadata(a2aEvent) {
|
|
|
41
43
|
[AdkMetadataKeys.CONTEXT_ID]: a2aEvent.contextId
|
|
42
44
|
};
|
|
43
45
|
}
|
|
46
|
+
__name(getAdkEventMetadata, "getAdkEventMetadata");
|
|
44
47
|
function getA2AEventMetadata(adkEvent, {
|
|
45
48
|
appName,
|
|
46
49
|
userId,
|
|
@@ -66,6 +69,7 @@ function getA2AEventMetadata(adkEvent, {
|
|
|
66
69
|
[A2AMetadataKeys.IS_LONG_RUNNING]: (adkEvent.longRunningToolIds || []).length > 0
|
|
67
70
|
};
|
|
68
71
|
}
|
|
72
|
+
__name(getA2AEventMetadata, "getA2AEventMetadata");
|
|
69
73
|
function getA2ASessionMetadata({
|
|
70
74
|
appName,
|
|
71
75
|
userId,
|
|
@@ -77,12 +81,14 @@ function getA2ASessionMetadata({
|
|
|
77
81
|
[A2AMetadataKeys.SESSION_ID]: sessionId
|
|
78
82
|
};
|
|
79
83
|
}
|
|
84
|
+
__name(getA2ASessionMetadata, "getA2ASessionMetadata");
|
|
80
85
|
function getA2AEventMetadataFromActions(actions) {
|
|
81
86
|
return {
|
|
82
87
|
[A2AMetadataKeys.ESCALATE]: actions.escalate,
|
|
83
88
|
[A2AMetadataKeys.TRANSFER_TO_AGENT]: actions.transferToAgent
|
|
84
89
|
};
|
|
85
90
|
}
|
|
91
|
+
__name(getA2AEventMetadataFromActions, "getA2AEventMetadataFromActions");
|
|
86
92
|
export {
|
|
87
93
|
A2AMetadataKeys,
|
|
88
94
|
AdkMetadataKeys,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -20,6 +22,7 @@ var DataPartType = /* @__PURE__ */ ((DataPartType2) => {
|
|
|
20
22
|
function toA2AParts(parts = [], longRunningToolIDs = []) {
|
|
21
23
|
return parts.map((part) => toA2APart(part, longRunningToolIDs));
|
|
22
24
|
}
|
|
25
|
+
__name(toA2AParts, "toA2AParts");
|
|
23
26
|
function toA2APart(part, longRunningToolIDs) {
|
|
24
27
|
if (part.text !== void 0 && part.text !== null) {
|
|
25
28
|
return toA2ATextPart(part);
|
|
@@ -29,6 +32,7 @@ function toA2APart(part, longRunningToolIDs) {
|
|
|
29
32
|
}
|
|
30
33
|
return toA2ADataPart(part, longRunningToolIDs);
|
|
31
34
|
}
|
|
35
|
+
__name(toA2APart, "toA2APart");
|
|
32
36
|
function toA2ATextPart(part) {
|
|
33
37
|
const a2aPart = { kind: "text", text: part.text || "" };
|
|
34
38
|
if (part.thought) {
|
|
@@ -38,6 +42,7 @@ function toA2ATextPart(part) {
|
|
|
38
42
|
}
|
|
39
43
|
return a2aPart;
|
|
40
44
|
}
|
|
45
|
+
__name(toA2ATextPart, "toA2ATextPart");
|
|
41
46
|
function toA2AFilePart(part) {
|
|
42
47
|
const metadata = {};
|
|
43
48
|
if (part.videoMetadata) {
|
|
@@ -65,6 +70,7 @@ function toA2AFilePart(part) {
|
|
|
65
70
|
}
|
|
66
71
|
throw new Error(`Not a file part: ${JSON.stringify(part)}`);
|
|
67
72
|
}
|
|
73
|
+
__name(toA2AFilePart, "toA2AFilePart");
|
|
68
74
|
function toA2ADataPart(part, longRunningToolIDs = []) {
|
|
69
75
|
let dataPartType;
|
|
70
76
|
let data;
|
|
@@ -102,13 +108,16 @@ function toA2ADataPart(part, longRunningToolIDs = []) {
|
|
|
102
108
|
metadata
|
|
103
109
|
};
|
|
104
110
|
}
|
|
111
|
+
__name(toA2ADataPart, "toA2ADataPart");
|
|
105
112
|
function toGenAIContent(a2aMessage) {
|
|
106
113
|
const parts = toGenAIParts(a2aMessage.parts);
|
|
107
114
|
return a2aMessage.role === "user" ? createUserContent(parts) : createModelContent(parts);
|
|
108
115
|
}
|
|
116
|
+
__name(toGenAIContent, "toGenAIContent");
|
|
109
117
|
function toGenAIParts(a2aParts) {
|
|
110
118
|
return a2aParts.map((a2aPart) => toGenAIPart(a2aPart));
|
|
111
119
|
}
|
|
120
|
+
__name(toGenAIParts, "toGenAIParts");
|
|
112
121
|
function toGenAIPart(a2aPart) {
|
|
113
122
|
if (a2aPart.kind === "text") {
|
|
114
123
|
return toGenAIPartText(a2aPart);
|
|
@@ -121,6 +130,7 @@ function toGenAIPart(a2aPart) {
|
|
|
121
130
|
}
|
|
122
131
|
throw new Error(`Unknown part kind: ${JSON.stringify(a2aPart)}`);
|
|
123
132
|
}
|
|
133
|
+
__name(toGenAIPart, "toGenAIPart");
|
|
124
134
|
function toGenAIPartText(a2aPart) {
|
|
125
135
|
var _a;
|
|
126
136
|
return {
|
|
@@ -128,6 +138,7 @@ function toGenAIPartText(a2aPart) {
|
|
|
128
138
|
thought: !!((_a = a2aPart.metadata) == null ? void 0 : _a[A2AMetadataKeys.THOUGHT])
|
|
129
139
|
};
|
|
130
140
|
}
|
|
141
|
+
__name(toGenAIPartText, "toGenAIPartText");
|
|
131
142
|
function toGenAIPartFile(a2aPart) {
|
|
132
143
|
var _a;
|
|
133
144
|
const part = {};
|
|
@@ -150,6 +161,7 @@ function toGenAIPartFile(a2aPart) {
|
|
|
150
161
|
}
|
|
151
162
|
throw new Error(`Not a file part: ${JSON.stringify(a2aPart)}`);
|
|
152
163
|
}
|
|
164
|
+
__name(toGenAIPartFile, "toGenAIPartFile");
|
|
153
165
|
function toGenAIPartData(a2aPart) {
|
|
154
166
|
var _a;
|
|
155
167
|
if (!a2aPart.data) {
|
|
@@ -173,6 +185,7 @@ function toGenAIPartData(a2aPart) {
|
|
|
173
185
|
text: JSON.stringify(a2aPart.data)
|
|
174
186
|
};
|
|
175
187
|
}
|
|
188
|
+
__name(toGenAIPartData, "toGenAIPartData");
|
|
176
189
|
export {
|
|
177
190
|
toA2ADataPart,
|
|
178
191
|
toA2AFilePart,
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
6
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
9
|
*/
|
|
8
10
|
import { Task } from "../utils/task.js";
|
|
9
|
-
class
|
|
11
|
+
const _ActiveStreamingTool = class _ActiveStreamingTool {
|
|
10
12
|
constructor(params = {}) {
|
|
11
13
|
if (params.task instanceof Promise) {
|
|
12
14
|
this.task = new Task(() => params.task);
|
|
@@ -15,7 +17,9 @@ class ActiveStreamingTool {
|
|
|
15
17
|
}
|
|
16
18
|
this.stream = params.stream;
|
|
17
19
|
}
|
|
18
|
-
}
|
|
20
|
+
};
|
|
21
|
+
__name(_ActiveStreamingTool, "ActiveStreamingTool");
|
|
22
|
+
let ActiveStreamingTool = _ActiveStreamingTool;
|
|
19
23
|
export {
|
|
20
24
|
ActiveStreamingTool
|
|
21
25
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
6
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
9
|
*/
|
|
8
|
-
var _a;
|
|
10
|
+
var _a, _b;
|
|
9
11
|
import { context, trace } from "@opentelemetry/api";
|
|
10
12
|
import { createEvent } from "../events/event.js";
|
|
11
13
|
import {
|
|
@@ -13,22 +15,23 @@ import {
|
|
|
13
15
|
traceAgentInvocation,
|
|
14
16
|
tracer
|
|
15
17
|
} from "../telemetry/tracing.js";
|
|
18
|
+
import { BaseNode } from "../workflow/base_node.js";
|
|
16
19
|
import { Context } from "./context.js";
|
|
17
20
|
import { InvocationContext } from "./invocation_context.js";
|
|
18
21
|
const BASE_AGENT_SIGNATURE_SYMBOL = Symbol.for("google.adk.baseAgent");
|
|
19
22
|
function isBaseAgent(obj) {
|
|
20
23
|
return typeof obj === "object" && obj !== null && BASE_AGENT_SIGNATURE_SYMBOL in obj && obj[BASE_AGENT_SIGNATURE_SYMBOL] === true;
|
|
21
24
|
}
|
|
22
|
-
|
|
23
|
-
class
|
|
25
|
+
__name(isBaseAgent, "isBaseAgent");
|
|
26
|
+
const _BaseAgent = class _BaseAgent extends (_b = BaseNode, _a = BASE_AGENT_SIGNATURE_SYMBOL, _b) {
|
|
24
27
|
constructor(config) {
|
|
28
|
+
super({ ...config, name: validateAgentName(config.name) });
|
|
25
29
|
/**
|
|
26
30
|
* A unique symbol to identify ADK agent classes.
|
|
27
31
|
*/
|
|
28
32
|
this[_a] = true;
|
|
29
33
|
this.config = { ...config };
|
|
30
34
|
this.name = validateAgentName(config.name);
|
|
31
|
-
this.description = config.description;
|
|
32
35
|
this.parentAgent = config.parentAgent;
|
|
33
36
|
this.subAgents = config.subAgents || [];
|
|
34
37
|
this.beforeAgentCallback = getCannonicalCallback(
|
|
@@ -37,6 +40,10 @@ class BaseAgent {
|
|
|
37
40
|
this.afterAgentCallback = getCannonicalCallback(config.afterAgentCallback);
|
|
38
41
|
this.setParentAgentForSubAgents();
|
|
39
42
|
}
|
|
43
|
+
// `description` is inherited from BaseNode, which declares it `string` and
|
|
44
|
+
// defaults it to ''. It used to be `string | undefined` here; every consumer
|
|
45
|
+
// already coalesced (`agent.description || ''`), so the default is
|
|
46
|
+
// equivalent for them.
|
|
40
47
|
/**
|
|
41
48
|
* Root agent of this agent.
|
|
42
49
|
* Computed dynamically by traversing up the parent chain.
|
|
@@ -97,7 +104,7 @@ class BaseAgent {
|
|
|
97
104
|
ctx,
|
|
98
105
|
this,
|
|
99
106
|
async function* () {
|
|
100
|
-
var _a2,
|
|
107
|
+
var _a2, _b2;
|
|
101
108
|
const context2 = this.createInvocationContext(parentContext);
|
|
102
109
|
const beforeAgentCallbackEvent = await this.handleBeforeAgentCallback(context2);
|
|
103
110
|
if (beforeAgentCallbackEvent) {
|
|
@@ -110,7 +117,7 @@ class BaseAgent {
|
|
|
110
117
|
for await (const event of this.runAsyncImpl(context2)) {
|
|
111
118
|
yield event;
|
|
112
119
|
}
|
|
113
|
-
if (context2.endInvocation || ((
|
|
120
|
+
if (context2.endInvocation || ((_b2 = parentContext.abortSignal) == null ? void 0 : _b2.aborted)) {
|
|
114
121
|
return;
|
|
115
122
|
}
|
|
116
123
|
const afterAgentCallbackEvent = await this.handleAfterAgentCallback(context2);
|
|
@@ -123,6 +130,31 @@ class BaseAgent {
|
|
|
123
130
|
span.end();
|
|
124
131
|
}
|
|
125
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Runs this agent as a workflow node.
|
|
135
|
+
*
|
|
136
|
+
* The node runner calls this; it delegates to {@link runAsync}, so an agent
|
|
137
|
+
* behaves identically whether it is run directly or as a node. Mirrors
|
|
138
|
+
* adk-python `BaseAgent._run_impl`.
|
|
139
|
+
*
|
|
140
|
+
* The invocation context comes from {@link NodeContext.getInvocationContext}
|
|
141
|
+
* rather than the raw field, so the agent runs against whatever view of the
|
|
142
|
+
* session the workflow wants it to see.
|
|
143
|
+
*
|
|
144
|
+
* Unlike adk-python's `_run_impl`, nothing is stamped onto the events here.
|
|
145
|
+
* Python has to fix up the author and the node path because it authors
|
|
146
|
+
* in-workflow events as the workflow itself; the TypeScript node runner
|
|
147
|
+
* already owns both (`enrichEvent` keeps an author the node set, and always
|
|
148
|
+
* stamps the true node path), so repeating it would be dead code.
|
|
149
|
+
*
|
|
150
|
+
* `nodeInput` is intentionally unused: an agent's input is its conversation,
|
|
151
|
+
* which the workflow supplies through the session. A node that needs to read
|
|
152
|
+
* its input — an `LlmAgent` injecting it into the prompt, say — does so in
|
|
153
|
+
* its own wrapper.
|
|
154
|
+
*/
|
|
155
|
+
async *runImpl(ctx, _nodeInput) {
|
|
156
|
+
yield* this.runAsync(ctx.getInvocationContext());
|
|
157
|
+
}
|
|
126
158
|
/**
|
|
127
159
|
* Entry method to run an agent via video/audio-based conversation.
|
|
128
160
|
*
|
|
@@ -138,7 +170,7 @@ class BaseAgent {
|
|
|
138
170
|
ctx,
|
|
139
171
|
this,
|
|
140
172
|
async function* () {
|
|
141
|
-
var _a2,
|
|
173
|
+
var _a2, _b2;
|
|
142
174
|
const context2 = this.createInvocationContext(parentContext);
|
|
143
175
|
const beforeAgentCallbackEvent = await this.handleBeforeAgentCallback(context2);
|
|
144
176
|
if (beforeAgentCallbackEvent) {
|
|
@@ -150,7 +182,7 @@ class BaseAgent {
|
|
|
150
182
|
for await (const event of this.runLiveImpl(context2)) {
|
|
151
183
|
yield event;
|
|
152
184
|
}
|
|
153
|
-
if (context2.endInvocation || ((
|
|
185
|
+
if (context2.endInvocation || ((_b2 = parentContext.abortSignal) == null ? void 0 : _b2.aborted)) {
|
|
154
186
|
return;
|
|
155
187
|
}
|
|
156
188
|
const afterAgentCallbackEvent = await this.handleAfterAgentCallback(context2);
|
|
@@ -289,7 +321,9 @@ class BaseAgent {
|
|
|
289
321
|
subAgent.parentAgent = this;
|
|
290
322
|
}
|
|
291
323
|
}
|
|
292
|
-
}
|
|
324
|
+
};
|
|
325
|
+
__name(_BaseAgent, "BaseAgent");
|
|
326
|
+
let BaseAgent = _BaseAgent;
|
|
293
327
|
function validateAgentName(name) {
|
|
294
328
|
if (!isIdentifier(name)) {
|
|
295
329
|
throw new Error(
|
|
@@ -303,21 +337,25 @@ function validateAgentName(name) {
|
|
|
303
337
|
}
|
|
304
338
|
return name;
|
|
305
339
|
}
|
|
340
|
+
__name(validateAgentName, "validateAgentName");
|
|
306
341
|
function isIdentifier(str) {
|
|
307
342
|
return /^[\p{ID_Start}$_][\p{ID_Continue}$_-]*$/u.test(str);
|
|
308
343
|
}
|
|
344
|
+
__name(isIdentifier, "isIdentifier");
|
|
309
345
|
function getRootAgent(rootAgent) {
|
|
310
346
|
while (rootAgent.parentAgent) {
|
|
311
347
|
rootAgent = rootAgent.parentAgent;
|
|
312
348
|
}
|
|
313
349
|
return rootAgent;
|
|
314
350
|
}
|
|
351
|
+
__name(getRootAgent, "getRootAgent");
|
|
315
352
|
function getCannonicalCallback(callbacks) {
|
|
316
353
|
if (!callbacks) {
|
|
317
354
|
return [];
|
|
318
355
|
}
|
|
319
356
|
return Array.isArray(callbacks) ? callbacks : [callbacks];
|
|
320
357
|
}
|
|
358
|
+
__name(getCannonicalCallback, "getCannonicalCallback");
|
|
321
359
|
export {
|
|
322
360
|
BaseAgent,
|
|
323
361
|
getCannonicalCallback,
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2025 Google LLC
|
|
@@ -10,7 +12,7 @@ import { createEventActions } from "../events/event_actions.js";
|
|
|
10
12
|
import { State } from "../sessions/state.js";
|
|
11
13
|
import { ToolConfirmation } from "../tools/tool_confirmation.js";
|
|
12
14
|
import { ReadonlyContext } from "./readonly_context.js";
|
|
13
|
-
class
|
|
15
|
+
const _Context = class _Context extends ReadonlyContext {
|
|
14
16
|
/**
|
|
15
17
|
* @param options The configuration options for the Context.
|
|
16
18
|
* @param options.invocationContext The invocation context.
|
|
@@ -136,7 +138,9 @@ class Context extends ReadonlyContext {
|
|
|
136
138
|
payload
|
|
137
139
|
});
|
|
138
140
|
}
|
|
139
|
-
}
|
|
141
|
+
};
|
|
142
|
+
__name(_Context, "Context");
|
|
143
|
+
let Context = _Context;
|
|
140
144
|
export {
|
|
141
145
|
Context
|
|
142
146
|
};
|