@google/adk 2.0.0 → 2.2.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 +0 -29
- package/dist/cjs/a2a/a2a_remote_agent.js +8 -5
- package/dist/cjs/a2a/a2a_remote_agent_utils.js +104 -2
- package/dist/cjs/a2a/agent_card.js +66 -6
- package/dist/cjs/a2a/agent_executor.js +18 -6
- package/dist/cjs/a2a/agent_to_a2a.js +6 -1
- package/dist/cjs/a2a/event_processor_utils.js +1 -1
- package/dist/cjs/a2a/executor_context.js +4 -2
- package/dist/cjs/a2a/index.js +4 -0
- package/dist/cjs/a2a/request_metadata.js +94 -0
- package/dist/cjs/agents/base_agent.js +9 -8
- package/dist/cjs/agents/context.js +7 -0
- package/dist/cjs/agents/functions.js +150 -47
- package/dist/cjs/agents/invocation_context.js +1 -0
- package/dist/cjs/agents/llm_agent.js +21 -6
- package/dist/cjs/agents/loop_agent.js +1 -1
- package/dist/cjs/agents/parallel_agent.js +1 -1
- package/dist/cjs/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/cjs/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/cjs/agents/processors/content_processor_utils.js +15 -7
- package/dist/cjs/agents/processors/content_request_processor.js +4 -1
- package/dist/cjs/agents/processors/nl_planning_processor.js +114 -0
- package/dist/cjs/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/cjs/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/cjs/agents/readonly_context.js +6 -0
- package/dist/cjs/agents/routed_agent.js +1 -1
- package/dist/cjs/agents/sequential_agent.js +1 -1
- package/dist/cjs/apps/app.js +1 -1
- package/dist/cjs/artifacts/file_artifact_service.js +1 -2
- package/dist/cjs/artifacts/gcs_artifact_service.js +13 -7
- package/dist/cjs/artifacts/scoped_artifact_service.js +9 -0
- package/dist/cjs/artifacts/session_artifact_service.js +19 -0
- package/dist/cjs/auth/auth_credential.js +12 -2
- package/dist/cjs/auth/auth_handler.js +44 -8
- package/dist/cjs/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/cjs/auth/oauth2/oauth2_utils.js +17 -2
- package/dist/cjs/code_executors/base_code_executor.js +1 -1
- package/dist/cjs/code_executors/built_in_code_executor.js +1 -1
- package/dist/cjs/code_executors/code_execution_utils.js +5 -5
- 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 +11 -6
- package/dist/cjs/common.js +119 -45
- package/dist/cjs/context/agent_controlled_context_compactor.js +10 -5
- package/dist/cjs/context/anchored_context_compactor.js +41 -18
- package/dist/cjs/context/compaction_utils.js +15 -6
- package/dist/cjs/context/token_based_context_compactor.js +10 -2
- package/dist/cjs/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/cjs/context/truncating_context_compactor.js +17 -5
- 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/event.js +1 -1
- package/dist/cjs/events/event_actions.js +7 -0
- package/dist/cjs/examples/base_example_provider.js +1 -1
- package/dist/cjs/examples/example.js +92 -0
- package/dist/cjs/examples/example_util.js +28 -4
- package/dist/cjs/examples/index.js +39 -0
- package/dist/cjs/examples/vertex_ai_example_store.js +39 -0
- package/dist/cjs/index.js +93 -0
- package/dist/cjs/index_web.js +2 -0
- package/dist/cjs/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/cjs/memory/rag_memory_transcript.js +136 -0
- package/dist/cjs/memory/vertex_ai_memory_bank_service.js +19 -7
- 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 +1 -1
- package/dist/cjs/models/base_llm.js +2 -7
- package/dist/cjs/models/chrome_prompt_llm.js +318 -0
- package/dist/cjs/models/chrome_prompt_utils.js +281 -0
- package/dist/cjs/models/gemini_llm_connection.js +5 -4
- package/dist/cjs/models/google_llm.js +9 -4
- package/dist/cjs/models/interactions_utils.js +2 -3
- package/dist/cjs/models/registry.js +2 -0
- package/dist/cjs/planners/base_planner.js +56 -0
- package/dist/cjs/planners/built_in_planner.js +85 -0
- package/dist/cjs/planners/plan_re_act_planner.js +172 -0
- package/dist/cjs/plugins/_reflect_retry_utils.js +142 -0
- package/dist/cjs/plugins/base_plugin.js +46 -61
- 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/runner/runner.js +29 -26
- package/dist/cjs/sessions/database_session_service.js +78 -43
- package/dist/cjs/sessions/db/operations.js +229 -22
- package/dist/cjs/sessions/db/schema.js +113 -159
- package/dist/cjs/sessions/registry.js +5 -1
- package/dist/cjs/sessions/vertex_ai_session_service.js +2 -2
- package/dist/cjs/telemetry/setup.js +1 -1
- package/dist/cjs/telemetry/tracing.js +11 -1
- package/dist/cjs/tools/agent_tool.js +4 -5
- package/dist/cjs/tools/base_tool.js +14 -4
- package/dist/cjs/tools/base_toolset.js +4 -4
- package/dist/cjs/tools/built_in_tool.js +75 -0
- package/dist/cjs/tools/enterprise_web_search_tool.js +3 -6
- package/dist/cjs/tools/example_tool.js +1 -1
- package/dist/cjs/tools/forwarding_artifact_service.js +18 -13
- package/dist/cjs/tools/function_tool.js +6 -3
- package/dist/cjs/tools/google_maps_grounding_tool.js +3 -6
- package/dist/cjs/tools/google_search_tool.js +3 -6
- package/dist/cjs/tools/load_artifacts_tool.js +47 -23
- package/dist/cjs/tools/load_web_page.js +6 -172
- package/dist/cjs/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/cjs/tools/mcp/mcp_session_manager.js +14 -8
- package/dist/cjs/tools/openapi_tool/auth/auth_helpers.js +292 -4
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +70 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +120 -0
- package/dist/cjs/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -10
- package/dist/cjs/tools/openapi_tool/common/common.js +139 -0
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/operation_parser.js +74 -14
- package/dist/cjs/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -34
- package/dist/cjs/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/cjs/tools/openapi_tool/rest_api_tool.js +106 -46
- package/dist/cjs/tools/preload_memory_tool.js +1 -1
- 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/skill_toolset.js +2 -0
- package/dist/cjs/tools/tool_context.js +41 -0
- package/dist/cjs/tools/url_context_tool.js +3 -6
- package/dist/cjs/tools/vertex_ai_search_tool.js +4 -8
- package/dist/cjs/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/cjs/tools/webmcp/index.js +37 -0
- package/dist/cjs/tools/webmcp/webmcp_tool.js +156 -0
- package/dist/cjs/tools/webmcp/webmcp_toolset.js +116 -0
- package/dist/cjs/tools/webmcp/webmcp_types.js +50 -0
- package/dist/cjs/utils/case_utils.js +52 -2
- package/dist/cjs/utils/client_labels.js +67 -0
- package/dist/cjs/utils/crypto_shim.js +16 -0
- package/dist/cjs/utils/gemini_schema_util.js +103 -9
- package/dist/cjs/utils/hash_utils.js +73 -0
- package/dist/cjs/utils/live_connection_utils.js +10 -9
- package/dist/cjs/utils/logger.js +15 -50
- 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 +17 -2
- package/dist/cjs/utils/redact_inline_data.js +46 -0
- package/dist/cjs/utils/redact_uri.js +15 -1
- package/dist/cjs/utils/schema.js +1 -1
- package/dist/cjs/utils/simple_zod_to_json.js +5 -0
- package/dist/cjs/utils/ssrf_guard.js +262 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/workflow/base_node.js +1 -1
- package/dist/cjs/workflow/graph.js +1 -1
- package/dist/cjs/workflow/nodes/node_tool.js +2 -11
- package/dist/cjs/workflow/request_input.js +1 -1
- package/dist/cjs/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/cjs/workflow/workflow.js +1 -1
- package/dist/esm/a2a/a2a_event.js +0 -28
- package/dist/esm/a2a/a2a_remote_agent.js +10 -5
- package/dist/esm/a2a/a2a_remote_agent_utils.js +102 -2
- package/dist/esm/a2a/agent_card.js +71 -6
- package/dist/esm/a2a/agent_executor.js +18 -6
- package/dist/esm/a2a/agent_to_a2a.js +8 -2
- package/dist/esm/a2a/event_processor_utils.js +1 -2
- package/dist/esm/a2a/executor_context.js +4 -2
- package/dist/esm/a2a/index.js +7 -1
- package/dist/esm/a2a/request_metadata.js +68 -0
- package/dist/esm/agents/base_agent.js +9 -8
- package/dist/esm/agents/context.js +7 -0
- package/dist/esm/agents/functions.js +152 -48
- package/dist/esm/agents/invocation_context.js +1 -0
- package/dist/esm/agents/llm_agent.js +24 -6
- package/dist/esm/agents/loop_agent.js +1 -1
- package/dist/esm/agents/parallel_agent.js +1 -1
- package/dist/esm/agents/processors/agent_transfer_llm_request_processor.js +26 -5
- package/dist/esm/agents/processors/code_execution_request_processor.js +2 -2
- package/dist/esm/agents/processors/content_processor_utils.js +15 -7
- package/dist/esm/agents/processors/content_request_processor.js +4 -1
- package/dist/esm/agents/processors/nl_planning_processor.js +87 -0
- package/dist/esm/agents/processors/request_confirmation_llm_request_processor.js +19 -12
- package/dist/esm/agents/processors/request_input_llm_request_processor.js +3 -7
- package/dist/esm/agents/readonly_context.js +6 -0
- package/dist/esm/agents/routed_agent.js +1 -1
- package/dist/esm/agents/sequential_agent.js +1 -1
- package/dist/esm/apps/app.js +1 -1
- package/dist/esm/artifacts/file_artifact_service.js +1 -2
- package/dist/esm/artifacts/gcs_artifact_service.js +13 -7
- package/dist/esm/artifacts/scoped_artifact_service.js +9 -0
- package/dist/esm/artifacts/session_artifact_service.js +12 -0
- package/dist/esm/auth/auth_credential.js +11 -1
- package/dist/esm/auth/auth_handler.js +47 -8
- package/dist/esm/auth/oauth2/oauth2_credential_refresher.js +1 -1
- package/dist/esm/auth/oauth2/oauth2_utils.js +15 -2
- package/dist/esm/code_executors/base_code_executor.js +1 -1
- package/dist/esm/code_executors/built_in_code_executor.js +1 -1
- package/dist/esm/code_executors/code_execution_utils.js +5 -5
- 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 +11 -6
- package/dist/esm/common.js +111 -40
- package/dist/esm/context/agent_controlled_context_compactor.js +10 -5
- package/dist/esm/context/anchored_context_compactor.js +45 -19
- package/dist/esm/context/compaction_utils.js +13 -5
- package/dist/esm/context/token_based_context_compactor.js +10 -2
- package/dist/esm/context/trajectory_thought_pruning_compactor.js +17 -10
- package/dist/esm/context/truncating_context_compactor.js +17 -5
- package/dist/esm/errors/already_exists_error.js +23 -0
- package/dist/esm/errors/input_validation_error.js +23 -0
- package/dist/{web/auth/refresher/base_credential_refresher.js → esm/errors/not_found_error.js} +9 -6
- 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/event.js +1 -1
- package/dist/esm/events/event_actions.js +6 -0
- package/dist/esm/examples/base_example_provider.js +1 -1
- package/dist/esm/examples/example.js +85 -0
- package/dist/esm/examples/example_util.js +25 -3
- package/dist/{web/auth/credential_service/base_credential_service.js → esm/examples/index.js} +4 -0
- package/dist/{web/version.js → esm/examples/vertex_ai_example_store.js} +2 -2
- package/dist/esm/index.js +87 -0
- package/dist/esm/index_web.js +2 -0
- package/dist/esm/integrations/agent_registry/agent_registry.js +3 -2
- package/dist/esm/memory/rag_memory_transcript.js +106 -0
- package/dist/esm/memory/vertex_ai_memory_bank_service.js +19 -7
- 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 +1 -1
- package/dist/esm/models/base_llm.js +3 -8
- package/dist/esm/models/chrome_prompt_llm.js +302 -0
- package/dist/esm/models/chrome_prompt_utils.js +241 -0
- package/dist/esm/models/gemini_llm_connection.js +6 -5
- package/dist/esm/models/google_llm.js +9 -4
- package/dist/esm/models/interactions_utils.js +2 -3
- package/dist/esm/models/registry.js +2 -0
- package/dist/esm/planners/base_planner.js +28 -0
- package/dist/esm/planners/built_in_planner.js +57 -0
- package/dist/esm/planners/plan_re_act_planner.js +145 -0
- package/dist/esm/plugins/_reflect_retry_utils.js +111 -0
- package/dist/esm/plugins/base_plugin.js +46 -61
- 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/runner/runner.js +35 -27
- package/dist/esm/sessions/database_session_service.js +58 -25
- package/dist/esm/sessions/db/operations.js +229 -22
- package/dist/esm/sessions/db/schema.js +111 -160
- package/dist/esm/sessions/registry.js +5 -1
- package/dist/esm/sessions/vertex_ai_session_service.js +1 -1
- package/dist/esm/telemetry/setup.js +1 -1
- package/dist/esm/telemetry/tracing.js +11 -1
- package/dist/esm/tools/agent_tool.js +4 -5
- package/dist/esm/tools/base_tool.js +11 -3
- package/dist/esm/tools/base_toolset.js +4 -4
- package/dist/esm/tools/built_in_tool.js +51 -0
- package/dist/esm/tools/enterprise_web_search_tool.js +3 -6
- package/dist/esm/tools/example_tool.js +1 -1
- package/dist/esm/tools/forwarding_artifact_service.js +18 -13
- package/dist/esm/tools/function_tool.js +6 -3
- package/dist/esm/tools/google_maps_grounding_tool.js +3 -6
- package/dist/esm/tools/google_search_tool.js +3 -6
- package/dist/esm/tools/load_artifacts_tool.js +48 -24
- package/dist/esm/tools/load_web_page.js +10 -170
- package/dist/esm/tools/mcp/load_mcp_resource_tool.js +34 -5
- package/dist/esm/tools/mcp/mcp_session_manager.js +14 -8
- package/dist/esm/tools/openapi_tool/auth/auth_helpers.js +285 -3
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +15 -1
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.js +43 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.js +93 -0
- package/dist/esm/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +10 -12
- package/dist/esm/tools/openapi_tool/common/common.js +112 -0
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +11 -6
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/operation_parser.js +81 -14
- package/dist/esm/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +146 -33
- package/dist/esm/tools/openapi_tool/openapi_toolset.js +14 -2
- package/dist/esm/tools/openapi_tool/rest_api_tool.js +105 -46
- package/dist/esm/tools/preload_memory_tool.js +1 -1
- 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/skill_toolset.js +2 -0
- package/dist/{web/context/base_context_compactor.js → esm/tools/tool_context.js} +8 -0
- package/dist/esm/tools/url_context_tool.js +3 -6
- package/dist/esm/tools/vertex_ai_search_tool.js +4 -8
- package/dist/esm/tools/vertex_rag_retrieval_tool.js +3 -10
- package/dist/{web/auth/base_auth_provider.js → esm/tools/webmcp/index.js} +3 -0
- package/dist/esm/tools/webmcp/webmcp_tool.js +131 -0
- package/dist/esm/tools/webmcp/webmcp_toolset.js +89 -0
- package/dist/{web/utils/crypto_shim.js → esm/tools/webmcp/webmcp_types.js} +10 -6
- package/dist/esm/utils/case_utils.js +49 -1
- package/dist/esm/utils/client_labels.js +65 -0
- package/dist/esm/utils/crypto_shim.js +14 -0
- package/dist/esm/utils/gemini_schema_util.js +102 -9
- package/dist/esm/utils/hash_utils.js +45 -0
- package/dist/esm/utils/live_connection_utils.js +11 -10
- package/dist/esm/utils/logger.js +14 -40
- 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 +15 -2
- package/dist/esm/utils/redact_inline_data.js +19 -0
- package/dist/esm/utils/redact_uri.js +15 -1
- package/dist/esm/utils/schema.js +1 -1
- package/dist/esm/utils/simple_zod_to_json.js +5 -0
- package/dist/{web/tools/load_web_page.js → esm/utils/ssrf_guard.js} +95 -107
- package/dist/esm/version.js +1 -1
- package/dist/esm/workflow/base_node.js +1 -1
- package/dist/esm/workflow/graph.js +1 -1
- package/dist/esm/workflow/nodes/node_tool.js +2 -11
- package/dist/esm/workflow/request_input.js +1 -1
- package/dist/esm/workflow/run_llm_agent_as_node.js +1 -1
- package/dist/esm/workflow/workflow.js +1 -1
- 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 +9 -0
- package/dist/types/a2a/agent_executor.d.ts +1 -1
- package/dist/types/a2a/agent_to_a2a.d.ts +2 -0
- package/dist/types/a2a/auth.d.ts +5 -1
- package/dist/types/a2a/executor_context.d.ts +7 -1
- package/dist/types/a2a/index.d.ts +1 -1
- package/dist/types/a2a/request_metadata.d.ts +22 -0
- package/dist/types/agents/base_agent.d.ts +19 -16
- package/dist/types/agents/context.d.ts +8 -0
- package/dist/types/agents/functions.d.ts +72 -6
- package/dist/types/agents/invocation_context.d.ts +11 -3
- package/dist/types/agents/llm_agent.d.ts +20 -7
- package/dist/types/agents/processors/agent_transfer_llm_request_processor.d.ts +16 -1
- package/dist/types/agents/processors/nl_planning_processor.d.ts +30 -0
- package/dist/types/agents/readonly_context.d.ts +4 -0
- package/dist/types/agents/run_config.d.ts +21 -8
- 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 +22 -8
- package/dist/types/auth/auth_handler.d.ts +12 -1
- 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 +37 -23
- package/dist/types/context/compaction_utils.d.ts +9 -1
- 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_actions.d.ts +13 -0
- package/dist/types/examples/base_example_provider.d.ts +2 -2
- package/dist/types/examples/example.d.ts +75 -0
- package/dist/types/examples/example_util.d.ts +13 -2
- package/dist/types/examples/index.d.ts +18 -0
- package/dist/types/examples/vertex_ai_example_store.d.ts +7 -0
- package/dist/types/index.d.ts +31 -1
- package/dist/types/memory/memory_entry.d.ts +15 -0
- package/dist/types/memory/rag_memory_transcript.d.ts +55 -0
- package/dist/types/memory/vertex_ai_memory_bank_service.d.ts +9 -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/chrome_prompt_llm.d.ts +210 -0
- package/dist/types/models/chrome_prompt_utils.d.ts +97 -0
- package/dist/types/models/google_llm.d.ts +8 -3
- package/dist/types/models/registry.d.ts +3 -2
- package/dist/types/planners/base_planner.d.ts +50 -0
- package/dist/types/planners/built_in_planner.d.ts +53 -0
- package/dist/types/planners/plan_re_act_planner.d.ts +21 -0
- package/dist/types/plugins/_reflect_retry_utils.d.ts +72 -0
- package/dist/types/plugins/base_plugin.d.ts +64 -62
- package/dist/types/plugins/logging_plugin.d.ts +3 -2
- 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/runner/runner.d.ts +7 -8
- 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/skills/skill_registry.d.ts +8 -0
- package/dist/types/tools/base_tool.d.ts +11 -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/forwarding_artifact_service.d.ts +23 -10
- package/dist/types/tools/function_tool.d.ts +42 -9
- 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/mcp_toolset.d.ts +11 -10
- package/dist/types/tools/openapi_tool/auth/auth_helpers.d.ts +115 -1
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.d.ts +31 -2
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/base_auth_credential_exchanger.d.ts +35 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/oauth2_exchanger.d.ts +54 -0
- package/dist/types/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.d.ts +0 -1
- package/dist/types/tools/openapi_tool/common/common.d.ts +60 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.d.ts +7 -0
- package/dist/types/tools/openapi_tool/openapi_spec_parser/operation_parser.d.ts +56 -2
- package/dist/types/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.d.ts +73 -5
- package/dist/types/tools/openapi_tool/openapi_toolset.d.ts +11 -0
- package/dist/types/tools/openapi_tool/rest_api_tool.d.ts +42 -8
- package/dist/types/tools/preload_memory_tool.d.ts +1 -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/tool_context.d.ts +19 -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/tools/webmcp/index.d.ts +12 -0
- package/dist/types/tools/webmcp/webmcp_tool.d.ts +47 -0
- package/dist/types/tools/webmcp/webmcp_toolset.d.ts +67 -0
- package/dist/types/tools/webmcp/webmcp_types.d.ts +69 -0
- package/dist/types/utils/case_utils.d.ts +36 -0
- package/dist/types/utils/client_labels.d.ts +33 -0
- package/dist/types/utils/crypto_shim.d.ts +16 -0
- package/dist/types/utils/gemini_schema_util.d.ts +18 -7
- package/dist/types/utils/hash_utils.d.ts +25 -0
- package/dist/types/utils/logger.d.ts +33 -3
- package/dist/types/utils/logger_browser.d.ts +28 -0
- package/dist/types/utils/logger_node.d.ts +20 -0
- package/dist/types/utils/model_name.d.ts +30 -2
- 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 +12 -8
- package/dist/types/utils/ssrf_guard.d.ts +32 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index_web.js +337 -3
- package/dist/web/index_web.js.map +7 -0
- package/package.json +24 -15
- package/dist/web/a2a/a2a_event.js +0 -290
- package/dist/web/a2a/a2a_remote_agent.js +0 -200
- package/dist/web/a2a/a2a_remote_agent_run_processor.js +0 -189
- package/dist/web/a2a/a2a_remote_agent_utils.js +0 -141
- package/dist/web/a2a/agent_card.js +0 -373
- package/dist/web/a2a/agent_executor.js +0 -246
- package/dist/web/a2a/agent_to_a2a.js +0 -126
- package/dist/web/a2a/auth.js +0 -41
- package/dist/web/a2a/event_converter_utils.js +0 -242
- package/dist/web/a2a/event_processor_utils.js +0 -209
- package/dist/web/a2a/executor_context.js +0 -28
- package/dist/web/a2a/index.js +0 -20
- package/dist/web/a2a/metadata_converter_utils.js +0 -115
- package/dist/web/a2a/part_converter_utils.js +0 -201
- package/dist/web/agents/active_streaming_tool.js +0 -25
- package/dist/web/agents/base_agent.js +0 -462
- package/dist/web/agents/context.js +0 -146
- package/dist/web/agents/framework_function_calls.js +0 -34
- package/dist/web/agents/functions.js +0 -462
- package/dist/web/agents/instructions.js +0 -188
- package/dist/web/agents/invocation_context.js +0 -126
- package/dist/web/agents/live_request_queue.js +0 -151
- package/dist/web/agents/llm_agent.js +0 -1514
- package/dist/web/agents/loop_agent.js +0 -131
- package/dist/web/agents/parallel_agent.js +0 -122
- package/dist/web/agents/processors/agent_transfer_llm_request_processor.js +0 -113
- package/dist/web/agents/processors/base_llm_processor.js +0 -21
- package/dist/web/agents/processors/basic_llm_request_processor.js +0 -84
- package/dist/web/agents/processors/code_execution_request_processor.js +0 -381
- package/dist/web/agents/processors/content_processor_utils.js +0 -432
- package/dist/web/agents/processors/content_request_processor.js +0 -73
- package/dist/web/agents/processors/context_compactor_request_processor.js +0 -78
- package/dist/web/agents/processors/identity_llm_request_processor.js +0 -59
- package/dist/web/agents/processors/instructions_llm_request_processor.js +0 -85
- package/dist/web/agents/processors/interactions_request_processor.js +0 -56
- package/dist/web/agents/processors/request_confirmation_llm_request_processor.js +0 -393
- package/dist/web/agents/processors/request_input_llm_request_processor.js +0 -228
- package/dist/web/agents/processors/tool_filter_request_processor.js +0 -72
- package/dist/web/agents/readonly_context.js +0 -60
- package/dist/web/agents/routed_agent.js +0 -161
- package/dist/web/agents/run_config.js +0 -74
- package/dist/web/agents/sequential_agent.js +0 -141
- package/dist/web/agents/transcription_entry.js +0 -7
- package/dist/web/agents/user_input_request.js +0 -135
- package/dist/web/apps/app.js +0 -52
- package/dist/web/apps/resumability_config.js +0 -33
- package/dist/web/artifacts/base_artifact_service.js +0 -7
- package/dist/web/artifacts/file_artifact_service.js +0 -568
- package/dist/web/artifacts/gcs_artifact_service.js +0 -298
- package/dist/web/artifacts/in_memory_artifact_service.js +0 -172
- package/dist/web/artifacts/registry.js +0 -36
- package/dist/web/artifacts/scoped_artifact_service.js +0 -89
- package/dist/web/auth/auth_credential.js +0 -18
- package/dist/web/auth/auth_handler.js +0 -151
- package/dist/web/auth/auth_preprocessor.js +0 -184
- package/dist/web/auth/auth_provider_registry.js +0 -37
- package/dist/web/auth/auth_schemes.js +0 -36
- package/dist/web/auth/auth_tool.js +0 -7
- package/dist/web/auth/credential_response_binding.js +0 -91
- package/dist/web/auth/credential_service/in_memory_credential_service.js +0 -50
- package/dist/web/auth/credential_service/session_state_credential_service.js +0 -27
- package/dist/web/auth/exchanger/base_credential_exchanger.js +0 -16
- package/dist/web/auth/exchanger/credential_exchanger_registry.js +0 -35
- package/dist/web/auth/oauth2/oauth2_credential_exchanger.js +0 -194
- package/dist/web/auth/oauth2/oauth2_credential_refresher.js +0 -105
- package/dist/web/auth/oauth2/oauth2_discovery.js +0 -196
- package/dist/web/auth/oauth2/oauth2_utils.js +0 -105
- package/dist/web/auth/refresher/credential_refresher_registry.js +0 -44
- package/dist/web/code_executors/agent_engine_sandbox_code_executor.js +0 -284
- package/dist/web/code_executors/base_code_executor.js +0 -68
- package/dist/web/code_executors/built_in_code_executor.js +0 -50
- package/dist/web/code_executors/code_execution_utils.js +0 -131
- package/dist/web/code_executors/code_executor_context.js +0 -174
- package/dist/web/code_executors/unsafe_local_code_executor.js +0 -221
- package/dist/web/common.js +0 -452
- package/dist/web/context/agent_controlled_context_compactor.js +0 -76
- package/dist/web/context/anchored_context_compactor.js +0 -120
- package/dist/web/context/compaction_utils.js +0 -42
- package/dist/web/context/summarizers/base_summarizer.js +0 -7
- package/dist/web/context/summarizers/llm_summarizer.js +0 -91
- package/dist/web/context/token_based_context_compactor.js +0 -118
- package/dist/web/context/trajectory_thought_pruning_compactor.js +0 -47
- package/dist/web/context/truncating_context_compactor.js +0 -34
- package/dist/web/environment/base_environment.js +0 -71
- package/dist/web/environment/local_environment.js +0 -165
- package/dist/web/events/compacted_event.js +0 -51
- package/dist/web/events/event.js +0 -208
- package/dist/web/events/event_actions.js +0 -74
- package/dist/web/events/structured_events.js +0 -79
- package/dist/web/examples/base_example_provider.js +0 -32
- package/dist/web/examples/example.js +0 -7
- package/dist/web/examples/example_util.js +0 -83
- package/dist/web/features/feature_registry.js +0 -115
- package/dist/web/index.js +0 -57
- package/dist/web/integrations/agent_registry/agent_registry.js +0 -337
- package/dist/web/integrations/agent_registry/agent_registry_mcp_toolset.js +0 -120
- package/dist/web/integrations/agent_registry/helpers.js +0 -32
- 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 -89
- package/dist/web/memory/memory_entry.js +0 -7
- package/dist/web/memory/vertex_ai_memory_bank_service.js +0 -496
- package/dist/web/models/apigee_llm.js +0 -227
- package/dist/web/models/base_llm.js +0 -78
- package/dist/web/models/base_llm_connection.js +0 -7
- package/dist/web/models/gemini_llm_connection.js +0 -183
- package/dist/web/models/google_llm.js +0 -396
- package/dist/web/models/interactions_utils.js +0 -745
- package/dist/web/models/llm_request.js +0 -57
- package/dist/web/models/llm_response.js +0 -48
- package/dist/web/models/registry.js +0 -100
- package/dist/web/models/routed_llm.js +0 -112
- package/dist/web/plugins/base_plugin.js +0 -305
- package/dist/web/plugins/global_instruction_plugin.js +0 -71
- package/dist/web/plugins/logging_plugin.js +0 -241
- package/dist/web/plugins/plugin_manager.js +0 -318
- package/dist/web/plugins/security_plugin.js +0 -148
- package/dist/web/runner/in_memory_runner.js +0 -50
- package/dist/web/runner/runner.js +0 -747
- package/dist/web/sessions/base_session_service.js +0 -123
- package/dist/web/sessions/database_session_service.js +0 -440
- package/dist/web/sessions/db/operations.js +0 -124
- package/dist/web/sessions/db/schema.js +0 -216
- package/dist/web/sessions/in_memory_session_service.js +0 -251
- package/dist/web/sessions/registry.js +0 -38
- package/dist/web/sessions/session.js +0 -23
- package/dist/web/sessions/state.js +0 -159
- package/dist/web/sessions/state_write_order.js +0 -74
- package/dist/web/sessions/vertex_ai_session_service.js +0 -546
- package/dist/web/skills/gcp_skill_registry.js +0 -80
- package/dist/web/skills/loader.js +0 -372
- package/dist/web/skills/prompt.js +0 -34
- 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 -99
- package/dist/web/telemetry/setup.js +0 -89
- package/dist/web/telemetry/tracing.js +0 -304
- package/dist/web/tools/agent_tool.js +0 -150
- package/dist/web/tools/base_tool.js +0 -116
- package/dist/web/tools/base_toolset.js +0 -62
- package/dist/web/tools/consolidate_context_tool.js +0 -55
- package/dist/web/tools/enterprise_web_search_tool.js +0 -60
- package/dist/web/tools/example_tool.js +0 -46
- package/dist/web/tools/exit_loop_tool.js +0 -47
- package/dist/web/tools/finish_task_tool.js +0 -92
- package/dist/web/tools/forwarding_artifact_service.js +0 -51
- package/dist/web/tools/function_tool.js +0 -151
- package/dist/web/tools/get_user_choice_tool.js +0 -27
- package/dist/web/tools/google_maps_grounding_tool.js +0 -59
- package/dist/web/tools/google_search_tool.js +0 -55
- package/dist/web/tools/load_artifacts_tool.js +0 -159
- package/dist/web/tools/load_memory_tool.js +0 -83
- package/dist/web/tools/long_running_tool.js +0 -58
- package/dist/web/tools/mcp/index.js +0 -11
- package/dist/web/tools/mcp/load_mcp_resource_tool.js +0 -111
- package/dist/web/tools/mcp/mcp_session_manager.js +0 -114
- package/dist/web/tools/mcp/mcp_tool.js +0 -47
- package/dist/web/tools/mcp/mcp_toolset.js +0 -144
- package/dist/web/tools/openapi_tool/auth/auth_helpers.js +0 -53
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/auto_auth_credential_exchanger.js +0 -62
- package/dist/web/tools/openapi_tool/auth/credential_exchangers/service_account_exchanger.js +0 -113
- package/dist/web/tools/openapi_tool/openapi_spec_parser/openapi_spec_parser.js +0 -242
- package/dist/web/tools/openapi_tool/openapi_spec_parser/operation_parser.js +0 -200
- package/dist/web/tools/openapi_tool/openapi_spec_parser/tool_auth_handler.js +0 -98
- package/dist/web/tools/openapi_tool/openapi_toolset.js +0 -99
- package/dist/web/tools/openapi_tool/rest_api_tool.js +0 -247
- package/dist/web/tools/preload_memory_tool.js +0 -81
- package/dist/web/tools/request_input_tool.js +0 -29
- package/dist/web/tools/skill/list_skills_tool.js +0 -52
- package/dist/web/tools/skill/load_skill_resource_tool.js +0 -192
- package/dist/web/tools/skill/load_skill_tool.js +0 -96
- package/dist/web/tools/skill/run_skill_inline_script_tool.js +0 -191
- package/dist/web/tools/skill/run_skill_script_tool.js +0 -227
- package/dist/web/tools/skill/search_skills_tool.js +0 -84
- package/dist/web/tools/skill/skill_toolset.js +0 -185
- package/dist/web/tools/tool_confirmation.js +0 -43
- package/dist/web/tools/url_context_tool.js +0 -48
- package/dist/web/tools/vertex_ai_search_tool.js +0 -107
- package/dist/web/tools/vertex_rag_retrieval_tool.js +0 -40
- package/dist/web/utils/async_hooks_shim.js +0 -28
- package/dist/web/utils/async_queue.js +0 -88
- package/dist/web/utils/branch_trie.js +0 -16
- package/dist/web/utils/case_utils.js +0 -28
- package/dist/web/utils/client_labels.js +0 -70
- package/dist/web/utils/deprecated.js +0 -40
- package/dist/web/utils/env_aware_utils.js +0 -115
- package/dist/web/utils/error_utils.js +0 -101
- package/dist/web/utils/experimental.js +0 -54
- package/dist/web/utils/failover_utils.js +0 -100
- package/dist/web/utils/file_extension_utils.js +0 -55
- package/dist/web/utils/file_utils.js +0 -108
- package/dist/web/utils/gemini_schema_util.js +0 -177
- package/dist/web/utils/genai_schema_to_json.js +0 -80
- package/dist/web/utils/live_connection_utils.js +0 -257
- package/dist/web/utils/logger.js +0 -140
- package/dist/web/utils/model_name.js +0 -75
- package/dist/web/utils/object_notation_utils.js +0 -54
- package/dist/web/utils/optional_peer.js +0 -38
- package/dist/web/utils/output_schema_utils.js +0 -18
- package/dist/web/utils/partial_copy.js +0 -26
- package/dist/web/utils/redact_uri.js +0 -39
- package/dist/web/utils/schema.js +0 -167
- package/dist/web/utils/simple_zod_to_json.js +0 -134
- package/dist/web/utils/streaming_utils.js +0 -438
- package/dist/web/utils/task.js +0 -38
- package/dist/web/utils/variant_utils.js +0 -23
- package/dist/web/utils/vertex_ai_utils.js +0 -27
- package/dist/web/workflow/base_node.js +0 -215
- package/dist/web/workflow/branch_path.js +0 -77
- package/dist/web/workflow/dynamic_node_scheduler.js +0 -202
- package/dist/web/workflow/errors.js +0 -140
- package/dist/web/workflow/graph.js +0 -127
- package/dist/web/workflow/index.js +0 -80
- package/dist/web/workflow/node.js +0 -87
- package/dist/web/workflow/node_builders.js +0 -40
- package/dist/web/workflow/node_context.js +0 -236
- package/dist/web/workflow/node_error_event.js +0 -86
- package/dist/web/workflow/node_runner.js +0 -481
- package/dist/web/workflow/node_state.js +0 -43
- package/dist/web/workflow/node_status.js +0 -20
- package/dist/web/workflow/nodes/function_node.js +0 -221
- package/dist/web/workflow/nodes/join_node.js +0 -47
- package/dist/web/workflow/nodes/node_tool.js +0 -131
- package/dist/web/workflow/nodes/parallel_worker.js +0 -120
- package/dist/web/workflow/nodes/tool_node.js +0 -126
- package/dist/web/workflow/request_input.js +0 -36
- package/dist/web/workflow/retry_config.js +0 -43
- package/dist/web/workflow/run_llm_agent_as_node.js +0 -266
- package/dist/web/workflow/run_node_as_invocation.js +0 -170
- package/dist/web/workflow/schedule_dynamic_node.js +0 -26
- package/dist/web/workflow/trigger.js +0 -7
- package/dist/web/workflow/utils/graph_parser.js +0 -188
- package/dist/web/workflow/utils/graph_validation.js +0 -189
- package/dist/web/workflow/utils/hitl_utils.js +0 -239
- package/dist/web/workflow/utils/rehydration_utils.js +0 -342
- package/dist/web/workflow/utils/retry_utils.js +0 -82
- package/dist/web/workflow/utils/workflow_graph_utils.js +0 -115
- package/dist/web/workflow/workflow.js +0 -529
- /package/dist/{web/artifacts/session_artifact_service.js → esm/tools/resume_inputs.js} +0 -0
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
|
|
@@ -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;
|
|
@@ -12,7 +12,7 @@ export type { A2AStreamEventData, AfterA2ARequestCallback, BeforeA2ARequestCallb
|
|
|
12
12
|
export { getA2AAgentCard } from './agent_card.js';
|
|
13
13
|
export { A2AAgentExecutor } from './agent_executor.js';
|
|
14
14
|
export type { AfterEventCallback, AfterExecuteCallback, AgentExecutorConfig, BeforeExecuteCallback, RunnerOrRunnerConfig, } from './agent_executor.js';
|
|
15
|
-
export { toA2a } from './agent_to_a2a.js';
|
|
15
|
+
export { AdkDefaultRequestHandler, getA2aRequestMetadata, toA2a, } from './agent_to_a2a.js';
|
|
16
16
|
export type { A2aUserBuilder, ToA2aOptions } from './agent_to_a2a.js';
|
|
17
17
|
export { bearerTokenUserBuilder } from './auth.js';
|
|
18
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
|
+
}
|
|
@@ -109,11 +109,15 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
|
|
|
109
109
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
110
110
|
* order they are listed until a callback does not return undefined.
|
|
111
111
|
*
|
|
112
|
-
*
|
|
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.
|
|
113
116
|
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
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.
|
|
117
121
|
*/
|
|
118
122
|
readonly beforeAgentCallback: SingleAgentCallback[];
|
|
119
123
|
/**
|
|
@@ -122,26 +126,25 @@ export declare abstract class BaseAgent<TConfig extends BaseAgentConfig = BaseAg
|
|
|
122
126
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
123
127
|
* order they are listed until a callback does not return undefined.
|
|
124
128
|
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
* present, the provided content will be used as agent response and
|
|
129
|
-
* 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.
|
|
130
132
|
*/
|
|
131
133
|
readonly afterAgentCallback: SingleAgentCallback[];
|
|
132
134
|
constructor(config: BaseAgentConfig);
|
|
133
135
|
/**
|
|
134
136
|
* Creates a copy of this agent with the given config fields overridden.
|
|
135
137
|
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
* `
|
|
141
|
-
*
|
|
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.
|
|
142
144
|
*
|
|
143
145
|
* @param overrides Config fields to override on the clone. Overriding
|
|
144
|
-
* `parentAgent` is rejected
|
|
146
|
+
* `parentAgent` is rejected: parentage is assigned only when a parent
|
|
147
|
+
* agent is constructed with its sub-agents.
|
|
145
148
|
* @returns A new detached agent instance of the same concrete class.
|
|
146
149
|
*/
|
|
147
150
|
clone(overrides?: Partial<TConfig>): this;
|
|
@@ -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.
|
|
@@ -7,6 +7,7 @@ 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';
|
|
@@ -39,6 +40,11 @@ export declare function generateRequestConfirmationEvent({ invocationContext, fu
|
|
|
39
40
|
* Handles function calls.
|
|
40
41
|
* Runtime behavior to pay attention to:
|
|
41
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.
|
|
42
48
|
* - Execute before tool callbacks !!if a callback provides a response, short
|
|
43
49
|
* circuit the rest.
|
|
44
50
|
* - Execute the tool.
|
|
@@ -47,7 +53,7 @@ export declare function generateRequestConfirmationEvent({ invocationContext, fu
|
|
|
47
53
|
* - If the tool is long-running and the response is null, continue. !!state
|
|
48
54
|
* - Merge all function response events into a single event.
|
|
49
55
|
*/
|
|
50
|
-
export declare function handleFunctionCallsAsync({ invocationContext, functionCallEvent, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, }: {
|
|
56
|
+
export declare function handleFunctionCallsAsync({ invocationContext, functionCallEvent, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, resumeInputsDict, }: {
|
|
51
57
|
invocationContext: InvocationContext;
|
|
52
58
|
functionCallEvent: Event;
|
|
53
59
|
toolsDict: Record<string, BaseTool>;
|
|
@@ -55,13 +61,22 @@ export declare function handleFunctionCallsAsync({ invocationContext, functionCa
|
|
|
55
61
|
afterToolCallbacks: SingleAfterToolCallback[];
|
|
56
62
|
filters?: Set<string>;
|
|
57
63
|
toolConfirmationDict?: Record<string, ToolConfirmation>;
|
|
64
|
+
resumeInputsDict?: Record<string, ResumeInputs>;
|
|
58
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;
|
|
59
74
|
/**
|
|
60
75
|
* The underlying implementation of handleFunctionCalls, but takes a list of
|
|
61
76
|
* function calls instead of an event.
|
|
62
77
|
* This is also used by llm_agent execution flow in preprocessing.
|
|
63
78
|
*/
|
|
64
|
-
export declare function handleFunctionCallList({ invocationContext, functionCalls, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, }: {
|
|
79
|
+
export declare function handleFunctionCallList({ invocationContext, functionCalls, toolsDict, beforeToolCallbacks, afterToolCallbacks, filters, toolConfirmationDict, resumeInputsDict, }: {
|
|
65
80
|
invocationContext: InvocationContext;
|
|
66
81
|
functionCalls: FunctionCall[];
|
|
67
82
|
toolsDict: Record<string, BaseTool>;
|
|
@@ -69,18 +84,69 @@ export declare function handleFunctionCallList({ invocationContext, functionCall
|
|
|
69
84
|
afterToolCallbacks: SingleAfterToolCallback[];
|
|
70
85
|
filters?: Set<string>;
|
|
71
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>;
|
|
72
94
|
}): Promise<Event | null>;
|
|
73
95
|
/**
|
|
74
96
|
* Merges a list of function response events into a single event.
|
|
75
97
|
*/
|
|
76
98
|
export declare function mergeParallelFunctionResponseEvents(functionResponseEvents: Event[]): Event;
|
|
77
99
|
/**
|
|
78
|
-
* Finds the
|
|
79
|
-
*
|
|
100
|
+
* Finds the most recent event before `endIndex` that contains a function call
|
|
101
|
+
* with the given ID.
|
|
80
102
|
*/
|
|
81
103
|
export declare function findEventByFunctionCallId(events: Event[], functionCallId: string, endIndex?: number): Event | undefined;
|
|
82
104
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
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.
|
|
85
134
|
*/
|
|
86
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;
|
|
@@ -54,6 +54,10 @@ export interface InvocationContextParams {
|
|
|
54
54
|
nodeToolDepth?: number;
|
|
55
55
|
liveRequestQueue?: LiveRequestQueue;
|
|
56
56
|
liveSessionResumptionHandle?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
59
|
+
*/
|
|
60
|
+
a2aMetadata?: Record<string, unknown>;
|
|
57
61
|
}
|
|
58
62
|
/**
|
|
59
63
|
* An invocation context represents the data of a single invocation of an agent.
|
|
@@ -76,7 +80,7 @@ export interface InvocationContextParams {
|
|
|
76
80
|
* An LLM agent runs steps in a loop until:
|
|
77
81
|
* 1. A final response is generated.
|
|
78
82
|
* 2. The agent transfers to another agent.
|
|
79
|
-
* 3.
|
|
83
|
+
* 3. `endInvocation` is set to true by any callbacks or tools.
|
|
80
84
|
*
|
|
81
85
|
* A step:
|
|
82
86
|
* 1. Calls the LLM only once and yields its response.
|
|
@@ -84,7 +88,7 @@ export interface InvocationContextParams {
|
|
|
84
88
|
*
|
|
85
89
|
* The summarization of the function response is considered another step, since
|
|
86
90
|
* it is another llm call.
|
|
87
|
-
* A step ends when it's done calling llm and tools, or if
|
|
91
|
+
* A step ends when it's done calling llm and tools, or if `endInvocation`
|
|
88
92
|
* is set to true at any time.
|
|
89
93
|
*
|
|
90
94
|
* ```
|
|
@@ -137,7 +141,7 @@ export declare class InvocationContext {
|
|
|
137
141
|
readonly session: Session;
|
|
138
142
|
/**
|
|
139
143
|
* Whether to end this invocation.
|
|
140
|
-
* Set to
|
|
144
|
+
* Set to `true` in callbacks or tools to terminate this invocation.
|
|
141
145
|
*/
|
|
142
146
|
endInvocation: boolean;
|
|
143
147
|
/**
|
|
@@ -201,6 +205,10 @@ export declare class InvocationContext {
|
|
|
201
205
|
* server-side state instead of replaying history. Mutable by design.
|
|
202
206
|
*/
|
|
203
207
|
liveSessionResumptionHandle?: string;
|
|
208
|
+
/**
|
|
209
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
210
|
+
*/
|
|
211
|
+
readonly a2aMetadata?: Record<string, unknown>;
|
|
204
212
|
/**
|
|
205
213
|
* @param params The parameters for creating an invocation context.
|
|
206
214
|
*/
|
|
@@ -16,6 +16,7 @@ import { Example } from '../examples/example.js';
|
|
|
16
16
|
import { BaseLlm } from '../models/base_llm.js';
|
|
17
17
|
import { LlmRequest } from '../models/llm_request.js';
|
|
18
18
|
import { LlmResponse } from '../models/llm_response.js';
|
|
19
|
+
import type { BasePlanner } from '../planners/base_planner.js';
|
|
19
20
|
import { BaseTool } from '../tools/base_tool.js';
|
|
20
21
|
import { BaseToolset } from '../tools/base_toolset.js';
|
|
21
22
|
import { Context } from './context.js';
|
|
@@ -47,7 +48,7 @@ export type SingleBeforeModelCallback = (params: {
|
|
|
47
48
|
* A single callback or a list of callbacks.
|
|
48
49
|
*
|
|
49
50
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
50
|
-
* order they are listed until a callback does not return
|
|
51
|
+
* order they are listed until a callback does not return `undefined`.
|
|
51
52
|
*/
|
|
52
53
|
export type BeforeModelCallback = SingleBeforeModelCallback | SingleBeforeModelCallback[];
|
|
53
54
|
/**
|
|
@@ -67,7 +68,7 @@ export type SingleAfterModelCallback = (params: {
|
|
|
67
68
|
* A single callback or a list of callbacks.
|
|
68
69
|
*
|
|
69
70
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
70
|
-
order they are listed until a callback does not return
|
|
71
|
+
* order they are listed until a callback does not return `undefined`.
|
|
71
72
|
*/
|
|
72
73
|
export type AfterModelCallback = SingleAfterModelCallback | SingleAfterModelCallback[];
|
|
73
74
|
/**
|
|
@@ -88,7 +89,7 @@ export type SingleBeforeToolCallback = (params: {
|
|
|
88
89
|
* A single callback or a list of callbacks.
|
|
89
90
|
*
|
|
90
91
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
91
|
-
* order they are listed until a callback does not return
|
|
92
|
+
* order they are listed until a callback does not return `undefined`.
|
|
92
93
|
*/
|
|
93
94
|
export type BeforeToolCallback = SingleBeforeToolCallback | SingleBeforeToolCallback[];
|
|
94
95
|
/**
|
|
@@ -110,7 +111,7 @@ export type SingleAfterToolCallback = (params: {
|
|
|
110
111
|
* A single callback or a list of callbacks.
|
|
111
112
|
*
|
|
112
113
|
* When a list of callbacks is provided, the callbacks will be called in the
|
|
113
|
-
* order they are listed until
|
|
114
|
+
* order they are listed until a callback does not return `undefined`.
|
|
114
115
|
*/
|
|
115
116
|
export type AfterToolCallback = SingleAfterToolCallback | SingleAfterToolCallback[];
|
|
116
117
|
/** A list of examples or an example provider. */
|
|
@@ -143,8 +144,12 @@ export interface LlmAgentConfig extends BaseAgentConfig {
|
|
|
143
144
|
/**
|
|
144
145
|
* The additional content generation configurations.
|
|
145
146
|
*
|
|
146
|
-
*
|
|
147
|
-
* `tools
|
|
147
|
+
* Three fields are rejected by the constructor, because the agent owns them:
|
|
148
|
+
* `tools` (set them through `tools`), `systemInstruction` (through
|
|
149
|
+
* `instruction`) and `responseSchema` (through `outputSchema`). Every other
|
|
150
|
+
* field is forwarded to the model as given. That includes `thinkingConfig`,
|
|
151
|
+
* unless `planner` is a `BuiltInPlanner` with its own `thinkingConfig`: the
|
|
152
|
+
* planner's `thinkingConfig` then takes precedence.
|
|
148
153
|
*
|
|
149
154
|
* For example: use this config to adjust model temperature, configure safety
|
|
150
155
|
* settings, etc.
|
|
@@ -153,7 +158,7 @@ export interface LlmAgentConfig extends BaseAgentConfig {
|
|
|
153
158
|
/**
|
|
154
159
|
* Disallows LLM-controlled transferring to the parent agent.
|
|
155
160
|
*
|
|
156
|
-
* NOTE: Setting this
|
|
161
|
+
* NOTE: Setting this to `true` also prevents this agent to continue reply to
|
|
157
162
|
* the end-user. This behavior prevents one-way transfer, in which end-user
|
|
158
163
|
* may be stuck with one agent that cannot transfer to other agents in the
|
|
159
164
|
* agent tree.
|
|
@@ -224,6 +229,13 @@ export interface LlmAgentConfig extends BaseAgentConfig {
|
|
|
224
229
|
* Instructs the agent to make a plan and execute it step by step.
|
|
225
230
|
*/
|
|
226
231
|
codeExecutor?: BaseCodeExecutor;
|
|
232
|
+
/**
|
|
233
|
+
* Instructs the agent to make a plan and execute it step by step.
|
|
234
|
+
*
|
|
235
|
+
* NOTE: to use the model's built-in thinking features, set `thinkingConfig`
|
|
236
|
+
* on a `BuiltInPlanner`.
|
|
237
|
+
*/
|
|
238
|
+
planner?: BasePlanner;
|
|
227
239
|
}
|
|
228
240
|
/**
|
|
229
241
|
* A unique symbol to identify ADK agent classes.
|
|
@@ -286,6 +298,7 @@ export declare class LlmAgent extends BaseAgent<LlmAgentConfig> {
|
|
|
286
298
|
requestProcessors: BaseLlmRequestProcessor[];
|
|
287
299
|
responseProcessors: BaseLlmResponseProcessor[];
|
|
288
300
|
codeExecutor?: BaseCodeExecutor;
|
|
301
|
+
planner?: BasePlanner;
|
|
289
302
|
constructor(config: LlmAgentConfig);
|
|
290
303
|
/**
|
|
291
304
|
* The resolved BaseLlm instance.
|
|
@@ -16,7 +16,22 @@ import { BaseLlmRequestProcessor } from './base_llm_processor.js';
|
|
|
16
16
|
*/
|
|
17
17
|
export declare class AgentTransferLlmRequestProcessor extends BaseLlmRequestProcessor {
|
|
18
18
|
private readonly toolName;
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Builds the `transfer_to_agent` tool for one invocation.
|
|
21
|
+
*
|
|
22
|
+
* Built per call rather than shared, because the parameter is an enum of the
|
|
23
|
+
* agents actually reachable from here. That mirrors adk-python's
|
|
24
|
+
* `TransferToAgentTool`, and it stops the model inventing a target: an
|
|
25
|
+
* unknown name now fails argument validation and comes back to the model as
|
|
26
|
+
* a tool error it can retry, instead of silently setting `transferToAgent`
|
|
27
|
+
* to an agent that does not exist.
|
|
28
|
+
*
|
|
29
|
+
* The parameter is `agent_name`, not `agentName`. It is wire format — it
|
|
30
|
+
* appears in the declaration sent to the model and in the events that get
|
|
31
|
+
* persisted — and adk-python spells it `agent_name`, so a transcript
|
|
32
|
+
* produced by one runtime has to be readable by the other.
|
|
33
|
+
*/
|
|
34
|
+
private buildTool;
|
|
20
35
|
/**
|
|
21
36
|
* Appends transfer instructions and registers the `transfer_to_agent` tool
|
|
22
37
|
* when the agent has reachable transfer targets.
|
|
@@ -0,0 +1,30 @@
|
|
|
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 { LlmRequest } from '../../models/llm_request.js';
|
|
8
|
+
import { LlmResponse } from '../../models/llm_response.js';
|
|
9
|
+
import { InvocationContext } from '../invocation_context.js';
|
|
10
|
+
import { BaseLlmRequestProcessor, BaseLlmResponseProcessor } from './base_llm_processor.js';
|
|
11
|
+
/**
|
|
12
|
+
* Prepares the LLM request for the agent's planner.
|
|
13
|
+
*
|
|
14
|
+
* Applies a `BuiltInPlanner`'s thinking config, appends the planner's
|
|
15
|
+
* planning instruction, and clears the `thought` flag on every request part
|
|
16
|
+
* so that earlier planning output goes back to the model as plain text.
|
|
17
|
+
*/
|
|
18
|
+
export declare class NlPlanningRequestProcessor extends BaseLlmRequestProcessor {
|
|
19
|
+
runAsync(invocationContext: InvocationContext, llmRequest: LlmRequest): AsyncGenerator<Event, void, void>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Replaces the LLM response parts with the planner's processed parts.
|
|
23
|
+
*
|
|
24
|
+
* Partial responses are processed too.
|
|
25
|
+
*/
|
|
26
|
+
export declare class NlPlanningResponseProcessor extends BaseLlmResponseProcessor {
|
|
27
|
+
runAsync(invocationContext: InvocationContext, llmResponse: LlmResponse): AsyncGenerator<Event, void, void>;
|
|
28
|
+
}
|
|
29
|
+
export declare const NL_PLANNING_REQUEST_PROCESSOR: NlPlanningRequestProcessor;
|
|
30
|
+
export declare const NL_PLANNING_RESPONSE_PROCESSOR: NlPlanningResponseProcessor;
|
|
@@ -36,4 +36,8 @@ export declare class ReadonlyContext {
|
|
|
36
36
|
* The state of the current session.
|
|
37
37
|
*/
|
|
38
38
|
get state(): Readonly<State>;
|
|
39
|
+
/**
|
|
40
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
41
|
+
*/
|
|
42
|
+
get a2aMetadata(): Record<string, unknown> | undefined;
|
|
39
43
|
}
|
|
@@ -8,12 +8,17 @@ import { AudioTranscriptionConfig, ContextWindowCompressionConfig, Modality, Pro
|
|
|
8
8
|
* The streaming mode for the run config.
|
|
9
9
|
*/
|
|
10
10
|
export declare enum StreamingMode {
|
|
11
|
+
/** Deliver the response as a single event once the turn completes. */
|
|
11
12
|
NONE = "none",
|
|
13
|
+
/**
|
|
14
|
+
* Deliver the response incrementally, as a series of partial events
|
|
15
|
+
* followed by a final event carrying the complete text.
|
|
16
|
+
*/
|
|
12
17
|
SSE = "sse",
|
|
13
18
|
/**
|
|
14
|
-
* Bidirectional streaming
|
|
15
|
-
* `
|
|
16
|
-
*
|
|
19
|
+
* Reserved. Bidirectional streaming is reached through `Runner.runLive()`,
|
|
20
|
+
* not through this value: `runLive` itself calls `createRunConfig`, which
|
|
21
|
+
* rejects `BIDI`. Use {@link StreamingMode.SSE} for incremental responses.
|
|
17
22
|
*/
|
|
18
23
|
BIDI = "bidi"
|
|
19
24
|
}
|
|
@@ -43,9 +48,11 @@ export interface RunConfig {
|
|
|
43
48
|
*/
|
|
44
49
|
supportCfc?: boolean;
|
|
45
50
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
51
|
+
* How the response is delivered. Defaults to {@link StreamingMode.NONE},
|
|
52
|
+
* which emits one event when the turn completes; set
|
|
53
|
+
* {@link StreamingMode.SSE} to receive partial events as the response is
|
|
54
|
+
* produced. {@link StreamingMode.BIDI} is rejected by `createRunConfig`;
|
|
55
|
+
* bidirectional streaming is reached through `Runner.runLive()` instead.
|
|
49
56
|
*/
|
|
50
57
|
streamingMode?: StreamingMode;
|
|
51
58
|
/**
|
|
@@ -79,8 +86,9 @@ export interface RunConfig {
|
|
|
79
86
|
* A limit on the total number of llm calls for a given run.
|
|
80
87
|
*
|
|
81
88
|
* Valid Values:
|
|
82
|
-
* - More than 0 and
|
|
83
|
-
*
|
|
89
|
+
* - More than 0 and at most `Number.MAX_SAFE_INTEGER`: The bound on the
|
|
90
|
+
* number of llm calls is enforced. `createRunConfig()` throws for
|
|
91
|
+
* anything larger.
|
|
84
92
|
* - Less than or equal to 0: This allows for unbounded number of llm calls.
|
|
85
93
|
*/
|
|
86
94
|
maxLlmCalls?: number;
|
|
@@ -96,6 +104,10 @@ export interface RunConfig {
|
|
|
96
104
|
* decision; interactive front-ends (e.g. `adk run`) opt in explicitly.
|
|
97
105
|
*/
|
|
98
106
|
plainTextToolConfirmation?: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* Request-level metadata passed from an incoming A2A request or caller.
|
|
109
|
+
*/
|
|
110
|
+
a2aMetadata?: Record<string, unknown>;
|
|
99
111
|
/**
|
|
100
112
|
* If true, a `requireConfirmation` gate may be answered by a message that
|
|
101
113
|
* arrived over A2A.
|
|
@@ -159,6 +171,7 @@ export declare function createRunConfig(params?: Partial<RunConfig>): {
|
|
|
159
171
|
contextWindowCompression?: ContextWindowCompressionConfig | undefined;
|
|
160
172
|
pauseOnToolCalls: boolean;
|
|
161
173
|
plainTextToolConfirmation?: boolean | undefined;
|
|
174
|
+
a2aMetadata?: Record<string, unknown> | undefined;
|
|
162
175
|
allowRemoteToolConfirmation?: boolean | undefined;
|
|
163
176
|
remoteDelivered?: boolean | undefined;
|
|
164
177
|
};
|
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
import { Part } from '@google/genai';
|
|
7
7
|
import { ArtifactVersion, BaseArtifactService } from './base_artifact_service.js';
|
|
8
8
|
import { SessionArtifactService, SessionLoadArtifactRequest, SessionSaveArtifactRequest } from './session_artifact_service.js';
|
|
9
|
+
/**
|
|
10
|
+
* A unique symbol to identify session-scoped artifact services.
|
|
11
|
+
*
|
|
12
|
+
* Resolves to the same symbol as the one used by `isSessionArtifactService` in
|
|
13
|
+
* `session_artifact_service.ts` because `Symbol.for` looks up the global
|
|
14
|
+
* symbol registry.
|
|
15
|
+
*/
|
|
16
|
+
declare const SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL: unique symbol;
|
|
9
17
|
/**
|
|
10
18
|
* A wrapper that scopes a BaseArtifactService to a specific session.
|
|
11
19
|
*/
|
|
@@ -14,6 +22,10 @@ export declare class ScopedArtifactService implements SessionArtifactService {
|
|
|
14
22
|
private readonly appName;
|
|
15
23
|
private readonly userId;
|
|
16
24
|
private readonly sessionId;
|
|
25
|
+
/**
|
|
26
|
+
* Brands this class as a session-scoped artifact service.
|
|
27
|
+
*/
|
|
28
|
+
readonly [SESSION_ARTIFACT_SERVICE_SIGNATURE_SYMBOL] = true;
|
|
17
29
|
constructor(delegate: BaseArtifactService, appName: string, userId: string, sessionId: string);
|
|
18
30
|
saveArtifact(request: SessionSaveArtifactRequest): Promise<number>;
|
|
19
31
|
loadArtifact(request: SessionLoadArtifactRequest): Promise<Part | undefined>;
|
|
@@ -23,3 +35,4 @@ export declare class ScopedArtifactService implements SessionArtifactService {
|
|
|
23
35
|
listArtifactVersions(filename: string): Promise<ArtifactVersion[]>;
|
|
24
36
|
getArtifactVersion(request: SessionLoadArtifactRequest): Promise<ArtifactVersion | undefined>;
|
|
25
37
|
}
|
|
38
|
+
export {};
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Part } from '@google/genai';
|
|
7
|
-
import { ArtifactVersion } from './base_artifact_service.js';
|
|
7
|
+
import { ArtifactVersion, BaseArtifactService } from './base_artifact_service.js';
|
|
8
8
|
export interface SessionSaveArtifactRequest {
|
|
9
9
|
filename: string;
|
|
10
10
|
artifact: Part;
|
|
@@ -23,3 +23,10 @@ export interface SessionArtifactService {
|
|
|
23
23
|
listArtifactVersions(filename: string): Promise<ArtifactVersion[]>;
|
|
24
24
|
getArtifactVersion(request: SessionLoadArtifactRequest): Promise<ArtifactVersion | undefined>;
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Type guard to check if an object implements SessionArtifactService.
|
|
28
|
+
*
|
|
29
|
+
* @param service The artifact service to check.
|
|
30
|
+
* @returns True if the service is a session-scoped artifact service.
|
|
31
|
+
*/
|
|
32
|
+
export declare function isSessionArtifactService(service: BaseArtifactService | SessionArtifactService): service is SessionArtifactService;
|