@google/adk 1.6.0 → 2.1.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 +17 -28
- package/dist/cjs/a2a/a2a_remote_agent.js +13 -7
- package/dist/cjs/a2a/a2a_remote_agent_run_processor.js +7 -3
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +111 -2
- package/dist/cjs/a2a/agent_card.js +90 -8
- package/dist/cjs/a2a/agent_executor.js +34 -18
- package/dist/cjs/a2a/agent_to_a2a.js +28 -11
- 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 +6 -2
- package/dist/cjs/a2a/index.js +57 -0
- package/dist/cjs/a2a/metadata_converter_utils.js +5 -0
- package/dist/cjs/a2a/part_converter_utils.js +12 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/active_streaming_tool.js +5 -2
- package/dist/cjs/agents/base_agent.js +55 -17
- package/dist/cjs/agents/context.js +12 -2
- package/dist/cjs/agents/framework_function_calls.js +64 -0
- package/dist/cjs/agents/functions.js +185 -60
- package/dist/cjs/agents/instructions.js +51 -12
- package/dist/cjs/agents/invocation_context.js +43 -8
- package/dist/cjs/agents/live_request_queue.js +29 -5
- package/dist/cjs/agents/llm_agent.js +541 -50
- package/dist/cjs/agents/loop_agent.js +20 -3
- package/dist/cjs/agents/parallel_agent.js +22 -3
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +32 -8
- 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 +20 -7
- package/dist/cjs/agents/processors/content_processor_utils.js +85 -15
- package/dist/cjs/agents/processors/content_request_processor.js +13 -5
- 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 +320 -92
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +214 -0
- package/dist/cjs/agents/processors/tool_filter_request_processor.js +5 -2
- package/dist/cjs/agents/readonly_context.js +13 -3
- package/dist/cjs/agents/routed_agent.js +7 -14
- package/dist/cjs/agents/run_config.js +12 -0
- package/dist/cjs/agents/sequential_agent.js +21 -4
- package/dist/cjs/agents/user_input_request.js +145 -0
- package/dist/cjs/apps/app.js +12 -12
- package/dist/cjs/apps/resumability_config.js +2 -0
- package/dist/cjs/artifacts/file_artifact_service.js +22 -4
- 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 +14 -2
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_handler.js +49 -10
- 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 +6 -3
- package/dist/cjs/auth/oauth2/oauth2_discovery.js +7 -2
- package/dist/cjs/auth/oauth2/oauth2_utils.js +23 -2
- 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 +7 -3
- package/dist/cjs/code_executors/built_in_code_executor.js +7 -3
- package/dist/cjs/code_executors/code_execution_utils.js +8 -2
- package/dist/cjs/code_executors/code_executor_context.js +5 -2
- package/dist/cjs/code_executors/container_code_executor.js +186 -0
- package/dist/cjs/code_executors/docker_container.js +282 -0
- package/dist/cjs/code_executors/unsafe_local_code_executor.js +19 -8
- package/dist/cjs/common.js +180 -46
- package/dist/cjs/context/agent_controlled_context_compactor.js +15 -7
- package/dist/cjs/context/anchored_context_compactor.js +46 -20
- package/dist/cjs/context/compaction_utils.js +18 -6
- package/dist/cjs/context/summarizers/llm_summarizer.js +5 -2
- package/dist/cjs/context/token_based_context_compactor.js +19 -5
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +22 -12
- package/dist/cjs/context/truncating_context_compactor.js +22 -7
- package/dist/cjs/environment/base_environment.js +97 -0
- package/dist/cjs/environment/local_environment.js +186 -0
- package/dist/cjs/errors/already_exists_error.js +50 -0
- package/dist/cjs/errors/input_validation_error.js +50 -0
- package/dist/cjs/errors/not_found_error.js +50 -0
- package/dist/cjs/errors/session_not_found_error.js +50 -0
- package/dist/cjs/errors/tool_execution_error.js +68 -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 +12 -0
- package/dist/cjs/events/structured_events.js +2 -0
- package/dist/cjs/examples/base_example_provider.js +7 -3
- package/dist/cjs/examples/example_util.js +3 -0
- package/dist/cjs/features/feature_registry.js +7 -0
- package/dist/cjs/index.js +54 -25
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +10 -6
- 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/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -4
- package/dist/cjs/memory/vertex_ai_rag_api.js +120 -0
- package/dist/cjs/memory/vertex_ai_rag_memory_service.js +228 -0
- package/dist/cjs/models/apigee_llm.js +10 -4
- package/dist/cjs/models/base_llm.js +8 -4
- package/dist/cjs/models/chrome_prompt_llm.js +304 -0
- package/dist/cjs/models/chrome_prompt_utils.js +229 -0
- package/dist/cjs/models/gemini_llm_connection.js +5 -2
- package/dist/cjs/models/google_llm.js +33 -16
- package/dist/cjs/models/interactions_utils.js +18 -3
- package/dist/cjs/models/llm_request.js +4 -0
- package/dist/cjs/models/llm_response.js +2 -0
- package/dist/cjs/models/registry.js +8 -2
- package/dist/cjs/models/routed_llm.js +4 -13
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- 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/reflect_retry_model_plugin.js +274 -0
- package/dist/cjs/plugins/reflect_retry_tool_plugin.js +276 -0
- 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 +236 -43
- package/dist/cjs/sessions/base_session_service.js +13 -2
- package/dist/cjs/sessions/database_session_service.js +84 -45
- package/dist/cjs/sessions/db/operations.js +259 -24
- package/dist/cjs/sessions/db/schema.js +118 -156
- package/dist/cjs/sessions/in_memory_session_service.js +22 -14
- package/dist/cjs/sessions/registry.js +9 -2
- 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 +112 -17
- 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 +6 -1
- package/dist/cjs/telemetry/tracing.js +71 -5
- package/dist/cjs/tools/agent_tool.js +10 -7
- package/dist/cjs/tools/base_tool.js +38 -6
- package/dist/cjs/tools/base_toolset.js +10 -6
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/consolidate_context_tool.js +5 -2
- package/dist/cjs/tools/enterprise_web_search_tool.js +8 -7
- 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 +23 -15
- package/dist/cjs/tools/function_tool.js +79 -11
- package/dist/cjs/tools/get_user_choice_tool.js +3 -2
- package/dist/cjs/tools/google_maps_grounding_tool.js +8 -7
- package/dist/cjs/tools/google_search_tool.js +7 -7
- package/dist/cjs/tools/load_artifacts_tool.js +55 -25
- package/dist/cjs/tools/load_memory_tool.js +5 -2
- package/dist/cjs/tools/load_web_page.js +14 -160
- 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 +39 -7
- 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 +15 -2
- 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 +3 -1
- 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 +39 -23
- package/dist/cjs/tools/preload_memory_tool.js +6 -3
- package/dist/cjs/tools/request_input_tool.js +6 -4
- package/dist/cjs/tools/resume_inputs.js +27 -0
- package/dist/cjs/tools/retrieval/base_retrieval_tool.js +60 -0
- package/dist/cjs/tools/retrieval/files_retrieval.js +95 -0
- package/dist/cjs/tools/retrieval/llama_index_retrieval.js +57 -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 +7 -7
- package/dist/cjs/tools/vertex_ai_search_tool.js +8 -9
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +7 -11
- 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 +18 -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 -8
- 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 +28 -54
- package/dist/cjs/utils/logger_browser.js +86 -0
- package/dist/cjs/utils/logger_node.js +119 -0
- 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_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +80 -0
- package/dist/cjs/utils/schema.js +178 -0
- package/dist/cjs/utils/simple_zod_to_json.js +17 -4
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- 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 +147 -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 +18 -27
- package/dist/esm/a2a/a2a_remote_agent.js +16 -7
- package/dist/esm/a2a/a2a_remote_agent_run_processor.js +8 -3
- package/dist/esm/a2a/a2a_remote_agent_utils.js +110 -2
- package/dist/esm/a2a/agent_card.js +96 -8
- package/dist/esm/a2a/agent_executor.js +36 -19
- package/dist/esm/a2a/agent_to_a2a.js +52 -17
- 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 -35
- package/dist/esm/a2a/executor_context.js +7 -2
- package/dist/esm/a2a/index.js +26 -0
- package/dist/esm/a2a/metadata_converter_utils.js +6 -0
- package/dist/esm/a2a/part_converter_utils.js +13 -0
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/active_streaming_tool.js +6 -2
- package/dist/esm/agents/base_agent.js +56 -17
- package/dist/esm/agents/context.js +13 -2
- package/dist/esm/agents/framework_function_calls.js +34 -0
- package/dist/esm/agents/functions.js +191 -58
- package/dist/esm/agents/instructions.js +52 -12
- package/dist/esm/agents/invocation_context.js +42 -7
- package/dist/esm/agents/live_request_queue.js +30 -5
- package/dist/esm/agents/llm_agent.js +542 -50
- package/dist/esm/agents/loop_agent.js +22 -3
- package/dist/esm/agents/parallel_agent.js +24 -3
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +33 -8
- 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 +21 -7
- package/dist/esm/agents/processors/content_processor_utils.js +88 -16
- package/dist/esm/agents/processors/content_request_processor.js +14 -5
- 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 +325 -93
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +193 -0
- package/dist/esm/agents/processors/tool_filter_request_processor.js +6 -2
- package/dist/esm/agents/readonly_context.js +14 -3
- package/dist/esm/agents/routed_agent.js +7 -15
- package/dist/esm/agents/run_config.js +13 -0
- package/dist/esm/agents/sequential_agent.js +23 -4
- package/dist/esm/agents/user_input_request.js +120 -0
- package/dist/esm/apps/app.js +15 -12
- package/dist/esm/apps/resumability_config.js +3 -0
- package/dist/esm/artifacts/file_artifact_service.js +23 -4
- 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 +15 -2
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_handler.js +53 -10
- 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 +7 -3
- package/dist/esm/auth/oauth2/oauth2_discovery.js +8 -2
- package/dist/esm/auth/oauth2/oauth2_utils.js +22 -2
- 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 +8 -3
- package/dist/esm/code_executors/built_in_code_executor.js +8 -3
- package/dist/esm/code_executors/code_execution_utils.js +9 -2
- package/dist/esm/code_executors/code_executor_context.js +6 -2
- package/dist/esm/code_executors/container_code_executor.js +155 -0
- package/dist/esm/code_executors/docker_container.js +265 -0
- package/dist/esm/code_executors/unsafe_local_code_executor.js +20 -8
- package/dist/esm/common.js +181 -41
- package/dist/esm/context/agent_controlled_context_compactor.js +16 -7
- package/dist/esm/context/anchored_context_compactor.js +51 -21
- package/dist/esm/context/compaction_utils.js +17 -5
- package/dist/esm/context/summarizers/llm_summarizer.js +6 -2
- package/dist/esm/context/token_based_context_compactor.js +20 -5
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +23 -12
- package/dist/esm/context/truncating_context_compactor.js +23 -7
- package/dist/esm/environment/base_environment.js +71 -0
- package/dist/esm/environment/local_environment.js +150 -0
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/esm/errors/not_found_error.js +23 -0
- package/dist/esm/errors/session_not_found_error.js +23 -0
- package/dist/esm/errors/tool_execution_error.js +40 -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 +12 -0
- package/dist/esm/events/structured_events.js +3 -0
- package/dist/esm/examples/base_example_provider.js +8 -3
- package/dist/esm/examples/example_util.js +4 -0
- package/dist/esm/features/feature_registry.js +8 -0
- package/dist/esm/index.js +41 -15
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +11 -6
- 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/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +20 -4
- package/dist/esm/memory/vertex_ai_rag_api.js +93 -0
- package/dist/esm/memory/vertex_ai_rag_memory_service.js +208 -0
- package/dist/esm/models/apigee_llm.js +11 -4
- package/dist/esm/models/base_llm.js +9 -4
- package/dist/esm/models/chrome_prompt_llm.js +285 -0
- package/dist/esm/models/chrome_prompt_utils.js +192 -0
- package/dist/esm/models/gemini_llm_connection.js +6 -2
- package/dist/esm/models/google_llm.js +35 -17
- package/dist/esm/models/interactions_utils.js +19 -3
- package/dist/esm/models/llm_request.js +5 -0
- package/dist/esm/models/llm_response.js +3 -0
- package/dist/esm/models/registry.js +9 -2
- package/dist/esm/models/routed_llm.js +4 -14
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- 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/reflect_retry_model_plugin.js +250 -0
- package/dist/esm/plugins/reflect_retry_tool_plugin.js +254 -0
- 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 +249 -46
- package/dist/esm/sessions/base_session_service.js +14 -2
- package/dist/esm/sessions/database_session_service.js +65 -27
- package/dist/esm/sessions/db/operations.js +259 -24
- package/dist/esm/sessions/db/schema.js +116 -157
- package/dist/esm/sessions/in_memory_session_service.js +23 -14
- package/dist/esm/sessions/registry.js +10 -2
- 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 +111 -16
- 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 +7 -1
- package/dist/esm/telemetry/tracing.js +70 -5
- package/dist/esm/tools/agent_tool.js +11 -7
- package/dist/esm/tools/base_tool.js +36 -5
- package/dist/esm/tools/base_toolset.js +11 -6
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/consolidate_context_tool.js +6 -2
- package/dist/esm/tools/enterprise_web_search_tool.js +9 -7
- 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 +24 -15
- package/dist/esm/tools/function_tool.js +80 -11
- package/dist/esm/tools/get_user_choice_tool.js +4 -2
- package/dist/esm/tools/google_maps_grounding_tool.js +9 -7
- package/dist/esm/tools/google_search_tool.js +8 -7
- package/dist/esm/tools/load_artifacts_tool.js +57 -26
- package/dist/esm/tools/load_memory_tool.js +6 -2
- package/dist/esm/tools/load_web_page.js +19 -158
- package/dist/esm/tools/long_running_tool.js +6 -2
- package/dist/{web/context/summarizers/base_summarizer.js → esm/tools/mcp/index.js} +4 -0
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +40 -7
- 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 +18 -2
- 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 +3 -1
- 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 +39 -23
- package/dist/esm/tools/preload_memory_tool.js +7 -3
- package/dist/esm/tools/request_input_tool.js +7 -4
- package/dist/esm/tools/retrieval/base_retrieval_tool.js +33 -0
- package/dist/esm/tools/retrieval/files_retrieval.js +81 -0
- package/dist/esm/tools/retrieval/llama_index_retrieval.js +30 -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 +8 -7
- package/dist/esm/tools/vertex_ai_search_tool.js +9 -9
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +8 -11
- 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 +17 -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 -8
- 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 +28 -44
- package/dist/esm/utils/logger_browser.js +58 -0
- package/dist/esm/utils/logger_node.js +81 -0
- 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_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +53 -0
- package/dist/esm/utils/schema.js +152 -0
- package/dist/esm/utils/simple_zod_to_json.js +15 -4
- package/dist/esm/utils/ssrf_guard.js +230 -0
- 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 +122 -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/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/a2a_event.d.ts +7 -10
- package/dist/types/a2a/a2a_remote_agent.d.ts +5 -0
- package/dist/types/a2a/a2a_remote_agent_utils.d.ts +25 -0
- package/dist/types/a2a/agent_card.d.ts +12 -3
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +6 -4
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/event_processor_utils.d.ts +17 -2
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +18 -0
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +56 -25
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/framework_function_calls.d.ts +26 -0
- package/dist/types/agents/functions.d.ts +73 -8
- package/dist/types/agents/invocation_context.d.ts +106 -6
- package/dist/types/agents/live_request_queue.d.ts +7 -1
- package/dist/types/agents/llm_agent.d.ts +86 -8
- 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/agent_transfer_llm_request_processor.d.ts +16 -1
- 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/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +72 -4
- 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/artifacts/scoped_artifact_service.d.ts +13 -0
- package/dist/types/artifacts/session_artifact_service.d.ts +8 -1
- package/dist/types/auth/auth_credential.d.ts +13 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- package/dist/types/auth/credential_response_binding.d.ts +24 -0
- package/dist/types/auth/oauth2/oauth2_credential_refresher.d.ts +1 -1
- package/dist/types/auth/oauth2/oauth2_utils.d.ts +9 -0
- package/dist/types/auth/refresher/base_credential_refresher.d.ts +1 -1
- package/dist/types/code_executors/code_execution_utils.d.ts +1 -1
- package/dist/types/code_executors/container_code_executor.d.ts +89 -0
- package/dist/types/code_executors/docker_container.d.ts +79 -0
- package/dist/types/common.d.ts +39 -27
- package/dist/types/context/compaction_utils.d.ts +9 -1
- package/dist/types/environment/base_environment.d.ts +101 -0
- package/dist/types/environment/local_environment.d.ts +72 -0
- package/dist/types/errors/already_exists_error.d.ts +14 -0
- package/dist/types/errors/input_validation_error.d.ts +14 -0
- package/dist/types/errors/not_found_error.d.ts +14 -0
- package/dist/types/errors/session_not_found_error.d.ts +14 -0
- package/dist/types/errors/tool_execution_error.d.ts +36 -0
- package/dist/types/events/event.d.ts +94 -1
- package/dist/types/events/event_actions.d.ts +23 -0
- package/dist/types/index.d.ts +27 -14
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_rag_api.d.ts +89 -0
- package/dist/types/memory/vertex_ai_rag_memory_service.d.ts +68 -0
- package/dist/types/models/apigee_llm.d.ts +4 -4
- package/dist/types/models/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +68 -0
- package/dist/types/models/google_llm.d.ts +10 -4
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +47 -10
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- package/dist/types/plugins/plugin_manager.d.ts +20 -0
- package/dist/types/plugins/reflect_retry_model_plugin.d.ts +132 -0
- package/dist/types/plugins/reflect_retry_tool_plugin.d.ts +187 -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 +64 -9
- package/dist/types/sessions/base_session_service.d.ts +2 -2
- package/dist/types/sessions/database_session_service.d.ts +1 -1
- package/dist/types/sessions/db/operations.d.ts +13 -1
- package/dist/types/sessions/db/schema.d.ts +23 -9
- 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 +26 -0
- package/dist/types/tools/base_toolset.d.ts +3 -4
- package/dist/types/tools/built_in_tool.d.ts +41 -0
- package/dist/types/tools/enterprise_web_search_tool.d.ts +4 -4
- package/dist/types/tools/finish_task_tool.d.ts +47 -0
- package/dist/types/tools/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +88 -10
- package/dist/types/tools/google_maps_grounding_tool.d.ts +4 -4
- package/dist/types/tools/google_search_tool.d.ts +4 -4
- package/dist/types/tools/long_running_tool.d.ts +1 -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 +12 -11
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +5 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/preload_memory_tool.d.ts +1 -1
- package/dist/types/tools/request_input_tool.d.ts +6 -1
- package/dist/types/tools/resume_inputs.d.ts +25 -0
- package/dist/types/tools/retrieval/base_retrieval_tool.d.ts +21 -0
- package/dist/types/tools/retrieval/files_retrieval.d.ts +50 -0
- package/dist/types/tools/retrieval/llama_index_retrieval.d.ts +62 -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/tools/url_context_tool.d.ts +4 -4
- package/dist/types/tools/vertex_ai_search_tool.d.ts +4 -4
- package/dist/types/tools/vertex_rag_retrieval_tool.d.ts +13 -12
- 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 +16 -0
- package/dist/types/utils/file_utils.d.ts +10 -2
- package/dist/types/utils/gemini_schema_util.d.ts +5 -7
- package/dist/types/utils/genai_schema_to_json.d.ts +25 -0
- package/dist/types/utils/logger.d.ts +23 -1
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/optional_peer.d.ts +36 -0
- package/dist/types/utils/output_schema_utils.d.ts +3 -3
- package/dist/types/utils/redact_inline_data.d.ts +16 -0
- package/dist/types/utils/redact_uri.d.ts +32 -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/ssrf_guard.d.ts +32 -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/index_web.js +304 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +97 -20
- package/dist/web/a2a/a2a_event.js +0 -271
- package/dist/web/a2a/a2a_remote_agent.js +0 -196
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -184
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -133
- package/dist/web/a2a/agent_card.js +0 -342
- package/dist/web/a2a/agent_executor.js +0 -218
- package/dist/web/a2a/agent_to_a2a.js +0 -97
- package/dist/web/a2a/auth.js +0 -37
- package/dist/web/a2a/event_converter_utils.js +0 -232
- package/dist/web/a2a/event_processor_utils.js +0 -170
- package/dist/web/a2a/executor_context.js +0 -25
- package/dist/web/a2a/metadata_converter_utils.js +0 -110
- package/dist/web/a2a/part_converter_utils.js +0 -188
- package/dist/web/agents/active_streaming_tool.js +0 -21
- package/dist/web/agents/base_agent.js +0 -423
- package/dist/web/agents/context.js +0 -142
- package/dist/web/agents/functions.js +0 -433
- package/dist/web/agents/instructions.js +0 -148
- package/dist/web/agents/invocation_context.js +0 -77
- package/dist/web/agents/live_request_queue.js +0 -126
- package/dist/web/agents/llm_agent.js +0 -936
- package/dist/web/agents/loop_agent.js +0 -112
- package/dist/web/agents/parallel_agent.js +0 -101
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -109
- package/dist/web/agents/processors/base_llm_processor.js +0 -15
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -81
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -367
- package/dist/web/agents/processors/content_processor_utils.js +0 -361
- package/dist/web/agents/processors/content_request_processor.js +0 -67
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -74
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -50
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -81
- package/dist/web/agents/processors/interactions_request_processor.js +0 -52
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -168
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -68
- package/dist/web/agents/readonly_context.js +0 -55
- package/dist/web/agents/routed_agent.js +0 -169
- package/dist/web/agents/run_config.js +0 -62
- package/dist/web/agents/sequential_agent.js +0 -122
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/apps/app.js +0 -49
- package/dist/web/apps/resumability_config.js +0 -31
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -548
- package/dist/web/artifacts/gcs_artifact_service.js +0 -253
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -164
- package/dist/web/artifacts/registry.js +0 -30
- package/dist/web/artifacts/scoped_artifact_service.js +0 -86
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -148
- package/dist/web/auth/auth_preprocessor.js +0 -175
- package/dist/web/auth/auth_provider_registry.js +0 -33
- package/dist/web/auth/auth_schemes.js +0 -33
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/credential_service/base_credential_service.js +0 -7
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -46
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -23
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -12
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -31
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -188
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -102
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -190
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -98
- package/dist/web/auth/refresher/base_credential_refresher.js +0 -16
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -40
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -281
- package/dist/web/code_executors/base_code_executor.js +0 -63
- package/dist/web/code_executors/built_in_code_executor.js +0 -45
- package/dist/web/code_executors/code_execution_utils.js +0 -124
- package/dist/web/code_executors/code_executor_context.js +0 -170
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -214
- package/dist/web/common.js +0 -347
- package/dist/web/context/agent_controlled_context_compactor.js +0 -72
- package/dist/web/context/anchored_context_compactor.js +0 -117
- package/dist/web/context/base_context_compactor.js +0 -7
- package/dist/web/context/compaction_utils.js +0 -38
- package/dist/web/context/summarizers/llm_summarizer.js +0 -87
- package/dist/web/context/token_based_context_compactor.js +0 -111
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -43
- package/dist/web/context/truncating_context_compactor.js +0 -30
- package/dist/web/events/compacted_event.js +0 -47
- package/dist/web/events/event.js +0 -174
- package/dist/web/events/event_actions.js +0 -69
- package/dist/web/events/structured_events.js +0 -76
- package/dist/web/examples/base_example_provider.js +0 -27
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -79
- package/dist/web/features/feature_registry.js +0 -107
- package/dist/web/index.js +0 -68
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -333
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -117
- package/dist/web/integrations/agent_registry/helpers.js +0 -28
- package/dist/web/integrations/agent_registry/types.js +0 -20
- package/dist/web/memory/base_memory_service.js +0 -7
- package/dist/web/memory/in_memory_memory_service.js +0 -82
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -481
- package/dist/web/models/apigee_llm.js +0 -221
- package/dist/web/models/base_llm.js +0 -73
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -179
- package/dist/web/models/google_llm.js +0 -384
- package/dist/web/models/interactions_utils.js +0 -728
- package/dist/web/models/llm_request.js +0 -52
- package/dist/web/models/llm_response.js +0 -45
- package/dist/web/models/registry.js +0 -95
- package/dist/web/models/routed_llm.js +0 -122
- package/dist/web/plugins/base_plugin.js +0 -271
- package/dist/web/plugins/global_instruction_plugin.js +0 -67
- package/dist/web/plugins/logging_plugin.js +0 -235
- package/dist/web/plugins/plugin_manager.js +0 -282
- package/dist/web/plugins/security_plugin.js +0 -140
- package/dist/web/runner/in_memory_runner.js +0 -46
- package/dist/web/runner/runner.js +0 -535
- package/dist/web/sessions/base_session_service.js +0 -111
- package/dist/web/sessions/database_session_service.js +0 -436
- package/dist/web/sessions/db/operations.js +0 -96
- package/dist/web/sessions/db/schema.js +0 -208
- package/dist/web/sessions/in_memory_session_service.js +0 -242
- package/dist/web/sessions/registry.js +0 -34
- package/dist/web/sessions/session.js +0 -20
- package/dist/web/sessions/state.js +0 -89
- package/dist/web/sessions/vertex_ai_session_service.js +0 -443
- package/dist/web/skills/gcp_skill_registry.js +0 -78
- package/dist/web/skills/loader.js +0 -360
- package/dist/web/skills/prompt.js +0 -30
- package/dist/web/skills/skill.js +0 -67
- package/dist/web/skills/skill_registry.js +0 -7
- package/dist/web/telemetry/google_cloud.js +0 -54
- package/dist/web/telemetry/setup.js +0 -83
- package/dist/web/telemetry/tracing.js +0 -234
- package/dist/web/tools/agent_tool.js +0 -145
- package/dist/web/tools/base_tool.js +0 -93
- package/dist/web/tools/base_toolset.js +0 -57
- package/dist/web/tools/consolidate_context_tool.js +0 -51
- package/dist/web/tools/enterprise_web_search_tool.js +0 -55
- package/dist/web/tools/example_tool.js +0 -42
- package/dist/web/tools/exit_loop_tool.js +0 -43
- package/dist/web/tools/forwarding_artifact_service.js +0 -47
- package/dist/web/tools/function_tool.js +0 -85
- package/dist/web/tools/get_user_choice_tool.js +0 -25
- package/dist/web/tools/google_maps_grounding_tool.js +0 -54
- package/dist/web/tools/google_search_tool.js +0 -51
- package/dist/web/tools/load_artifacts_tool.js +0 -152
- package/dist/web/tools/load_memory_tool.js +0 -79
- package/dist/web/tools/load_web_page.js +0 -221
- package/dist/web/tools/long_running_tool.js +0 -55
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -107
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -78
- package/dist/web/tools/mcp/mcp_tool.js +0 -43
- package/dist/web/tools/mcp/mcp_toolset.js +0 -141
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -48
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -60
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -111
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -221
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -198
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -94
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -97
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -229
- package/dist/web/tools/preload_memory_tool.js +0 -77
- package/dist/web/tools/request_input_tool.js +0 -26
- package/dist/web/tools/skill/list_skills_tool.js +0 -50
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -190
- package/dist/web/tools/skill/load_skill_tool.js +0 -93
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -167
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -201
- package/dist/web/tools/skill/search_skills_tool.js +0 -82
- package/dist/web/tools/skill/skill_toolset.js +0 -160
- package/dist/web/tools/tool_confirmation.js +0 -21
- package/dist/web/tools/url_context_tool.js +0 -44
- package/dist/web/tools/vertex_ai_search_tool.js +0 -103
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -36
- package/dist/web/utils/async_hooks_shim.js +0 -24
- package/dist/web/utils/async_queue.js +0 -60
- package/dist/web/utils/branch_trie.js +0 -13
- package/dist/web/utils/case_utils.js +0 -25
- package/dist/web/utils/client_labels.js +0 -64
- package/dist/web/utils/crypto_shim.js +0 -15
- package/dist/web/utils/env_aware_utils.js +0 -74
- package/dist/web/utils/error_utils.js +0 -92
- package/dist/web/utils/experimental.js +0 -46
- package/dist/web/utils/failover_utils.js +0 -96
- package/dist/web/utils/file_extension_utils.js +0 -51
- package/dist/web/utils/file_utils.js +0 -103
- package/dist/web/utils/gemini_schema_util.js +0 -173
- package/dist/web/utils/live_connection_utils.js +0 -254
- package/dist/web/utils/logger.js +0 -130
- package/dist/web/utils/model_name.js +0 -66
- package/dist/web/utils/object_notation_utils.js +0 -49
- package/dist/web/utils/output_schema_utils.js +0 -15
- package/dist/web/utils/partial_copy.js +0 -23
- package/dist/web/utils/simple_zod_to_json.js +0 -123
- package/dist/web/utils/streaming_utils.js +0 -430
- package/dist/web/utils/task.js +0 -34
- package/dist/web/utils/variant_utils.js +0 -20
- package/dist/web/utils/vertex_ai_utils.js +0 -24
- package/dist/web/version.js +0 -11
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
- /package/dist/{web/auth/base_auth_provider.js → esm/workflow/trigger.js} +0 -0
|
@@ -4,15 +4,24 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { AgentCard, AgentInterface, AgentSkill } from '@a2a-js/sdk';
|
|
7
|
-
import {
|
|
7
|
+
import { RunnableRoot } from '../workflow/run_node_as_invocation.js';
|
|
8
8
|
/**
|
|
9
9
|
* Resolves the AgentCard from the provided source.
|
|
10
|
+
*
|
|
11
|
+
* A source is either an {@link AgentCard}, an `http(s)://` URL to fetch it
|
|
12
|
+
* from, a `file://` URL, or a filesystem path. Any other URL scheme throws: a
|
|
13
|
+
* source that looks like a URL is never read off the local filesystem.
|
|
14
|
+
*
|
|
15
|
+
* The card host must not be, or resolve to, a link-local address, and a
|
|
16
|
+
* redirect from the card endpoint is refused rather than followed. Loopback and
|
|
17
|
+
* private addresses stay allowed: they are where a locally served or
|
|
18
|
+
* VPC-internal peer agent lives.
|
|
10
19
|
*/
|
|
11
20
|
export declare function resolveAgentCard(agentCard: AgentCard | string): Promise<AgentCard>;
|
|
12
21
|
/**
|
|
13
22
|
* Converts an ADK agent to an A2A AgentCard.
|
|
14
23
|
*/
|
|
15
|
-
export declare function getA2AAgentCard(agent:
|
|
24
|
+
export declare function getA2AAgentCard(agent: RunnableRoot, transports: AgentInterface[]): Promise<AgentCard>;
|
|
16
25
|
/**
|
|
17
26
|
* Builds a list of AgentSkills based on agent descriptions and types.
|
|
18
27
|
* This information can be used in AgentCard to help clients understand agent capabilities.
|
|
@@ -20,4 +29,4 @@ export declare function getA2AAgentCard(agent: BaseAgent, transports: AgentInter
|
|
|
20
29
|
* @param agent The agent to build skills for.
|
|
21
30
|
* @returns A promise resolving to a list of AgentSkills.
|
|
22
31
|
*/
|
|
23
|
-
export declare function buildAgentSkills(agent:
|
|
32
|
+
export declare function buildAgentSkills(agent: RunnableRoot): Promise<AgentSkill[]>;
|
|
@@ -16,7 +16,7 @@ export type RunnerOrRunnerConfig = Runner | RunnerConfig | (() => Runner | Runne
|
|
|
16
16
|
/**
|
|
17
17
|
* Callback called before execution starts.
|
|
18
18
|
*/
|
|
19
|
-
export type BeforeExecuteCallback = (reqCtx: RequestContext) => Promise<void>;
|
|
19
|
+
export type BeforeExecuteCallback = (reqCtx: RequestContext, a2aMetadata?: Record<string, unknown>) => Promise<void>;
|
|
20
20
|
/**
|
|
21
21
|
* Callback called after an ADK event is converted to an A2A event.
|
|
22
22
|
*/
|
|
@@ -4,13 +4,15 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { AgentCard } from '@a2a-js/sdk';
|
|
7
|
-
import { UserBuilder } from '@a2a-js/sdk/server/express';
|
|
8
|
-
import express from 'express';
|
|
9
|
-
import { BaseAgent } from '../agents/base_agent.js';
|
|
7
|
+
import type { UserBuilder } from '@a2a-js/sdk/server/express';
|
|
8
|
+
import type express from 'express';
|
|
10
9
|
import { BaseArtifactService } from '../artifacts/base_artifact_service.js';
|
|
11
10
|
import { BaseMemoryService } from '../memory/base_memory_service.js';
|
|
12
11
|
import { Runner } from '../runner/runner.js';
|
|
13
12
|
import { BaseSessionService } from '../sessions/base_session_service.js';
|
|
13
|
+
import { RunnableRoot } from '../workflow/run_node_as_invocation.js';
|
|
14
|
+
import { AdkDefaultRequestHandler, getA2aRequestMetadata } from './request_metadata.js';
|
|
15
|
+
export { AdkDefaultRequestHandler, getA2aRequestMetadata };
|
|
14
16
|
/**
|
|
15
17
|
* A request authenticator for the A2A surface.
|
|
16
18
|
*
|
|
@@ -80,4 +82,4 @@ export interface ToA2aOptions {
|
|
|
80
82
|
* @param options Configuration options
|
|
81
83
|
* @returns An Express application
|
|
82
84
|
*/
|
|
83
|
-
export declare function toA2a(agent:
|
|
85
|
+
export declare function toA2a(agent: RunnableRoot, options?: ToA2aOptions): Promise<express.Application>;
|
package/dist/types/a2a/auth.d.ts
CHANGED
|
@@ -15,7 +15,11 @@ import { A2aUserBuilder } from './agent_to_a2a.js';
|
|
|
15
15
|
* text on every call.
|
|
16
16
|
*
|
|
17
17
|
* ```ts
|
|
18
|
-
*
|
|
18
|
+
* const token = process.env.MY_TOKEN;
|
|
19
|
+
* if (!token) {
|
|
20
|
+
* throw new Error('MY_TOKEN is not set');
|
|
21
|
+
* }
|
|
22
|
+
* toA2a(agent, {authentication: bearerTokenUserBuilder(token)});
|
|
19
23
|
* ```
|
|
20
24
|
*
|
|
21
25
|
* A rejected request surfaces as whatever the `@a2a-js/sdk` handler produces
|
|
@@ -19,6 +19,21 @@ import { ExecutorContext } from './executor_context.js';
|
|
|
19
19
|
*/
|
|
20
20
|
export declare function getFinalTaskStatusUpdate(adkEvents: AdkEvent[], context: ExecutorContext): TaskStatusUpdateEvent;
|
|
21
21
|
/**
|
|
22
|
-
* Returns input
|
|
22
|
+
* Returns an input-required status update when the incoming message leaves a
|
|
23
|
+
* pending request unanswered.
|
|
24
|
+
*
|
|
25
|
+
* A pause belongs to the conversation, not to the task that happened to raise
|
|
26
|
+
* it: the ADK session is keyed by `contextId`, and a client picks its own task
|
|
27
|
+
* ids. Scoping this to `ctx.task` alone let a caller step around an open gate
|
|
28
|
+
* by starting a new task in the same context and going on talking to an agent
|
|
29
|
+
* that is supposed to be waiting on a human. Pending requests are therefore
|
|
30
|
+
* read from the session as well as from the task, and each one has to be
|
|
31
|
+
* answered before the agent runs again.
|
|
23
32
|
*/
|
|
24
|
-
export declare function
|
|
33
|
+
export declare function getUnansweredRequestEvent(options: {
|
|
34
|
+
taskId: string;
|
|
35
|
+
contextId: string;
|
|
36
|
+
task?: Task;
|
|
37
|
+
sessionEvents: AdkEvent[];
|
|
38
|
+
genAIContent: GenAIContent;
|
|
39
|
+
}): TaskStatusUpdateEvent | undefined;
|
|
@@ -18,16 +18,22 @@ export interface ExecutorContext {
|
|
|
18
18
|
events: Event[];
|
|
19
19
|
userContent: Content;
|
|
20
20
|
requestContext: RequestContext;
|
|
21
|
+
/**
|
|
22
|
+
* Request-level metadata passed from an incoming A2A request.
|
|
23
|
+
*/
|
|
24
|
+
a2aMetadata?: Record<string, unknown>;
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
23
27
|
* Creates an A2A Agent Executor context from the given parameters.
|
|
24
28
|
* @param session The session.
|
|
25
29
|
* @param userContent The content of the user.
|
|
26
30
|
* @param requestContext The request context.
|
|
31
|
+
* @param a2aMetadata Optional request-level metadata.
|
|
27
32
|
* @returns The A2A Agent Executor context.
|
|
28
33
|
*/
|
|
29
|
-
export declare function createExecutorContext({ session, userContent, requestContext, }: {
|
|
34
|
+
export declare function createExecutorContext({ session, userContent, requestContext, a2aMetadata, }: {
|
|
30
35
|
session: Session;
|
|
31
36
|
userContent: Content;
|
|
32
37
|
requestContext: RequestContext;
|
|
38
|
+
a2aMetadata?: Record<string, unknown>;
|
|
33
39
|
}): ExecutorContext;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* `@google/adk/a2a` subpath: the A2A surface only, without the full ADK barrel.
|
|
8
|
+
* Also re-exported from `@google/adk`.
|
|
9
|
+
*/
|
|
10
|
+
export { AGENT_CARD_PATH, RemoteA2AAgent } from './a2a_remote_agent.js';
|
|
11
|
+
export type { A2AStreamEventData, AfterA2ARequestCallback, BeforeA2ARequestCallback, RemoteA2AAgentConfig, } from './a2a_remote_agent.js';
|
|
12
|
+
export { getA2AAgentCard } from './agent_card.js';
|
|
13
|
+
export { A2AAgentExecutor } from './agent_executor.js';
|
|
14
|
+
export type { AfterEventCallback, AfterExecuteCallback, AgentExecutorConfig, BeforeExecuteCallback, RunnerOrRunnerConfig, } from './agent_executor.js';
|
|
15
|
+
export { AdkDefaultRequestHandler, getA2aRequestMetadata, toA2a, } from './agent_to_a2a.js';
|
|
16
|
+
export type { A2aUserBuilder, ToA2aOptions } from './agent_to_a2a.js';
|
|
17
|
+
export { bearerTokenUserBuilder } from './auth.js';
|
|
18
|
+
export type { ExecutorContext } from './executor_context.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Message, MessageSendParams, Task, TaskArtifactUpdateEvent, TaskStatusUpdateEvent } from '@a2a-js/sdk';
|
|
7
|
+
import { DefaultRequestHandler, RequestContext, ServerCallContext } from '@a2a-js/sdk/server';
|
|
8
|
+
/**
|
|
9
|
+
* Extracts request-level A2A metadata from a RequestContext.
|
|
10
|
+
*
|
|
11
|
+
* Supports @a2a-js/sdk >= 1.0.0 (`ctx.request.metadata`) and @a2a-js/sdk 0.3.x via
|
|
12
|
+
* `AdkDefaultRequestHandler`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getA2aRequestMetadata(ctx: RequestContext): Record<string, unknown> | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* A2A DefaultRequestHandler extension that preserves request-level metadata (`params.metadata`)
|
|
17
|
+
* across agent executions regardless of @a2a-js/sdk version.
|
|
18
|
+
*/
|
|
19
|
+
export declare class AdkDefaultRequestHandler extends DefaultRequestHandler {
|
|
20
|
+
sendMessage(params: MessageSendParams, context?: ServerCallContext): Promise<Message | Task>;
|
|
21
|
+
sendMessageStream(params: MessageSendParams, context?: ServerCallContext): AsyncGenerator<Message | Task | TaskStatusUpdateEvent | TaskArtifactUpdateEvent, void, undefined>;
|
|
22
|
+
}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Content } from '@google/genai';
|
|
7
7
|
import { Event } from '../events/event.js';
|
|
8
|
+
import { BaseNode, BaseNodeConfig } from '../workflow/base_node.js';
|
|
9
|
+
import type { NodeContext } from '../workflow/node_context.js';
|
|
8
10
|
import { Context } from './context.js';
|
|
9
11
|
import { InvocationContext } from './invocation_context.js';
|
|
10
12
|
/**
|
|
@@ -23,8 +25,13 @@ export type BeforeAgentCallback = SingleAgentCallback | SingleAgentCallback[];
|
|
|
23
25
|
export type AfterAgentCallback = SingleAgentCallback | SingleAgentCallback[];
|
|
24
26
|
/**
|
|
25
27
|
* The config of a base agent.
|
|
28
|
+
*
|
|
29
|
+
* Extends {@link BaseNodeConfig}, so every agent also accepts the node-level
|
|
30
|
+
* options — `retryConfig`, `timeout`, `inputSchema`, `outputSchema`,
|
|
31
|
+
* `stateSchema`, `rerunOnResume`, `waitForOutput` — which apply when the agent
|
|
32
|
+
* runs inside a workflow.
|
|
26
33
|
*/
|
|
27
|
-
export interface BaseAgentConfig {
|
|
34
|
+
export interface BaseAgentConfig extends BaseNodeConfig {
|
|
28
35
|
name: string;
|
|
29
36
|
description?: string;
|
|
30
37
|
parentAgent?: BaseAgent;
|
|
@@ -49,8 +56,13 @@ export declare function isBaseAgent(obj: unknown): obj is BaseAgent;
|
|
|
49
56
|
* The class is generic over its config type so that {@link clone} can be typed
|
|
50
57
|
* per subclass (e.g. `LlmAgent.clone({instruction})`). The default keeps bare
|
|
51
58
|
* `BaseAgent` references valid as `BaseAgent<BaseAgentConfig>`.
|
|
59
|
+
*
|
|
60
|
+
* An agent **is** a {@link BaseNode}, so any agent can be dropped straight into
|
|
61
|
+
* a workflow graph without a wrapper — mirroring adk-python, where
|
|
62
|
+
* `BaseAgent(BaseNode)`. {@link runImpl} bridges the two contracts: the node
|
|
63
|
+
* runner calls it, and it delegates to the agent's own {@link runAsync}.
|
|
52
64
|
*/
|
|
53
|
-
export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAgentConfig> {
|
|
65
|
+
export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAgentConfig> extends BaseNode {
|
|
54
66
|
/**
|
|
55
67
|
* A unique symbol to identify ADK agent classes.
|
|
56
68
|
*/
|
|
@@ -70,13 +82,6 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
|
|
|
70
82
|
* Agent name cannot be "user", since it's reserved for end-user's input.
|
|
71
83
|
*/
|
|
72
84
|
readonly name: string;
|
|
73
|
-
/**
|
|
74
|
-
* Description about the agent's capability.
|
|
75
|
-
*
|
|
76
|
-
* The model uses this to determine whether to delegate control to the agent.
|
|
77
|
-
* One-line description is enough and preferred.
|
|
78
|
-
*/
|
|
79
|
-
readonly description?: string;
|
|
80
85
|
/**
|
|
81
86
|
* Root agent of this agent.
|
|
82
87
|
* Computed dynamically by traversing up the parent chain.
|
|
@@ -104,11 +109,15 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
|
|
|
104
109
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
105
110
|
* order they are listed until a callback does not return undefined.
|
|
106
111
|
*
|
|
107
|
-
*
|
|
112
|
+
* Each callback takes a single {@link Context} argument. Returning `Content`
|
|
113
|
+
* skips this agent's own run — its `runAsyncImpl` body and its
|
|
114
|
+
* `afterAgentCallback` — and emits the returned content as this agent's
|
|
115
|
+
* response; return `undefined` to let the run proceed.
|
|
108
116
|
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
117
|
+
* That skip is scoped to this agent. It sets `endInvocation` on the
|
|
118
|
+
* invocation context the agent created for itself, which is a copy of its
|
|
119
|
+
* parent's, so callers above are unaffected: a `SequentialAgent` still runs
|
|
120
|
+
* the remaining sub-agents.
|
|
112
121
|
*/
|
|
113
122
|
readonly beforeAgentCallback: SingleAgentCallback[];
|
|
114
123
|
/**
|
|
@@ -117,26 +126,25 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
|
|
|
117
126
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
118
127
|
* order they are listed until a callback does not return undefined.
|
|
119
128
|
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
* present, the provided content will be used as agent response and
|
|
124
|
-
* appended to event history as agent response.
|
|
129
|
+
* Each callback takes a single {@link Context} argument. Returning `Content`
|
|
130
|
+
* emits it as the agent's response, appended to the event history; return
|
|
131
|
+
* `undefined` to leave the response as the agent produced it.
|
|
125
132
|
*/
|
|
126
133
|
readonly afterAgentCallback: SingleAgentCallback[];
|
|
127
134
|
constructor(config: BaseAgentConfig);
|
|
128
135
|
/**
|
|
129
136
|
* Creates a copy of this agent with the given config fields overridden.
|
|
130
137
|
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
*
|
|
134
|
-
*
|
|
135
|
-
* `
|
|
136
|
-
*
|
|
138
|
+
* The clone is a detached root: its `parentAgent` is always `undefined`.
|
|
139
|
+
* Sub-agents are recursively cloned (and re-parented to the clone) unless
|
|
140
|
+
* `subAgents` is overridden. Rebuilding via the concrete constructor
|
|
141
|
+
* re-derives all state, so a cloned `LlmAgent` gets a fresh
|
|
142
|
+
* `requestProcessors` array rather than sharing the original's.
|
|
143
|
+
* See google/adk-js#534.
|
|
137
144
|
*
|
|
138
145
|
* @param overrides Config fields to override on the clone. Overriding
|
|
139
|
-
* `parentAgent` is rejected
|
|
146
|
+
* `parentAgent` is rejected: parentage is assigned only when a parent
|
|
147
|
+
* agent is constructed with its sub-agents.
|
|
140
148
|
* @returns A new detached agent instance of the same concrete class.
|
|
141
149
|
*/
|
|
142
150
|
clone(overrides?: Partial<TConfig>): this;
|
|
@@ -148,6 +156,29 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
|
|
|
148
156
|
* @returns An AsyncGenerator that yields the events generated by the agent.
|
|
149
157
|
*/
|
|
150
158
|
runAsync(parentContext: InvocationContext): AsyncGenerator<Event, void, void>;
|
|
159
|
+
/**
|
|
160
|
+
* Runs this agent as a workflow node.
|
|
161
|
+
*
|
|
162
|
+
* The node runner calls this; it delegates to {@link runAsync}, so an agent
|
|
163
|
+
* behaves identically whether it is run directly or as a node. Mirrors
|
|
164
|
+
* adk-python `BaseAgent._run_impl`.
|
|
165
|
+
*
|
|
166
|
+
* The invocation context comes from {@link NodeContext.getInvocationContext}
|
|
167
|
+
* rather than the raw field, so the agent runs against whatever view of the
|
|
168
|
+
* session the workflow wants it to see.
|
|
169
|
+
*
|
|
170
|
+
* Unlike adk-python's `_run_impl`, nothing is stamped onto the events here.
|
|
171
|
+
* Python has to fix up the author and the node path because it authors
|
|
172
|
+
* in-workflow events as the workflow itself; the TypeScript node runner
|
|
173
|
+
* already owns both (`enrichEvent` keeps an author the node set, and always
|
|
174
|
+
* stamps the true node path), so repeating it would be dead code.
|
|
175
|
+
*
|
|
176
|
+
* `nodeInput` is intentionally unused: an agent's input is its conversation,
|
|
177
|
+
* which the workflow supplies through the session. A node that needs to read
|
|
178
|
+
* its input — an `LlmAgent` injecting it into the prompt, say — does so in
|
|
179
|
+
* its own wrapper.
|
|
180
|
+
*/
|
|
181
|
+
protected runImpl(ctx: NodeContext, _nodeInput: unknown): AsyncGenerator<Event, void, void>;
|
|
151
182
|
/**
|
|
152
183
|
* Entry method to run an agent via video/audio-based conversation.
|
|
153
184
|
*
|
|
@@ -9,6 +9,7 @@ import { AuthConfig } from '../auth/auth_tool.js';
|
|
|
9
9
|
import { EventActions } from '../events/event_actions.js';
|
|
10
10
|
import { SearchMemoryResponse } from '../memory/base_memory_service.js';
|
|
11
11
|
import { State } from '../sessions/state.js';
|
|
12
|
+
import { ResumeInputs } from '../tools/resume_inputs.js';
|
|
12
13
|
import { ToolConfirmation } from '../tools/tool_confirmation.js';
|
|
13
14
|
import { InvocationContext } from './invocation_context.js';
|
|
14
15
|
import { ReadonlyContext } from './readonly_context.js';
|
|
@@ -26,6 +27,7 @@ export declare class Context extends ReadonlyContext {
|
|
|
26
27
|
readonly eventActions: EventActions;
|
|
27
28
|
readonly functionCallId?: string;
|
|
28
29
|
toolConfirmation?: ToolConfirmation;
|
|
30
|
+
readonly resumeInputs: ResumeInputs;
|
|
29
31
|
readonly abortSignal?: AbortSignal;
|
|
30
32
|
/**
|
|
31
33
|
* @param options The configuration options for the Context.
|
|
@@ -38,12 +40,18 @@ export declare class Context extends ReadonlyContext {
|
|
|
38
40
|
* call.
|
|
39
41
|
* @param options.toolConfirmation The tool confirmation of the current tool
|
|
40
42
|
* call.
|
|
43
|
+
* @param options.resumeInputs The inputs the current tool call is being
|
|
44
|
+
* resumed with, if it paused to ask for them, keyed by interrupt id.
|
|
45
|
+
* Defaults to empty rather than absent, matching adk-python's
|
|
46
|
+
* `Context.resume_inputs`. Carries no approval; see
|
|
47
|
+
* {@link ResumeInputs}.
|
|
41
48
|
*/
|
|
42
49
|
constructor(options: {
|
|
43
50
|
invocationContext: InvocationContext;
|
|
44
51
|
eventActions?: EventActions;
|
|
45
52
|
functionCallId?: string;
|
|
46
53
|
toolConfirmation?: ToolConfirmation;
|
|
54
|
+
resumeInputs?: ResumeInputs;
|
|
47
55
|
});
|
|
48
56
|
/**
|
|
49
57
|
* The delta-aware state of the current session.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Content } from '@google/genai';
|
|
7
|
+
/**
|
|
8
|
+
* The function call the framework emits to ask a human to approve a pending
|
|
9
|
+
* tool call.
|
|
10
|
+
*/
|
|
11
|
+
export declare const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
|
|
12
|
+
/** The function call the framework emits to ask a client for credentials. */
|
|
13
|
+
export declare const REQUEST_CREDENTIAL_FUNCTION_CALL_NAME = "adk_request_credential";
|
|
14
|
+
/** The function call the framework emits to ask a client for input. */
|
|
15
|
+
export declare const REQUEST_INPUT_FUNCTION_CALL_NAME = "adk_request_input";
|
|
16
|
+
/**
|
|
17
|
+
* The first reserved function call in `content`, if it carries one.
|
|
18
|
+
*
|
|
19
|
+
* Used to keep client input out of the framework's own control plane. Function
|
|
20
|
+
* responses are untouched: answering a pending request is exactly what a client
|
|
21
|
+
* is supposed to do.
|
|
22
|
+
*
|
|
23
|
+
* @param content The content to inspect.
|
|
24
|
+
* @return The reserved call's name, or undefined when there is none.
|
|
25
|
+
*/
|
|
26
|
+
export declare function reservedFunctionCallName(content: Content | undefined): string | undefined;
|
|
@@ -7,11 +7,11 @@ import { FunctionCall } from '@google/genai';
|
|
|
7
7
|
import { InvocationContext } from '../agents/invocation_context.js';
|
|
8
8
|
import { Event } from '../events/event.js';
|
|
9
9
|
import { BaseTool } from '../tools/base_tool.js';
|
|
10
|
+
import { ResumeInputs } from '../tools/resume_inputs.js';
|
|
10
11
|
import { ToolConfirmation } from '../tools/tool_confirmation.js';
|
|
11
12
|
import { SingleAfterToolCallback, SingleBeforeToolCallback } from './llm_agent.js';
|
|
12
13
|
export { AF_FUNCTION_CALL_ID_PREFIX, generateClientFunctionCallId, populateClientFunctionCallId, } from '../events/event.js';
|
|
13
|
-
export
|
|
14
|
-
export declare const REQUEST_CONFIRMATION_FUNCTION_CALL_NAME = "adk_request_confirmation";
|
|
14
|
+
export { REQUEST_CONFIRMATION_FUNCTION_CALL_NAME, REQUEST_CREDENTIAL_FUNCTION_CALL_NAME, REQUEST_INPUT_FUNCTION_CALL_NAME, reservedFunctionCallName, } from './framework_function_calls.js';
|
|
15
15
|
export declare const functionsExportedForTestingOnly: {
|
|
16
16
|
handleFunctionCallList: typeof handleFunctionCallList;
|
|
17
17
|
generateAuthEvent: typeof generateAuthEvent;
|
|
@@ -40,6 +40,11 @@ export declare function generateRequestConfirmationEvent({ invocationContext, fu
|
|
|
40
40
|
* Handles function calls.
|
|
41
41
|
* Runtime behavior to pay attention to:
|
|
42
42
|
* - Iterate through each function call in the `functionCallEvent`:
|
|
43
|
+
* - Resolve the named tool. If the name is not callable, run the on-tool-
|
|
44
|
+
* error callbacks and answer the call with their response, or with the
|
|
45
|
+
* resolution error when none handles it, then move to the next call. That
|
|
46
|
+
* answer skips the before/after tool callbacks below, so a plugin auditing
|
|
47
|
+
* every response does not observe it — as in Python.
|
|
43
48
|
* - Execute before tool callbacks !!if a callback provides a response, short
|
|
44
49
|
* circuit the rest.
|
|
45
50
|
* - Execute the tool.
|
|
@@ -48,7 +53,7 @@ export declare function generateRequestConfirmationEvent({ invocationContext, fu
|
|
|
48
53
|
* - If the tool is long-running and the response is null, continue. !!state
|
|
49
54
|
* - Merge all function response events into a single event.
|
|
50
55
|
*/
|
|
51
|
-
export declare function handleFunctionCallsAsync({ invocationContext, functionCallEvent, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, }: {
|
|
56
|
+
export declare function handleFunctionCallsAsync({ invocationContext, functionCallEvent, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, resumeInputsDict, }: {
|
|
52
57
|
invocationContext: InvocationContext;
|
|
53
58
|
functionCallEvent: Event;
|
|
54
59
|
toolsDict: Record<string, BaseTool>;
|
|
@@ -56,13 +61,22 @@ export declare function handleFunctionCallsAsync({ invocationContext, functionCa
|
|
|
56
61
|
afterToolCallbacks: SingleAfterToolCallback[];
|
|
57
62
|
filters?: Set<string>;
|
|
58
63
|
toolConfirmationDict?: Record<string, ToolConfirmation>;
|
|
64
|
+
resumeInputsDict?: Record<string, ResumeInputs>;
|
|
59
65
|
}): Promise<Event | null>;
|
|
66
|
+
/**
|
|
67
|
+
* Whether `tool` is the placeholder handed to the on-tool-error callbacks for a
|
|
68
|
+
* function call naming a tool this agent cannot call.
|
|
69
|
+
*
|
|
70
|
+
* Lets a plugin tell an unresolvable name from a registered tool that threw
|
|
71
|
+
* without matching on the error message.
|
|
72
|
+
*/
|
|
73
|
+
export declare function isToolNotFound(tool: unknown): boolean;
|
|
60
74
|
/**
|
|
61
75
|
* The underlying implementation of handleFunctionCalls, but takes a list of
|
|
62
76
|
* function calls instead of an event.
|
|
63
77
|
* This is also used by llm_agent execution flow in preprocessing.
|
|
64
78
|
*/
|
|
65
|
-
export declare function handleFunctionCallList({ invocationContext, functionCalls, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, }: {
|
|
79
|
+
export declare function handleFunctionCallList({ invocationContext, functionCalls, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, resumeInputsDict, }: {
|
|
66
80
|
invocationContext: InvocationContext;
|
|
67
81
|
functionCalls: FunctionCall[];
|
|
68
82
|
toolsDict: Record<string, BaseTool>;
|
|
@@ -70,18 +84,69 @@ export declare function handleFunctionCallList({ invocationContext, functionCall
|
|
|
70
84
|
afterToolCallbacks: SingleAfterToolCallback[];
|
|
71
85
|
filters?: Set<string>;
|
|
72
86
|
toolConfirmationDict?: Record<string, ToolConfirmation>;
|
|
87
|
+
/**
|
|
88
|
+
* Inputs to resume a paused tool call with, keyed by function call id. Each
|
|
89
|
+
* value is itself keyed by interrupt id. Kept apart from
|
|
90
|
+
* `toolConfirmationDict` so resume inputs can never be mistaken for a human
|
|
91
|
+
* approval; see {@link ResumeInputs}.
|
|
92
|
+
*/
|
|
93
|
+
resumeInputsDict?: Record<string, ResumeInputs>;
|
|
73
94
|
}): Promise<Event | null>;
|
|
74
95
|
/**
|
|
75
96
|
* Merges a list of function response events into a single event.
|
|
76
97
|
*/
|
|
77
98
|
export declare function mergeParallelFunctionResponseEvents(functionResponseEvents: Event[]): Event;
|
|
78
99
|
/**
|
|
79
|
-
* Finds the
|
|
80
|
-
*
|
|
100
|
+
* Finds the most recent event before `endIndex` that contains a function call
|
|
101
|
+
* with the given ID.
|
|
81
102
|
*/
|
|
82
103
|
export declare function findEventByFunctionCallId(events: Event[], functionCallId: string, endIndex?: number): Event | undefined;
|
|
83
104
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
105
|
+
* Returns the event containing the function call that the last event's
|
|
106
|
+
* function response(s) answer, by matching functionCall.id to
|
|
107
|
+
* functionResponse.id.
|
|
108
|
+
*
|
|
109
|
+
* Every function response in the last event is checked, not just the
|
|
110
|
+
* first one. A single event can carry responses answering calls from
|
|
111
|
+
* different agents at once -- for example two long-running operations
|
|
112
|
+
* from sibling sub-agents completing together and being resumed in one
|
|
113
|
+
* message. Resolving from only `functionResponses[0]` would silently
|
|
114
|
+
* attribute the rest to whichever agent's call happened to come first,
|
|
115
|
+
* which is the wrong agent for any response that isn't the first one:
|
|
116
|
+
* that response would then be processed under a resumed agent's context
|
|
117
|
+
* it was never meant for, and the agent it actually answers would never
|
|
118
|
+
* be correctly resumed at all.
|
|
119
|
+
*
|
|
120
|
+
* This is a pure lookup: responses with no id, or whose id matches no
|
|
121
|
+
* function call, are skipped rather than treated as an error, and when
|
|
122
|
+
* several responses resolve to calls from more than one distinct
|
|
123
|
+
* author, this does not throw -- it returns the last-resolved match by
|
|
124
|
+
* iteration order (whichever response is checked last wins). That is a
|
|
125
|
+
* change from the pre-existing behavior of resolving only
|
|
126
|
+
* `functionResponses[0]` (which effectively made the first response
|
|
127
|
+
* win): an external caller of {@link findEventByLastFunctionResponseId}
|
|
128
|
+
* can now get a different event, and a different id, than before this
|
|
129
|
+
* fix, even though {@link determineAgentForResumption} itself is
|
|
130
|
+
* unaffected, since it only reads `.author` and every distinct-author
|
|
131
|
+
* case is instead surfaced there as a thrown conflict (see
|
|
132
|
+
* `getConflictingFunctionResponseAuthors`) after that caller's own
|
|
133
|
+
* resumability gate, not from this function.
|
|
86
134
|
*/
|
|
87
135
|
export declare function findMatchingFunctionCall(events: Event[]): Event | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Returns the distinct pair of authors when the last event's function
|
|
138
|
+
* responses resolve to function calls from more than one agent, or
|
|
139
|
+
* `undefined` when they all resolve to a single agent (or there is
|
|
140
|
+
* nothing to resolve).
|
|
141
|
+
*
|
|
142
|
+
* This performs the same walk as {@link findMatchingFunctionCall} but
|
|
143
|
+
* reports a conflict instead of silently resolving to one match, so
|
|
144
|
+
* that a caller can decide when it is safe to raise it. {@link
|
|
145
|
+
* determineAgentForResumption} is the only current caller, and calls
|
|
146
|
+
* this only once resumability is confirmed enabled: this function
|
|
147
|
+
* existing separately from `findMatchingFunctionCall`, rather than
|
|
148
|
+
* that function throwing directly, is what keeps a session with such
|
|
149
|
+
* an event from aborting every run (not only resumption attempts) --
|
|
150
|
+
* see that caller's own comment for why the check has to live there.
|
|
151
|
+
*/
|
|
152
|
+
export declare function getConflictingFunctionResponseAuthors(events: Event[]): [string, string] | undefined;
|