@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
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -63,6 +64,7 @@ function mapLanguage(lang) {
|
|
|
63
64
|
throw new Error(`Unsupported language for Agent Engine Sandbox: ${lang}`);
|
|
64
65
|
}
|
|
65
66
|
}
|
|
67
|
+
__name(mapLanguage, "mapLanguage");
|
|
66
68
|
let AgentEngineSandboxCodeExecutor = class extends import_base_code_executor.BaseCodeExecutor {
|
|
67
69
|
constructor(options = {}) {
|
|
68
70
|
super();
|
|
@@ -296,6 +298,7 @@ let AgentEngineSandboxCodeExecutor = class extends import_base_code_executor.Bas
|
|
|
296
298
|
return sandboxName;
|
|
297
299
|
}
|
|
298
300
|
};
|
|
301
|
+
__name(AgentEngineSandboxCodeExecutor, "AgentEngineSandboxCodeExecutor");
|
|
299
302
|
AgentEngineSandboxCodeExecutor = __decorateClass([
|
|
300
303
|
import_experimental.experimental
|
|
301
304
|
], AgentEngineSandboxCodeExecutor);
|
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -34,14 +35,15 @@ module.exports = __toCommonJS(base_code_executor_exports);
|
|
|
34
35
|
* SPDX-License-Identifier: Apache-2.0
|
|
35
36
|
*/
|
|
36
37
|
var _a;
|
|
37
|
-
const BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
|
|
38
|
+
const BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
38
39
|
"google.adk.baseCodeExecutor"
|
|
39
40
|
);
|
|
40
41
|
function isBaseCodeExecutor(obj) {
|
|
41
42
|
return typeof obj === "object" && obj !== null && BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL in obj && obj[BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL] === true;
|
|
42
43
|
}
|
|
44
|
+
__name(isBaseCodeExecutor, "isBaseCodeExecutor");
|
|
43
45
|
_a = BASE_CODE_EXECUTOR_SIGNATURE_SYMBOL;
|
|
44
|
-
class
|
|
46
|
+
const _BaseCodeExecutor = class _BaseCodeExecutor {
|
|
45
47
|
constructor() {
|
|
46
48
|
/** A unique symbol to identify BaseCodeExecutor class. */
|
|
47
49
|
this[_a] = true;
|
|
@@ -84,7 +86,9 @@ class BaseCodeExecutor {
|
|
|
84
86
|
*/
|
|
85
87
|
this.executionResultDelimiters = ["```tool_output\n", "\n```"];
|
|
86
88
|
}
|
|
87
|
-
}
|
|
89
|
+
};
|
|
90
|
+
__name(_BaseCodeExecutor, "BaseCodeExecutor");
|
|
91
|
+
let BaseCodeExecutor = _BaseCodeExecutor;
|
|
88
92
|
// Annotate the CommonJS export names for ESM import in node:
|
|
89
93
|
0 && (module.exports = {
|
|
90
94
|
BaseCodeExecutor,
|
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -36,13 +37,14 @@ var import_base_code_executor = require("./base_code_executor.js");
|
|
|
36
37
|
* SPDX-License-Identifier: Apache-2.0
|
|
37
38
|
*/
|
|
38
39
|
var _a, _b;
|
|
39
|
-
const BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL = Symbol.for(
|
|
40
|
+
const BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL = /* @__PURE__ */ Symbol.for(
|
|
40
41
|
"google.adk.builtInCodeExecutor"
|
|
41
42
|
);
|
|
42
43
|
function isBuiltInCodeExecutor(obj) {
|
|
43
44
|
return typeof obj === "object" && obj !== null && BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL in obj && obj[BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL] === true;
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
+
__name(isBuiltInCodeExecutor, "isBuiltInCodeExecutor");
|
|
47
|
+
const _BuiltInCodeExecutor = class _BuiltInCodeExecutor extends (_b = import_base_code_executor.BaseCodeExecutor, _a = BUILT_IN_CODE_EXECUTOR_SIGNATURE_SYMBOL, _b) {
|
|
46
48
|
constructor() {
|
|
47
49
|
super(...arguments);
|
|
48
50
|
/** A unique symbol to identify BuiltInCodeExecutor class. */
|
|
@@ -66,7 +68,9 @@ class BuiltInCodeExecutor extends (_b = import_base_code_executor.BaseCodeExecut
|
|
|
66
68
|
`Gemini code execution tool is not supported for model ${llmRequest.model}`
|
|
67
69
|
);
|
|
68
70
|
}
|
|
69
|
-
}
|
|
71
|
+
};
|
|
72
|
+
__name(_BuiltInCodeExecutor, "BuiltInCodeExecutor");
|
|
73
|
+
let BuiltInCodeExecutor = _BuiltInCodeExecutor;
|
|
70
74
|
// Annotate the CommonJS export names for ESM import in node:
|
|
71
75
|
0 && (module.exports = {
|
|
72
76
|
BuiltInCodeExecutor,
|
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -59,6 +60,7 @@ var CodeExecutionLanguage = /* @__PURE__ */ ((CodeExecutionLanguage2) => {
|
|
|
59
60
|
function getEncodedFileContent(data) {
|
|
60
61
|
return (0, import_env_aware_utils.isBase64Encoded)(data) ? data : (0, import_env_aware_utils.base64Encode)(data);
|
|
61
62
|
}
|
|
63
|
+
__name(getEncodedFileContent, "getEncodedFileContent");
|
|
62
64
|
function extractCodeAndTruncateContent(content, codeBlockDelimiters) {
|
|
63
65
|
var _a;
|
|
64
66
|
if (!((_a = content.parts) == null ? void 0 : _a.length)) {
|
|
@@ -68,7 +70,7 @@ function extractCodeAndTruncateContent(content, codeBlockDelimiters) {
|
|
|
68
70
|
const part = content.parts[i];
|
|
69
71
|
if (part.executableCode && (i === content.parts.length - 1 || !content.parts[i + 1].codeExecutionResult)) {
|
|
70
72
|
content.parts = content.parts.slice(0, i + 1);
|
|
71
|
-
return part.executableCode.code;
|
|
73
|
+
return part.executableCode.code || "";
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
const textParts = content.parts.filter((part) => part.text);
|
|
@@ -95,6 +97,7 @@ function extractCodeAndTruncateContent(content, codeBlockDelimiters) {
|
|
|
95
97
|
content.parts.push(buildExecutableCodePart(codeStr));
|
|
96
98
|
return codeStr;
|
|
97
99
|
}
|
|
100
|
+
__name(extractCodeAndTruncateContent, "extractCodeAndTruncateContent");
|
|
98
101
|
function buildExecutableCodePart(code) {
|
|
99
102
|
return {
|
|
100
103
|
text: code,
|
|
@@ -104,6 +107,7 @@ function buildExecutableCodePart(code) {
|
|
|
104
107
|
}
|
|
105
108
|
};
|
|
106
109
|
}
|
|
110
|
+
__name(buildExecutableCodePart, "buildExecutableCodePart");
|
|
107
111
|
function buildCodeExecutionResultPart(codeExecutionResult) {
|
|
108
112
|
if (codeExecutionResult.stderr) {
|
|
109
113
|
return {
|
|
@@ -132,6 +136,7 @@ ${codeExecutionResult.stdout}
|
|
|
132
136
|
}
|
|
133
137
|
};
|
|
134
138
|
}
|
|
139
|
+
__name(buildCodeExecutionResultPart, "buildCodeExecutionResultPart");
|
|
135
140
|
function convertCodeExecutionParts(content, codeBlockDelimiter, executionResultDelimiters) {
|
|
136
141
|
var _a;
|
|
137
142
|
if (!((_a = content.parts) == null ? void 0 : _a.length)) {
|
|
@@ -140,7 +145,7 @@ function convertCodeExecutionParts(content, codeBlockDelimiter, executionResultD
|
|
|
140
145
|
const lastPart = content.parts[content.parts.length - 1];
|
|
141
146
|
if (lastPart.executableCode) {
|
|
142
147
|
content.parts[content.parts.length - 1] = {
|
|
143
|
-
text: codeBlockDelimiter[0] + lastPart.executableCode.code + codeBlockDelimiter[1]
|
|
148
|
+
text: codeBlockDelimiter[0] + (lastPart.executableCode.code || "") + codeBlockDelimiter[1]
|
|
144
149
|
};
|
|
145
150
|
} else if (content.parts.length == 1 && lastPart.codeExecutionResult) {
|
|
146
151
|
content.parts[content.parts.length - 1] = {
|
|
@@ -149,6 +154,7 @@ function convertCodeExecutionParts(content, codeBlockDelimiter, executionResultD
|
|
|
149
154
|
content.role = "user";
|
|
150
155
|
}
|
|
151
156
|
}
|
|
157
|
+
__name(convertCodeExecutionParts, "convertCodeExecutionParts");
|
|
152
158
|
// Annotate the CommonJS export names for ESM import in node:
|
|
153
159
|
0 && (module.exports = {
|
|
154
160
|
CodeExecutionLanguage,
|
|
@@ -9,6 +9,7 @@ var __defProp = Object.defineProperty;
|
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
11
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
13
|
var __export = (target, all) => {
|
|
13
14
|
for (var name in all)
|
|
14
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -39,7 +40,7 @@ const PROCESSED_FILE_NAMES_KEY = "processed_input_files";
|
|
|
39
40
|
const INPUT_FILE_KEY = "_code_executor_input_files";
|
|
40
41
|
const ERROR_COUNT_KEY = "_code_executor_error_counts";
|
|
41
42
|
const CODE_EXECUTION_RESULTS_KEY = "_code_execution_results";
|
|
42
|
-
class
|
|
43
|
+
const _CodeExecutorContext = class _CodeExecutorContext {
|
|
43
44
|
constructor(sessionState) {
|
|
44
45
|
this.sessionState = sessionState;
|
|
45
46
|
var _a;
|
|
@@ -191,7 +192,9 @@ class CodeExecutorContext {
|
|
|
191
192
|
getCodeExecutionContext() {
|
|
192
193
|
return this.sessionState.get(CONTEXT_KEY) || {};
|
|
193
194
|
}
|
|
194
|
-
}
|
|
195
|
+
};
|
|
196
|
+
__name(_CodeExecutorContext, "CodeExecutorContext");
|
|
197
|
+
let CodeExecutorContext = _CodeExecutorContext;
|
|
195
198
|
// Annotate the CommonJS export names for ESM import in node:
|
|
196
199
|
0 && (module.exports = {
|
|
197
200
|
CodeExecutorContext
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __create = Object.create;
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
11
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
var __export = (target, all) => {
|
|
16
|
+
for (var name in all)
|
|
17
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
|
+
};
|
|
19
|
+
var __copyProps = (to, from, except, desc) => {
|
|
20
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
21
|
+
for (let key of __getOwnPropNames(from))
|
|
22
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
23
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
24
|
+
}
|
|
25
|
+
return to;
|
|
26
|
+
};
|
|
27
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
28
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
29
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
30
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
31
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
32
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
33
|
+
mod
|
|
34
|
+
));
|
|
35
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
36
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
37
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
38
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
39
|
+
if (decorator = decorators[i])
|
|
40
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
41
|
+
if (kind && result) __defProp(target, key, result);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
var container_code_executor_exports = {};
|
|
45
|
+
__export(container_code_executor_exports, {
|
|
46
|
+
ContainerCodeExecutor: () => ContainerCodeExecutor
|
|
47
|
+
});
|
|
48
|
+
module.exports = __toCommonJS(container_code_executor_exports);
|
|
49
|
+
var path = __toESM(require("node:path"), 1);
|
|
50
|
+
var import_experimental = require("../utils/experimental.js");
|
|
51
|
+
var import_logger = require("../utils/logger.js");
|
|
52
|
+
var import_base_code_executor = require("./base_code_executor.js");
|
|
53
|
+
var import_code_execution_utils = require("./code_execution_utils.js");
|
|
54
|
+
var import_docker_container = require("./docker_container.js");
|
|
55
|
+
/**
|
|
56
|
+
* @license
|
|
57
|
+
* Copyright 2026 Google LLC
|
|
58
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
59
|
+
*/
|
|
60
|
+
const DEFAULT_IMAGE_TAG = "adk-code-executor:latest";
|
|
61
|
+
const DEFAULT_TIMEOUT_SECONDS = 300;
|
|
62
|
+
const TIMEOUT_COMMAND = ["timeout", "-s", "KILL"];
|
|
63
|
+
const LANGUAGE_RUNTIME_COMMAND_MAP = {
|
|
64
|
+
[import_code_execution_utils.CodeExecutionLanguage.PYTHON]: ["python3", "-c"],
|
|
65
|
+
[import_code_execution_utils.CodeExecutionLanguage.JAVASCRIPT]: ["node", "-e"],
|
|
66
|
+
[import_code_execution_utils.CodeExecutionLanguage.TYPESCRIPT]: ["tsx", "--eval"],
|
|
67
|
+
[import_code_execution_utils.CodeExecutionLanguage.SHELL]: ["sh", "-c"]
|
|
68
|
+
};
|
|
69
|
+
let ContainerCodeExecutor = class extends import_base_code_executor.BaseCodeExecutor {
|
|
70
|
+
constructor(options = {}) {
|
|
71
|
+
var _a, _b, _c;
|
|
72
|
+
super();
|
|
73
|
+
if (!options.image && !options.dockerPath) {
|
|
74
|
+
throw new Error(
|
|
75
|
+
"Either image or dockerPath must be set for ContainerCodeExecutor."
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
this.timeoutSeconds = (_a = options.timeoutSeconds) != null ? _a : DEFAULT_TIMEOUT_SECONDS;
|
|
79
|
+
if (this.timeoutSeconds <= 0) {
|
|
80
|
+
throw new Error(
|
|
81
|
+
"timeoutSeconds must be greater than 0 for ContainerCodeExecutor."
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
this.dockerPath = options.dockerPath ? path.resolve(options.dockerPath) : void 0;
|
|
85
|
+
this.containerOptions = {
|
|
86
|
+
image: (_b = options.image) != null ? _b : DEFAULT_IMAGE_TAG,
|
|
87
|
+
networkEnabled: (_c = options.networkEnabled) != null ? _c : false,
|
|
88
|
+
baseUrl: options.baseUrl,
|
|
89
|
+
docker: options.docker
|
|
90
|
+
};
|
|
91
|
+
defineFrozenFalse(this, "stateful");
|
|
92
|
+
defineFrozenFalse(this, "optimizeDataFile");
|
|
93
|
+
}
|
|
94
|
+
async executeCode(params) {
|
|
95
|
+
const { code, language } = params.codeExecutionInput;
|
|
96
|
+
const command = LANGUAGE_RUNTIME_COMMAND_MAP[language];
|
|
97
|
+
if (!command) {
|
|
98
|
+
throw new Error(
|
|
99
|
+
`Unsupported language for ContainerCodeExecutor: ${language}. Supported: ${Object.keys(LANGUAGE_RUNTIME_COMMAND_MAP).join(", ")}.`
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
await this.ensureContainer();
|
|
103
|
+
const { stdout, stderr, exitCode } = await this.container.execute(
|
|
104
|
+
[...TIMEOUT_COMMAND, String(this.timeoutSeconds), ...command, code],
|
|
105
|
+
this.timeoutSeconds
|
|
106
|
+
);
|
|
107
|
+
import_logger.logger.debug(`Executed ${language} code:
|
|
108
|
+
\`\`\`
|
|
109
|
+
${code}
|
|
110
|
+
\`\`\``);
|
|
111
|
+
return {
|
|
112
|
+
stdout,
|
|
113
|
+
stderr: this.describeExit(stderr, exitCode),
|
|
114
|
+
outputFiles: []
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Turns a non-zero exit into stderr the model can see. An empty stderr maps
|
|
119
|
+
* to `OUTCOME_OK` downstream, so a program that exits non-zero without
|
|
120
|
+
* writing stderr would otherwise look successful (matching
|
|
121
|
+
* `UnsafeLocalCodeExecutor`).
|
|
122
|
+
*/
|
|
123
|
+
describeExit(stderr, exitCode) {
|
|
124
|
+
if (exitCode === import_docker_container.TIMEOUT_EXIT_CODE) {
|
|
125
|
+
const message = `Code execution timed out after ${this.timeoutSeconds} seconds.`;
|
|
126
|
+
return stderr ? `${stderr}
|
|
127
|
+
${message}` : message;
|
|
128
|
+
}
|
|
129
|
+
if (exitCode !== 0 && exitCode !== null && !stderr) {
|
|
130
|
+
return `Exit code ${exitCode}`;
|
|
131
|
+
}
|
|
132
|
+
return stderr;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Stops and removes the container. Safe to call when no container has been
|
|
136
|
+
* started; provided for deterministic teardown in tests and app shutdown.
|
|
137
|
+
*/
|
|
138
|
+
async close() {
|
|
139
|
+
const container = this.container;
|
|
140
|
+
this.container = void 0;
|
|
141
|
+
this.initPromise = void 0;
|
|
142
|
+
await (container == null ? void 0 : container.stop());
|
|
143
|
+
}
|
|
144
|
+
/** Lazily builds/starts the container exactly once. */
|
|
145
|
+
ensureContainer() {
|
|
146
|
+
if (!this.initPromise) {
|
|
147
|
+
this.initPromise = this.initContainer().catch((error) => {
|
|
148
|
+
this.initPromise = void 0;
|
|
149
|
+
throw error;
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
return this.initPromise;
|
|
153
|
+
}
|
|
154
|
+
async initContainer() {
|
|
155
|
+
const container = new import_docker_container.DockerContainer(this.containerOptions);
|
|
156
|
+
if (this.dockerPath) {
|
|
157
|
+
await container.build(this.dockerPath);
|
|
158
|
+
}
|
|
159
|
+
await container.start();
|
|
160
|
+
this.container = container;
|
|
161
|
+
const { exitCode } = await container.execute(
|
|
162
|
+
["which", "python3"],
|
|
163
|
+
this.timeoutSeconds
|
|
164
|
+
);
|
|
165
|
+
if (exitCode !== 0) {
|
|
166
|
+
throw new Error("python3 is not installed in the container.");
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
__name(ContainerCodeExecutor, "ContainerCodeExecutor");
|
|
171
|
+
ContainerCodeExecutor = __decorateClass([
|
|
172
|
+
import_experimental.experimental
|
|
173
|
+
], ContainerCodeExecutor);
|
|
174
|
+
function defineFrozenFalse(target, key) {
|
|
175
|
+
Object.defineProperty(target, key, {
|
|
176
|
+
value: false,
|
|
177
|
+
writable: false,
|
|
178
|
+
enumerable: true,
|
|
179
|
+
configurable: false
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
__name(defineFrozenFalse, "defineFrozenFalse");
|
|
183
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
184
|
+
0 && (module.exports = {
|
|
185
|
+
ContainerCodeExecutor
|
|
186
|
+
});
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
var __create = Object.create;
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
11
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
var __export = (target, all) => {
|
|
16
|
+
for (var name in all)
|
|
17
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
|
+
};
|
|
19
|
+
var __copyProps = (to, from, except, desc) => {
|
|
20
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
21
|
+
for (let key of __getOwnPropNames(from))
|
|
22
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
23
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
24
|
+
}
|
|
25
|
+
return to;
|
|
26
|
+
};
|
|
27
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
28
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
29
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
30
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
31
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
32
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
33
|
+
mod
|
|
34
|
+
));
|
|
35
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
36
|
+
var docker_container_exports = {};
|
|
37
|
+
__export(docker_container_exports, {
|
|
38
|
+
DockerContainer: () => DockerContainer,
|
|
39
|
+
TIMEOUT_EXIT_CODE: () => TIMEOUT_EXIT_CODE
|
|
40
|
+
});
|
|
41
|
+
module.exports = __toCommonJS(docker_container_exports);
|
|
42
|
+
var fs = __toESM(require("node:fs/promises"), 1);
|
|
43
|
+
var import_node_stream = require("node:stream");
|
|
44
|
+
var import_consumers = require("node:stream/consumers");
|
|
45
|
+
var import_promises = require("node:timers/promises");
|
|
46
|
+
var import_logger = require("../utils/logger.js");
|
|
47
|
+
/**
|
|
48
|
+
* @license
|
|
49
|
+
* Copyright 2026 Google LLC
|
|
50
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
51
|
+
*/
|
|
52
|
+
const TIMEOUT_EXIT_CODE = 124;
|
|
53
|
+
const STREAM_WAIT_GRACE_SECONDS = 5;
|
|
54
|
+
const MAX_INSPECT_ATTEMPTS = 50;
|
|
55
|
+
const INSPECT_POLL_MS = 100;
|
|
56
|
+
const KEEP_ALIVE_COMMAND = ["tail", "-f", "/dev/null"];
|
|
57
|
+
let dockerodeCtor;
|
|
58
|
+
function loadDockerodeCtor() {
|
|
59
|
+
dockerodeCtor != null ? dockerodeCtor : dockerodeCtor = Promise.resolve().then(() => __toESM(require("dockerode"), 1)).then(
|
|
60
|
+
(mod) => mod.default,
|
|
61
|
+
() => {
|
|
62
|
+
throw new Error(
|
|
63
|
+
"The `dockerode` package is required to use ContainerCodeExecutor. Install it with `npm install dockerode`."
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
return dockerodeCtor;
|
|
68
|
+
}
|
|
69
|
+
__name(loadDockerodeCtor, "loadDockerodeCtor");
|
|
70
|
+
const activeContainers = /* @__PURE__ */ new Set();
|
|
71
|
+
let exitHooksRegistered = false;
|
|
72
|
+
async function stopAndRemove(container) {
|
|
73
|
+
if (!container) {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
await container.stop();
|
|
78
|
+
} catch (error) {
|
|
79
|
+
import_logger.logger.debug(`Container ${container.id} was not running: ${error}`);
|
|
80
|
+
}
|
|
81
|
+
try {
|
|
82
|
+
await container.remove({ force: true });
|
|
83
|
+
return true;
|
|
84
|
+
} catch (error) {
|
|
85
|
+
import_logger.logger.error(`Failed to remove container ${container.id}: ${error}`);
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
__name(stopAndRemove, "stopAndRemove");
|
|
90
|
+
async function cleanupContainers() {
|
|
91
|
+
for (const container of activeContainers) {
|
|
92
|
+
if (await stopAndRemove(container)) {
|
|
93
|
+
activeContainers.delete(container);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
__name(cleanupContainers, "cleanupContainers");
|
|
98
|
+
async function handleTerminationSignal(signal) {
|
|
99
|
+
await cleanupContainers();
|
|
100
|
+
process.kill(process.pid, signal);
|
|
101
|
+
}
|
|
102
|
+
__name(handleTerminationSignal, "handleTerminationSignal");
|
|
103
|
+
function registerExitHooks() {
|
|
104
|
+
if (exitHooksRegistered) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
exitHooksRegistered = true;
|
|
108
|
+
process.once("beforeExit", cleanupContainers);
|
|
109
|
+
process.once("SIGINT", handleTerminationSignal);
|
|
110
|
+
process.once("SIGTERM", handleTerminationSignal);
|
|
111
|
+
}
|
|
112
|
+
__name(registerExitHooks, "registerExitHooks");
|
|
113
|
+
const PROTOCOL_BY_SCHEME = {
|
|
114
|
+
"https:": "https",
|
|
115
|
+
"ssh:": "ssh"
|
|
116
|
+
};
|
|
117
|
+
async function inspectExitCode(exec) {
|
|
118
|
+
for (let attempt = 0; attempt < MAX_INSPECT_ATTEMPTS; attempt++) {
|
|
119
|
+
const info = await exec.inspect();
|
|
120
|
+
if (!info.Running) {
|
|
121
|
+
return info.ExitCode;
|
|
122
|
+
}
|
|
123
|
+
await (0, import_promises.setTimeout)(INSPECT_POLL_MS);
|
|
124
|
+
}
|
|
125
|
+
return (await exec.inspect()).ExitCode;
|
|
126
|
+
}
|
|
127
|
+
__name(inspectExitCode, "inspectExitCode");
|
|
128
|
+
function parseBaseUrl(baseUrl) {
|
|
129
|
+
var _a;
|
|
130
|
+
const url = new URL(baseUrl);
|
|
131
|
+
if (url.protocol === "unix:") {
|
|
132
|
+
return { socketPath: url.pathname };
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
host: url.hostname,
|
|
136
|
+
port: url.port || void 0,
|
|
137
|
+
protocol: (_a = PROTOCOL_BY_SCHEME[url.protocol]) != null ? _a : "http"
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
__name(parseBaseUrl, "parseBaseUrl");
|
|
141
|
+
const _DockerContainer = class _DockerContainer {
|
|
142
|
+
constructor(options) {
|
|
143
|
+
this.options = options;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Builds the image from a directory containing a Dockerfile. `src` is the raw
|
|
147
|
+
* directory listing; unlike the Docker CLI this does not honor
|
|
148
|
+
* `.dockerignore`.
|
|
149
|
+
*/
|
|
150
|
+
async build(dockerPath) {
|
|
151
|
+
try {
|
|
152
|
+
await fs.access(dockerPath);
|
|
153
|
+
} catch {
|
|
154
|
+
throw new Error(`Invalid Docker path: ${dockerPath}`);
|
|
155
|
+
}
|
|
156
|
+
const client = await this.getClient();
|
|
157
|
+
import_logger.logger.debug("Building Docker image...");
|
|
158
|
+
const stream = await client.buildImage(
|
|
159
|
+
{ context: dockerPath, src: await fs.readdir(dockerPath) },
|
|
160
|
+
{ t: this.options.image }
|
|
161
|
+
);
|
|
162
|
+
await new Promise((resolve, reject) => {
|
|
163
|
+
client.modem.followProgress(
|
|
164
|
+
stream,
|
|
165
|
+
(error) => error ? reject(error) : resolve()
|
|
166
|
+
);
|
|
167
|
+
});
|
|
168
|
+
import_logger.logger.debug(`Docker image ${this.options.image} built.`);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Creates and starts the container, registering it for cleanup on process
|
|
172
|
+
* exit. Throws if already started: overwriting the handle would orphan the
|
|
173
|
+
* running container. Call {@link stop} first.
|
|
174
|
+
*/
|
|
175
|
+
async start() {
|
|
176
|
+
if (this.container) {
|
|
177
|
+
throw new Error("Container is already started.");
|
|
178
|
+
}
|
|
179
|
+
const client = await this.getClient();
|
|
180
|
+
import_logger.logger.debug("Starting container...");
|
|
181
|
+
this.container = await client.createContainer({
|
|
182
|
+
Image: this.options.image,
|
|
183
|
+
Tty: true,
|
|
184
|
+
Cmd: KEEP_ALIVE_COMMAND,
|
|
185
|
+
NetworkDisabled: !this.options.networkEnabled,
|
|
186
|
+
HostConfig: { CapDrop: ["ALL"], SecurityOpt: ["no-new-privileges"] }
|
|
187
|
+
});
|
|
188
|
+
await this.container.start();
|
|
189
|
+
activeContainers.add(this.container);
|
|
190
|
+
registerExitHooks();
|
|
191
|
+
import_logger.logger.debug(`Container ${this.container.id} started.`);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Runs a command inside the container and returns its decoded output. The
|
|
195
|
+
* exec is created without a TTY so the stream stays multiplexed and can be
|
|
196
|
+
* split into stdout and stderr via `modem.demuxStream`.
|
|
197
|
+
*
|
|
198
|
+
* `timeoutSeconds` bounds the wait, not the in-container run: a process that
|
|
199
|
+
* keeps the exec's stdio open (e.g. a surviving background child) means
|
|
200
|
+
* `'end'` never fires, so without this cap the promise never settles (the
|
|
201
|
+
* same hang #793 fixed in the local executor). Callers that need to bound the
|
|
202
|
+
* run itself must wrap the command (see {@link ContainerCodeExecutor}). On a
|
|
203
|
+
* cap breach the result carries {@link TIMEOUT_EXIT_CODE}.
|
|
204
|
+
*/
|
|
205
|
+
async execute(cmd, timeoutSeconds) {
|
|
206
|
+
if (!this.container) {
|
|
207
|
+
throw new Error("Container is not started.");
|
|
208
|
+
}
|
|
209
|
+
const client = await this.getClient();
|
|
210
|
+
const exec = await this.container.exec({
|
|
211
|
+
Cmd: cmd,
|
|
212
|
+
AttachStdout: true,
|
|
213
|
+
AttachStderr: true
|
|
214
|
+
});
|
|
215
|
+
const stream = await exec.start({ hijack: true, stdin: false });
|
|
216
|
+
const stdout = new import_node_stream.PassThrough();
|
|
217
|
+
const stderr = new import_node_stream.PassThrough();
|
|
218
|
+
client.modem.demuxStream(stream, stdout, stderr);
|
|
219
|
+
const collected = Promise.all([(0, import_consumers.text)(stdout), (0, import_consumers.text)(stderr)]);
|
|
220
|
+
let timedOut = false;
|
|
221
|
+
await new Promise((resolve, reject) => {
|
|
222
|
+
const timer = setTimeout(
|
|
223
|
+
() => {
|
|
224
|
+
timedOut = true;
|
|
225
|
+
stream.destroy();
|
|
226
|
+
resolve();
|
|
227
|
+
},
|
|
228
|
+
(timeoutSeconds + STREAM_WAIT_GRACE_SECONDS) * 1e3
|
|
229
|
+
);
|
|
230
|
+
timer.unref();
|
|
231
|
+
stream.on("end", () => {
|
|
232
|
+
clearTimeout(timer);
|
|
233
|
+
resolve();
|
|
234
|
+
});
|
|
235
|
+
stream.on("error", (error) => {
|
|
236
|
+
clearTimeout(timer);
|
|
237
|
+
reject(error);
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
stdout.end();
|
|
241
|
+
stderr.end();
|
|
242
|
+
const [stdoutText, stderrText] = await collected;
|
|
243
|
+
if (timedOut) {
|
|
244
|
+
return {
|
|
245
|
+
stdout: stdoutText,
|
|
246
|
+
stderr: stderrText,
|
|
247
|
+
exitCode: TIMEOUT_EXIT_CODE
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
const exitCode = await inspectExitCode(exec);
|
|
251
|
+
return { stdout: stdoutText, stderr: stderrText, exitCode };
|
|
252
|
+
}
|
|
253
|
+
/** Stops and removes the container. Safe to call when never started. */
|
|
254
|
+
async stop() {
|
|
255
|
+
const container = this.container;
|
|
256
|
+
if (!container) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
if (await stopAndRemove(container)) {
|
|
260
|
+
this.container = void 0;
|
|
261
|
+
activeContainers.delete(container);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Resolves the Docker client once, lazily loading dockerode when no client
|
|
266
|
+
* was injected.
|
|
267
|
+
*/
|
|
268
|
+
async getClient() {
|
|
269
|
+
var _a, _b;
|
|
270
|
+
(_b = this.client) != null ? _b : this.client = (_a = this.options.docker) != null ? _a : new (await loadDockerodeCtor())(
|
|
271
|
+
this.options.baseUrl ? parseBaseUrl(this.options.baseUrl) : void 0
|
|
272
|
+
);
|
|
273
|
+
return this.client;
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
__name(_DockerContainer, "DockerContainer");
|
|
277
|
+
let DockerContainer = _DockerContainer;
|
|
278
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
279
|
+
0 && (module.exports = {
|
|
280
|
+
DockerContainer,
|
|
281
|
+
TIMEOUT_EXIT_CODE
|
|
282
|
+
});
|