@google/adk 1.5.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/a2a/a2a_event.js +18 -0
- package/dist/cjs/a2a/a2a_remote_agent.js +17 -4
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +9 -2
- package/dist/cjs/a2a/agent_card.js +33 -3
- package/dist/cjs/a2a/agent_executor.js +25 -16
- package/dist/cjs/a2a/agent_to_a2a.js +22 -11
- package/dist/cjs/a2a/auth.js +68 -0
- package/dist/cjs/a2a/event_converter_utils.js +50 -15
- package/dist/cjs/a2a/event_processor_utils.js +71 -35
- package/dist/cjs/a2a/executor_context.js +2 -0
- package/dist/cjs/a2a/index.js +53 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +46 -9
- package/dist/cjs/agents/context.js +5 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +58 -23
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +42 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +536 -45
- package/dist/cjs/agents/loop_agent.js +19 -2
- package/dist/cjs/agents/parallel_agent.js +21 -2
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +7 -4
- package/dist/cjs/agents/processors/base_llm_processor.js +9 -4
- package/dist/cjs/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/cjs/agents/processors/code_execution_request_processor.js +18 -5
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +11 -25
- package/dist/cjs/agents/processors/context_compactor_request_processor.js +5 -2
- package/dist/cjs/agents/processors/identity_llm_request_processor.js +12 -4
- package/dist/cjs/agents/processors/instructions_llm_request_processor.js +8 -3
- package/dist/cjs/agents/processors/interactions_request_processor.js +5 -2
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +313 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +218 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +7 -3
- package/dist/cjs/agents/routed_agent.js +6 -13
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +20 -3
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +11 -11
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +21 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +46 -11
- package/dist/cjs/artifacts/in_memory_artifact_service.js +19 -11
- package/dist/cjs/artifacts/registry.js +6 -1
- package/dist/cjs/artifacts/scoped_artifact_service.js +5 -2
- package/dist/cjs/auth/auth_handler.js +5 -2
- package/dist/cjs/auth/auth_preprocessor.js +48 -40
- package/dist/cjs/auth/auth_provider_registry.js +5 -2
- package/dist/cjs/auth/auth_schemes.js +2 -0
- package/dist/cjs/auth/credential_response_binding.js +101 -0
- package/dist/cjs/auth/credential_service/in_memory_credential_service.js +19 -5
- package/dist/cjs/auth/credential_service/session_state_credential_service.js +5 -2
- package/dist/cjs/auth/exchanger/base_credential_exchanger.js +5 -2
- package/dist/cjs/auth/exchanger/credential_exchanger_registry.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +6 -0
- package/dist/cjs/auth/refresher/base_credential_refresher.js +5 -2
- package/dist/cjs/auth/refresher/credential_refresher_registry.js +5 -2
- package/dist/cjs/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/cjs/code_executors/base_code_executor.js +6 -2
- package/dist/cjs/code_executors/built_in_code_executor.js +6 -2
- package/dist/cjs/code_executors/code_execution_utils.js +6 -0
- package/dist/cjs/code_executors/code_executor_context.js +5 -2
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +31 -14
- package/dist/cjs/common.js +112 -1
- package/dist/cjs/context/agent_controlled_context_compactor.js +7 -13
- package/dist/cjs/context/anchored_context_compactor.js +5 -2
- package/dist/cjs/context/compaction_utils.js +17 -2
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +11 -23
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +5 -2
- package/dist/cjs/context/truncating_context_compactor.js +5 -2
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -0
- package/dist/cjs/events/compacted_event.js +4 -0
- package/dist/cjs/events/event.js +38 -3
- package/dist/cjs/events/event_actions.js +5 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +6 -2
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +7 -22
- package/dist/cjs/integrations/agent_registry/agent_registry.js +7 -4
- package/dist/cjs/integrations/agent_registry/agent_registry_mcp_toolset.js +7 -4
- package/dist/cjs/integrations/agent_registry/helpers.js +3 -0
- package/dist/cjs/memory/in_memory_memory_service.js +21 -4
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +20 -2
- package/dist/cjs/models/apigee_llm.js +9 -3
- package/dist/cjs/models/base_llm.js +7 -3
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +24 -12
- package/dist/cjs/models/interactions_utils.js +16 -0
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +6 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/base_plugin.js +43 -7
- package/dist/cjs/plugins/global_instruction_plugin.js +5 -2
- package/dist/cjs/plugins/logging_plugin.js +13 -8
- package/dist/cjs/plugins/plugin_manager.js +37 -2
- package/dist/cjs/plugins/security_plugin.js +15 -8
- package/dist/cjs/runner/in_memory_runner.js +5 -2
- package/dist/cjs/runner/runner.js +226 -29
- package/dist/cjs/sessions/base_session_service.js +21 -5
- package/dist/cjs/sessions/database_session_service.js +6 -2
- package/dist/cjs/sessions/db/operations.js +34 -6
- package/dist/cjs/sessions/db/schema.js +16 -8
- package/dist/cjs/sessions/in_memory_session_service.js +30 -22
- package/dist/cjs/sessions/registry.js +4 -1
- package/dist/cjs/sessions/session.js +2 -0
- package/dist/cjs/sessions/state.js +80 -8
- package/dist/cjs/sessions/state_write_order.js +105 -0
- package/dist/cjs/sessions/vertex_ai_session_service.js +132 -25
- package/dist/cjs/skills/gcp_skill_registry.js +2 -0
- package/dist/cjs/skills/loader.js +62 -16
- package/dist/cjs/skills/prompt.js +3 -0
- package/dist/cjs/telemetry/google_cloud.js +42 -9
- package/dist/cjs/telemetry/setup.js +5 -0
- package/dist/cjs/telemetry/tracing.js +60 -4
- package/dist/cjs/tools/agent_tool.js +6 -2
- package/dist/cjs/tools/base_tool.js +24 -2
- package/dist/cjs/tools/base_toolset.js +6 -2
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +6 -2
- package/dist/cjs/tools/example_tool.js +5 -2
- package/dist/cjs/tools/exit_loop_tool.js +5 -2
- package/dist/cjs/tools/finish_task_tool.js +119 -0
- package/dist/cjs/tools/forwarding_artifact_service.js +5 -2
- package/dist/cjs/tools/function_tool.js +73 -8
- package/dist/cjs/tools/get_user_choice_tool.js +54 -0
- package/dist/cjs/tools/google_maps_grounding_tool.js +6 -2
- package/dist/cjs/tools/google_search_tool.js +5 -2
- package/dist/cjs/tools/load_artifacts_tool.js +8 -2
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +21 -1
- package/dist/cjs/tools/long_running_tool.js +5 -2
- package/dist/cjs/tools/mcp/index.js +39 -0
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_session_manager.js +69 -27
- package/dist/cjs/tools/mcp/mcp_tool.js +5 -2
- package/dist/cjs/tools/mcp/mcp_toolset.js +5 -2
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +4 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/cjs/tools/preload_memory_tool.js +5 -2
- package/dist/cjs/tools/request_input_tool.js +56 -0
- package/dist/cjs/tools/skill/list_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/cjs/tools/skill/load_skill_tool.js +4 -1
- package/dist/cjs/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/cjs/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/cjs/tools/skill/search_skills_tool.js +2 -0
- package/dist/cjs/tools/skill/skill_toolset.js +35 -0
- package/dist/cjs/tools/tool_confirmation.js +26 -3
- package/dist/cjs/tools/url_context_tool.js +5 -2
- package/dist/cjs/tools/vertex_ai_search_tool.js +5 -2
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +5 -2
- package/dist/cjs/utils/async_hooks_shim.js +5 -2
- package/dist/cjs/utils/async_queue.js +45 -18
- package/dist/cjs/utils/branch_trie.js +2 -0
- package/dist/cjs/utils/case_utils.js +2 -0
- package/dist/cjs/utils/client_labels.js +5 -0
- package/dist/cjs/utils/crypto_shim.js +45 -0
- package/dist/cjs/utils/deprecated.js +68 -0
- package/dist/cjs/utils/env_aware_utils.js +56 -13
- package/dist/cjs/utils/error_utils.js +128 -0
- package/dist/cjs/utils/experimental.js +9 -2
- package/dist/cjs/utils/failover_utils.js +3 -0
- package/dist/cjs/utils/file_extension_utils.js +3 -0
- package/dist/cjs/utils/file_utils.js +12 -4
- package/dist/cjs/utils/gemini_schema_util.js +6 -2
- package/dist/cjs/utils/genai_schema_to_json.js +107 -0
- package/dist/cjs/utils/live_connection_utils.js +5 -2
- package/dist/cjs/utils/logger.js +13 -4
- package/dist/cjs/utils/model_name.js +8 -0
- package/dist/cjs/utils/object_notation_utils.js +7 -3
- package/dist/cjs/utils/optional_peer.js +68 -0
- package/dist/cjs/utils/output_schema_utils.js +45 -0
- package/dist/cjs/utils/partial_copy.js +2 -0
- package/dist/cjs/utils/redact_uri.js +66 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- package/dist/cjs/utils/streaming_utils.js +14 -6
- package/dist/cjs/utils/task.js +7 -4
- package/dist/cjs/utils/variant_utils.js +3 -1
- package/dist/cjs/utils/vertex_ai_utils.js +6 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +211 -0
- package/dist/cjs/workflow/branch_path.js +108 -0
- package/dist/cjs/workflow/dynamic_node_scheduler.js +220 -0
- package/dist/cjs/workflow/errors.js +178 -0
- package/dist/cjs/workflow/graph.js +158 -0
- package/dist/cjs/workflow/index.js +131 -0
- package/dist/cjs/workflow/node.js +65 -0
- package/dist/cjs/workflow/node_builders.js +68 -0
- package/dist/cjs/workflow/node_context.js +246 -0
- package/dist/cjs/workflow/node_error_event.js +86 -0
- package/dist/cjs/workflow/node_runner.js +459 -0
- package/dist/cjs/workflow/node_state.js +57 -0
- package/dist/cjs/workflow/node_status.js +48 -0
- package/dist/cjs/workflow/nodes/function_node.js +195 -0
- package/dist/cjs/workflow/nodes/join_node.js +56 -0
- package/dist/cjs/workflow/nodes/node_tool.js +156 -0
- package/dist/cjs/workflow/nodes/parallel_worker.js +129 -0
- package/dist/cjs/workflow/nodes/tool_node.js +117 -0
- package/dist/cjs/workflow/request_input.js +64 -0
- package/dist/cjs/workflow/retry_config.js +71 -0
- package/dist/cjs/workflow/run_llm_agent_as_node.js +192 -0
- package/dist/cjs/workflow/run_node_as_invocation.js +165 -0
- package/dist/cjs/workflow/schedule_dynamic_node.js +53 -0
- package/dist/cjs/workflow/trigger.js +27 -0
- package/dist/cjs/workflow/utils/graph_parser.js +212 -0
- package/dist/cjs/workflow/utils/graph_validation.js +216 -0
- package/dist/cjs/workflow/utils/hitl_utils.js +252 -0
- package/dist/cjs/workflow/utils/rehydration_utils.js +373 -0
- package/dist/cjs/workflow/utils/retry_utils.js +112 -0
- package/dist/cjs/workflow/utils/workflow_graph_utils.js +144 -0
- package/dist/cjs/workflow/workflow.js +509 -0
- package/dist/esm/a2a/a2a_event.js +19 -0
- package/dist/esm/a2a/a2a_remote_agent.js +18 -4
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/esm/a2a/agent_card.js +34 -3
- package/dist/esm/a2a/agent_executor.js +27 -17
- package/dist/esm/a2a/agent_to_a2a.js +44 -16
- package/dist/esm/a2a/auth.js +41 -0
- package/dist/esm/a2a/event_converter_utils.js +51 -15
- package/dist/esm/a2a/event_processor_utils.js +74 -34
- package/dist/esm/a2a/executor_context.js +3 -0
- package/dist/esm/a2a/index.js +20 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +47 -9
- package/dist/esm/agents/context.js +6 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +62 -20
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +41 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +537 -45
- package/dist/esm/agents/loop_agent.js +21 -2
- package/dist/esm/agents/parallel_agent.js +23 -2
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/esm/agents/processors/base_llm_processor.js +10 -4
- package/dist/esm/agents/processors/basic_llm_request_processor.js +9 -4
- package/dist/esm/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +12 -25
- package/dist/esm/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/esm/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/esm/agents/processors/instructions_llm_request_processor.js +9 -3
- package/dist/esm/agents/processors/interactions_request_processor.js +6 -2
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +318 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +197 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +8 -3
- package/dist/esm/agents/routed_agent.js +6 -14
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +22 -3
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +14 -11
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +22 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +58 -11
- package/dist/esm/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/esm/artifacts/registry.js +7 -1
- package/dist/esm/artifacts/scoped_artifact_service.js +6 -2
- package/dist/esm/auth/auth_handler.js +6 -2
- package/dist/esm/auth/auth_preprocessor.js +50 -41
- package/dist/esm/auth/auth_provider_registry.js +6 -2
- package/dist/esm/auth/auth_schemes.js +3 -0
- package/dist/esm/auth/credential_response_binding.js +74 -0
- package/dist/esm/auth/credential_service/in_memory_credential_service.js +20 -5
- package/dist/esm/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/esm/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/esm/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_credential_exchanger.js +9 -2
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +6 -2
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/esm/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/esm/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/esm/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/esm/code_executors/base_code_executor.js +7 -2
- package/dist/esm/code_executors/built_in_code_executor.js +7 -2
- package/dist/esm/code_executors/code_execution_utils.js +7 -0
- package/dist/esm/code_executors/code_executor_context.js +6 -2
- package/dist/esm/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/esm/common.js +113 -4
- package/dist/esm/context/agent_controlled_context_compactor.js +8 -13
- package/dist/esm/context/anchored_context_compactor.js +6 -2
- package/dist/esm/context/compaction_utils.js +16 -1
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +16 -24
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/esm/context/truncating_context_compactor.js +6 -2
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -0
- package/dist/esm/events/compacted_event.js +5 -0
- package/dist/esm/events/event.js +38 -3
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +7 -2
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +4 -13
- package/dist/esm/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/esm/integrations/agent_registry/agent_registry_mcp_toolset.js +6 -2
- package/dist/esm/integrations/agent_registry/helpers.js +4 -0
- package/dist/esm/memory/in_memory_memory_service.js +22 -4
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +25 -3
- package/dist/esm/models/apigee_llm.js +10 -3
- package/dist/esm/models/base_llm.js +8 -3
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +26 -13
- package/dist/esm/models/interactions_utils.js +17 -0
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +7 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/base_plugin.js +43 -7
- package/dist/esm/plugins/global_instruction_plugin.js +6 -2
- package/dist/esm/plugins/logging_plugin.js +14 -8
- package/dist/esm/plugins/plugin_manager.js +38 -2
- package/dist/esm/plugins/security_plugin.js +14 -6
- package/dist/esm/runner/in_memory_runner.js +6 -2
- package/dist/esm/runner/runner.js +233 -31
- package/dist/esm/sessions/base_session_service.js +22 -5
- package/dist/esm/sessions/database_session_service.js +7 -2
- package/dist/esm/sessions/db/operations.js +34 -6
- package/dist/esm/sessions/db/schema.js +16 -8
- package/dist/esm/sessions/in_memory_session_service.js +31 -22
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/session.js +3 -0
- package/dist/esm/sessions/state.js +78 -7
- package/dist/esm/sessions/state_write_order.js +74 -0
- package/dist/esm/sessions/vertex_ai_session_service.js +136 -26
- package/dist/esm/skills/gcp_skill_registry.js +2 -0
- package/dist/esm/skills/loader.js +63 -16
- package/dist/esm/skills/prompt.js +4 -0
- package/dist/esm/telemetry/google_cloud.js +54 -9
- package/dist/esm/telemetry/setup.js +6 -0
- package/dist/esm/telemetry/tracing.js +59 -4
- package/dist/esm/tools/agent_tool.js +7 -2
- package/dist/esm/tools/base_tool.js +25 -2
- package/dist/esm/tools/base_toolset.js +7 -2
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +7 -2
- package/dist/esm/tools/example_tool.js +6 -2
- package/dist/esm/tools/exit_loop_tool.js +6 -2
- package/dist/esm/tools/finish_task_tool.js +92 -0
- package/dist/esm/tools/forwarding_artifact_service.js +6 -2
- package/dist/esm/tools/function_tool.js +74 -8
- package/dist/esm/tools/get_user_choice_tool.js +27 -0
- package/dist/esm/tools/google_maps_grounding_tool.js +7 -2
- package/dist/esm/tools/google_search_tool.js +6 -2
- package/dist/esm/tools/load_artifacts_tool.js +9 -2
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +22 -1
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/esm/tools/mcp/index.js +11 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_session_manager.js +80 -30
- package/dist/esm/tools/mcp/mcp_tool.js +6 -2
- package/dist/esm/tools/mcp/mcp_toolset.js +6 -2
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/esm/tools/preload_memory_tool.js +6 -2
- package/dist/esm/tools/request_input_tool.js +29 -0
- package/dist/esm/tools/skill/list_skills_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/esm/tools/skill/load_skill_tool.js +4 -1
- package/dist/esm/tools/skill/run_skill_inline_script_tool.js +8 -2
- package/dist/esm/tools/skill/run_skill_script_tool.js +10 -2
- package/dist/esm/tools/skill/search_skills_tool.js +2 -0
- package/dist/esm/tools/skill/skill_toolset.js +25 -0
- package/dist/esm/tools/tool_confirmation.js +24 -2
- package/dist/esm/tools/url_context_tool.js +6 -2
- package/dist/esm/tools/vertex_ai_search_tool.js +6 -2
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/esm/utils/async_hooks_shim.js +6 -2
- package/dist/esm/utils/async_queue.js +46 -18
- package/dist/esm/utils/branch_trie.js +3 -0
- package/dist/esm/utils/case_utils.js +3 -0
- package/dist/esm/utils/client_labels.js +6 -0
- package/dist/esm/utils/crypto_shim.js +18 -0
- package/dist/esm/utils/deprecated.js +40 -0
- package/dist/esm/utils/env_aware_utils.js +56 -13
- package/dist/esm/utils/error_utils.js +101 -0
- package/dist/esm/utils/experimental.js +10 -2
- package/dist/esm/utils/failover_utils.js +4 -0
- package/dist/esm/utils/file_extension_utils.js +4 -0
- package/dist/esm/utils/file_utils.js +13 -4
- package/dist/esm/utils/gemini_schema_util.js +7 -2
- package/dist/esm/utils/genai_schema_to_json.js +80 -0
- package/dist/esm/utils/live_connection_utils.js +6 -2
- package/dist/esm/utils/logger.js +14 -4
- package/dist/esm/utils/model_name.js +9 -0
- package/dist/esm/utils/object_notation_utils.js +8 -3
- package/dist/esm/utils/optional_peer.js +41 -0
- package/dist/esm/utils/output_schema_utils.js +18 -0
- package/dist/esm/utils/partial_copy.js +3 -0
- package/dist/esm/utils/redact_uri.js +39 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- package/dist/esm/utils/streaming_utils.js +15 -6
- package/dist/esm/utils/task.js +8 -4
- package/dist/esm/utils/variant_utils.js +5 -2
- package/dist/esm/utils/vertex_ai_utils.js +7 -2
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +182 -0
- package/dist/esm/workflow/branch_path.js +77 -0
- package/dist/esm/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/esm/workflow/errors.js +140 -0
- package/dist/esm/workflow/graph.js +127 -0
- package/dist/esm/workflow/index.js +80 -0
- package/dist/esm/workflow/node.js +38 -0
- package/dist/esm/workflow/node_builders.js +40 -0
- package/dist/esm/workflow/node_context.js +219 -0
- package/dist/esm/workflow/node_error_event.js +57 -0
- package/dist/esm/workflow/node_runner.js +439 -0
- package/dist/esm/workflow/node_state.js +29 -0
- package/dist/esm/workflow/node_status.js +20 -0
- package/dist/esm/workflow/nodes/function_node.js +172 -0
- package/dist/esm/workflow/nodes/join_node.js +29 -0
- package/dist/esm/workflow/nodes/node_tool.js +131 -0
- package/dist/esm/workflow/nodes/parallel_worker.js +102 -0
- package/dist/esm/workflow/nodes/tool_node.js +90 -0
- package/dist/esm/workflow/request_input.js +36 -0
- package/dist/esm/workflow/retry_config.js +43 -0
- package/dist/esm/workflow/run_llm_agent_as_node.js +172 -0
- package/dist/esm/workflow/run_node_as_invocation.js +139 -0
- package/dist/esm/workflow/schedule_dynamic_node.js +26 -0
- package/dist/esm/workflow/trigger.js +7 -0
- package/dist/esm/workflow/utils/graph_parser.js +188 -0
- package/dist/esm/workflow/utils/graph_validation.js +189 -0
- package/dist/esm/workflow/utils/hitl_utils.js +222 -0
- package/dist/esm/workflow/utils/rehydration_utils.js +342 -0
- package/dist/esm/workflow/utils/retry_utils.js +82 -0
- package/dist/esm/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/esm/workflow/workflow.js +493 -0
- package/dist/types/a2a/agent_card.d.ts +3 -3
- package/dist/types/a2a/agent_to_a2a.d.ts +4 -4
- package/dist/types/a2a/auth.d.ts +30 -0
- package/dist/types/a2a/event_converter_utils.d.ts +4 -1
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/agents/base_agent.d.ts +37 -9
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +1 -2
- package/dist/types/agents/invocation_context.d.ts +95 -3
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +77 -1
- package/dist/types/agents/loop_agent.d.ts +5 -0
- package/dist/types/agents/parallel_agent.d.ts +5 -0
- package/dist/types/agents/processors/content_processor_utils.d.ts +3 -2
- package/dist/types/agents/processors/identity_llm_request_processor.d.ts +4 -1
- package/dist/types/agents/processors/request_input_llm_request_processor.d.ts +21 -0
- package/dist/types/agents/run_config.d.ts +57 -2
- package/dist/types/agents/sequential_agent.d.ts +5 -0
- package/dist/types/agents/user_input_request.d.ts +71 -0
- package/dist/types/apps/app.d.ts +8 -3
- package/dist/types/artifacts/gcs_artifact_service.d.ts +9 -2
- package/dist/types/auth/credential_response_binding.d.ts +24 -0
- package/dist/types/auth/credential_service/in_memory_credential_service.d.ts +11 -0
- package/dist/types/code_executors/unsafe_local_code_executor.d.ts +5 -1
- package/dist/types/common.d.ts +20 -8
- package/dist/types/context/agent_controlled_context_compactor.d.ts +0 -1
- package/dist/types/context/compaction_utils.d.ts +8 -0
- package/dist/types/context/token_based_context_compactor.d.ts +0 -1
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- package/dist/types/events/event.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +10 -0
- package/dist/types/index.d.ts +6 -13
- package/dist/types/memory/in_memory_memory_service.d.ts +11 -0
- package/dist/types/models/apigee_llm.d.ts +4 -4
- package/dist/types/models/google_llm.d.ts +2 -1
- package/dist/types/plugins/base_plugin.d.ts +39 -2
- package/dist/types/plugins/plugin_manager.d.ts +20 -0
- package/dist/types/plugins/security_plugin.d.ts +4 -2
- package/dist/types/runner/in_memory_runner.d.ts +2 -2
- package/dist/types/runner/runner.d.ts +59 -3
- package/dist/types/sessions/base_session_service.d.ts +10 -2
- package/dist/types/sessions/in_memory_session_service.d.ts +9 -0
- package/dist/types/sessions/state.d.ts +34 -1
- package/dist/types/sessions/state_write_order.d.ts +39 -0
- package/dist/types/sessions/vertex_ai_session_service.d.ts +19 -1
- package/dist/types/skills/loader.d.ts +5 -0
- package/dist/types/telemetry/tracing.d.ts +15 -0
- package/dist/types/tools/base_tool.d.ts +15 -0
- package/dist/types/tools/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/function_tool.d.ts +46 -1
- package/dist/types/tools/get_user_choice_tool.d.ts +14 -0
- package/dist/types/tools/mcp/index.d.ts +13 -0
- package/dist/types/tools/mcp/mcp_session_manager.d.ts +3 -3
- package/dist/types/tools/mcp/mcp_tool.d.ts +1 -1
- package/dist/types/tools/mcp/mcp_toolset.d.ts +1 -1
- package/dist/types/tools/request_input_tool.d.ts +20 -0
- package/dist/types/tools/skill/skill_toolset.d.ts +26 -0
- package/dist/types/tools/tool_confirmation.d.ts +47 -0
- package/dist/types/utils/async_queue.d.ts +34 -2
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/deprecated.d.ts +21 -0
- package/dist/types/utils/env_aware_utils.d.ts +39 -0
- package/dist/types/utils/error_utils.d.ts +18 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/optional_peer.d.ts +36 -0
- package/dist/types/utils/output_schema_utils.d.ts +18 -0
- package/dist/types/utils/redact_uri.d.ts +28 -0
- package/dist/types/utils/schema.d.ts +73 -0
- package/dist/types/utils/simple_zod_to_json.d.ts +8 -0
- package/dist/types/utils/vertex_ai_utils.d.ts +5 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/workflow/base_node.d.ts +142 -0
- package/dist/types/workflow/branch_path.d.ts +40 -0
- package/dist/types/workflow/dynamic_node_scheduler.d.ts +64 -0
- package/dist/types/workflow/errors.d.ts +132 -0
- package/dist/types/workflow/graph.d.ts +127 -0
- package/dist/types/workflow/index.d.ts +46 -0
- package/dist/types/workflow/node.d.ts +48 -0
- package/dist/types/workflow/node_builders.d.ts +25 -0
- package/dist/types/workflow/node_context.d.ts +208 -0
- package/dist/types/workflow/node_error_event.d.ts +18 -0
- package/dist/types/workflow/node_runner.d.ts +82 -0
- package/dist/types/workflow/node_state.d.ts +47 -0
- package/dist/types/workflow/node_status.d.ts +28 -0
- package/dist/types/workflow/nodes/function_node.d.ts +78 -0
- package/dist/types/workflow/nodes/join_node.d.ts +24 -0
- package/dist/types/workflow/nodes/node_tool.d.ts +53 -0
- package/dist/types/workflow/nodes/parallel_worker.d.ts +55 -0
- package/dist/types/workflow/nodes/tool_node.d.ts +34 -0
- package/dist/types/workflow/request_input.d.ts +73 -0
- package/dist/types/workflow/retry_config.d.ts +84 -0
- package/dist/types/workflow/run_llm_agent_as_node.d.ts +28 -0
- package/dist/types/workflow/run_node_as_invocation.d.ts +72 -0
- package/dist/types/workflow/schedule_dynamic_node.d.ts +66 -0
- package/dist/types/workflow/trigger.d.ts +22 -0
- package/dist/types/workflow/utils/graph_parser.d.ts +8 -0
- package/dist/types/workflow/utils/graph_validation.d.ts +18 -0
- package/dist/types/workflow/utils/hitl_utils.d.ts +92 -0
- package/dist/types/workflow/utils/rehydration_utils.d.ts +132 -0
- package/dist/types/workflow/utils/retry_utils.d.ts +54 -0
- package/dist/types/workflow/utils/workflow_graph_utils.d.ts +76 -0
- package/dist/types/workflow/workflow.d.ts +115 -0
- package/dist/web/a2a/a2a_event.js +19 -0
- package/dist/web/a2a/a2a_remote_agent.js +18 -4
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/web/a2a/a2a_remote_agent_utils.js +10 -2
- package/dist/web/a2a/agent_card.js +34 -3
- package/dist/web/a2a/agent_executor.js +45 -17
- package/dist/web/a2a/agent_to_a2a.js +44 -16
- package/dist/web/a2a/auth.js +41 -0
- package/dist/web/a2a/event_converter_utils.js +50 -15
- package/dist/web/a2a/event_processor_utils.js +73 -34
- package/dist/web/a2a/executor_context.js +3 -0
- package/dist/web/a2a/index.js +20 -0
- package/dist/web/a2a/metadata_converter_utils.js +5 -0
- package/dist/web/a2a/part_converter_utils.js +13 -0
- package/dist/web/agents/active_streaming_tool.js +6 -2
- package/dist/web/agents/base_agent.js +48 -9
- package/dist/web/agents/context.js +6 -2
- package/dist/web/agents/framework_function_calls.js +34 -0
- package/dist/web/agents/functions.js +62 -20
- package/dist/web/agents/instructions.js +52 -12
- package/dist/web/agents/invocation_context.js +56 -7
- package/dist/web/agents/live_request_queue.js +30 -5
- package/dist/web/agents/llm_agent.js +631 -52
- package/dist/web/agents/loop_agent.js +21 -2
- package/dist/web/agents/parallel_agent.js +23 -2
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/base_llm_processor.js +10 -4
- package/dist/web/agents/processors/basic_llm_request_processor.js +8 -4
- package/dist/web/agents/processors/code_execution_request_processor.js +19 -5
- package/dist/web/agents/processors/content_processor_utils.js +87 -16
- package/dist/web/agents/processors/content_request_processor.js +12 -25
- package/dist/web/agents/processors/context_compactor_request_processor.js +6 -2
- package/dist/web/agents/processors/identity_llm_request_processor.js +13 -4
- package/dist/web/agents/processors/instructions_llm_request_processor.js +9 -3
- package/dist/web/agents/processors/interactions_request_processor.js +6 -2
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +329 -104
- package/dist/web/agents/processors/request_input_llm_request_processor.js +228 -0
- package/dist/web/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/web/agents/readonly_context.js +8 -3
- package/dist/web/agents/routed_agent.js +6 -14
- package/dist/web/agents/run_config.js +12 -0
- package/dist/web/agents/sequential_agent.js +22 -3
- package/dist/web/agents/user_input_request.js +135 -0
- package/dist/web/apps/app.js +14 -11
- package/dist/web/apps/resumability_config.js +2 -0
- package/dist/web/artifacts/file_artifact_service.js +22 -2
- package/dist/web/artifacts/gcs_artifact_service.js +56 -11
- package/dist/web/artifacts/in_memory_artifact_service.js +20 -11
- package/dist/web/artifacts/registry.js +7 -1
- package/dist/web/artifacts/scoped_artifact_service.js +5 -2
- package/dist/web/auth/auth_handler.js +5 -2
- package/dist/web/auth/auth_preprocessor.js +50 -41
- package/dist/web/auth/auth_provider_registry.js +6 -2
- package/dist/web/auth/auth_schemes.js +3 -0
- package/dist/web/auth/credential_response_binding.js +91 -0
- package/dist/web/auth/credential_service/in_memory_credential_service.js +20 -5
- package/dist/web/auth/credential_service/session_state_credential_service.js +6 -2
- package/dist/web/auth/exchanger/base_credential_exchanger.js +6 -2
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +6 -2
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +8 -2
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +5 -2
- package/dist/web/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/web/auth/oauth2/oauth2_utils.js +7 -0
- package/dist/web/auth/refresher/base_credential_refresher.js +6 -2
- package/dist/web/auth/refresher/credential_refresher_registry.js +6 -2
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +3 -0
- package/dist/web/code_executors/base_code_executor.js +7 -2
- package/dist/web/code_executors/built_in_code_executor.js +7 -2
- package/dist/web/code_executors/code_execution_utils.js +7 -0
- package/dist/web/code_executors/code_executor_context.js +6 -2
- package/dist/web/code_executors/unsafe_local_code_executor.js +31 -13
- package/dist/web/common.js +113 -4
- package/dist/web/context/agent_controlled_context_compactor.js +8 -13
- package/dist/web/context/anchored_context_compactor.js +5 -2
- package/dist/web/context/compaction_utils.js +16 -1
- package/dist/web/context/summarizers/llm_summarizer.js +6 -2
- package/dist/web/context/token_based_context_compactor.js +16 -24
- package/dist/web/context/trajectory_thought_pruning_compactor.js +6 -2
- package/dist/web/context/truncating_context_compactor.js +6 -2
- package/dist/web/environment/base_environment.js +71 -0
- package/dist/web/environment/local_environment.js +165 -0
- package/dist/web/events/compacted_event.js +4 -0
- package/dist/web/events/event.js +37 -3
- package/dist/web/events/event_actions.js +5 -0
- package/dist/web/events/structured_events.js +3 -0
- package/dist/web/examples/base_example_provider.js +7 -2
- package/dist/web/examples/example_util.js +4 -0
- package/dist/web/features/feature_registry.js +8 -0
- package/dist/web/index.js +4 -13
- package/dist/web/integrations/agent_registry/agent_registry.js +8 -4
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +5 -2
- package/dist/web/integrations/agent_registry/helpers.js +4 -0
- package/dist/web/memory/in_memory_memory_service.js +22 -4
- package/dist/web/memory/vertex_ai_memory_bank_service.js +24 -3
- package/dist/web/models/apigee_llm.js +9 -3
- package/dist/web/models/base_llm.js +8 -3
- package/dist/web/models/gemini_llm_connection.js +6 -2
- package/dist/web/models/google_llm.js +25 -13
- package/dist/web/models/interactions_utils.js +17 -0
- package/dist/web/models/llm_request.js +5 -0
- package/dist/web/models/llm_response.js +3 -0
- package/dist/web/models/registry.js +7 -2
- package/dist/web/models/routed_llm.js +4 -14
- package/dist/web/plugins/base_plugin.js +43 -7
- package/dist/web/plugins/global_instruction_plugin.js +6 -2
- package/dist/web/plugins/logging_plugin.js +14 -8
- package/dist/web/plugins/plugin_manager.js +38 -2
- package/dist/web/plugins/security_plugin.js +14 -6
- package/dist/web/runner/in_memory_runner.js +6 -2
- package/dist/web/runner/runner.js +249 -31
- package/dist/web/sessions/base_session_service.js +22 -5
- package/dist/web/sessions/database_session_service.js +6 -2
- package/dist/web/sessions/db/operations.js +34 -6
- package/dist/web/sessions/db/schema.js +16 -8
- package/dist/web/sessions/in_memory_session_service.js +31 -22
- package/dist/web/sessions/registry.js +5 -1
- package/dist/web/sessions/session.js +3 -0
- package/dist/web/sessions/state.js +77 -7
- package/dist/web/sessions/state_write_order.js +74 -0
- package/dist/web/sessions/vertex_ai_session_service.js +142 -26
- package/dist/web/skills/gcp_skill_registry.js +2 -0
- package/dist/web/skills/loader.js +62 -16
- package/dist/web/skills/prompt.js +4 -0
- package/dist/web/telemetry/google_cloud.js +54 -9
- package/dist/web/telemetry/setup.js +6 -0
- package/dist/web/telemetry/tracing.js +77 -7
- package/dist/web/tools/agent_tool.js +7 -2
- package/dist/web/tools/base_tool.js +25 -2
- package/dist/web/tools/base_toolset.js +7 -2
- package/dist/web/tools/consolidate_context_tool.js +6 -2
- package/dist/web/tools/enterprise_web_search_tool.js +7 -2
- package/dist/web/tools/example_tool.js +6 -2
- package/dist/web/tools/exit_loop_tool.js +6 -2
- package/dist/web/tools/finish_task_tool.js +92 -0
- package/dist/web/tools/forwarding_artifact_service.js +6 -2
- package/dist/web/tools/function_tool.js +74 -8
- package/dist/web/tools/get_user_choice_tool.js +27 -0
- package/dist/web/tools/google_maps_grounding_tool.js +7 -2
- package/dist/web/tools/google_search_tool.js +6 -2
- package/dist/web/tools/load_artifacts_tool.js +9 -2
- package/dist/web/tools/load_memory_tool.js +6 -2
- package/dist/web/tools/load_web_page.js +22 -1
- package/dist/web/tools/long_running_tool.js +5 -2
- package/dist/web/tools/mcp/index.js +11 -0
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_session_manager.js +80 -30
- package/dist/web/tools/mcp/mcp_tool.js +6 -2
- package/dist/web/tools/mcp/mcp_toolset.js +5 -2
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +5 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +30 -9
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +2 -0
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +6 -2
- package/dist/web/tools/openapi_tool/openapi_toolset.js +2 -0
- package/dist/web/tools/openapi_tool/rest_api_tool.js +23 -5
- package/dist/web/tools/preload_memory_tool.js +6 -2
- package/dist/web/tools/request_input_tool.js +29 -0
- package/dist/web/tools/skill/list_skills_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_resource_tool.js +2 -0
- package/dist/web/tools/skill/load_skill_tool.js +4 -1
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +26 -2
- package/dist/web/tools/skill/run_skill_script_tool.js +28 -2
- package/dist/web/tools/skill/search_skills_tool.js +2 -0
- package/dist/web/tools/skill/skill_toolset.js +25 -0
- package/dist/web/tools/tool_confirmation.js +24 -2
- package/dist/web/tools/url_context_tool.js +6 -2
- package/dist/web/tools/vertex_ai_search_tool.js +6 -2
- package/dist/web/tools/vertex_rag_retrieval_tool.js +6 -2
- package/dist/web/utils/async_hooks_shim.js +6 -2
- package/dist/web/utils/async_queue.js +46 -18
- package/dist/web/utils/branch_trie.js +3 -0
- package/dist/web/utils/case_utils.js +3 -0
- package/dist/web/utils/client_labels.js +6 -0
- package/dist/web/utils/crypto_shim.js +18 -0
- package/dist/web/utils/deprecated.js +40 -0
- package/dist/web/utils/env_aware_utils.js +56 -13
- package/dist/web/utils/error_utils.js +101 -0
- package/dist/web/utils/experimental.js +10 -2
- package/dist/web/utils/failover_utils.js +4 -0
- package/dist/web/utils/file_extension_utils.js +4 -0
- package/dist/web/utils/file_utils.js +12 -4
- package/dist/web/utils/gemini_schema_util.js +6 -2
- package/dist/web/utils/genai_schema_to_json.js +80 -0
- package/dist/web/utils/live_connection_utils.js +5 -2
- package/dist/web/utils/logger.js +14 -4
- package/dist/web/utils/model_name.js +9 -0
- package/dist/web/utils/object_notation_utils.js +8 -3
- package/dist/web/utils/optional_peer.js +38 -0
- package/dist/web/utils/output_schema_utils.js +18 -0
- package/dist/web/utils/partial_copy.js +3 -0
- package/dist/web/utils/redact_uri.js +39 -0
- package/dist/web/utils/schema.js +167 -0
- package/dist/web/utils/simple_zod_to_json.js +15 -4
- package/dist/web/utils/streaming_utils.js +14 -6
- package/dist/web/utils/task.js +8 -4
- package/dist/web/utils/variant_utils.js +5 -2
- package/dist/web/utils/vertex_ai_utils.js +7 -2
- package/dist/web/version.js +1 -1
- package/dist/web/workflow/base_node.js +215 -0
- package/dist/web/workflow/branch_path.js +77 -0
- package/dist/web/workflow/dynamic_node_scheduler.js +202 -0
- package/dist/web/workflow/errors.js +140 -0
- package/dist/web/workflow/graph.js +127 -0
- package/dist/web/workflow/index.js +80 -0
- package/dist/web/workflow/node.js +87 -0
- package/dist/web/workflow/node_builders.js +40 -0
- package/dist/web/workflow/node_context.js +236 -0
- package/dist/web/workflow/node_error_event.js +86 -0
- package/dist/web/workflow/node_runner.js +481 -0
- package/dist/web/workflow/node_state.js +43 -0
- package/dist/web/workflow/node_status.js +20 -0
- package/dist/web/workflow/nodes/function_node.js +221 -0
- package/dist/web/workflow/nodes/join_node.js +47 -0
- package/dist/web/workflow/nodes/node_tool.js +131 -0
- package/dist/web/workflow/nodes/parallel_worker.js +120 -0
- package/dist/web/workflow/nodes/tool_node.js +126 -0
- package/dist/web/workflow/request_input.js +36 -0
- package/dist/web/workflow/retry_config.js +43 -0
- package/dist/web/workflow/run_llm_agent_as_node.js +266 -0
- package/dist/web/workflow/run_node_as_invocation.js +170 -0
- package/dist/web/workflow/schedule_dynamic_node.js +26 -0
- package/dist/web/workflow/trigger.js +7 -0
- package/dist/web/workflow/utils/graph_parser.js +188 -0
- package/dist/web/workflow/utils/graph_validation.js +189 -0
- package/dist/web/workflow/utils/hitl_utils.js +239 -0
- package/dist/web/workflow/utils/rehydration_utils.js +342 -0
- package/dist/web/workflow/utils/retry_utils.js +82 -0
- package/dist/web/workflow/utils/workflow_graph_utils.js +115 -0
- package/dist/web/workflow/workflow.js +529 -0
- package/package.json +82 -8
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AuthConfig } from '../../auth/auth_tool.js';
|
|
7
|
+
import { SchemaLike } from '../../utils/schema.js';
|
|
8
|
+
import { BaseNode } from '../base_node.js';
|
|
9
|
+
import { NodeLike } from '../graph.js';
|
|
10
|
+
import { RetryConfig } from '../retry_config.js';
|
|
11
|
+
/**
|
|
12
|
+
* Property overrides applied when building a node from a {@link NodeLike}.
|
|
13
|
+
*/
|
|
14
|
+
export interface BuildNodeOptions {
|
|
15
|
+
name?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
rerunOnResume?: boolean;
|
|
18
|
+
retryConfig?: RetryConfig;
|
|
19
|
+
timeout?: number;
|
|
20
|
+
inputSchema?: SchemaLike;
|
|
21
|
+
outputSchema?: SchemaLike;
|
|
22
|
+
stateSchema?: SchemaLike;
|
|
23
|
+
authConfig?: AuthConfig;
|
|
24
|
+
/** Runs the node's subtree in an isolated conversation scope. */
|
|
25
|
+
isolationScope?: string | true;
|
|
26
|
+
/** If true, wrap the built node in a parallel worker. */
|
|
27
|
+
parallelWorker?: boolean;
|
|
28
|
+
/** Concurrency limit for the parallel worker (requires `parallelWorker`). */
|
|
29
|
+
maxParallelWorkers?: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Converts a matched {@link NodeLike} value into a concrete {@link BaseNode}.
|
|
33
|
+
*
|
|
34
|
+
* Builders are wired into the static {@link NODE_BUILDERS} list (in
|
|
35
|
+
* `node_builders.ts`) and consulted by {@link buildNode} / {@link isNodeLike} in
|
|
36
|
+
* order — first match wins. Keeping them in one explicit list (rather than a
|
|
37
|
+
* runtime registry) means no global mutable state and no import-order side
|
|
38
|
+
* effects: `node_builders.ts` imports the concrete node modules, and the engine
|
|
39
|
+
* core imports that one list.
|
|
40
|
+
*/
|
|
41
|
+
export interface NodeBuilder {
|
|
42
|
+
/** Returns whether this builder can convert `value` into a node. */
|
|
43
|
+
match(value: unknown): boolean;
|
|
44
|
+
/** Builds a node from a value this builder previously matched. */
|
|
45
|
+
build(value: NodeLike, options: BuildNodeOptions): BaseNode;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Wraps an already-built node in a parallel worker. Provided by the
|
|
49
|
+
* `parallel_worker` node module via {@link PARALLEL_WORKER_FACTORY}.
|
|
50
|
+
*
|
|
51
|
+
* `retryConfig`/`timeout` are intentionally not forwarded to the wrapper: they
|
|
52
|
+
* apply to the inner node (per item), so the two levels don't compose.
|
|
53
|
+
*/
|
|
54
|
+
export type ParallelWorkerFactory = (inner: BaseNode, options: {
|
|
55
|
+
maxParallelWorkers?: number;
|
|
56
|
+
}) => BaseNode;
|
|
57
|
+
/**
|
|
58
|
+
* Returns whether a value is a plain object literal (a `RoutingMap`) rather than
|
|
59
|
+
* a class instance such as a node/tool/agent.
|
|
60
|
+
*/
|
|
61
|
+
export declare function isPlainObject(value: unknown): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Returns whether a value can be converted into a workflow node via
|
|
64
|
+
* {@link buildNode}: the `'START'` sentinel, an existing {@link BaseNode}, or a
|
|
65
|
+
* value matched by a registered {@link NodeBuilder}.
|
|
66
|
+
*/
|
|
67
|
+
export declare function isNodeLike(value: unknown): value is NodeLike;
|
|
68
|
+
/**
|
|
69
|
+
* Converts a {@link NodeLike} into a concrete {@link BaseNode}.
|
|
70
|
+
*
|
|
71
|
+
* Handles the `'START'` sentinel and existing {@link BaseNode} instances
|
|
72
|
+
* directly — an agent is one, so it goes into the graph as itself; every other
|
|
73
|
+
* value is delegated to the registered {@link NodeBuilder}s (function →
|
|
74
|
+
* `FunctionNode`, tool → `ToolNode`).
|
|
75
|
+
*/
|
|
76
|
+
export declare function buildNode(nodeLike: NodeLike, options?: BuildNodeOptions): BaseNode;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Event } from '../events/event.js';
|
|
7
|
+
import { BaseNode, BaseNodeConfig } from './base_node.js';
|
|
8
|
+
import { EdgeItem, Graph } from './graph.js';
|
|
9
|
+
import { NodeContext } from './node_context.js';
|
|
10
|
+
/**
|
|
11
|
+
* A unique symbol branding {@link Workflow} instances.
|
|
12
|
+
*
|
|
13
|
+
* `isWorkflow` matches on this brand rather than `instanceof` so a workflow
|
|
14
|
+
* built by another copy of adk-js in the same runtime is still recognised —
|
|
15
|
+
* mirroring the `Symbol.for('google.adk.*')` brands used across ADK.
|
|
16
|
+
*/
|
|
17
|
+
declare const WORKFLOW_SIGNATURE_SYMBOL: unique symbol;
|
|
18
|
+
/**
|
|
19
|
+
* An imperative workflow entry point. Receives the workflow's node context and
|
|
20
|
+
* input, drives execution via `ctx.runNode(...)`, and returns the workflow
|
|
21
|
+
* output. Mutually exclusive with `edges`.
|
|
22
|
+
*/
|
|
23
|
+
export type DynamicEntry = (ctx: NodeContext, input: unknown) => unknown | Promise<unknown>;
|
|
24
|
+
/**
|
|
25
|
+
* Configuration for a {@link Workflow}.
|
|
26
|
+
*
|
|
27
|
+
* A workflow is driven either by a static `edges` graph or by an imperative
|
|
28
|
+
* `dynamicEntry` function — exactly one is required, and the two are mutually
|
|
29
|
+
* exclusive. The type is a discriminated union so that constraint is enforced at
|
|
30
|
+
* compile time (the runtime constructor keeps the equivalent throws for JS
|
|
31
|
+
* callers).
|
|
32
|
+
*/
|
|
33
|
+
export type WorkflowConfig = BaseNodeConfig & {
|
|
34
|
+
/**
|
|
35
|
+
* Maximum number of graph-scheduled nodes running in parallel. `undefined`
|
|
36
|
+
* means unlimited; must be a positive integer otherwise. Does not throttle
|
|
37
|
+
* dynamic (`ctx.runNode`) children.
|
|
38
|
+
*/
|
|
39
|
+
maxConcurrency?: number;
|
|
40
|
+
} & ({
|
|
41
|
+
/** Edge definitions used to build the workflow graph. */
|
|
42
|
+
edges: EdgeItem[];
|
|
43
|
+
dynamicEntry?: never;
|
|
44
|
+
} | {
|
|
45
|
+
/**
|
|
46
|
+
* An imperative entry function driving execution via `ctx.runNode(...)`.
|
|
47
|
+
* Mutually exclusive with `edges`.
|
|
48
|
+
*/
|
|
49
|
+
dynamicEntry: DynamicEntry;
|
|
50
|
+
edges?: never;
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* A graph-based workflow node. `runImpl()` IS the orchestration loop:
|
|
54
|
+
* SETUP (seed START triggers) → LOOP (schedule ready nodes, handle
|
|
55
|
+
* completions) → FINALIZE (collect the terminal output).
|
|
56
|
+
*
|
|
57
|
+
* Ported (Phase 2 subset) from `google/adk-python` `workflow/_workflow.py`.
|
|
58
|
+
* Replay/checkpointing, dynamic scheduling, and task/chat isolation scopes are
|
|
59
|
+
* added in later phases; hook points are marked with TODO(phase-N).
|
|
60
|
+
*/
|
|
61
|
+
export declare class Workflow extends BaseNode {
|
|
62
|
+
/** Brand identifying this object as a {@link Workflow} (see `isWorkflow`). */
|
|
63
|
+
readonly [WORKFLOW_SIGNATURE_SYMBOL] = true;
|
|
64
|
+
readonly graph?: Graph;
|
|
65
|
+
readonly dynamicEntry?: DynamicEntry;
|
|
66
|
+
readonly maxConcurrency?: number;
|
|
67
|
+
constructor(config: WorkflowConfig);
|
|
68
|
+
protected runImpl(ctx: NodeContext, nodeInput: unknown): AsyncGenerator<Event, void, void>;
|
|
69
|
+
/**
|
|
70
|
+
* The orchestration body, wrapped by {@link runImpl} so its workflow-scoped
|
|
71
|
+
* abort controller is always disposed.
|
|
72
|
+
*/
|
|
73
|
+
private orchestrate;
|
|
74
|
+
/**
|
|
75
|
+
* Runs an imperative `dynamicEntry` workflow. The entry drives execution via
|
|
76
|
+
* `ctx.runNode(...)` (routed through the scheduler) and returns the output.
|
|
77
|
+
*/
|
|
78
|
+
private runDynamicEntry;
|
|
79
|
+
/**
|
|
80
|
+
* Merges resolved interrupt responses from prior session events into
|
|
81
|
+
* `ctx.resumeInputs`, so waiting nodes (which read `ctx.resumeInputs[id]`)
|
|
82
|
+
* resume with the user's response. Shared by child contexts via propagation.
|
|
83
|
+
*
|
|
84
|
+
* Taken from the events rather than from `rehydrated`, because that view is
|
|
85
|
+
* scoped to this workflow's direct children: an interrupt raised deeper — by
|
|
86
|
+
* a `ctx.runNode` child, or inside a nested workflow — is keyed out of it,
|
|
87
|
+
* and its answer would never reach the node waiting on it.
|
|
88
|
+
*/
|
|
89
|
+
private applyResumeInputs;
|
|
90
|
+
private seedStartTriggers;
|
|
91
|
+
private runLoop;
|
|
92
|
+
private reportNodeError;
|
|
93
|
+
private scheduleReadyNodes;
|
|
94
|
+
private atConcurrencyLimit;
|
|
95
|
+
private prepareNodeStateForStarting;
|
|
96
|
+
private startNodeTask;
|
|
97
|
+
private handleCompletion;
|
|
98
|
+
private bufferDownstreamTriggers;
|
|
99
|
+
private collectRemainingInterrupts;
|
|
100
|
+
private finalize;
|
|
101
|
+
private pushTrigger;
|
|
102
|
+
private popTrigger;
|
|
103
|
+
private getStaticNode;
|
|
104
|
+
private cleanupPending;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Type guard for {@link Workflow}.
|
|
108
|
+
*
|
|
109
|
+
* Matches on the `google.adk.workflow.workflow` brand rather than `instanceof`
|
|
110
|
+
* so it stays correct across package copies — two copies of adk-js in one
|
|
111
|
+
* runtime would fail an `instanceof` check between them. Named rather than
|
|
112
|
+
* `{@link}`ed because the brand itself is internal, and this guard is public.
|
|
113
|
+
*/
|
|
114
|
+
export declare function isWorkflow(value: unknown): value is Workflow;
|
|
115
|
+
export {};
|
|
@@ -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;
|
|
@@ -127,7 +129,12 @@ class RemoteA2AAgent extends BaseAgent {
|
|
|
127
129
|
yield new __await(callback(context, chunk));
|
|
128
130
|
}
|
|
129
131
|
}
|
|
130
|
-
const adkEvent = toAdkEvent(
|
|
132
|
+
const adkEvent = toAdkEvent(
|
|
133
|
+
chunk,
|
|
134
|
+
context.invocationId,
|
|
135
|
+
this.name,
|
|
136
|
+
context.branch
|
|
137
|
+
);
|
|
131
138
|
if (!adkEvent) {
|
|
132
139
|
continue;
|
|
133
140
|
}
|
|
@@ -158,7 +165,12 @@ class RemoteA2AAgent extends BaseAgent {
|
|
|
158
165
|
yield new __await(callback(context, result));
|
|
159
166
|
}
|
|
160
167
|
}
|
|
161
|
-
const adkEvent = toAdkEvent(
|
|
168
|
+
const adkEvent = toAdkEvent(
|
|
169
|
+
result,
|
|
170
|
+
context.invocationId,
|
|
171
|
+
this.name,
|
|
172
|
+
context.branch
|
|
173
|
+
);
|
|
162
174
|
if (adkEvent) {
|
|
163
175
|
processor.updateCustomMetadata(adkEvent, result);
|
|
164
176
|
yield adkEvent;
|
|
@@ -179,7 +191,9 @@ class RemoteA2AAgent extends BaseAgent {
|
|
|
179
191
|
runLiveImpl(_context) {
|
|
180
192
|
throw new Error("Live mode is not supported in A2ARemoteAgent yet.");
|
|
181
193
|
}
|
|
182
|
-
}
|
|
194
|
+
};
|
|
195
|
+
__name(_RemoteA2AAgent, "RemoteA2AAgent");
|
|
196
|
+
let RemoteA2AAgent = _RemoteA2AAgent;
|
|
183
197
|
export {
|
|
184
198
|
AGENT_CARD_PATH,
|
|
185
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,
|