@google/adk 1.6.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_event.js +18 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +5 -2
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +9 -2
- package/dist/cjs/a2a/agent_card.js +33 -3
- package/dist/cjs/a2a/agent_executor.js +25 -16
- package/dist/cjs/a2a/agent_to_a2a.js +22 -10
- package/dist/cjs/a2a/auth.js +3 -0
- package/dist/cjs/a2a/event_converter_utils.js +10 -0
- package/dist/cjs/a2a/event_processor_utils.js +71 -35
- package/dist/cjs/a2a/executor_context.js +2 -0
- package/dist/cjs/a2a/index.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +46 -9
- package/dist/cjs/agents/context.js +5 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +38 -16
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +42 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +535 -45
- package/dist/cjs/agents/loop_agent.js +19 -2
- package/dist/cjs/agents/parallel_agent.js +21 -2
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -4
- package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +6 -3
- package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -5
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +9 -4
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +5 -2
- package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +313 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +218 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +7 -3
- package/dist/cjs/agents/routed_agent.js +6 -13
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +20 -3
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +11 -11
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +21 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
- package/dist/cjs/artifacts/in_memory_artifact_service.js +9 -2
- package/dist/cjs/artifacts/registry.js +6 -1
- package/dist/cjs/artifacts/scoped_artifact_service.js +5 -2
- package/dist/cjs/auth/auth_handler.js +5 -2
- package/dist/cjs/auth/auth_preprocessor.js +48 -40
- package/dist/cjs/auth/auth_provider_registry.js +5 -2
- package/dist/cjs/auth/auth_schemes.js +2 -0
- package/dist/cjs/auth/credential_response_binding.js +101 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +5 -2
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +6 -0
- package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
- package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/cjs/code_executors/base_code_executor.js +6 -2
- package/dist/cjs/code_executors/built_in_code_executor.js +6 -2
- package/dist/cjs/code_executors/code_execution_utils.js +6 -0
- package/dist/cjs/code_executors/code_executor_context.js +5 -2
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +8 -2
- package/dist/cjs/common.js +106 -1
- package/dist/cjs/context/agent_controlled_context_compactor.js +5 -2
- package/dist/cjs/context/anchored_context_compactor.js +5 -2
- package/dist/cjs/context/compaction_utils.js +3 -0
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +9 -3
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +5 -2
- package/dist/cjs/context/truncating_context_compactor.js +5 -2
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -0
- package/dist/cjs/events/compacted_event.js +4 -0
- package/dist/cjs/events/event.js +38 -3
- package/dist/cjs/events/event_actions.js +5 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +6 -2
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +7 -25
- package/dist/cjs/integrations/agent_registry/agent_registry.js +7 -4
- package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
- package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
- package/dist/cjs/memory/in_memory_memory_service.js +8 -2
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +17 -2
- package/dist/cjs/models/apigee_llm.js +9 -3
- package/dist/cjs/models/base_llm.js +7 -3
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +24 -12
- package/dist/cjs/models/interactions_utils.js +16 -0
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +6 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/base_plugin.js +39 -5
- package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
- package/dist/cjs/plugins/logging_plugin.js +13 -8
- package/dist/cjs/plugins/plugin_manager.js +37 -2
- package/dist/cjs/plugins/security_plugin.js +15 -8
- package/dist/cjs/runner/in_memory_runner.js +5 -2
- package/dist/cjs/runner/runner.js +208 -18
- package/dist/cjs/sessions/base_session_service.js +13 -2
- package/dist/cjs/sessions/database_session_service.js +6 -2
- package/dist/cjs/sessions/db/operations.js +34 -6
- package/dist/cjs/sessions/db/schema.js +16 -8
- package/dist/cjs/sessions/in_memory_session_service.js +22 -14
- package/dist/cjs/sessions/registry.js +4 -1
- package/dist/cjs/sessions/session.js +2 -0
- package/dist/cjs/sessions/state.js +80 -8
- package/dist/cjs/sessions/state_write_order.js +105 -0
- package/dist/cjs/sessions/vertex_ai_session_service.js +110 -15
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +22 -10
- package/dist/cjs/skills/prompt.js +3 -0
- package/dist/cjs/telemetry/google_cloud.js +42 -9
- package/dist/cjs/telemetry/setup.js +5 -0
- package/dist/cjs/telemetry/tracing.js +60 -4
- package/dist/cjs/tools/agent_tool.js +6 -2
- package/dist/cjs/tools/base_tool.js +24 -2
- package/dist/cjs/tools/base_toolset.js +6 -2
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +6 -2
- package/dist/cjs/tools/example_tool.js +5 -2
- package/dist/cjs/tools/exit_loop_tool.js +5 -2
- package/dist/cjs/tools/finish_task_tool.js +119 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +5 -2
- package/dist/cjs/tools/function_tool.js +73 -8
- package/dist/cjs/tools/get_user_choice_tool.js +3 -2
- package/dist/cjs/tools/google_maps_grounding_tool.js +6 -2
- package/dist/cjs/tools/google_search_tool.js +5 -2
- package/dist/cjs/tools/load_artifacts_tool.js +8 -2
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +21 -1
- package/dist/cjs/tools/long_running_tool.js +5 -2
- package/dist/cjs/tools/mcp/index.js +39 -0
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_session_manager.js +36 -8
- package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +4 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/cjs/tools/preload_memory_tool.js +5 -2
- package/dist/cjs/tools/request_input_tool.js +6 -4
- package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/skill_toolset.js +35 -0
- package/dist/cjs/tools/tool_confirmation.js +26 -3
- package/dist/cjs/tools/url_context_tool.js +5 -2
- package/dist/cjs/tools/vertex_ai_search_tool.js +5 -2
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +5 -2
- package/dist/cjs/utils/async_hooks_shim.js +5 -2
- package/dist/cjs/utils/async_queue.js +45 -18
- package/dist/cjs/utils/branch_trie.js +2 -0
- package/dist/cjs/utils/case_utils.js +2 -0
- package/dist/cjs/utils/client_labels.js +5 -0
- package/dist/cjs/utils/crypto_shim.js +2 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +41 -0
- package/dist/cjs/utils/error_utils.js +8 -0
- package/dist/cjs/utils/experimental.js +9 -2
- package/dist/cjs/utils/failover_utils.js +3 -0
- package/dist/cjs/utils/file_extension_utils.js +3 -0
- package/dist/cjs/utils/file_utils.js +7 -2
- package/dist/cjs/utils/gemini_schema_util.js +6 -2
- package/dist/cjs/utils/genai_schema_to_json.js +107 -0
- package/dist/cjs/utils/live_connection_utils.js +5 -2
- package/dist/cjs/utils/logger.js +13 -4
- package/dist/cjs/utils/model_name.js +8 -0
- package/dist/cjs/utils/object_notation_utils.js +7 -3
- package/dist/cjs/utils/optional_peer.js +68 -0
- package/dist/cjs/utils/output_schema_utils.js +2 -0
- package/dist/cjs/utils/partial_copy.js +2 -0
- package/dist/cjs/utils/redact_uri.js +66 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- package/dist/cjs/utils/streaming_utils.js +14 -6
- package/dist/cjs/utils/task.js +7 -4
- package/dist/cjs/utils/variant_utils.js +3 -1
- package/dist/cjs/utils/vertex_ai_utils.js +3 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +211 -0
- package/dist/cjs/workflow/branch_path.js +108 -0
- package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
- package/dist/cjs/workflow/errors.js +178 -0
- package/dist/cjs/workflow/graph.js +158 -0
- package/dist/cjs/workflow/index.js +131 -0
- package/dist/cjs/workflow/node.js +65 -0
- package/dist/cjs/workflow/node_builders.js +68 -0
- package/dist/cjs/workflow/node_context.js +246 -0
- package/dist/cjs/workflow/node_error_event.js +86 -0
- package/dist/cjs/workflow/node_runner.js +459 -0
- package/dist/cjs/workflow/node_state.js +57 -0
- package/dist/cjs/workflow/node_status.js +48 -0
- package/dist/cjs/workflow/nodes/function_node.js +195 -0
- package/dist/cjs/workflow/nodes/join_node.js +56 -0
- package/dist/cjs/workflow/nodes/node_tool.js +156 -0
- package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
- package/dist/cjs/workflow/nodes/tool_node.js +117 -0
- package/dist/cjs/workflow/request_input.js +64 -0
- package/dist/cjs/workflow/retry_config.js +71 -0
- package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
- package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
- package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
- package/dist/cjs/workflow/trigger.js +27 -0
- package/dist/cjs/workflow/utils/graph_parser.js +212 -0
- package/dist/cjs/workflow/utils/graph_validation.js +216 -0
- package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
- package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
- package/dist/cjs/workflow/utils/retry_utils.js +112 -0
- package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
- package/dist/cjs/workflow/workflow.js +509 -0
- package/dist/esm/a2a/a2a_event.js +19 -0
- package/dist/esm/a2a/a2a_remote_agent.js +6 -2
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/esm/a2a/agent_card.js +34 -3
- package/dist/esm/a2a/agent_executor.js +27 -17
- package/dist/esm/a2a/agent_to_a2a.js +44 -15
- package/dist/esm/a2a/auth.js +4 -0
- package/dist/esm/a2a/event_converter_utils.js +11 -0
- package/dist/esm/a2a/event_processor_utils.js +74 -34
- package/dist/esm/a2a/executor_context.js +3 -0
- package/dist/esm/a2a/index.js +20 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +47 -9
- package/dist/esm/agents/context.js +6 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +42 -13
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +41 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +536 -45
- package/dist/esm/agents/loop_agent.js +21 -2
- package/dist/esm/agents/parallel_agent.js +23 -2
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/esm/agents/processors/base_llm_processor.js +10 -4
- package/dist/esm/agents/processors/basic_llm_request_processor.js +7 -3
- package/dist/esm/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +10 -4
- package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +6 -2
- package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +318 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +197 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +8 -3
- package/dist/esm/agents/routed_agent.js +6 -14
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +22 -3
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +14 -11
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +22 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
- package/dist/esm/artifacts/in_memory_artifact_service.js +10 -2
- package/dist/esm/artifacts/registry.js +7 -1
- package/dist/esm/artifacts/scoped_artifact_service.js +6 -2
- package/dist/esm/auth/auth_handler.js +6 -2
- package/dist/esm/auth/auth_preprocessor.js +50 -41
- package/dist/esm/auth/auth_provider_registry.js +6 -2
- package/dist/esm/auth/auth_schemes.js +3 -0
- package/dist/esm/auth/credential_response_binding.js +74 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +6 -2
- package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/esm/code_executors/base_code_executor.js +7 -2
- package/dist/esm/code_executors/built_in_code_executor.js +7 -2
- package/dist/esm/code_executors/code_execution_utils.js +7 -0
- package/dist/esm/code_executors/code_executor_context.js +6 -2
- package/dist/esm/code_executors/unsafe_local_code_executor.js +9 -2
- package/dist/esm/common.js +109 -4
- package/dist/esm/context/agent_controlled_context_compactor.js +6 -2
- package/dist/esm/context/anchored_context_compactor.js +6 -2
- package/dist/esm/context/compaction_utils.js +4 -0
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +10 -3
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/esm/context/truncating_context_compactor.js +6 -2
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -0
- package/dist/esm/events/compacted_event.js +5 -0
- package/dist/esm/events/event.js +38 -3
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +7 -2
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +4 -15
- package/dist/esm/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
- package/dist/esm/integrations/agent_registry/helpers.js +4 -0
- package/dist/esm/memory/in_memory_memory_service.js +9 -2
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +18 -2
- package/dist/esm/models/apigee_llm.js +10 -3
- package/dist/esm/models/base_llm.js +8 -3
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +26 -13
- package/dist/esm/models/interactions_utils.js +17 -0
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +7 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/base_plugin.js +39 -5
- package/dist/esm/plugins/global_instruction_plugin.js +6 -2
- package/dist/esm/plugins/logging_plugin.js +14 -8
- package/dist/esm/plugins/plugin_manager.js +38 -2
- package/dist/esm/plugins/security_plugin.js +14 -6
- package/dist/esm/runner/in_memory_runner.js +6 -2
- package/dist/esm/runner/runner.js +215 -20
- package/dist/esm/sessions/base_session_service.js +14 -2
- package/dist/esm/sessions/database_session_service.js +7 -2
- package/dist/esm/sessions/db/operations.js +34 -6
- package/dist/esm/sessions/db/schema.js +16 -8
- package/dist/esm/sessions/in_memory_session_service.js +23 -14
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/session.js +3 -0
- package/dist/esm/sessions/state.js +78 -7
- package/dist/esm/sessions/state_write_order.js +74 -0
- package/dist/esm/sessions/vertex_ai_session_service.js +110 -15
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +23 -10
- package/dist/esm/skills/prompt.js +4 -0
- package/dist/esm/telemetry/google_cloud.js +54 -9
- package/dist/esm/telemetry/setup.js +6 -0
- package/dist/esm/telemetry/tracing.js +59 -4
- package/dist/esm/tools/agent_tool.js +7 -2
- package/dist/esm/tools/base_tool.js +25 -2
- package/dist/esm/tools/base_toolset.js +7 -2
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +7 -2
- package/dist/esm/tools/example_tool.js +6 -2
- package/dist/esm/tools/exit_loop_tool.js +6 -2
- package/dist/esm/tools/finish_task_tool.js +92 -0
- package/dist/esm/tools/forwarding_artifact_service.js +6 -2
- package/dist/esm/tools/function_tool.js +74 -8
- package/dist/esm/tools/get_user_choice_tool.js +4 -2
- package/dist/esm/tools/google_maps_grounding_tool.js +7 -2
- package/dist/esm/tools/google_search_tool.js +6 -2
- package/dist/esm/tools/load_artifacts_tool.js +9 -2
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +22 -1
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/esm/tools/mcp/index.js +11 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_session_manager.js +45 -9
- package/dist/esm/tools/mcp/mcp_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/esm/tools/preload_memory_tool.js +6 -2
- package/dist/esm/tools/request_input_tool.js +7 -4
- package/dist/esm/tools/skill/list_skills_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_tool.js +4 -1
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/esm/tools/skill/search_skills_tool.js +2 -0
- package/dist/esm/tools/skill/skill_toolset.js +25 -0
- package/dist/esm/tools/tool_confirmation.js +24 -2
- package/dist/esm/tools/url_context_tool.js +6 -2
- package/dist/esm/tools/vertex_ai_search_tool.js +6 -2
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/esm/utils/async_hooks_shim.js +6 -2
- package/dist/esm/utils/async_queue.js +46 -18
- package/dist/esm/utils/branch_trie.js +3 -0
- package/dist/esm/utils/case_utils.js +3 -0
- package/dist/esm/utils/client_labels.js +6 -0
- package/dist/esm/utils/crypto_shim.js +3 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +41 -0
- package/dist/esm/utils/error_utils.js +9 -0
- package/dist/esm/utils/experimental.js +10 -2
- package/dist/esm/utils/failover_utils.js +4 -0
- package/dist/esm/utils/file_extension_utils.js +4 -0
- package/dist/esm/utils/file_utils.js +8 -2
- package/dist/esm/utils/gemini_schema_util.js +7 -2
- package/dist/esm/utils/genai_schema_to_json.js +80 -0
- package/dist/esm/utils/live_connection_utils.js +6 -2
- package/dist/esm/utils/logger.js +14 -4
- package/dist/esm/utils/model_name.js +9 -0
- package/dist/esm/utils/object_notation_utils.js +8 -3
- package/dist/esm/utils/optional_peer.js +41 -0
- package/dist/esm/utils/output_schema_utils.js +3 -0
- package/dist/esm/utils/partial_copy.js +3 -0
- package/dist/esm/utils/redact_uri.js +39 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- package/dist/esm/utils/streaming_utils.js +15 -6
- package/dist/esm/utils/task.js +8 -4
- package/dist/esm/utils/variant_utils.js +5 -2
- package/dist/esm/utils/vertex_ai_utils.js +5 -2
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +182 -0
- package/dist/esm/workflow/branch_path.js +77 -0
- package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/esm/workflow/errors.js +140 -0
- package/dist/esm/workflow/graph.js +127 -0
- package/dist/esm/workflow/index.js +80 -0
- package/dist/esm/workflow/node.js +38 -0
- package/dist/esm/workflow/node_builders.js +40 -0
- package/dist/esm/workflow/node_context.js +219 -0
- package/dist/esm/workflow/node_error_event.js +57 -0
- package/dist/esm/workflow/node_runner.js +439 -0
- package/dist/esm/workflow/node_state.js +29 -0
- package/dist/esm/workflow/node_status.js +20 -0
- package/dist/esm/workflow/nodes/function_node.js +172 -0
- package/dist/esm/workflow/nodes/join_node.js +29 -0
- package/dist/esm/workflow/nodes/node_tool.js +131 -0
- package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
- package/dist/esm/workflow/nodes/tool_node.js +90 -0
- package/dist/esm/workflow/request_input.js +36 -0
- package/dist/esm/workflow/retry_config.js +43 -0
- package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
- package/dist/esm/workflow/run_node_as_invocation.js +139 -0
- package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
- package/dist/esm/workflow/trigger.js +7 -0
- package/dist/esm/workflow/utils/graph_parser.js +188 -0
- package/dist/esm/workflow/utils/graph_validation.js +189 -0
- package/dist/esm/workflow/utils/hitl_utils.js +222 -0
- package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
- package/dist/esm/workflow/utils/retry_utils.js +82 -0
- package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/esm/workflow/workflow.js +493 -0
- package/dist/types/a2a/agent_card.d.ts +3 -3
- package/dist/types/a2a/agent_to_a2a.d.ts +4 -4
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/agents/base_agent.d.ts +37 -9
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +1 -2
- package/dist/types/agents/invocation_context.d.ts +95 -3
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +77 -1
- package/dist/types/agents/loop_agent.d.ts +5 -0
- package/dist/types/agents/parallel_agent.d.ts +5 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
- package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
- package/dist/types/agents/run_config.d.ts +57 -2
- package/dist/types/agents/sequential_agent.d.ts +5 -0
- package/dist/types/agents/user_input_request.d.ts +71 -0
- package/dist/types/apps/app.d.ts +8 -3
- package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
- package/dist/types/auth/credential_response_binding.d.ts +24 -0
- package/dist/types/common.d.ts +18 -8
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- package/dist/types/events/event.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +10 -0
- package/dist/types/index.d.ts +5 -13
- package/dist/types/models/apigee_llm.d.ts +4 -4
- package/dist/types/models/google_llm.d.ts +2 -1
- package/dist/types/plugins/base_plugin.d.ts +35 -0
- package/dist/types/plugins/plugin_manager.d.ts +20 -0
- package/dist/types/plugins/security_plugin.d.ts +4 -2
- package/dist/types/runner/in_memory_runner.d.ts +2 -2
- package/dist/types/runner/runner.d.ts +59 -3
- package/dist/types/sessions/base_session_service.d.ts +2 -2
- package/dist/types/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/telemetry/tracing.d.ts +15 -0
- package/dist/types/tools/base_tool.d.ts +15 -0
- package/dist/types/tools/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/function_tool.d.ts +46 -1
- package/dist/types/tools/mcp/index.d.ts +13 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
- package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
- package/dist/types/tools/request_input_tool.d.ts +6 -1
- package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
- package/dist/types/tools/tool_confirmation.d.ts +47 -0
- package/dist/types/utils/async_queue.d.ts +34 -2
- package/dist/types/utils/deprecated.d.ts +21 -0
- package/dist/types/utils/env_aware_utils.d.ts +16 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/optional_peer.d.ts +36 -0
- package/dist/types/utils/redact_uri.d.ts +28 -0
- package/dist/types/utils/schema.d.ts +73 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
- package/dist/types/utils/vertex_ai_utils.d.ts +4 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/workflow/base_node.d.ts +142 -0
- package/dist/types/workflow/branch_path.d.ts +40 -0
- package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
- package/dist/types/workflow/errors.d.ts +132 -0
- package/dist/types/workflow/graph.d.ts +127 -0
- package/dist/types/workflow/index.d.ts +46 -0
- package/dist/types/workflow/node.d.ts +48 -0
- package/dist/types/workflow/node_builders.d.ts +25 -0
- package/dist/types/workflow/node_context.d.ts +208 -0
- package/dist/types/workflow/node_error_event.d.ts +18 -0
- package/dist/types/workflow/node_runner.d.ts +82 -0
- package/dist/types/workflow/node_state.d.ts +47 -0
- package/dist/types/workflow/node_status.d.ts +28 -0
- package/dist/types/workflow/nodes/function_node.d.ts +78 -0
- package/dist/types/workflow/nodes/join_node.d.ts +24 -0
- package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
- package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
- package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
- package/dist/types/workflow/request_input.d.ts +73 -0
- package/dist/types/workflow/retry_config.d.ts +84 -0
- package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
- package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
- package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
- package/dist/types/workflow/trigger.d.ts +22 -0
- package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
- package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
- package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
- package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
- package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
- package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
- package/dist/types/workflow/workflow.d.ts +115 -0
- package/dist/web/a2a/a2a_event.js +19 -0
- package/dist/web/a2a/a2a_remote_agent.js +6 -2
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/web/a2a/agent_card.js +34 -3
- package/dist/web/a2a/agent_executor.js +45 -17
- package/dist/web/a2a/agent_to_a2a.js +44 -15
- package/dist/web/a2a/auth.js +4 -0
- package/dist/web/a2a/event_converter_utils.js +10 -0
- package/dist/web/a2a/event_processor_utils.js +73 -34
- package/dist/web/a2a/executor_context.js +3 -0
- package/dist/web/a2a/index.js +20 -0
- package/dist/web/a2a/metadata_converter_utils.js +5 -0
- package/dist/web/a2a/part_converter_utils.js +13 -0
- package/dist/web/agents/active_streaming_tool.js +6 -2
- package/dist/web/agents/base_agent.js +48 -9
- package/dist/web/agents/context.js +6 -2
- package/dist/web/agents/framework_function_calls.js +34 -0
- package/dist/web/agents/functions.js +42 -13
- package/dist/web/agents/instructions.js +52 -12
- package/dist/web/agents/invocation_context.js +56 -7
- package/dist/web/agents/live_request_queue.js +30 -5
- package/dist/web/agents/llm_agent.js +630 -52
- package/dist/web/agents/loop_agent.js +21 -2
- package/dist/web/agents/parallel_agent.js +23 -2
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/base_llm_processor.js +10 -4
- package/dist/web/agents/processors/basic_llm_request_processor.js +6 -3
- package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/web/agents/processors/content_processor_utils.js +87 -16
- package/dist/web/agents/processors/content_request_processor.js +10 -4
- package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/web/agents/processors/instructions_llm_request_processor.js +6 -2
- package/dist/web/agents/processors/interactions_request_processor.js +6 -2
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
- package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/web/agents/readonly_context.js +8 -3
- package/dist/web/agents/routed_agent.js +6 -14
- package/dist/web/agents/run_config.js +12 -0
- package/dist/web/agents/sequential_agent.js +22 -3
- package/dist/web/agents/user_input_request.js +135 -0
- package/dist/web/apps/app.js +14 -11
- package/dist/web/apps/resumability_config.js +2 -0
- package/dist/web/artifacts/file_artifact_service.js +22 -2
- package/dist/web/artifacts/gcs_artifact_service.js +56 -11
- package/dist/web/artifacts/in_memory_artifact_service.js +10 -2
- package/dist/web/artifacts/registry.js +7 -1
- package/dist/web/artifacts/scoped_artifact_service.js +5 -2
- package/dist/web/auth/auth_handler.js +5 -2
- package/dist/web/auth/auth_preprocessor.js +50 -41
- package/dist/web/auth/auth_provider_registry.js +6 -2
- package/dist/web/auth/auth_schemes.js +3 -0
- package/dist/web/auth/credential_response_binding.js +91 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +6 -2
- package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/web/code_executors/base_code_executor.js +7 -2
- package/dist/web/code_executors/built_in_code_executor.js +7 -2
- package/dist/web/code_executors/code_execution_utils.js +7 -0
- package/dist/web/code_executors/code_executor_context.js +6 -2
- package/dist/web/code_executors/unsafe_local_code_executor.js +9 -2
- package/dist/web/common.js +109 -4
- package/dist/web/context/agent_controlled_context_compactor.js +6 -2
- package/dist/web/context/anchored_context_compactor.js +5 -2
- package/dist/web/context/compaction_utils.js +4 -0
- package/dist/web/context/summarizers/llm_summarizer.js +6 -2
- package/dist/web/context/token_based_context_compactor.js +10 -3
- package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/web/context/truncating_context_compactor.js +6 -2
- package/dist/web/environment/base_environment.js +71 -0
- package/dist/web/environment/local_environment.js +165 -0
- package/dist/web/events/compacted_event.js +4 -0
- package/dist/web/events/event.js +37 -3
- package/dist/web/events/event_actions.js +5 -0
- package/dist/web/events/structured_events.js +3 -0
- package/dist/web/examples/base_example_provider.js +7 -2
- package/dist/web/examples/example_util.js +4 -0
- package/dist/web/features/feature_registry.js +8 -0
- package/dist/web/index.js +4 -15
- package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
- package/dist/web/integrations/agent_registry/helpers.js +4 -0
- package/dist/web/memory/in_memory_memory_service.js +9 -2
- package/dist/web/memory/vertex_ai_memory_bank_service.js +17 -2
- package/dist/web/models/apigee_llm.js +9 -3
- package/dist/web/models/base_llm.js +8 -3
- package/dist/web/models/gemini_llm_connection.js +6 -2
- package/dist/web/models/google_llm.js +25 -13
- package/dist/web/models/interactions_utils.js +17 -0
- package/dist/web/models/llm_request.js +5 -0
- package/dist/web/models/llm_response.js +3 -0
- package/dist/web/models/registry.js +7 -2
- package/dist/web/models/routed_llm.js +4 -14
- package/dist/web/plugins/base_plugin.js +39 -5
- package/dist/web/plugins/global_instruction_plugin.js +6 -2
- package/dist/web/plugins/logging_plugin.js +14 -8
- package/dist/web/plugins/plugin_manager.js +38 -2
- package/dist/web/plugins/security_plugin.js +14 -6
- package/dist/web/runner/in_memory_runner.js +6 -2
- package/dist/web/runner/runner.js +232 -20
- package/dist/web/sessions/base_session_service.js +14 -2
- package/dist/web/sessions/database_session_service.js +6 -2
- package/dist/web/sessions/db/operations.js +34 -6
- package/dist/web/sessions/db/schema.js +16 -8
- package/dist/web/sessions/in_memory_session_service.js +23 -14
- package/dist/web/sessions/registry.js +5 -1
- package/dist/web/sessions/session.js +3 -0
- package/dist/web/sessions/state.js +77 -7
- package/dist/web/sessions/state_write_order.js +74 -0
- package/dist/web/sessions/vertex_ai_session_service.js +118 -15
- package/dist/web/skills/gcp_skill_registry.js +2 -0
- package/dist/web/skills/loader.js +22 -10
- package/dist/web/skills/prompt.js +4 -0
- package/dist/web/telemetry/google_cloud.js +54 -9
- package/dist/web/telemetry/setup.js +6 -0
- package/dist/web/telemetry/tracing.js +77 -7
- package/dist/web/tools/agent_tool.js +7 -2
- package/dist/web/tools/base_tool.js +25 -2
- package/dist/web/tools/base_toolset.js +7 -2
- package/dist/web/tools/consolidate_context_tool.js +6 -2
- package/dist/web/tools/enterprise_web_search_tool.js +7 -2
- package/dist/web/tools/example_tool.js +6 -2
- package/dist/web/tools/exit_loop_tool.js +6 -2
- package/dist/web/tools/finish_task_tool.js +92 -0
- package/dist/web/tools/forwarding_artifact_service.js +6 -2
- package/dist/web/tools/function_tool.js +74 -8
- package/dist/web/tools/get_user_choice_tool.js +4 -2
- package/dist/web/tools/google_maps_grounding_tool.js +7 -2
- package/dist/web/tools/google_search_tool.js +6 -2
- package/dist/web/tools/load_artifacts_tool.js +9 -2
- package/dist/web/tools/load_memory_tool.js +6 -2
- package/dist/web/tools/load_web_page.js +22 -1
- package/dist/web/tools/long_running_tool.js +5 -2
- package/dist/web/tools/mcp/index.js +11 -0
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_session_manager.js +45 -9
- package/dist/web/tools/mcp/mcp_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_toolset.js +5 -2
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/web/tools/preload_memory_tool.js +6 -2
- package/dist/web/tools/request_input_tool.js +7 -4
- package/dist/web/tools/skill/list_skills_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_tool.js +4 -1
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
- package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
- package/dist/web/tools/skill/search_skills_tool.js +2 -0
- package/dist/web/tools/skill/skill_toolset.js +25 -0
- package/dist/web/tools/tool_confirmation.js +24 -2
- package/dist/web/tools/url_context_tool.js +6 -2
- package/dist/web/tools/vertex_ai_search_tool.js +6 -2
- package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/web/utils/async_hooks_shim.js +6 -2
- package/dist/web/utils/async_queue.js +46 -18
- package/dist/web/utils/branch_trie.js +3 -0
- package/dist/web/utils/case_utils.js +3 -0
- package/dist/web/utils/client_labels.js +6 -0
- package/dist/web/utils/crypto_shim.js +3 -0
- package/dist/web/utils/deprecated.js +40 -0
- package/dist/web/utils/env_aware_utils.js +41 -0
- package/dist/web/utils/error_utils.js +9 -0
- package/dist/web/utils/experimental.js +10 -2
- package/dist/web/utils/failover_utils.js +4 -0
- package/dist/web/utils/file_extension_utils.js +4 -0
- package/dist/web/utils/file_utils.js +7 -2
- package/dist/web/utils/gemini_schema_util.js +6 -2
- package/dist/web/utils/genai_schema_to_json.js +80 -0
- package/dist/web/utils/live_connection_utils.js +5 -2
- package/dist/web/utils/logger.js +14 -4
- package/dist/web/utils/model_name.js +9 -0
- package/dist/web/utils/object_notation_utils.js +8 -3
- package/dist/web/utils/optional_peer.js +38 -0
- package/dist/web/utils/output_schema_utils.js +3 -0
- package/dist/web/utils/partial_copy.js +3 -0
- package/dist/web/utils/redact_uri.js +39 -0
- package/dist/web/utils/schema.js +167 -0
- package/dist/web/utils/simple_zod_to_json.js +15 -4
- package/dist/web/utils/streaming_utils.js +14 -6
- package/dist/web/utils/task.js +8 -4
- package/dist/web/utils/variant_utils.js +5 -2
- package/dist/web/utils/vertex_ai_utils.js +5 -2
- package/dist/web/version.js +1 -1
- package/dist/web/workflow/base_node.js +215 -0
- package/dist/web/workflow/branch_path.js +77 -0
- package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/web/workflow/errors.js +140 -0
- package/dist/web/workflow/graph.js +127 -0
- package/dist/web/workflow/index.js +80 -0
- package/dist/web/workflow/node.js +87 -0
- package/dist/web/workflow/node_builders.js +40 -0
- package/dist/web/workflow/node_context.js +236 -0
- package/dist/web/workflow/node_error_event.js +86 -0
- package/dist/web/workflow/node_runner.js +481 -0
- package/dist/web/workflow/node_state.js +43 -0
- package/dist/web/workflow/node_status.js +20 -0
- package/dist/web/workflow/nodes/function_node.js +221 -0
- package/dist/web/workflow/nodes/join_node.js +47 -0
- package/dist/web/workflow/nodes/node_tool.js +131 -0
- package/dist/web/workflow/nodes/parallel_worker.js +120 -0
- package/dist/web/workflow/nodes/tool_node.js +126 -0
- package/dist/web/workflow/request_input.js +36 -0
- package/dist/web/workflow/retry_config.js +43 -0
- package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
- package/dist/web/workflow/run_node_as_invocation.js +170 -0
- package/dist/web/workflow/schedule_dynamic_node.js +26 -0
- package/dist/web/workflow/trigger.js +7 -0
- package/dist/web/workflow/utils/graph_parser.js +188 -0
- package/dist/web/workflow/utils/graph_validation.js +189 -0
- package/dist/web/workflow/utils/hitl_utils.js +239 -0
- package/dist/web/workflow/utils/rehydration_utils.js +342 -0
- package/dist/web/workflow/utils/retry_utils.js +82 -0
- package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/web/workflow/workflow.js +529 -0
- package/package.json +82 -8
|
@@ -1,10 +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 2026 Google LLC
|
|
6
8
|
* SPDX-License-Identifier: Apache-2.0
|
|
7
9
|
*/
|
|
10
|
+
import { requireAgent } from "../agents/invocation_context.js";
|
|
8
11
|
import { createEvent } from "../events/event.js";
|
|
9
12
|
import { AdkMetadataKeys } from "./metadata_converter_utils.js";
|
|
10
13
|
import { toA2AParts } from "./part_converter_utils.js";
|
|
@@ -37,6 +40,7 @@ function getUserFunctionCallAt(session, index) {
|
|
|
37
40
|
}
|
|
38
41
|
return void 0;
|
|
39
42
|
}
|
|
43
|
+
__name(getUserFunctionCallAt, "getUserFunctionCallAt");
|
|
40
44
|
function isFunctionCallEvent(event, callId) {
|
|
41
45
|
if (!event || !event.content || !event.content.parts) {
|
|
42
46
|
return false;
|
|
@@ -45,6 +49,7 @@ function isFunctionCallEvent(event, callId) {
|
|
|
45
49
|
(part) => part.functionCall && part.functionCall.id === callId
|
|
46
50
|
);
|
|
47
51
|
}
|
|
52
|
+
__name(isFunctionCallEvent, "isFunctionCallEvent");
|
|
48
53
|
function getFunctionResponseCallId(event) {
|
|
49
54
|
var _a;
|
|
50
55
|
if (!event || !event.content || !event.content.parts) {
|
|
@@ -55,13 +60,14 @@ function getFunctionResponseCallId(event) {
|
|
|
55
60
|
);
|
|
56
61
|
return (_a = responsePart == null ? void 0 : responsePart.functionResponse) == null ? void 0 : _a.id;
|
|
57
62
|
}
|
|
63
|
+
__name(getFunctionResponseCallId, "getFunctionResponseCallId");
|
|
58
64
|
function toMissingRemoteSessionParts(ctx, session) {
|
|
59
65
|
const events = session.events;
|
|
60
66
|
let contextId = void 0;
|
|
61
67
|
let lastRemoteResponseIndex = -1;
|
|
62
68
|
for (let i = events.length - 1; i >= 0; i--) {
|
|
63
69
|
const event = events[i];
|
|
64
|
-
if (event.author === ctx.
|
|
70
|
+
if (event.author === requireAgent(ctx).name) {
|
|
65
71
|
lastRemoteResponseIndex = i;
|
|
66
72
|
const metadata = event.customMetadata || {};
|
|
67
73
|
contextId = metadata[AdkMetadataKeys.CONTEXT_ID];
|
|
@@ -71,7 +77,7 @@ function toMissingRemoteSessionParts(ctx, session) {
|
|
|
71
77
|
const missingParts = [];
|
|
72
78
|
for (let i = lastRemoteResponseIndex + 1; i < events.length; i++) {
|
|
73
79
|
let event = events[i];
|
|
74
|
-
if (event.author !== "user" && event.author !== ctx.
|
|
80
|
+
if (event.author !== "user" && event.author !== requireAgent(ctx).name) {
|
|
75
81
|
event = presentAsUserMessage(ctx, event);
|
|
76
82
|
}
|
|
77
83
|
if (!event.content || !event.content.parts || event.content.parts.length === 0) {
|
|
@@ -85,6 +91,7 @@ function toMissingRemoteSessionParts(ctx, session) {
|
|
|
85
91
|
contextId
|
|
86
92
|
};
|
|
87
93
|
}
|
|
94
|
+
__name(toMissingRemoteSessionParts, "toMissingRemoteSessionParts");
|
|
88
95
|
function presentAsUserMessage(ctx, agentEvent) {
|
|
89
96
|
const event = createEvent({
|
|
90
97
|
author: "user",
|
|
@@ -124,6 +131,7 @@ function presentAsUserMessage(ctx, agentEvent) {
|
|
|
124
131
|
}
|
|
125
132
|
return event;
|
|
126
133
|
}
|
|
134
|
+
__name(presentAsUserMessage, "presentAsUserMessage");
|
|
127
135
|
export {
|
|
128
136
|
getFunctionResponseCallId,
|
|
129
137
|
getUserFunctionCallAt,
|
|
@@ -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
|
|
@@ -18,6 +20,7 @@ import { isSequentialAgent } from "../agents/sequential_agent.js";
|
|
|
18
20
|
import { isBaseTool } from "../tools/base_tool.js";
|
|
19
21
|
import { isBaseToolset } from "../tools/base_toolset.js";
|
|
20
22
|
import { logger } from "../utils/logger.js";
|
|
23
|
+
import { isWorkflow } from "../workflow/workflow.js";
|
|
21
24
|
async function resolveAgentCard(agentCard) {
|
|
22
25
|
if (typeof agentCard === "object") {
|
|
23
26
|
return agentCard;
|
|
@@ -36,6 +39,7 @@ async function resolveAgentCard(agentCard) {
|
|
|
36
39
|
);
|
|
37
40
|
}
|
|
38
41
|
}
|
|
42
|
+
__name(resolveAgentCard, "resolveAgentCard");
|
|
39
43
|
async function getA2AAgentCard(agent, transports) {
|
|
40
44
|
return {
|
|
41
45
|
name: agent.name,
|
|
@@ -56,6 +60,7 @@ async function getA2AAgentCard(agent, transports) {
|
|
|
56
60
|
additionalInterfaces: transports
|
|
57
61
|
};
|
|
58
62
|
}
|
|
63
|
+
__name(getA2AAgentCard, "getA2AAgentCard");
|
|
59
64
|
async function buildAgentSkills(agent) {
|
|
60
65
|
const [primarySkills, subAgentSkills] = await Promise.all([
|
|
61
66
|
buildPrimarySkills(agent),
|
|
@@ -63,14 +68,26 @@ async function buildAgentSkills(agent) {
|
|
|
63
68
|
]);
|
|
64
69
|
return [...primarySkills, ...subAgentSkills];
|
|
65
70
|
}
|
|
71
|
+
__name(buildAgentSkills, "buildAgentSkills");
|
|
66
72
|
async function buildPrimarySkills(agent) {
|
|
73
|
+
if (isWorkflow(agent)) {
|
|
74
|
+
return [
|
|
75
|
+
{
|
|
76
|
+
id: agent.name,
|
|
77
|
+
name: "workflow",
|
|
78
|
+
description: agent.description || `Workflow ${agent.name}`,
|
|
79
|
+
tags: ["workflow"]
|
|
80
|
+
}
|
|
81
|
+
];
|
|
82
|
+
}
|
|
67
83
|
if (isLlmAgent(agent)) {
|
|
68
84
|
return buildLLMAgentSkills(agent);
|
|
69
85
|
}
|
|
70
86
|
return buildNonLLMAgentSkills(agent);
|
|
71
87
|
}
|
|
88
|
+
__name(buildPrimarySkills, "buildPrimarySkills");
|
|
72
89
|
async function buildSubAgentSkills(agent) {
|
|
73
|
-
const subAgents = agent.subAgents;
|
|
90
|
+
const subAgents = isWorkflow(agent) ? [] : agent.subAgents;
|
|
74
91
|
const result = [];
|
|
75
92
|
for (const sub of subAgents) {
|
|
76
93
|
const skills = await buildPrimarySkills(sub);
|
|
@@ -86,6 +103,7 @@ async function buildSubAgentSkills(agent) {
|
|
|
86
103
|
}
|
|
87
104
|
return result;
|
|
88
105
|
}
|
|
106
|
+
__name(buildSubAgentSkills, "buildSubAgentSkills");
|
|
89
107
|
async function buildLLMAgentSkills(agent) {
|
|
90
108
|
const skills = [
|
|
91
109
|
{
|
|
@@ -109,6 +127,7 @@ async function buildLLMAgentSkills(agent) {
|
|
|
109
127
|
}
|
|
110
128
|
return skills;
|
|
111
129
|
}
|
|
130
|
+
__name(buildLLMAgentSkills, "buildLLMAgentSkills");
|
|
112
131
|
function toolToSkill(prefix, tool) {
|
|
113
132
|
let description = tool.description;
|
|
114
133
|
if (!description) {
|
|
@@ -121,6 +140,7 @@ function toolToSkill(prefix, tool) {
|
|
|
121
140
|
tags: ["llm", "tools"]
|
|
122
141
|
};
|
|
123
142
|
}
|
|
143
|
+
__name(toolToSkill, "toolToSkill");
|
|
124
144
|
function buildNonLLMAgentSkills(agent) {
|
|
125
145
|
const skills = [
|
|
126
146
|
{
|
|
@@ -144,6 +164,7 @@ function buildNonLLMAgentSkills(agent) {
|
|
|
144
164
|
}
|
|
145
165
|
return skills;
|
|
146
166
|
}
|
|
167
|
+
__name(buildNonLLMAgentSkills, "buildNonLLMAgentSkills");
|
|
147
168
|
function buildAgentDescription(agent) {
|
|
148
169
|
const descriptionParts = [];
|
|
149
170
|
if (agent.description) {
|
|
@@ -164,6 +185,7 @@ function buildAgentDescription(agent) {
|
|
|
164
185
|
return getDefaultAgentDescription(agent);
|
|
165
186
|
}
|
|
166
187
|
}
|
|
188
|
+
__name(buildAgentDescription, "buildAgentDescription");
|
|
167
189
|
function buildSequentialAgentDescription(agent) {
|
|
168
190
|
const subAgents = agent.subAgents;
|
|
169
191
|
const descriptions = [];
|
|
@@ -182,6 +204,7 @@ function buildSequentialAgentDescription(agent) {
|
|
|
182
204
|
});
|
|
183
205
|
return descriptions.join(" ");
|
|
184
206
|
}
|
|
207
|
+
__name(buildSequentialAgentDescription, "buildSequentialAgentDescription");
|
|
185
208
|
function buildParallelAgentDescription(agent) {
|
|
186
209
|
const subAgents = agent.subAgents;
|
|
187
210
|
const descriptions = [];
|
|
@@ -200,6 +223,7 @@ function buildParallelAgentDescription(agent) {
|
|
|
200
223
|
});
|
|
201
224
|
return `${descriptions.join(" ")} simultaneously.`;
|
|
202
225
|
}
|
|
226
|
+
__name(buildParallelAgentDescription, "buildParallelAgentDescription");
|
|
203
227
|
function buildLoopAgentDescription(agent) {
|
|
204
228
|
const maxIterationsVal = agent.maxIterations;
|
|
205
229
|
let maxIterations = "unlimited";
|
|
@@ -223,6 +247,7 @@ function buildLoopAgentDescription(agent) {
|
|
|
223
247
|
});
|
|
224
248
|
return `${descriptions.join(" ")} in a loop (max ${maxIterations} iterations).`;
|
|
225
249
|
}
|
|
250
|
+
__name(buildLoopAgentDescription, "buildLoopAgentDescription");
|
|
226
251
|
async function buildDescriptionFromInstructions(agent) {
|
|
227
252
|
const descriptionParts = [];
|
|
228
253
|
if (agent.description) {
|
|
@@ -280,6 +305,7 @@ async function buildDescriptionFromInstructions(agent) {
|
|
|
280
305
|
return getDefaultAgentDescription(agent);
|
|
281
306
|
}
|
|
282
307
|
}
|
|
308
|
+
__name(buildDescriptionFromInstructions, "buildDescriptionFromInstructions");
|
|
283
309
|
function replacePronouns(instruction) {
|
|
284
310
|
const substitutions = [
|
|
285
311
|
{ original: "you were", target: "I was" },
|
|
@@ -297,6 +323,7 @@ function replacePronouns(instruction) {
|
|
|
297
323
|
}
|
|
298
324
|
return result;
|
|
299
325
|
}
|
|
326
|
+
__name(replacePronouns, "replacePronouns");
|
|
300
327
|
function getDefaultAgentDescription(agent) {
|
|
301
328
|
if (isLoopAgent(agent)) {
|
|
302
329
|
return "A loop workflow agent";
|
|
@@ -310,6 +337,7 @@ function getDefaultAgentDescription(agent) {
|
|
|
310
337
|
return "A custom agent";
|
|
311
338
|
}
|
|
312
339
|
}
|
|
340
|
+
__name(getDefaultAgentDescription, "getDefaultAgentDescription");
|
|
313
341
|
function getAgentTypeTag(agent) {
|
|
314
342
|
if (isLoopAgent(agent)) {
|
|
315
343
|
return "loop_workflow";
|
|
@@ -323,18 +351,21 @@ function getAgentTypeTag(agent) {
|
|
|
323
351
|
return "custom_agent";
|
|
324
352
|
}
|
|
325
353
|
}
|
|
354
|
+
__name(getAgentTypeTag, "getAgentTypeTag");
|
|
326
355
|
function getAgentSkillName(agent) {
|
|
327
356
|
if (isLlmAgent(agent)) {
|
|
328
357
|
return "model";
|
|
329
358
|
}
|
|
330
|
-
if (
|
|
359
|
+
if (isCompositeShellAgent(agent) || isWorkflow(agent)) {
|
|
331
360
|
return "workflow";
|
|
332
361
|
}
|
|
333
362
|
return "custom";
|
|
334
363
|
}
|
|
335
|
-
|
|
364
|
+
__name(getAgentSkillName, "getAgentSkillName");
|
|
365
|
+
function isCompositeShellAgent(agent) {
|
|
336
366
|
return isLoopAgent(agent) || isSequentialAgent(agent) || isParallelAgent(agent);
|
|
337
367
|
}
|
|
368
|
+
__name(isCompositeShellAgent, "isCompositeShellAgent");
|
|
338
369
|
export {
|
|
339
370
|
buildAgentSkills,
|
|
340
371
|
getA2AAgentCard,
|
|
@@ -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
|
|
@@ -16,7 +18,7 @@ import {
|
|
|
16
18
|
} from "./a2a_event.js";
|
|
17
19
|
import {
|
|
18
20
|
getFinalTaskStatusUpdate,
|
|
19
|
-
|
|
21
|
+
getUnansweredRequestEvent
|
|
20
22
|
} from "./event_processor_utils.js";
|
|
21
23
|
import { createExecutorContext } from "./executor_context.js";
|
|
22
24
|
import {
|
|
@@ -24,7 +26,7 @@ import {
|
|
|
24
26
|
getA2ASessionMetadata
|
|
25
27
|
} from "./metadata_converter_utils.js";
|
|
26
28
|
import { toA2AParts, toGenAIContent } from "./part_converter_utils.js";
|
|
27
|
-
class
|
|
29
|
+
const _A2AAgentExecutor = class _A2AAgentExecutor {
|
|
28
30
|
constructor(config) {
|
|
29
31
|
this.config = config;
|
|
30
32
|
this.agentPartialArtifactIdsMap = {};
|
|
@@ -54,19 +56,20 @@ class A2AAgentExecutor {
|
|
|
54
56
|
if (this.config.beforeExecuteCallback) {
|
|
55
57
|
await this.config.beforeExecuteCallback(ctx);
|
|
56
58
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
59
|
+
const unansweredRequestEvent = getUnansweredRequestEvent({
|
|
60
|
+
taskId: ctx.taskId,
|
|
61
|
+
contextId: ctx.contextId,
|
|
62
|
+
task: ctx.task,
|
|
63
|
+
sessionEvents: session.events,
|
|
64
|
+
genAIContent: genAIUserMessage
|
|
65
|
+
});
|
|
66
|
+
if (unansweredRequestEvent) {
|
|
67
|
+
await this.publishFinalTaskStatus({
|
|
68
|
+
executorContext,
|
|
69
|
+
eventBus,
|
|
70
|
+
event: unansweredRequestEvent
|
|
71
|
+
});
|
|
72
|
+
return;
|
|
70
73
|
}
|
|
71
74
|
if (!ctx.task) {
|
|
72
75
|
eventBus.publish(
|
|
@@ -88,7 +91,10 @@ class A2AAgentExecutor {
|
|
|
88
91
|
userId,
|
|
89
92
|
sessionId,
|
|
90
93
|
newMessage: genAIUserMessage,
|
|
91
|
-
|
|
94
|
+
// Marked remote so the run knows this message came from a peer rather
|
|
95
|
+
// than from the operator: a human-in-the-loop gate is not answerable
|
|
96
|
+
// over A2A unless the deployment opts in.
|
|
97
|
+
runConfig: { ...this.config.runConfig, remoteDelivered: true }
|
|
92
98
|
})) {
|
|
93
99
|
adkEvents.push(adkEvent);
|
|
94
100
|
const a2aEvent = this.convertAdkEventToA2AEvent(
|
|
@@ -173,7 +179,9 @@ class A2AAgentExecutor {
|
|
|
173
179
|
}
|
|
174
180
|
eventBus.publish(event);
|
|
175
181
|
}
|
|
176
|
-
}
|
|
182
|
+
};
|
|
183
|
+
__name(_A2AAgentExecutor, "A2AAgentExecutor");
|
|
184
|
+
let A2AAgentExecutor = _A2AAgentExecutor;
|
|
177
185
|
async function getAdkSession(userId, sessionId, sessionService, appName) {
|
|
178
186
|
const session = await sessionService.getSession({
|
|
179
187
|
appName,
|
|
@@ -189,6 +197,7 @@ async function getAdkSession(userId, sessionId, sessionService, appName) {
|
|
|
189
197
|
sessionId
|
|
190
198
|
});
|
|
191
199
|
}
|
|
200
|
+
__name(getAdkSession, "getAdkSession");
|
|
192
201
|
async function getAdkRunner(runnerOrConfig) {
|
|
193
202
|
if (typeof runnerOrConfig === "function") {
|
|
194
203
|
const result = await runnerOrConfig();
|
|
@@ -199,6 +208,7 @@ async function getAdkRunner(runnerOrConfig) {
|
|
|
199
208
|
}
|
|
200
209
|
return new Runner(runnerOrConfig);
|
|
201
210
|
}
|
|
211
|
+
__name(getAdkRunner, "getAdkRunner");
|
|
202
212
|
export {
|
|
203
213
|
A2AAgentExecutor
|
|
204
214
|
};
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
19
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
20
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
21
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
|
+
mod
|
|
25
|
+
));
|
|
3
26
|
/**
|
|
4
27
|
* @license
|
|
5
28
|
* Copyright 2026 Google LLC
|
|
@@ -7,19 +30,22 @@ const require = topLevelCreateRequire(import.meta.url);
|
|
|
7
30
|
*/
|
|
8
31
|
import { AGENT_CARD_PATH } from "@a2a-js/sdk";
|
|
9
32
|
import { DefaultRequestHandler, InMemoryTaskStore } from "@a2a-js/sdk/server";
|
|
10
|
-
import {
|
|
11
|
-
agentCardHandler,
|
|
12
|
-
jsonRpcHandler,
|
|
13
|
-
restHandler,
|
|
14
|
-
UserBuilder
|
|
15
|
-
} from "@a2a-js/sdk/server/express";
|
|
16
|
-
import express from "express";
|
|
17
33
|
import { StreamingMode } from "../agents/run_config.js";
|
|
18
34
|
import { InMemorySessionService } from "../sessions/in_memory_session_service.js";
|
|
19
35
|
import { logger } from "../utils/logger.js";
|
|
36
|
+
import { loadOptionalPeer } from "../utils/optional_peer.js";
|
|
20
37
|
import { getA2AAgentCard, resolveAgentCard } from "./agent_card.js";
|
|
21
38
|
import { A2AAgentExecutor } from "./agent_executor.js";
|
|
22
|
-
function
|
|
39
|
+
async function loadExpressBindings() {
|
|
40
|
+
const expressModule = await loadOptionalPeer(
|
|
41
|
+
{ packageName: "express", feature: "toA2a" },
|
|
42
|
+
() => Promise.resolve().then(() => __toESM(require("express"), 1))
|
|
43
|
+
);
|
|
44
|
+
const a2aExpress = await Promise.resolve().then(() => __toESM(require("@a2a-js/sdk/server/express"), 1));
|
|
45
|
+
return { express: expressModule.default, a2aExpress };
|
|
46
|
+
}
|
|
47
|
+
__name(loadExpressBindings, "loadExpressBindings");
|
|
48
|
+
function resolveA2aUserBuilder(options, a2aExpress) {
|
|
23
49
|
if (options.authentication) {
|
|
24
50
|
return options.authentication;
|
|
25
51
|
}
|
|
@@ -27,15 +53,17 @@ function resolveA2aUserBuilder(options) {
|
|
|
27
53
|
logger.warn(
|
|
28
54
|
"SECURITY WARNING: Mounting the A2A server WITHOUT authentication because `allowUnauthenticated: true` was set. The agent and all of its tools are exposed to any network-reachable caller, which can invoke them with arbitrary input and read the output. Do NOT use this outside of local, trusted development."
|
|
29
55
|
);
|
|
30
|
-
return UserBuilder.noAuthentication;
|
|
56
|
+
return a2aExpress.UserBuilder.noAuthentication;
|
|
31
57
|
}
|
|
32
58
|
throw new Error(
|
|
33
59
|
"toA2a: refusing to mount the A2A server without authentication. The A2A surface lets any network-reachable caller invoke this agent and its tools with arbitrary input and read the output, so it must be authenticated. Provide `authentication` (a UserBuilder that validates the request, e.g. a bearer token or OIDC credential) or, only for local/trusted development, explicitly set `allowUnauthenticated: true`."
|
|
34
60
|
);
|
|
35
61
|
}
|
|
62
|
+
__name(resolveA2aUserBuilder, "resolveA2aUserBuilder");
|
|
36
63
|
async function toA2a(agent, options = {}) {
|
|
37
64
|
var _a, _b, _c, _d;
|
|
38
|
-
const
|
|
65
|
+
const { express: expressFactory, a2aExpress } = await loadExpressBindings();
|
|
66
|
+
const userBuilder = resolveA2aUserBuilder(options, a2aExpress);
|
|
39
67
|
const host = (_a = options.host) != null ? _a : "localhost";
|
|
40
68
|
const port = (_b = options.port) != null ? _b : 8e3;
|
|
41
69
|
const protocol = (_c = options.protocol) != null ? _c : "http";
|
|
@@ -68,30 +96,31 @@ async function toA2a(agent, options = {}) {
|
|
|
68
96
|
new InMemoryTaskStore(),
|
|
69
97
|
agentExecutor
|
|
70
98
|
);
|
|
71
|
-
const app = (_d = options.app) != null ? _d :
|
|
99
|
+
const app = (_d = options.app) != null ? _d : expressFactory();
|
|
72
100
|
if (!options.app) {
|
|
73
|
-
app.use(
|
|
101
|
+
app.use(expressFactory.json({ limit: "50mb" }));
|
|
74
102
|
}
|
|
75
103
|
app.use(
|
|
76
104
|
`${basePath}/${AGENT_CARD_PATH}`,
|
|
77
|
-
agentCardHandler({ agentCardProvider: requestHandler })
|
|
105
|
+
a2aExpress.agentCardHandler({ agentCardProvider: requestHandler })
|
|
78
106
|
);
|
|
79
107
|
app.use(
|
|
80
108
|
`${basePath}/rest`,
|
|
81
|
-
restHandler({
|
|
109
|
+
a2aExpress.restHandler({
|
|
82
110
|
requestHandler,
|
|
83
111
|
userBuilder
|
|
84
112
|
})
|
|
85
113
|
);
|
|
86
114
|
app.use(
|
|
87
115
|
`${basePath}/jsonrpc`,
|
|
88
|
-
jsonRpcHandler({
|
|
116
|
+
a2aExpress.jsonRpcHandler({
|
|
89
117
|
requestHandler,
|
|
90
118
|
userBuilder
|
|
91
119
|
})
|
|
92
120
|
);
|
|
93
121
|
return app;
|
|
94
122
|
}
|
|
123
|
+
__name(toA2a, "toA2a");
|
|
95
124
|
export {
|
|
96
125
|
toA2a
|
|
97
126
|
};
|
package/dist/esm/a2a/auth.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
5
|
/**
|
|
4
6
|
* @license
|
|
5
7
|
* Copyright 2026 Google LLC
|
|
@@ -13,6 +15,7 @@ function timingSafeEqualStrings(a, b) {
|
|
|
13
15
|
const right = Buffer.from(b, "utf8");
|
|
14
16
|
return left.length === right.length && timingSafeEqual(left, right);
|
|
15
17
|
}
|
|
18
|
+
__name(timingSafeEqualStrings, "timingSafeEqualStrings");
|
|
16
19
|
function bearerTokenUserBuilder(token) {
|
|
17
20
|
const expected = token.trim();
|
|
18
21
|
if (!expected) {
|
|
@@ -32,6 +35,7 @@ function bearerTokenUserBuilder(token) {
|
|
|
32
35
|
return { isAuthenticated: true, userName: AUTHENTICATED_USER_NAME };
|
|
33
36
|
};
|
|
34
37
|
}
|
|
38
|
+
__name(bearerTokenUserBuilder, "bearerTokenUserBuilder");
|
|
35
39
|
export {
|
|
36
40
|
bearerTokenUserBuilder
|
|
37
41
|
};
|
|
@@ -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,6 +45,7 @@ function toA2AMessage(event, {
|
|
|
43
45
|
metadata: getA2AEventMetadata(event, { appName, userId, sessionId })
|
|
44
46
|
};
|
|
45
47
|
}
|
|
48
|
+
__name(toA2AMessage, "toA2AMessage");
|
|
46
49
|
function toAdkEvent(event, invocationId, agentName, branch) {
|
|
47
50
|
if (isMessage(event)) {
|
|
48
51
|
return messageToAdkEvent(event, invocationId, agentName, branch);
|
|
@@ -58,6 +61,7 @@ function toAdkEvent(event, invocationId, agentName, branch) {
|
|
|
58
61
|
}
|
|
59
62
|
return void 0;
|
|
60
63
|
}
|
|
64
|
+
__name(toAdkEvent, "toAdkEvent");
|
|
61
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);
|
|
@@ -71,6 +75,7 @@ function messageToAdkEvent(msg, invocationId, agentName, branch) {
|
|
|
71
75
|
partial: false
|
|
72
76
|
};
|
|
73
77
|
}
|
|
78
|
+
__name(messageToAdkEvent, "messageToAdkEvent");
|
|
74
79
|
function artifactUpdateToAdkEvent(a2aEvent, invocationId, agentName, branch) {
|
|
75
80
|
var _a;
|
|
76
81
|
const partsToConvert = ((_a = a2aEvent.artifact) == null ? void 0 : _a.parts) || [];
|
|
@@ -88,6 +93,7 @@ function artifactUpdateToAdkEvent(a2aEvent, invocationId, agentName, branch) {
|
|
|
88
93
|
partial
|
|
89
94
|
};
|
|
90
95
|
}
|
|
96
|
+
__name(artifactUpdateToAdkEvent, "artifactUpdateToAdkEvent");
|
|
91
97
|
function finalTaskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName, branch) {
|
|
92
98
|
var _a;
|
|
93
99
|
const partsToConvert = ((_a = a2aEvent.status.message) == null ? void 0 : _a.parts) || [];
|
|
@@ -108,6 +114,7 @@ function finalTaskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName, bran
|
|
|
108
114
|
turnComplete: true
|
|
109
115
|
};
|
|
110
116
|
}
|
|
117
|
+
__name(finalTaskStatusUpdateToAdkEvent, "finalTaskStatusUpdateToAdkEvent");
|
|
111
118
|
function taskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName, branch) {
|
|
112
119
|
const msg = a2aEvent.status.message;
|
|
113
120
|
if (!msg) {
|
|
@@ -127,6 +134,7 @@ function taskStatusUpdateToAdkEvent(a2aEvent, invocationId, agentName, branch) {
|
|
|
127
134
|
partial: true
|
|
128
135
|
};
|
|
129
136
|
}
|
|
137
|
+
__name(taskStatusUpdateToAdkEvent, "taskStatusUpdateToAdkEvent");
|
|
130
138
|
function taskToAdkEvent(a2aTask, invocationId, agentName, branch) {
|
|
131
139
|
var _a, _b;
|
|
132
140
|
const parts = [];
|
|
@@ -162,6 +170,7 @@ function taskToAdkEvent(a2aTask, invocationId, agentName, branch) {
|
|
|
162
170
|
turnComplete: isTerminal
|
|
163
171
|
};
|
|
164
172
|
}
|
|
173
|
+
__name(taskToAdkEvent, "taskToAdkEvent");
|
|
165
174
|
const PEER_SETTABLE_ACTION_FIELDS = /* @__PURE__ */ new Set(["escalate"]);
|
|
166
175
|
function createAdkEventFromMetadata(a2aEvent) {
|
|
167
176
|
const metadata = a2aEvent.metadata || {};
|
|
@@ -200,6 +209,7 @@ function createAdkEventFromMetadata(a2aEvent) {
|
|
|
200
209
|
)
|
|
201
210
|
});
|
|
202
211
|
}
|
|
212
|
+
__name(createAdkEventFromMetadata, "createAdkEventFromMetadata");
|
|
203
213
|
function getLongRunningToolIDs(parts) {
|
|
204
214
|
const ids = [];
|
|
205
215
|
for (const a2aPart of parts) {
|
|
@@ -212,6 +222,7 @@ function getLongRunningToolIDs(parts) {
|
|
|
212
222
|
}
|
|
213
223
|
return ids;
|
|
214
224
|
}
|
|
225
|
+
__name(getLongRunningToolIDs, "getLongRunningToolIDs");
|
|
215
226
|
export {
|
|
216
227
|
toA2AMessage,
|
|
217
228
|
toAdkEvent
|