@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,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
|
|
@@ -24,15 +26,19 @@ var TaskState = /* @__PURE__ */ ((TaskState2) => {
|
|
|
24
26
|
function isTaskStatusUpdateEvent(event) {
|
|
25
27
|
return (event == null ? void 0 : event.kind) === "status-update";
|
|
26
28
|
}
|
|
29
|
+
__name(isTaskStatusUpdateEvent, "isTaskStatusUpdateEvent");
|
|
27
30
|
function isTaskArtifactUpdateEvent(event) {
|
|
28
31
|
return (event == null ? void 0 : event.kind) === "artifact-update";
|
|
29
32
|
}
|
|
33
|
+
__name(isTaskArtifactUpdateEvent, "isTaskArtifactUpdateEvent");
|
|
30
34
|
function isMessage(event) {
|
|
31
35
|
return (event == null ? void 0 : event.kind) === "message";
|
|
32
36
|
}
|
|
37
|
+
__name(isMessage, "isMessage");
|
|
33
38
|
function isTask(event) {
|
|
34
39
|
return (event == null ? void 0 : event.kind) === "task";
|
|
35
40
|
}
|
|
41
|
+
__name(isTask, "isTask");
|
|
36
42
|
function getEventMetadata(event) {
|
|
37
43
|
if (isTaskArtifactUpdateEvent(event)) {
|
|
38
44
|
return event.artifact.metadata || {};
|
|
@@ -42,9 +48,11 @@ function getEventMetadata(event) {
|
|
|
42
48
|
}
|
|
43
49
|
return {};
|
|
44
50
|
}
|
|
51
|
+
__name(getEventMetadata, "getEventMetadata");
|
|
45
52
|
function isFailedTaskStatusUpdateEvent(event) {
|
|
46
53
|
return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "failed" /* FAILED */;
|
|
47
54
|
}
|
|
55
|
+
__name(isFailedTaskStatusUpdateEvent, "isFailedTaskStatusUpdateEvent");
|
|
48
56
|
function isTerminalTaskStatusUpdateEvent(event) {
|
|
49
57
|
return (isTaskStatusUpdateEvent(event) || isTask(event)) && [
|
|
50
58
|
"completed" /* COMPLETED */,
|
|
@@ -53,9 +61,11 @@ function isTerminalTaskStatusUpdateEvent(event) {
|
|
|
53
61
|
"rejected" /* REJECTED */
|
|
54
62
|
].includes(event.status.state);
|
|
55
63
|
}
|
|
64
|
+
__name(isTerminalTaskStatusUpdateEvent, "isTerminalTaskStatusUpdateEvent");
|
|
56
65
|
function isInputRequiredTaskStatusUpdateEvent(event) {
|
|
57
66
|
return (isTaskStatusUpdateEvent(event) || isTask(event)) && event.status.state === "input-required" /* INPUT_REQUIRED */;
|
|
58
67
|
}
|
|
68
|
+
__name(isInputRequiredTaskStatusUpdateEvent, "isInputRequiredTaskStatusUpdateEvent");
|
|
59
69
|
function getFailedTaskStatusUpdateEventError(event) {
|
|
60
70
|
var _a;
|
|
61
71
|
if (!isFailedTaskStatusUpdateEvent(event)) {
|
|
@@ -70,6 +80,7 @@ function getFailedTaskStatusUpdateEventError(event) {
|
|
|
70
80
|
}
|
|
71
81
|
return parts[0].text;
|
|
72
82
|
}
|
|
83
|
+
__name(getFailedTaskStatusUpdateEventError, "getFailedTaskStatusUpdateEventError");
|
|
73
84
|
function createTaskSubmittedEvent({
|
|
74
85
|
taskId,
|
|
75
86
|
contextId,
|
|
@@ -89,6 +100,7 @@ function createTaskSubmittedEvent({
|
|
|
89
100
|
metadata
|
|
90
101
|
};
|
|
91
102
|
}
|
|
103
|
+
__name(createTaskSubmittedEvent, "createTaskSubmittedEvent");
|
|
92
104
|
function createTask({
|
|
93
105
|
contextId,
|
|
94
106
|
message,
|
|
@@ -107,6 +119,7 @@ function createTask({
|
|
|
107
119
|
metadata
|
|
108
120
|
};
|
|
109
121
|
}
|
|
122
|
+
__name(createTask, "createTask");
|
|
110
123
|
function createTaskWorkingEvent({
|
|
111
124
|
taskId,
|
|
112
125
|
contextId,
|
|
@@ -126,6 +139,7 @@ function createTaskWorkingEvent({
|
|
|
126
139
|
metadata
|
|
127
140
|
};
|
|
128
141
|
}
|
|
142
|
+
__name(createTaskWorkingEvent, "createTaskWorkingEvent");
|
|
129
143
|
function createTaskCompletedEvent({
|
|
130
144
|
taskId,
|
|
131
145
|
contextId,
|
|
@@ -143,6 +157,7 @@ function createTaskCompletedEvent({
|
|
|
143
157
|
metadata
|
|
144
158
|
};
|
|
145
159
|
}
|
|
160
|
+
__name(createTaskCompletedEvent, "createTaskCompletedEvent");
|
|
146
161
|
function createTaskArtifactUpdateEvent({
|
|
147
162
|
taskId,
|
|
148
163
|
contextId,
|
|
@@ -165,6 +180,7 @@ function createTaskArtifactUpdateEvent({
|
|
|
165
180
|
metadata
|
|
166
181
|
};
|
|
167
182
|
}
|
|
183
|
+
__name(createTaskArtifactUpdateEvent, "createTaskArtifactUpdateEvent");
|
|
168
184
|
function createTaskFailedEvent({
|
|
169
185
|
taskId,
|
|
170
186
|
contextId,
|
|
@@ -196,6 +212,7 @@ function createTaskFailedEvent({
|
|
|
196
212
|
metadata
|
|
197
213
|
};
|
|
198
214
|
}
|
|
215
|
+
__name(createTaskFailedEvent, "createTaskFailedEvent");
|
|
199
216
|
function createTaskInputRequiredEvent({
|
|
200
217
|
taskId,
|
|
201
218
|
contextId,
|
|
@@ -222,6 +239,7 @@ function createTaskInputRequiredEvent({
|
|
|
222
239
|
metadata
|
|
223
240
|
};
|
|
224
241
|
}
|
|
242
|
+
__name(createTaskInputRequiredEvent, "createTaskInputRequiredEvent");
|
|
225
243
|
function createInputMissingErrorEvent({
|
|
226
244
|
taskId,
|
|
227
245
|
contextId,
|
|
@@ -248,6 +266,7 @@ function createInputMissingErrorEvent({
|
|
|
248
266
|
metadata
|
|
249
267
|
};
|
|
250
268
|
}
|
|
269
|
+
__name(createInputMissingErrorEvent, "createInputMissingErrorEvent");
|
|
251
270
|
export {
|
|
252
271
|
MessageRole,
|
|
253
272
|
TaskState,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
3
4
|
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
6
|
var __await = function(promise, isYieldStar) {
|
|
5
7
|
this[0] = promise;
|
|
6
8
|
this[1] = isYieldStar;
|
|
@@ -40,7 +42,7 @@ import { resolveAgentCard } from "./agent_card.js";
|
|
|
40
42
|
import { toAdkEvent } from "./event_converter_utils.js";
|
|
41
43
|
import { getA2ASessionMetadata } from "./metadata_converter_utils.js";
|
|
42
44
|
import { toA2AParts } from "./part_converter_utils.js";
|
|
43
|
-
class
|
|
45
|
+
const _RemoteA2AAgent = class _RemoteA2AAgent extends BaseAgent {
|
|
44
46
|
constructor(a2aConfig) {
|
|
45
47
|
super(a2aConfig);
|
|
46
48
|
this.a2aConfig = a2aConfig;
|
|
@@ -189,7 +191,9 @@ class RemoteA2AAgent extends BaseAgent {
|
|
|
189
191
|
runLiveImpl(_context) {
|
|
190
192
|
throw new Error("Live mode is not supported in A2ARemoteAgent yet.");
|
|
191
193
|
}
|
|
192
|
-
}
|
|
194
|
+
};
|
|
195
|
+
__name(_RemoteA2AAgent, "RemoteA2AAgent");
|
|
196
|
+
let RemoteA2AAgent = _RemoteA2AAgent;
|
|
193
197
|
export {
|
|
194
198
|
AGENT_CARD_PATH,
|
|
195
199
|
RemoteA2AAgent
|
|
@@ -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
|
|
@@ -8,6 +10,7 @@ const require = topLevelCreateRequire(import.meta.url);
|
|
|
8
10
|
import {
|
|
9
11
|
createModelContent
|
|
10
12
|
} from "@google/genai";
|
|
13
|
+
import { requireAgent } from "../agents/invocation_context.js";
|
|
11
14
|
import { createEvent } from "../events/event.js";
|
|
12
15
|
import {
|
|
13
16
|
getEventMetadata,
|
|
@@ -16,7 +19,7 @@ import {
|
|
|
16
19
|
isTaskStatusUpdateEvent
|
|
17
20
|
} from "./a2a_event.js";
|
|
18
21
|
import { A2AMetadataKeys } from "./metadata_converter_utils.js";
|
|
19
|
-
class
|
|
22
|
+
const _A2ARemoteAgentRunProcessor = class _A2ARemoteAgentRunProcessor {
|
|
20
23
|
constructor(request) {
|
|
21
24
|
this.request = request;
|
|
22
25
|
this.aggregations = /* @__PURE__ */ new Map();
|
|
@@ -127,7 +130,7 @@ class A2ARemoteAgentRunProcessor {
|
|
|
127
130
|
buildNonPartialAggregation(context, agg) {
|
|
128
131
|
this.promoteTextBlocksToParts(agg);
|
|
129
132
|
const result = createEvent({
|
|
130
|
-
author: context.
|
|
133
|
+
author: requireAgent(context).name,
|
|
131
134
|
invocationId: context.invocationId,
|
|
132
135
|
content: agg.parts.length > 0 ? createModelContent([...agg.parts]) : void 0,
|
|
133
136
|
customMetadata: agg.customMeta,
|
|
@@ -178,7 +181,9 @@ class A2ARemoteAgentRunProcessor {
|
|
|
178
181
|
event.customMetadata["a2a:".concat(k)] = v;
|
|
179
182
|
}
|
|
180
183
|
}
|
|
181
|
-
}
|
|
184
|
+
};
|
|
185
|
+
__name(_A2ARemoteAgentRunProcessor, "A2ARemoteAgentRunProcessor");
|
|
186
|
+
let A2ARemoteAgentRunProcessor = _A2ARemoteAgentRunProcessor;
|
|
182
187
|
export {
|
|
183
188
|
A2ARemoteAgentRunProcessor
|
|
184
189
|
};
|
|
@@ -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 ".concat(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 "".concat(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 "".concat(descriptions.join(" "), " in a loop (max ").concat(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,6 +1,26 @@
|
|
|
1
1
|
import {createRequire as topLevelCreateRequire} from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defProps = Object.defineProperties;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
3
9
|
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __spreadValues = (a, b) => {
|
|
12
|
+
for (var prop in b || (b = {}))
|
|
13
|
+
if (__hasOwnProp.call(b, prop))
|
|
14
|
+
__defNormalProp(a, prop, b[prop]);
|
|
15
|
+
if (__getOwnPropSymbols)
|
|
16
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
17
|
+
if (__propIsEnum.call(b, prop))
|
|
18
|
+
__defNormalProp(a, prop, b[prop]);
|
|
19
|
+
}
|
|
20
|
+
return a;
|
|
21
|
+
};
|
|
22
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
23
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
24
|
var __forAwait = (obj, it, method) => (it = obj[__knownSymbol("asyncIterator")]) ? it.call(obj) : (obj = obj[__knownSymbol("iterator")](), it = {}, method = (key, fn) => (fn = obj[key]) && (it[key] = (arg) => new Promise((yes, no, done) => (arg = fn.call(obj, arg), done = arg.done, Promise.resolve(arg.value).then((value) => yes({ value, done }), no)))), method("next"), method("return"), it);
|
|
5
25
|
/**
|
|
6
26
|
* @license
|
|
@@ -18,7 +38,7 @@ import {
|
|
|
18
38
|
} from "./a2a_event.js";
|
|
19
39
|
import {
|
|
20
40
|
getFinalTaskStatusUpdate,
|
|
21
|
-
|
|
41
|
+
getUnansweredRequestEvent
|
|
22
42
|
} from "./event_processor_utils.js";
|
|
23
43
|
import { createExecutorContext } from "./executor_context.js";
|
|
24
44
|
import {
|
|
@@ -26,7 +46,7 @@ import {
|
|
|
26
46
|
getA2ASessionMetadata
|
|
27
47
|
} from "./metadata_converter_utils.js";
|
|
28
48
|
import { toA2AParts, toGenAIContent } from "./part_converter_utils.js";
|
|
29
|
-
class
|
|
49
|
+
const _A2AAgentExecutor = class _A2AAgentExecutor {
|
|
30
50
|
constructor(config) {
|
|
31
51
|
this.config = config;
|
|
32
52
|
this.agentPartialArtifactIdsMap = {};
|
|
@@ -56,19 +76,20 @@ class A2AAgentExecutor {
|
|
|
56
76
|
if (this.config.beforeExecuteCallback) {
|
|
57
77
|
await this.config.beforeExecuteCallback(ctx);
|
|
58
78
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
79
|
+
const unansweredRequestEvent = getUnansweredRequestEvent({
|
|
80
|
+
taskId: ctx.taskId,
|
|
81
|
+
contextId: ctx.contextId,
|
|
82
|
+
task: ctx.task,
|
|
83
|
+
sessionEvents: session.events,
|
|
84
|
+
genAIContent: genAIUserMessage
|
|
85
|
+
});
|
|
86
|
+
if (unansweredRequestEvent) {
|
|
87
|
+
await this.publishFinalTaskStatus({
|
|
88
|
+
executorContext,
|
|
89
|
+
eventBus,
|
|
90
|
+
event: unansweredRequestEvent
|
|
91
|
+
});
|
|
92
|
+
return;
|
|
72
93
|
}
|
|
73
94
|
if (!ctx.task) {
|
|
74
95
|
eventBus.publish(
|
|
@@ -91,7 +112,10 @@ class A2AAgentExecutor {
|
|
|
91
112
|
userId,
|
|
92
113
|
sessionId,
|
|
93
114
|
newMessage: genAIUserMessage,
|
|
94
|
-
|
|
115
|
+
// Marked remote so the run knows this message came from a peer rather
|
|
116
|
+
// than from the operator: a human-in-the-loop gate is not answerable
|
|
117
|
+
// over A2A unless the deployment opts in.
|
|
118
|
+
runConfig: __spreadProps(__spreadValues({}, this.config.runConfig), { remoteDelivered: true })
|
|
95
119
|
})), more, temp, error; more = !(temp = await iter.next()).done; more = false) {
|
|
96
120
|
const adkEvent = temp.value;
|
|
97
121
|
adkEvents.push(adkEvent);
|
|
@@ -187,7 +211,9 @@ class A2AAgentExecutor {
|
|
|
187
211
|
}
|
|
188
212
|
eventBus.publish(event);
|
|
189
213
|
}
|
|
190
|
-
}
|
|
214
|
+
};
|
|
215
|
+
__name(_A2AAgentExecutor, "A2AAgentExecutor");
|
|
216
|
+
let A2AAgentExecutor = _A2AAgentExecutor;
|
|
191
217
|
async function getAdkSession(userId, sessionId, sessionService, appName) {
|
|
192
218
|
const session = await sessionService.getSession({
|
|
193
219
|
appName,
|
|
@@ -203,6 +229,7 @@ async function getAdkSession(userId, sessionId, sessionService, appName) {
|
|
|
203
229
|
sessionId
|
|
204
230
|
});
|
|
205
231
|
}
|
|
232
|
+
__name(getAdkSession, "getAdkSession");
|
|
206
233
|
async function getAdkRunner(runnerOrConfig) {
|
|
207
234
|
if (typeof runnerOrConfig === "function") {
|
|
208
235
|
const result = await runnerOrConfig();
|
|
@@ -213,6 +240,7 @@ async function getAdkRunner(runnerOrConfig) {
|
|
|
213
240
|
}
|
|
214
241
|
return new Runner(runnerOrConfig);
|
|
215
242
|
}
|
|
243
|
+
__name(getAdkRunner, "getAdkRunner");
|
|
216
244
|
export {
|
|
217
245
|
A2AAgentExecutor
|
|
218
246
|
};
|
|
@@ -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
|
"".concat(basePath, "/").concat(AGENT_CARD_PATH),
|
|
77
|
-
agentCardHandler({ agentCardProvider: requestHandler })
|
|
105
|
+
a2aExpress.agentCardHandler({ agentCardProvider: requestHandler })
|
|
78
106
|
);
|
|
79
107
|
app.use(
|
|
80
108
|
"".concat(basePath, "/rest"),
|
|
81
|
-
restHandler({
|
|
109
|
+
a2aExpress.restHandler({
|
|
82
110
|
requestHandler,
|
|
83
111
|
userBuilder
|
|
84
112
|
})
|
|
85
113
|
);
|
|
86
114
|
app.use(
|
|
87
115
|
"".concat(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/web/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
|
};
|