@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
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Inspection helpers for the "paused, waiting on a human" state.
|
|
8
|
+
*
|
|
9
|
+
* A pause is not visible in an event's text: it is carried in a `functionCall`
|
|
10
|
+
* part named `adk_request_*`, with the prompt buried in that call's `args`. A
|
|
11
|
+
* client that renders only text parts therefore shows the user nothing while
|
|
12
|
+
* the run sits blocked. These helpers flatten the three encodings into one
|
|
13
|
+
* shape so a caller need not know how each kind stores its id and prompt.
|
|
14
|
+
*/
|
|
15
|
+
import { AuthConfig } from '../auth/auth_tool.js';
|
|
16
|
+
import { Event } from '../events/event.js';
|
|
17
|
+
/**
|
|
18
|
+
* What a paused run is waiting for.
|
|
19
|
+
*
|
|
20
|
+
* - `input`: free-form or structured data (`RequestInput`).
|
|
21
|
+
* - `credential`: an auth credential, e.g. an API key or an OAuth flow.
|
|
22
|
+
* - `confirmation`: approval to run a tool guarded by `requireConfirmation`.
|
|
23
|
+
*/
|
|
24
|
+
export type UserInputKind = 'input' | 'credential' | 'confirmation';
|
|
25
|
+
/** A single request for user input carried by an event. */
|
|
26
|
+
export interface UserInputRequest {
|
|
27
|
+
kind: UserInputKind;
|
|
28
|
+
/**
|
|
29
|
+
* The id that answers this request: reply with a `functionResponse` carrying
|
|
30
|
+
* this same id (and {@link functionCallName}).
|
|
31
|
+
*/
|
|
32
|
+
interruptId: string;
|
|
33
|
+
/** The name to answer with, alongside {@link interruptId}. */
|
|
34
|
+
functionCallName: string;
|
|
35
|
+
/** The node or agent that raised the request. */
|
|
36
|
+
author?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Human-readable prompt for the user. Populated for every kind: the
|
|
39
|
+
* `RequestInput` message, the credential prompt, or the tool-confirmation
|
|
40
|
+
* hint. Absent when the raiser supplied none.
|
|
41
|
+
*/
|
|
42
|
+
message?: string;
|
|
43
|
+
/** Structured data attached to the request (`RequestInput.payload`). */
|
|
44
|
+
payload?: unknown;
|
|
45
|
+
/** JSON schema the reply is expected to satisfy, when declared. */
|
|
46
|
+
responseSchema?: unknown;
|
|
47
|
+
/** `confirmation` only: the tool awaiting approval. */
|
|
48
|
+
toolName?: string;
|
|
49
|
+
/** `credential` only: the auth config to complete. */
|
|
50
|
+
authConfig?: AuthConfig;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Returns every user-input request carried by a single event, in part order.
|
|
54
|
+
*
|
|
55
|
+
* This reports what the event *asks for*; it does not know whether the request
|
|
56
|
+
* was later answered. Use {@link getPendingUserInputRequests} over a session's
|
|
57
|
+
* events to get only the ones still outstanding.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getUserInputRequests(event: Event): UserInputRequest[];
|
|
60
|
+
/** Whether this event asks the user for something. */
|
|
61
|
+
export declare function requiresUserInput(event: Event): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Returns the requests across a sequence of events that have not been answered
|
|
64
|
+
* yet, in the order they were raised.
|
|
65
|
+
*
|
|
66
|
+
* A request is answered by a later `functionResponse` part carrying the same
|
|
67
|
+
* id, which is how a resumed session records the user's reply. Pass a session's
|
|
68
|
+
* events to answer "is this session waiting on the user right now, and for
|
|
69
|
+
* what?".
|
|
70
|
+
*/
|
|
71
|
+
export declare function getPendingUserInputRequests(events: readonly Event[]): UserInputRequest[];
|
package/dist/types/apps/app.d.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Copyright 2026 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { BaseAgent } from '../agents/base_agent.js';
|
|
7
6
|
import { BasePlugin } from '../plugins/base_plugin.js';
|
|
7
|
+
import { RunnableRoot } from '../workflow/run_node_as_invocation.js';
|
|
8
8
|
import { ResumabilityConfig } from './resumability_config.js';
|
|
9
9
|
/**
|
|
10
10
|
* Ensures the provided application name is safe and intuitive.
|
|
@@ -26,7 +26,12 @@ export declare function isApp(obj: unknown): obj is App;
|
|
|
26
26
|
*/
|
|
27
27
|
export interface AppOptions {
|
|
28
28
|
name: string;
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* The root of the application. A bare node — a `Workflow`, most usefully —
|
|
31
|
+
* is accepted and adapted, so a graph does not have to be wrapped by hand to
|
|
32
|
+
* be an app root. Accepts the same set a `Runner` does.
|
|
33
|
+
*/
|
|
34
|
+
rootAgent: RunnableRoot;
|
|
30
35
|
plugins?: BasePlugin[];
|
|
31
36
|
resumabilityConfig?: ResumabilityConfig;
|
|
32
37
|
}
|
|
@@ -44,7 +49,7 @@ export interface AppOptions {
|
|
|
44
49
|
export declare class App {
|
|
45
50
|
readonly [APP_SIGNATURE_SYMBOL] = true;
|
|
46
51
|
readonly name: string;
|
|
47
|
-
readonly rootAgent:
|
|
52
|
+
readonly rootAgent: RunnableRoot;
|
|
48
53
|
readonly plugins: BasePlugin[];
|
|
49
54
|
readonly resumabilityConfig?: ResumabilityConfig;
|
|
50
55
|
constructor(options: AppOptions);
|
|
@@ -3,12 +3,19 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { StorageOptions } from '@google-cloud/storage';
|
|
6
|
+
import type { StorageOptions } from '@google-cloud/storage';
|
|
7
7
|
import { Part } from '@google/genai';
|
|
8
8
|
import { ArtifactVersion, BaseArtifactService, DeleteArtifactRequest, ListArtifactKeysRequest, ListVersionsRequest, LoadArtifactRequest, SaveArtifactRequest } from './base_artifact_service.js';
|
|
9
9
|
export declare class GcsArtifactService implements BaseArtifactService {
|
|
10
|
-
private readonly
|
|
10
|
+
private readonly bucketName;
|
|
11
|
+
private readonly storageOptions?;
|
|
12
|
+
private bucketPromise?;
|
|
11
13
|
constructor(bucket: string, options?: StorageOptions);
|
|
14
|
+
/**
|
|
15
|
+
* Resolves the GCS bucket handle, loading the `@google-cloud/storage`
|
|
16
|
+
* optional peer on first use.
|
|
17
|
+
*/
|
|
18
|
+
private getBucket;
|
|
12
19
|
saveArtifact(request: SaveArtifactRequest): Promise<number>;
|
|
13
20
|
loadArtifact(request: LoadArtifactRequest): Promise<Part | undefined>;
|
|
14
21
|
listArtifactKeys(request: ListArtifactKeysRequest): Promise<string[]>;
|
|
@@ -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;
|
|
@@ -43,6 +43,11 @@ export interface OAuth2Auth {
|
|
|
43
43
|
nonce?: string;
|
|
44
44
|
state?: string;
|
|
45
45
|
codeVerifier?: string;
|
|
46
|
+
/**
|
|
47
|
+
* The PKCE code challenge method. Only 'S256' is supported; any other value
|
|
48
|
+
* is rejected when the authorization URI is generated.
|
|
49
|
+
*/
|
|
50
|
+
codeChallengeMethod?: string;
|
|
46
51
|
/**
|
|
47
52
|
* tool or adk can decide the redirect_uri if they don't want client to decide
|
|
48
53
|
*/
|
|
@@ -60,7 +65,7 @@ export interface OAuth2Auth {
|
|
|
60
65
|
/**
|
|
61
66
|
* Represents Google Service Account configuration.
|
|
62
67
|
* @example
|
|
63
|
-
* config = {
|
|
68
|
+
* const config: ServiceAccountCredential = {
|
|
64
69
|
* type: "service_account",
|
|
65
70
|
* projectId: "your_project_id",
|
|
66
71
|
* privateKeyId: "your_private_key_id",
|
|
@@ -72,7 +77,7 @@ export interface OAuth2Auth {
|
|
|
72
77
|
* authProviderX509CertUrl: "https://www.googleapis.com/oauth2/v1/certs",
|
|
73
78
|
* clientX509CertUrl: "https://www.googleapis.com/robot/v1/metadata/x509/...",
|
|
74
79
|
* universeDomain: "googleapis.com",
|
|
75
|
-
* }
|
|
80
|
+
* };
|
|
76
81
|
*/
|
|
77
82
|
export interface ServiceAccountCredential {
|
|
78
83
|
/**
|
|
@@ -164,10 +169,11 @@ export declare enum AuthCredentialTypes {
|
|
|
164
169
|
SERVICE_ACCOUNT = "serviceAccount"
|
|
165
170
|
}
|
|
166
171
|
/**
|
|
167
|
-
*
|
|
172
|
+
* An authentication credential, in one of several shapes selected by
|
|
173
|
+
* `authType`.
|
|
168
174
|
*
|
|
169
|
-
* To
|
|
170
|
-
*
|
|
175
|
+
* To turn one of these into the credential a request actually carries, use the
|
|
176
|
+
* `exchange()` method of a {@link BaseCredentialExchanger}.
|
|
171
177
|
*
|
|
172
178
|
* @example
|
|
173
179
|
* // API Key Auth
|
|
@@ -211,7 +217,7 @@ export declare enum AuthCredentialTypes {
|
|
|
211
217
|
* }
|
|
212
218
|
* }
|
|
213
219
|
*
|
|
214
|
-
* @example
|
|
220
|
+
* @example
|
|
215
221
|
* // Open ID Connect Auth
|
|
216
222
|
* const authCredential: AuthCredential = {
|
|
217
223
|
* authType: AuthCredentialTypes.OPEN_ID_CONNECT,
|
|
@@ -219,11 +225,10 @@ export declare enum AuthCredentialTypes {
|
|
|
219
225
|
* clientId: "1234",
|
|
220
226
|
* clientSecret: "secret",
|
|
221
227
|
* redirectUri: "https://example.com",
|
|
222
|
-
* scopes: ["scope1", "scope2"],
|
|
223
228
|
* }
|
|
224
229
|
* }
|
|
225
230
|
*
|
|
226
|
-
* @example
|
|
231
|
+
* @example
|
|
227
232
|
* // Auth with resource reference
|
|
228
233
|
* const authCredential: AuthCredential = {
|
|
229
234
|
* authType: AuthCredentialTypes.API_KEY,
|
|
@@ -15,14 +15,25 @@ export declare class AuthHandler {
|
|
|
15
15
|
private readonly authConfig;
|
|
16
16
|
constructor(authConfig: AuthConfig);
|
|
17
17
|
getAuthResponse(state: State): AuthCredential | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Stores the exchanged credential in the session state.
|
|
20
|
+
*
|
|
21
|
+
* @param state The session state to store the credential in.
|
|
22
|
+
* @throws Error: If the auth config has no credentialKey.
|
|
23
|
+
*/
|
|
18
24
|
parseAndStoreAuthResponse(state: State): Promise<void>;
|
|
19
25
|
generateAuthRequest(): AuthConfig;
|
|
20
26
|
/**
|
|
21
27
|
* Generates an response containing the auth uri for user to sign in.
|
|
22
28
|
*
|
|
29
|
+
* When the credential requests PKCE, the URI also carries the S256 code
|
|
30
|
+
* challenge derived from the credential's code verifier, and the returned
|
|
31
|
+
* credential carries the verifier the later token exchange must send.
|
|
32
|
+
*
|
|
23
33
|
* @return An AuthCredential object containing the auth URI and state.
|
|
24
34
|
* @throws Error: If the authorization endpoint is not configured in the
|
|
25
|
-
* auth scheme
|
|
35
|
+
* auth scheme, or the credential requests a code challenge method other
|
|
36
|
+
* than 'S256'.
|
|
26
37
|
*/
|
|
27
38
|
generateAuthUri(): AuthCredential | undefined;
|
|
28
39
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { AuthConfig } from './auth_tool.js';
|
|
7
|
+
/**
|
|
8
|
+
* Reconciles a credential response with the request that asked for it.
|
|
9
|
+
*
|
|
10
|
+
* The request is agent-authored and defines the question: which scheme, from
|
|
11
|
+
* which authorization server, under which key, on behalf of which client. The
|
|
12
|
+
* response is client-authored and carries one thing — the credential material
|
|
13
|
+
* the user obtained. Everything else it contains is discarded, because a
|
|
14
|
+
* response that gets to restate the question also decides whether the
|
|
15
|
+
* credential is exchanged at all, where the exchange sends the client secret,
|
|
16
|
+
* and which waiting tool picks the result up.
|
|
17
|
+
*
|
|
18
|
+
* The request is typed loosely on purpose: it is read back off the wire out of
|
|
19
|
+
* a function call's args, so it can arrive missing the fields its type
|
|
20
|
+
* promises. Returns `undefined` when it is too incomplete to be an authority,
|
|
21
|
+
* or when the response carries nothing that answers it — either way there is
|
|
22
|
+
* nothing that can safely be stored.
|
|
23
|
+
*/
|
|
24
|
+
export declare function bindCredentialResponse(request: Partial<AuthConfig>, response: unknown): AuthConfig | undefined;
|
|
@@ -15,7 +15,7 @@ export declare class OAuth2CredentialRefresher implements BaseCredentialRefreshe
|
|
|
15
15
|
*
|
|
16
16
|
* @param authCredential The OAuth2 credential to check.
|
|
17
17
|
* @param authScheme The OAuth2 authentication scheme (optional).
|
|
18
|
-
* @returns True if the credential needs to be refreshed,
|
|
18
|
+
* @returns True if the credential needs to be refreshed, false otherwise.
|
|
19
19
|
*/
|
|
20
20
|
isRefreshNeeded(authCredential: AuthCredential): Promise<boolean>;
|
|
21
21
|
/**
|
|
@@ -5,6 +5,15 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { OAuth2Auth } from '../auth_credential.js';
|
|
7
7
|
import { AuthScheme } from '../auth_schemes.js';
|
|
8
|
+
/**
|
|
9
|
+
* Generates a cryptographically secure PKCE code verifier (RFC 7636).
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateCodeVerifier(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Derives the S256 PKCE code challenge for a code verifier (RFC 7636): the
|
|
14
|
+
* unpadded base64url encoding of the verifier's SHA-256 digest.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createS256CodeChallenge(codeVerifier: string): string;
|
|
8
17
|
/**
|
|
9
18
|
* Returns the token endpoint for the given auth scheme.
|
|
10
19
|
*/
|
|
@@ -23,7 +23,7 @@ export interface BaseCredentialRefresher {
|
|
|
23
23
|
*
|
|
24
24
|
* @param authCredential The credential to check.
|
|
25
25
|
* @param authScheme The authentication scheme (optional).
|
|
26
|
-
* @returns True if the credential needs to be refreshed,
|
|
26
|
+
* @returns True if the credential needs to be refreshed, false otherwise.
|
|
27
27
|
*/
|
|
28
28
|
isRefreshNeeded(authCredential: AuthCredential, authScheme?: AuthScheme): Promise<boolean>;
|
|
29
29
|
/**
|
|
@@ -97,7 +97,7 @@ export declare function getEncodedFileContent(data: string): string;
|
|
|
97
97
|
* @param content The mutable content to extract the code from.
|
|
98
98
|
* @param codeBlockDelimiters The list of the enclosing delimiters to identify
|
|
99
99
|
* the code blocks.
|
|
100
|
-
* @return The first code block if found, otherwise
|
|
100
|
+
* @return The first code block if found, otherwise an empty string.
|
|
101
101
|
*/
|
|
102
102
|
export declare function extractCodeAndTruncateContent(content: Content, codeBlockDelimiters: Array<[string, string]>): string;
|
|
103
103
|
/**
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type Docker from 'dockerode';
|
|
7
|
+
import { BaseCodeExecutor, ExecuteCodeParams } from './base_code_executor.js';
|
|
8
|
+
import { CodeExecutionResult } from './code_execution_utils.js';
|
|
9
|
+
/**
|
|
10
|
+
* Options for {@link ContainerCodeExecutor}.
|
|
11
|
+
*/
|
|
12
|
+
export interface ContainerCodeExecutorOptions {
|
|
13
|
+
/** Optional base url of a user-hosted Docker daemon (e.g. `tcp://host:2375`). */
|
|
14
|
+
baseUrl?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Tag of the predefined or custom image to run on the container. Either
|
|
17
|
+
* `image` or `dockerPath` must be set. Defaults to `adk-code-executor:latest`
|
|
18
|
+
* when only `dockerPath` is given.
|
|
19
|
+
*/
|
|
20
|
+
image?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Path to a directory containing a Dockerfile. If set, the image is built
|
|
23
|
+
* from it instead of using a prebuilt tag. Either `image` or `dockerPath`
|
|
24
|
+
* must be set.
|
|
25
|
+
*/
|
|
26
|
+
dockerPath?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Start the container with networking enabled. Defaults to false so
|
|
29
|
+
* untrusted, model-generated code cannot reach the network (the cloud
|
|
30
|
+
* metadata endpoint, internal services, or exfiltration destinations).
|
|
31
|
+
*/
|
|
32
|
+
networkEnabled?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Wall-clock timeout in seconds for a single execution. Must be greater than
|
|
35
|
+
* 0; defaults to 300. Every execution shares one long-lived container, so an
|
|
36
|
+
* unbounded run (e.g. a loop emitted by the model) would burn that
|
|
37
|
+
* container's CPU for every later caller. Raise it rather than remove it for
|
|
38
|
+
* a computation that legitimately runs longer.
|
|
39
|
+
*/
|
|
40
|
+
timeoutSeconds?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Injected Docker client, primarily for testing so unit tests never touch a
|
|
43
|
+
* real Docker daemon. Defaults to a new client built from `baseUrl`.
|
|
44
|
+
*/
|
|
45
|
+
docker?: Docker;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A code executor that runs model-generated code inside a hardened Docker
|
|
49
|
+
* container via the `dockerode` client.
|
|
50
|
+
*
|
|
51
|
+
* Security note: this executor runs model-generated code, which may be
|
|
52
|
+
* influenced by untrusted input (e.g. via prompt injection). By default the
|
|
53
|
+
* container is started with networking disabled and all Linux capabilities
|
|
54
|
+
* dropped so the executed code cannot reach the network (including the cloud
|
|
55
|
+
* metadata endpoint at `169.254.169.254`) or escalate privileges. Networking
|
|
56
|
+
* can be re-enabled via `networkEnabled: true` when the executed code is
|
|
57
|
+
* trusted.
|
|
58
|
+
*
|
|
59
|
+
* Limitations: this executor runs a code string only. `inputFiles` and `args`
|
|
60
|
+
* on the request are not copied into the container, and output files are not
|
|
61
|
+
* collected (`outputFiles` is always empty), so tools that stage resource
|
|
62
|
+
* files or read artifacts back (e.g. `RunSkillScriptTool`) are not yet
|
|
63
|
+
* supported. Sending files in and out via `putArchive`/`getArchive` is future
|
|
64
|
+
* work.
|
|
65
|
+
*/
|
|
66
|
+
export declare class ContainerCodeExecutor extends BaseCodeExecutor {
|
|
67
|
+
private readonly dockerPath?;
|
|
68
|
+
private readonly containerOptions;
|
|
69
|
+
private readonly timeoutSeconds;
|
|
70
|
+
private container?;
|
|
71
|
+
private initPromise?;
|
|
72
|
+
constructor(options?: ContainerCodeExecutorOptions);
|
|
73
|
+
executeCode(params: ExecuteCodeParams): Promise<CodeExecutionResult>;
|
|
74
|
+
/**
|
|
75
|
+
* Turns a non-zero exit into stderr the model can see. An empty stderr maps
|
|
76
|
+
* to `OUTCOME_OK` downstream, so a program that exits non-zero without
|
|
77
|
+
* writing stderr would otherwise look successful (matching
|
|
78
|
+
* `UnsafeLocalCodeExecutor`).
|
|
79
|
+
*/
|
|
80
|
+
private describeExit;
|
|
81
|
+
/**
|
|
82
|
+
* Stops and removes the container. Safe to call when no container has been
|
|
83
|
+
* started; provided for deterministic teardown in tests and app shutdown.
|
|
84
|
+
*/
|
|
85
|
+
close(): Promise<void>;
|
|
86
|
+
/** Lazily builds/starts the container exactly once. */
|
|
87
|
+
private ensureContainer;
|
|
88
|
+
private initContainer;
|
|
89
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type Docker from 'dockerode';
|
|
7
|
+
/**
|
|
8
|
+
* Exit code reported when a run is killed for exceeding its deadline. Matches
|
|
9
|
+
* the convention of coreutils `timeout(1)`, which the executor uses to bound a
|
|
10
|
+
* run inside the container.
|
|
11
|
+
*/
|
|
12
|
+
export declare const TIMEOUT_EXIT_CODE = 124;
|
|
13
|
+
/** Decoded output of a single command executed inside the container. */
|
|
14
|
+
export interface ExecOutput {
|
|
15
|
+
stdout: string;
|
|
16
|
+
stderr: string;
|
|
17
|
+
exitCode: number | null;
|
|
18
|
+
}
|
|
19
|
+
/** Options for {@link DockerContainer}. */
|
|
20
|
+
export interface DockerContainerOptions {
|
|
21
|
+
/** Tag of the predefined or custom image to run on the container. */
|
|
22
|
+
image: string;
|
|
23
|
+
/**
|
|
24
|
+
* Start the container with networking enabled. When false, the container
|
|
25
|
+
* cannot reach the network, which is the safe default for untrusted code.
|
|
26
|
+
*/
|
|
27
|
+
networkEnabled: boolean;
|
|
28
|
+
/** Optional base url of a user-hosted Docker daemon. */
|
|
29
|
+
baseUrl?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Injected Docker client. When omitted, dockerode is loaded lazily and a
|
|
32
|
+
* client is built from `baseUrl`.
|
|
33
|
+
*/
|
|
34
|
+
docker?: Docker;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The Docker container backing a code executor, wrapping the whole lifecycle
|
|
38
|
+
* (`build` -> `start` -> `execute` -> `stop`) and the Docker client resolution
|
|
39
|
+
* behind one small API, so callers only decide *what* to run, not *how* to
|
|
40
|
+
* drive Docker.
|
|
41
|
+
*/
|
|
42
|
+
export declare class DockerContainer {
|
|
43
|
+
private readonly options;
|
|
44
|
+
private client?;
|
|
45
|
+
private container?;
|
|
46
|
+
constructor(options: DockerContainerOptions);
|
|
47
|
+
/**
|
|
48
|
+
* Builds the image from a directory containing a Dockerfile. `src` is the raw
|
|
49
|
+
* directory listing; unlike the Docker CLI this does not honor
|
|
50
|
+
* `.dockerignore`.
|
|
51
|
+
*/
|
|
52
|
+
build(dockerPath: string): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Creates and starts the container, registering it for cleanup on process
|
|
55
|
+
* exit. Throws if already started: overwriting the handle would orphan the
|
|
56
|
+
* running container. Call {@link stop} first.
|
|
57
|
+
*/
|
|
58
|
+
start(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Runs a command inside the container and returns its decoded output. The
|
|
61
|
+
* exec is created without a TTY so the stream stays multiplexed and can be
|
|
62
|
+
* split into stdout and stderr via `modem.demuxStream`.
|
|
63
|
+
*
|
|
64
|
+
* `timeoutSeconds` bounds the wait, not the in-container run: a process that
|
|
65
|
+
* keeps the exec's stdio open (e.g. a surviving background child) means
|
|
66
|
+
* `'end'` never fires, so without this cap the promise never settles (the
|
|
67
|
+
* same hang #793 fixed in the local executor). Callers that need to bound the
|
|
68
|
+
* run itself must wrap the command (see {@link ContainerCodeExecutor}). On a
|
|
69
|
+
* cap breach the result carries {@link TIMEOUT_EXIT_CODE}.
|
|
70
|
+
*/
|
|
71
|
+
execute(cmd: string[], timeoutSeconds: number): Promise<ExecOutput>;
|
|
72
|
+
/** Stops and removes the container. Safe to call when never started. */
|
|
73
|
+
stop(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Resolves the Docker client once, lazily loading dockerode when no client
|
|
76
|
+
* was injected.
|
|
77
|
+
*/
|
|
78
|
+
private getClient;
|
|
79
|
+
}
|