aip-agents-binary 0.6.2__py3-none-any.whl → 0.6.3__py3-none-any.whl
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.
- aip_agents/__init__.pyi +19 -0
- aip_agents/a2a/__init__.pyi +3 -0
- aip_agents/a2a/server/__init__.pyi +4 -0
- aip_agents/a2a/server/base_executor.pyi +73 -0
- aip_agents/a2a/server/google_adk_executor.pyi +51 -0
- aip_agents/a2a/server/langflow_executor.pyi +43 -0
- aip_agents/a2a/server/langgraph_executor.pyi +47 -0
- aip_agents/a2a/types.pyi +132 -0
- aip_agents/agent/__init__.pyi +9 -0
- aip_agents/agent/base_agent.pyi +221 -0
- aip_agents/agent/base_langgraph_agent.pyi +233 -0
- aip_agents/agent/google_adk_agent.pyi +141 -0
- aip_agents/agent/google_adk_constants.pyi +3 -0
- aip_agents/agent/hitl/__init__.pyi +6 -0
- aip_agents/agent/hitl/config.pyi +15 -0
- aip_agents/agent/hitl/langgraph_hitl_mixin.pyi +42 -0
- aip_agents/agent/hitl/manager.pyi +200 -0
- aip_agents/agent/hitl/models.pyi +3 -0
- aip_agents/agent/hitl/prompt/__init__.pyi +4 -0
- aip_agents/agent/hitl/prompt/base.pyi +24 -0
- aip_agents/agent/hitl/prompt/deferred.pyi +30 -0
- aip_agents/agent/hitl/registry.pyi +101 -0
- aip_agents/agent/interface.pyi +81 -0
- aip_agents/agent/interfaces.pyi +44 -0
- aip_agents/agent/langflow_agent.pyi +133 -0
- aip_agents/agent/langgraph_memory_enhancer_agent.pyi +49 -0
- aip_agents/agent/langgraph_react_agent.pyi +170 -0
- aip_agents/agent/system_instruction_context.pyi +13 -0
- aip_agents/clients/__init__.pyi +4 -0
- aip_agents/clients/langflow/__init__.pyi +4 -0
- aip_agents/clients/langflow/client.pyi +140 -0
- aip_agents/clients/langflow/types.pyi +7 -0
- aip_agents/constants.pyi +7 -0
- aip_agents/examples/__init__.pyi +0 -0
- aip_agents/examples/compare_streaming_client.pyi +48 -0
- aip_agents/examples/compare_streaming_server.pyi +18 -0
- aip_agents/examples/demo_memory_recall.pyi +58 -0
- aip_agents/examples/hello_world_a2a_google_adk_client.pyi +9 -0
- aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +9 -0
- aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +9 -0
- aip_agents/examples/hello_world_a2a_google_adk_server.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langchain_client.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langchain_server.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langflow_client.pyi +9 -0
- aip_agents/examples/hello_world_a2a_langflow_server.pyi +14 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +16 -0
- aip_agents/examples/hello_world_a2a_langgraph_client.pyi +9 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +9 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +2 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +9 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langgraph_server.pyi +14 -0
- aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +15 -0
- aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +48 -0
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +48 -0
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +45 -0
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +5 -0
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +15 -0
- aip_agents/examples/hello_world_google_adk.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_http.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_http_stream.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_sse.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_sse_stream.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_stdio.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain.pyi +5 -0
- aip_agents/examples/hello_world_langchain_lm_invoker.pyi +2 -0
- aip_agents/examples/hello_world_langchain_mcp_http.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_http_interactive.pyi +16 -0
- aip_agents/examples/hello_world_langchain_mcp_http_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_multi_server.pyi +18 -0
- aip_agents/examples/hello_world_langchain_mcp_sse.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_sse_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_stdio.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_stdio_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain_stream_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_langflow_agent.pyi +35 -0
- aip_agents/examples/hello_world_langgraph.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_gl_connector_twitter.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_http.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_http_stream.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_sse.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_sse_stream.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_stdio.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_stream.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_stream_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_model_switch_cli.pyi +30 -0
- aip_agents/examples/hello_world_multi_agent_adk.pyi +6 -0
- aip_agents/examples/hello_world_multi_agent_langchain.pyi +5 -0
- aip_agents/examples/hello_world_multi_agent_langgraph.pyi +5 -0
- aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_pii_logger.pyi +5 -0
- aip_agents/examples/hello_world_ptc.pyi +5 -0
- aip_agents/examples/hello_world_sentry.pyi +21 -0
- aip_agents/examples/hello_world_step_limits.pyi +17 -0
- aip_agents/examples/hello_world_stock_a2a_server.pyi +17 -0
- aip_agents/examples/hello_world_tool_output_client.pyi +5 -0
- aip_agents/examples/hello_world_tool_output_server.pyi +19 -0
- aip_agents/examples/hitl_demo.pyi +67 -0
- aip_agents/examples/pii_demo_langgraph_client.pyi +5 -0
- aip_agents/examples/pii_demo_langgraph_server.pyi +20 -0
- aip_agents/examples/pii_demo_multi_agent_client.pyi +5 -0
- aip_agents/examples/pii_demo_multi_agent_server.pyi +40 -0
- aip_agents/examples/todolist_planning_a2a_langchain_client.pyi +5 -0
- aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi +19 -0
- aip_agents/examples/tools/__init__.pyi +9 -0
- aip_agents/examples/tools/adk_arithmetic_tools.pyi +24 -0
- aip_agents/examples/tools/adk_weather_tool.pyi +18 -0
- aip_agents/examples/tools/data_generator_tool.pyi +15 -0
- aip_agents/examples/tools/data_visualization_tool.pyi +19 -0
- aip_agents/examples/tools/image_artifact_tool.pyi +26 -0
- aip_agents/examples/tools/langchain_arithmetic_tools.pyi +17 -0
- aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +20 -0
- aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +25 -0
- aip_agents/examples/tools/langchain_weather_tool.pyi +19 -0
- aip_agents/examples/tools/langgraph_streaming_tool.pyi +43 -0
- aip_agents/examples/tools/mock_retrieval_tool.pyi +13 -0
- aip_agents/examples/tools/pii_demo_tools.pyi +54 -0
- aip_agents/examples/tools/random_chart_tool.pyi +20 -0
- aip_agents/examples/tools/serper_tool.pyi +16 -0
- aip_agents/examples/tools/stock_tools.pyi +36 -0
- aip_agents/examples/tools/table_generator_tool.pyi +22 -0
- aip_agents/examples/tools/time_tool.pyi +15 -0
- aip_agents/examples/tools/weather_forecast_tool.pyi +14 -0
- aip_agents/guardrails/__init__.pyi +6 -0
- aip_agents/guardrails/engines/__init__.pyi +4 -0
- aip_agents/guardrails/engines/base.pyi +61 -0
- aip_agents/guardrails/engines/nemo.pyi +46 -0
- aip_agents/guardrails/engines/phrase_matcher.pyi +48 -0
- aip_agents/guardrails/exceptions.pyi +23 -0
- aip_agents/guardrails/manager.pyi +42 -0
- aip_agents/guardrails/middleware.pyi +87 -0
- aip_agents/guardrails/schemas.pyi +43 -0
- aip_agents/guardrails/utils.pyi +19 -0
- aip_agents/mcp/__init__.pyi +0 -0
- aip_agents/mcp/client/__init__.pyi +5 -0
- aip_agents/mcp/client/base_mcp_client.pyi +148 -0
- aip_agents/mcp/client/connection_manager.pyi +51 -0
- aip_agents/mcp/client/google_adk/__init__.pyi +3 -0
- aip_agents/mcp/client/google_adk/client.pyi +75 -0
- aip_agents/mcp/client/langchain/__init__.pyi +3 -0
- aip_agents/mcp/client/langchain/client.pyi +48 -0
- aip_agents/mcp/client/persistent_session.pyi +122 -0
- aip_agents/mcp/client/session_pool.pyi +101 -0
- aip_agents/mcp/client/transports.pyi +132 -0
- aip_agents/mcp/utils/__init__.pyi +0 -0
- aip_agents/mcp/utils/config_validator.pyi +82 -0
- aip_agents/memory/__init__.pyi +5 -0
- aip_agents/memory/adapters/__init__.pyi +4 -0
- aip_agents/memory/adapters/base_adapter.pyi +150 -0
- aip_agents/memory/adapters/mem0.pyi +22 -0
- aip_agents/memory/base.pyi +60 -0
- aip_agents/memory/constants.pyi +25 -0
- aip_agents/memory/factory.pyi +24 -0
- aip_agents/memory/guidance.pyi +3 -0
- aip_agents/memory/simple_memory.pyi +23 -0
- aip_agents/middleware/__init__.pyi +5 -0
- aip_agents/middleware/base.pyi +75 -0
- aip_agents/middleware/manager.pyi +84 -0
- aip_agents/middleware/todolist.pyi +125 -0
- aip_agents/ptc/__init__.pyi +10 -0
- aip_agents/ptc/doc_gen.pyi +40 -0
- aip_agents/ptc/exceptions.pyi +22 -0
- aip_agents/ptc/executor.pyi +73 -0
- aip_agents/ptc/mcp/__init__.pyi +7 -0
- aip_agents/ptc/mcp/sandbox_bridge.pyi +47 -0
- aip_agents/ptc/mcp/templates/__init__.pyi +0 -0
- aip_agents/ptc/naming.pyi +76 -0
- aip_agents/ptc/payload.pyi +15 -0
- aip_agents/ptc/prompt_builder.pyi +55 -0
- aip_agents/ptc/ptc_helper.pyi +1 -0
- aip_agents/ptc/sandbox_bridge.pyi +25 -0
- aip_agents/ptc/template_utils.pyi +13 -0
- aip_agents/ptc/templates/__init__.pyi +0 -0
- aip_agents/sandbox/__init__.pyi +5 -0
- aip_agents/sandbox/defaults.pyi +2 -0
- aip_agents/sandbox/e2b_runtime.pyi +51 -0
- aip_agents/sandbox/template_builder.pyi +36 -0
- aip_agents/sandbox/types.pyi +14 -0
- aip_agents/sandbox/validation.pyi +20 -0
- aip_agents/schema/__init__.pyi +9 -0
- aip_agents/schema/a2a.pyi +40 -0
- aip_agents/schema/agent.pyi +65 -0
- aip_agents/schema/hitl.pyi +89 -0
- aip_agents/schema/langgraph.pyi +28 -0
- aip_agents/schema/model_id.pyi +54 -0
- aip_agents/schema/step_limit.pyi +63 -0
- aip_agents/schema/storage.pyi +21 -0
- aip_agents/sentry/__init__.pyi +3 -0
- aip_agents/sentry/sentry.pyi +48 -0
- aip_agents/storage/__init__.pyi +8 -0
- aip_agents/storage/base.pyi +58 -0
- aip_agents/storage/clients/__init__.pyi +3 -0
- aip_agents/storage/clients/minio_client.pyi +137 -0
- aip_agents/storage/config.pyi +29 -0
- aip_agents/storage/providers/__init__.pyi +5 -0
- aip_agents/storage/providers/base.pyi +88 -0
- aip_agents/storage/providers/memory.pyi +79 -0
- aip_agents/storage/providers/object_storage.pyi +98 -0
- aip_agents/tools/__init__.py +11 -2
- aip_agents/tools/__init__.pyi +11 -0
- aip_agents/tools/browser_use/__init__.pyi +14 -0
- aip_agents/tools/browser_use/action_parser.pyi +18 -0
- aip_agents/tools/browser_use/browser_use_tool.pyi +50 -0
- aip_agents/tools/browser_use/llm_config.pyi +52 -0
- aip_agents/tools/browser_use/minio_storage.pyi +109 -0
- aip_agents/tools/browser_use/schemas.pyi +32 -0
- aip_agents/tools/browser_use/session.pyi +4 -0
- aip_agents/tools/browser_use/session_errors.pyi +53 -0
- aip_agents/tools/browser_use/steel_session_recording.pyi +63 -0
- aip_agents/tools/browser_use/streaming.pyi +81 -0
- aip_agents/tools/browser_use/structured_data_parser.pyi +86 -0
- aip_agents/tools/browser_use/structured_data_recovery.pyi +43 -0
- aip_agents/tools/browser_use/types.pyi +45 -0
- aip_agents/tools/code_sandbox/__init__.pyi +3 -0
- aip_agents/tools/code_sandbox/constant.pyi +4 -0
- aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.pyi +102 -0
- aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +29 -0
- aip_agents/tools/constants.pyi +138 -0
- aip_agents/tools/date_range_tool.py +554 -0
- aip_agents/tools/date_range_tool.pyi +21 -0
- aip_agents/tools/document_loader/__init__.pyi +7 -0
- aip_agents/tools/document_loader/base_reader.pyi +75 -0
- aip_agents/tools/document_loader/docx_reader_tool.pyi +10 -0
- aip_agents/tools/document_loader/excel_reader_tool.pyi +26 -0
- aip_agents/tools/document_loader/pdf_reader_tool.pyi +11 -0
- aip_agents/tools/document_loader/pdf_splitter.pyi +18 -0
- aip_agents/tools/execute_ptc_code.pyi +90 -0
- aip_agents/tools/gl_connector/__init__.pyi +3 -0
- aip_agents/tools/gl_connector/tool.pyi +74 -0
- aip_agents/tools/gl_connector_tools.pyi +39 -0
- aip_agents/tools/memory_search/__init__.pyi +5 -0
- aip_agents/tools/memory_search/base.pyi +69 -0
- aip_agents/tools/memory_search/mem0.pyi +19 -0
- aip_agents/tools/memory_search/schema.pyi +15 -0
- aip_agents/tools/memory_search_tool.pyi +3 -0
- aip_agents/tools/time_tool.pyi +16 -0
- aip_agents/tools/tool_config_injector.pyi +26 -0
- aip_agents/tools/web_search/__init__.pyi +3 -0
- aip_agents/tools/web_search/serper_tool.pyi +19 -0
- aip_agents/types/__init__.pyi +36 -0
- aip_agents/types/a2a_events.pyi +3 -0
- aip_agents/utils/__init__.pyi +11 -0
- aip_agents/utils/a2a_connector.pyi +146 -0
- aip_agents/utils/artifact_helpers.pyi +203 -0
- aip_agents/utils/constants.pyi +10 -0
- aip_agents/utils/datetime/__init__.pyi +4 -0
- aip_agents/utils/datetime/normalization.pyi +95 -0
- aip_agents/utils/datetime/timezone.pyi +48 -0
- aip_agents/utils/env_loader.pyi +10 -0
- aip_agents/utils/event_handler_registry.pyi +23 -0
- aip_agents/utils/file_prompt_utils.pyi +21 -0
- aip_agents/utils/final_response_builder.pyi +34 -0
- aip_agents/utils/formatter_llm_client.pyi +71 -0
- aip_agents/utils/langgraph/__init__.pyi +3 -0
- aip_agents/utils/langgraph/converter.pyi +49 -0
- aip_agents/utils/langgraph/tool_managers/__init__.pyi +5 -0
- aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +35 -0
- aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi +48 -0
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +56 -0
- aip_agents/utils/langgraph/tool_output_management.pyi +329 -0
- aip_agents/utils/logger.pyi +60 -0
- aip_agents/utils/metadata/__init__.pyi +5 -0
- aip_agents/utils/metadata/activity_metadata_helper.pyi +25 -0
- aip_agents/utils/metadata/activity_narrative/__init__.pyi +7 -0
- aip_agents/utils/metadata/activity_narrative/builder.pyi +35 -0
- aip_agents/utils/metadata/activity_narrative/constants.pyi +10 -0
- aip_agents/utils/metadata/activity_narrative/context.pyi +32 -0
- aip_agents/utils/metadata/activity_narrative/formatters.pyi +48 -0
- aip_agents/utils/metadata/activity_narrative/utils.pyi +12 -0
- aip_agents/utils/metadata/schemas/__init__.pyi +4 -0
- aip_agents/utils/metadata/schemas/activity_schema.pyi +18 -0
- aip_agents/utils/metadata/schemas/thinking_schema.pyi +20 -0
- aip_agents/utils/metadata/thinking_metadata_helper.pyi +4 -0
- aip_agents/utils/metadata_helper.pyi +117 -0
- aip_agents/utils/name_preprocessor/__init__.pyi +6 -0
- aip_agents/utils/name_preprocessor/base_name_preprocessor.pyi +52 -0
- aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +38 -0
- aip_agents/utils/name_preprocessor/name_preprocessor.pyi +41 -0
- aip_agents/utils/name_preprocessor/openai_name_preprocessor.pyi +34 -0
- aip_agents/utils/pii/__init__.pyi +5 -0
- aip_agents/utils/pii/pii_handler.pyi +96 -0
- aip_agents/utils/pii/pii_helper.pyi +78 -0
- aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi +73 -0
- aip_agents/utils/reference_helper.pyi +81 -0
- aip_agents/utils/sse_chunk_transformer.pyi +166 -0
- aip_agents/utils/step_limit_manager.pyi +112 -0
- aip_agents/utils/token_usage_helper.pyi +60 -0
- {aip_agents_binary-0.6.2.dist-info → aip_agents_binary-0.6.3.dist-info}/METADATA +2 -1
- {aip_agents_binary-0.6.2.dist-info → aip_agents_binary-0.6.3.dist-info}/RECORD +305 -5
- {aip_agents_binary-0.6.2.dist-info → aip_agents_binary-0.6.3.dist-info}/WHEEL +0 -0
- {aip_agents_binary-0.6.2.dist-info → aip_agents_binary-0.6.3.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.tools.code_sandbox.constant import DATA_FILE_PATH as DATA_FILE_PATH
|
|
3
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
4
|
+
from gllm_inference.schema import Attachment as Attachment
|
|
5
|
+
from gllm_tools.code_interpreter.code_sandbox.e2b_sandbox import E2BSandbox
|
|
6
|
+
from gllm_tools.code_interpreter.code_sandbox.models import ExecutionResult
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
logger: Incomplete
|
|
10
|
+
|
|
11
|
+
class SandboxFileWatcher:
|
|
12
|
+
"""File watcher for monitoring file creation in sandbox environments."""
|
|
13
|
+
sandbox: Incomplete
|
|
14
|
+
def __init__(self, sandbox: Any) -> None:
|
|
15
|
+
"""Initialize the file watcher with a sandbox instance.
|
|
16
|
+
|
|
17
|
+
Args:
|
|
18
|
+
sandbox (Any): The sandbox instance to monitor.
|
|
19
|
+
"""
|
|
20
|
+
def setup_monitoring(self) -> None:
|
|
21
|
+
"""Set up filesystem watchers for monitoring file creation.
|
|
22
|
+
|
|
23
|
+
Note: /tmp/output is a sandbox-isolated directory, not a shared system /tmp.
|
|
24
|
+
This directory is scoped to the E2B sandbox instance and is safe for use.
|
|
25
|
+
"""
|
|
26
|
+
async def process_events(self) -> None:
|
|
27
|
+
"""Process filesystem events from watchers and update created files list."""
|
|
28
|
+
def reset_created_files(self) -> None:
|
|
29
|
+
"""Reset the list of created files."""
|
|
30
|
+
def get_created_files(self) -> list[str]:
|
|
31
|
+
"""Get the list of files created during monitoring.
|
|
32
|
+
|
|
33
|
+
Returns:
|
|
34
|
+
list[str]: List of file paths that were created.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
class MyE2BCloudSandbox(E2BSandbox):
|
|
38
|
+
"""Extended E2B sandbox with filesystem monitoring capabilities.
|
|
39
|
+
|
|
40
|
+
Use `create()` in production to build a fully initialized sandbox wrapper.
|
|
41
|
+
Direct construction is intentionally blocked to prevent partially initialized
|
|
42
|
+
instances that lack the underlying E2B sandbox clients.
|
|
43
|
+
"""
|
|
44
|
+
file_watcher: SandboxFileWatcher | None
|
|
45
|
+
def __init__(self, language: str = 'python', *, _unsafe_allow_init: bool = False) -> None:
|
|
46
|
+
"""Initialize the sandbox wrapper.
|
|
47
|
+
|
|
48
|
+
Args:
|
|
49
|
+
language (str): Language to execute inside the sandbox.
|
|
50
|
+
_unsafe_allow_init (bool): Escape hatch for tests/mocks only.
|
|
51
|
+
|
|
52
|
+
Raises:
|
|
53
|
+
RuntimeError: When instantiated directly without `create()`.
|
|
54
|
+
"""
|
|
55
|
+
@classmethod
|
|
56
|
+
async def create(cls, api_key: str, domain: str | None = None, template: str | None = None, language: str = 'python', additional_packages: list[str] | None = None, **kwargs: Any) -> MyE2BCloudSandbox:
|
|
57
|
+
"""Create a fully initialized sandbox wrapper.
|
|
58
|
+
|
|
59
|
+
This is the supported construction path for production usage. It wires
|
|
60
|
+
the E2B sandbox instance and its filesystem/command clients, then
|
|
61
|
+
installs language dependencies.
|
|
62
|
+
"""
|
|
63
|
+
async def execute_code(self, code: str, timeout: int = 30, files: list[Attachment] | None = None, **kwargs: Any) -> ExecutionResult:
|
|
64
|
+
"""Execute code in the E2B Cloud sandbox with filesystem monitoring.
|
|
65
|
+
|
|
66
|
+
This override fixes the Pydantic validation error by ensuring execution.error
|
|
67
|
+
is converted to string. Always enables filesystem monitoring to track
|
|
68
|
+
created files.
|
|
69
|
+
|
|
70
|
+
Args:
|
|
71
|
+
code (str): The code to execute.
|
|
72
|
+
timeout (int, optional): Maximum execution time in seconds. Defaults to 30.
|
|
73
|
+
files (list[Attachment] | None, optional): List of Attachment objects with file details. Defaults to None.
|
|
74
|
+
**kwargs (Any): Additional execution parameters.
|
|
75
|
+
|
|
76
|
+
Returns:
|
|
77
|
+
ExecutionResult: Structured result of the execution.
|
|
78
|
+
|
|
79
|
+
Raises:
|
|
80
|
+
RuntimeError: If sandbox is not initialized.
|
|
81
|
+
"""
|
|
82
|
+
def get_created_files(self) -> list[str]:
|
|
83
|
+
"""Get the list of files created during the last monitored execution.
|
|
84
|
+
|
|
85
|
+
Returns:
|
|
86
|
+
list[str]: List of file paths that were created.
|
|
87
|
+
"""
|
|
88
|
+
def download_file(self, file_path: str) -> bytes | None:
|
|
89
|
+
"""Download file content from the sandbox.
|
|
90
|
+
|
|
91
|
+
Uses download_url when available to avoid binary corruption issues.
|
|
92
|
+
Falls back to the filesystem API when download_url fails or is unavailable.
|
|
93
|
+
|
|
94
|
+
Args:
|
|
95
|
+
file_path (str): Path to the file in the sandbox.
|
|
96
|
+
|
|
97
|
+
Returns:
|
|
98
|
+
bytes | None: File content as bytes, or None if download fails.
|
|
99
|
+
|
|
100
|
+
Raises:
|
|
101
|
+
RuntimeError: If sandbox is not initialized.
|
|
102
|
+
"""
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.a2a.types import get_mime_type_from_filename as get_mime_type_from_filename
|
|
3
|
+
from aip_agents.tools.code_sandbox.constant import DATA_FILE_NAME as DATA_FILE_NAME
|
|
4
|
+
from aip_agents.tools.code_sandbox.e2b_cloud_sandbox_extended import MyE2BCloudSandbox as MyE2BCloudSandbox
|
|
5
|
+
from aip_agents.utils.artifact_helpers import ArtifactHandler as ArtifactHandler, create_multiple_artifacts_response as create_multiple_artifacts_response
|
|
6
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
7
|
+
from langchain_core.tools import BaseTool
|
|
8
|
+
from pydantic import BaseModel
|
|
9
|
+
from typing import Any
|
|
10
|
+
|
|
11
|
+
logger: Incomplete
|
|
12
|
+
|
|
13
|
+
class E2BCodeSandboxInput(BaseModel):
|
|
14
|
+
"""Input schema for the E2BCodeSandboxTool."""
|
|
15
|
+
code: str
|
|
16
|
+
data_source: str | list[dict[str, Any]] | None
|
|
17
|
+
timeout: int
|
|
18
|
+
language: str
|
|
19
|
+
additional_packages: list[str] | None
|
|
20
|
+
|
|
21
|
+
class E2BCodeSandboxTool(BaseTool):
|
|
22
|
+
"""Tool to execute Python code in E2B Cloud Sandbox."""
|
|
23
|
+
name: str
|
|
24
|
+
description: str
|
|
25
|
+
save_output_history: bool
|
|
26
|
+
args_schema: type[BaseModel]
|
|
27
|
+
api_key: str
|
|
28
|
+
default_additional_packages: list[str]
|
|
29
|
+
store_final_output: bool
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from enum import Enum, StrEnum
|
|
3
|
+
|
|
4
|
+
GL_CONNECTORS_BASE_URL: Incomplete
|
|
5
|
+
GL_CONNECTORS_API_KEY: Incomplete
|
|
6
|
+
GL_CONNECTORS_FETCH_MAX_RETRIES: Incomplete
|
|
7
|
+
BOSA_API_BASE_URL = GL_CONNECTORS_BASE_URL
|
|
8
|
+
BOSA_API_KEY = GL_CONNECTORS_API_KEY
|
|
9
|
+
BOSA_FETCH_MAX_RETRIES = GL_CONNECTORS_FETCH_MAX_RETRIES
|
|
10
|
+
|
|
11
|
+
class ToolType(StrEnum):
|
|
12
|
+
"""Tool types for GL Connectors."""
|
|
13
|
+
GLLM: str
|
|
14
|
+
LANGCHAIN: str
|
|
15
|
+
|
|
16
|
+
class Action(Enum):
|
|
17
|
+
"""Actions for GL Connectors."""
|
|
18
|
+
GITHUB: str
|
|
19
|
+
GOOGLE: str
|
|
20
|
+
GOOGLE_DRIVE: str
|
|
21
|
+
GOOGLE_MAIL: str
|
|
22
|
+
TWITTER: str
|
|
23
|
+
|
|
24
|
+
class GitHubEndpoint(Enum):
|
|
25
|
+
"""GitHub endpoints for GL Connectors."""
|
|
26
|
+
INTEGRATIONS: str
|
|
27
|
+
USER_HAS_INTEGRATION: str
|
|
28
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
29
|
+
CREATE_ISSUE_HANDLER: str
|
|
30
|
+
GET_ISSUE_HANDLER: str
|
|
31
|
+
LIST_ISSUES: str
|
|
32
|
+
LIST_ISSUES_COMMENTS: str
|
|
33
|
+
SEARCH_ALL_ISSUES: str
|
|
34
|
+
GET_COMMITS: str
|
|
35
|
+
SEARCH_COMMITS: str
|
|
36
|
+
GET_COLLABORATORS: str
|
|
37
|
+
GET_RELEASES: str
|
|
38
|
+
GET_CONTRIBUTORS: str
|
|
39
|
+
GET_LANGUAGES: str
|
|
40
|
+
SEARCH_CONTRIBUTIONS: str
|
|
41
|
+
LIST_PULL_REQUESTS: str
|
|
42
|
+
SEARCH_PR: str
|
|
43
|
+
GET_PULL: str
|
|
44
|
+
GET_ALL_CONTRIBUTOR_COMMIT_ACTIVITIES: str
|
|
45
|
+
GET_COMMIT_ACTIVITY: str
|
|
46
|
+
GET_WEEKLY_COMMIT_COUNTS: str
|
|
47
|
+
GET_USER_CONTRIBUTION_STATISTICS: str
|
|
48
|
+
LIST_PROJECT_ITEMS: str
|
|
49
|
+
LIST_PROJECTS: str
|
|
50
|
+
|
|
51
|
+
class GoogleDriveEndpoint(Enum):
|
|
52
|
+
"""Google Drive endpoints for GL Connectors."""
|
|
53
|
+
INTEGRATIONS: str
|
|
54
|
+
USER_HAS_INTEGRATION: str
|
|
55
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
56
|
+
SEARCH_FILES: str
|
|
57
|
+
GET_FILE: str
|
|
58
|
+
CREATE_FILE: str
|
|
59
|
+
CREATE_FOLDER: str
|
|
60
|
+
UPDATE_FILE: str
|
|
61
|
+
UPDATE_FOLDER: str
|
|
62
|
+
COPY_FILE: str
|
|
63
|
+
DELETE_FILE: str
|
|
64
|
+
SUMMARIZE_FOLDER_FILES_BY_TYPE: str
|
|
65
|
+
SUMMARIZE_TOTAL_FILES_BY_TYPE: str
|
|
66
|
+
RECENT_FILES: str
|
|
67
|
+
CREATE_PERMISSION: str
|
|
68
|
+
LIST_PERMISSIONS: str
|
|
69
|
+
GET_PERMISSION: str
|
|
70
|
+
UPDATE_PERMISSION: str
|
|
71
|
+
DELETE_PERMISSION: str
|
|
72
|
+
DOWNLOAD_FILE: str
|
|
73
|
+
|
|
74
|
+
class GoogleDocsEndpoint(Enum):
|
|
75
|
+
"""Google Docs endpoints for GL Connectors."""
|
|
76
|
+
INTEGRATIONS: str
|
|
77
|
+
USER_HAS_INTEGRATION: str
|
|
78
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
79
|
+
GET_DOCUMENT: str
|
|
80
|
+
LIST_DOCUMENTS: str
|
|
81
|
+
CREATE_DOCUMENT: str
|
|
82
|
+
UPDATE_DOCUMENT: str
|
|
83
|
+
COPY_CONTENT: str
|
|
84
|
+
UPDATE_DOCUMENT_MARKDOWN: str
|
|
85
|
+
LIST_COMMENTS: str
|
|
86
|
+
SUMMARIZE_COMMENTS: str
|
|
87
|
+
|
|
88
|
+
class GoogleEndpoint(Enum):
|
|
89
|
+
"""Google endpoints for GL Connectors."""
|
|
90
|
+
INTEGRATIONS: str
|
|
91
|
+
USER_HAS_INTEGRATION: str
|
|
92
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
93
|
+
USERINFO: str
|
|
94
|
+
|
|
95
|
+
class TwitterEndpoint(Enum):
|
|
96
|
+
"""Twitter endpoints for GL Connectors."""
|
|
97
|
+
INTEGRATIONS: str
|
|
98
|
+
USER_HAS_INTEGRATION: str
|
|
99
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
100
|
+
SEARCH: str
|
|
101
|
+
GET_TWEETS: str
|
|
102
|
+
GET_THREAD: str
|
|
103
|
+
GET_USERS: str
|
|
104
|
+
|
|
105
|
+
class GoogleMailEndpoint(Enum):
|
|
106
|
+
"""Google Mail endpoints for GL Connectors."""
|
|
107
|
+
INTEGRATIONS: str
|
|
108
|
+
USER_HAS_INTEGRATION: str
|
|
109
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
110
|
+
CREATE_DRAFT: str
|
|
111
|
+
LIST_DRAFTS: str
|
|
112
|
+
SEND_DRAFT: str
|
|
113
|
+
GET_DRAFT: str
|
|
114
|
+
MODIFY_DRAFT: str
|
|
115
|
+
LIST_LABELS: str
|
|
116
|
+
LABEL_STATS: str
|
|
117
|
+
GET_LABEL_DETAILS: str
|
|
118
|
+
CREATE_LABELS: str
|
|
119
|
+
MODIFY_LABELS: str
|
|
120
|
+
DELETE_LABELS: str
|
|
121
|
+
SEND_EMAIL: str
|
|
122
|
+
LIST_EMAILS: str
|
|
123
|
+
GET_EMAIL_DETAILS: str
|
|
124
|
+
MODIFY_EMAIL: str
|
|
125
|
+
DELETE_EMAIL: str
|
|
126
|
+
TRASH_EMAIL: str
|
|
127
|
+
UNTRASH_EMAIL: str
|
|
128
|
+
LIST_THREADS: str
|
|
129
|
+
THREAD_DETAILS: str
|
|
130
|
+
MODIFY_THREAD: str
|
|
131
|
+
GET_AUTO_REPLY: str
|
|
132
|
+
SET_AUTO_REPLY: str
|
|
133
|
+
GET_ATTACHMENT: str
|
|
134
|
+
USERINFO: str
|
|
135
|
+
|
|
136
|
+
class ActionEndpointMap:
|
|
137
|
+
"""Maps Action enums to their corresponding Endpoint enums."""
|
|
138
|
+
MAP: dict[Action, type[Enum]]
|