aip-agents-binary 0.6.3__py3-none-any.whl → 0.6.5__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/agent/__init__.py +44 -4
- aip_agents/agent/base_langgraph_agent.py +26 -6
- aip_agents/agent/langgraph_memory_enhancer_agent.py +368 -34
- aip_agents/agent/langgraph_react_agent.py +30 -6
- aip_agents/mcp/client/__init__.py +38 -2
- aip_agents/mcp/client/transports.py +5 -1
- aip_agents/memory/adapters/base_adapter.py +94 -0
- aip_agents/sentry/sentry.py +29 -8
- aip_agents/tools/memory_search/__init__.py +8 -1
- aip_agents/tools/memory_search/mem0.py +108 -1
- aip_agents/tools/memory_search/schema.py +33 -0
- aip_agents/tools/memory_search_tool.py +8 -0
- {aip_agents_binary-0.6.3.dist-info → aip_agents_binary-0.6.5.dist-info}/METADATA +4 -16
- aip_agents_binary-0.6.5.dist-info/RECORD +314 -0
- aip_agents/__init__.pyi +0 -19
- aip_agents/a2a/__init__.pyi +0 -3
- aip_agents/a2a/server/__init__.pyi +0 -4
- aip_agents/a2a/server/base_executor.pyi +0 -73
- aip_agents/a2a/server/google_adk_executor.pyi +0 -51
- aip_agents/a2a/server/langflow_executor.pyi +0 -43
- aip_agents/a2a/server/langgraph_executor.pyi +0 -47
- aip_agents/a2a/types.pyi +0 -132
- aip_agents/agent/__init__.pyi +0 -9
- aip_agents/agent/base_agent.pyi +0 -221
- aip_agents/agent/base_langgraph_agent.pyi +0 -233
- aip_agents/agent/google_adk_agent.pyi +0 -141
- aip_agents/agent/google_adk_constants.pyi +0 -3
- aip_agents/agent/hitl/__init__.pyi +0 -6
- aip_agents/agent/hitl/config.pyi +0 -15
- aip_agents/agent/hitl/langgraph_hitl_mixin.pyi +0 -42
- aip_agents/agent/hitl/manager.pyi +0 -200
- aip_agents/agent/hitl/models.pyi +0 -3
- aip_agents/agent/hitl/prompt/__init__.pyi +0 -4
- aip_agents/agent/hitl/prompt/base.pyi +0 -24
- aip_agents/agent/hitl/prompt/deferred.pyi +0 -30
- aip_agents/agent/hitl/registry.pyi +0 -101
- aip_agents/agent/interface.pyi +0 -81
- aip_agents/agent/interfaces.pyi +0 -44
- aip_agents/agent/langflow_agent.pyi +0 -133
- aip_agents/agent/langgraph_memory_enhancer_agent.pyi +0 -49
- aip_agents/agent/langgraph_react_agent.pyi +0 -170
- aip_agents/agent/system_instruction_context.pyi +0 -13
- aip_agents/clients/__init__.pyi +0 -4
- aip_agents/clients/langflow/__init__.pyi +0 -4
- aip_agents/clients/langflow/client.pyi +0 -140
- aip_agents/clients/langflow/types.pyi +0 -7
- aip_agents/constants.pyi +0 -7
- aip_agents/examples/__init__.pyi +0 -0
- aip_agents/examples/compare_streaming_client.pyi +0 -48
- aip_agents/examples/compare_streaming_server.pyi +0 -18
- aip_agents/examples/demo_memory_recall.py +0 -401
- aip_agents/examples/demo_memory_recall.pyi +0 -58
- aip_agents/examples/hello_world_a2a_google_adk_client.pyi +0 -9
- aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +0 -9
- aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +0 -9
- aip_agents/examples/hello_world_a2a_google_adk_server.pyi +0 -15
- aip_agents/examples/hello_world_a2a_langchain_client.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +0 -15
- aip_agents/examples/hello_world_a2a_langchain_server.pyi +0 -15
- aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +0 -15
- aip_agents/examples/hello_world_a2a_langflow_client.pyi +0 -9
- aip_agents/examples/hello_world_a2a_langflow_server.pyi +0 -14
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +0 -16
- aip_agents/examples/hello_world_a2a_langgraph_client.pyi +0 -9
- aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +0 -9
- aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +0 -2
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +0 -9
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langgraph_server.pyi +0 -14
- aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +0 -15
- aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +0 -15
- aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +0 -48
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +0 -48
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +0 -45
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +0 -5
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +0 -15
- aip_agents/examples/hello_world_google_adk.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_http.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_http_stream.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_sse.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_sse_stream.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_stdio.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain.pyi +0 -5
- aip_agents/examples/hello_world_langchain_lm_invoker.pyi +0 -2
- aip_agents/examples/hello_world_langchain_mcp_http.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_http_interactive.pyi +0 -16
- aip_agents/examples/hello_world_langchain_mcp_http_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_multi_server.pyi +0 -18
- aip_agents/examples/hello_world_langchain_mcp_sse.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_sse_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_stdio.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_stdio_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain_stream_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_langflow_agent.pyi +0 -35
- aip_agents/examples/hello_world_langgraph.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_gl_connector_twitter.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_http.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_http_stream.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_sse.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_sse_stream.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_stdio.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_stream.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_stream_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_model_switch_cli.pyi +0 -30
- aip_agents/examples/hello_world_multi_agent_adk.pyi +0 -6
- aip_agents/examples/hello_world_multi_agent_langchain.pyi +0 -5
- aip_agents/examples/hello_world_multi_agent_langgraph.pyi +0 -5
- aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_pii_logger.pyi +0 -5
- aip_agents/examples/hello_world_ptc.pyi +0 -5
- aip_agents/examples/hello_world_sentry.pyi +0 -21
- aip_agents/examples/hello_world_step_limits.pyi +0 -17
- aip_agents/examples/hello_world_stock_a2a_server.pyi +0 -17
- aip_agents/examples/hello_world_tool_output_client.pyi +0 -5
- aip_agents/examples/hello_world_tool_output_server.pyi +0 -19
- aip_agents/examples/hitl_demo.pyi +0 -67
- aip_agents/examples/pii_demo_langgraph_client.pyi +0 -5
- aip_agents/examples/pii_demo_langgraph_server.pyi +0 -20
- aip_agents/examples/pii_demo_multi_agent_client.pyi +0 -5
- aip_agents/examples/pii_demo_multi_agent_server.pyi +0 -40
- aip_agents/examples/todolist_planning_a2a_langchain_client.pyi +0 -5
- aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi +0 -19
- aip_agents/examples/tools/__init__.pyi +0 -9
- aip_agents/examples/tools/adk_arithmetic_tools.pyi +0 -24
- aip_agents/examples/tools/adk_weather_tool.pyi +0 -18
- aip_agents/examples/tools/data_generator_tool.pyi +0 -15
- aip_agents/examples/tools/data_visualization_tool.pyi +0 -19
- aip_agents/examples/tools/image_artifact_tool.pyi +0 -26
- aip_agents/examples/tools/langchain_arithmetic_tools.pyi +0 -17
- aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +0 -20
- aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +0 -25
- aip_agents/examples/tools/langchain_weather_tool.pyi +0 -19
- aip_agents/examples/tools/langgraph_streaming_tool.pyi +0 -43
- aip_agents/examples/tools/mock_retrieval_tool.pyi +0 -13
- aip_agents/examples/tools/pii_demo_tools.pyi +0 -54
- aip_agents/examples/tools/random_chart_tool.pyi +0 -20
- aip_agents/examples/tools/serper_tool.pyi +0 -16
- aip_agents/examples/tools/stock_tools.pyi +0 -36
- aip_agents/examples/tools/table_generator_tool.pyi +0 -22
- aip_agents/examples/tools/time_tool.pyi +0 -15
- aip_agents/examples/tools/weather_forecast_tool.pyi +0 -14
- aip_agents/guardrails/__init__.pyi +0 -6
- aip_agents/guardrails/engines/__init__.pyi +0 -4
- aip_agents/guardrails/engines/base.pyi +0 -61
- aip_agents/guardrails/engines/nemo.pyi +0 -46
- aip_agents/guardrails/engines/phrase_matcher.pyi +0 -48
- aip_agents/guardrails/exceptions.pyi +0 -23
- aip_agents/guardrails/manager.pyi +0 -42
- aip_agents/guardrails/middleware.pyi +0 -87
- aip_agents/guardrails/schemas.pyi +0 -43
- aip_agents/guardrails/utils.pyi +0 -19
- aip_agents/mcp/__init__.pyi +0 -0
- aip_agents/mcp/client/__init__.pyi +0 -5
- aip_agents/mcp/client/base_mcp_client.pyi +0 -148
- aip_agents/mcp/client/connection_manager.pyi +0 -51
- aip_agents/mcp/client/google_adk/__init__.pyi +0 -3
- aip_agents/mcp/client/google_adk/client.pyi +0 -75
- aip_agents/mcp/client/langchain/__init__.pyi +0 -3
- aip_agents/mcp/client/langchain/client.pyi +0 -48
- aip_agents/mcp/client/persistent_session.pyi +0 -122
- aip_agents/mcp/client/session_pool.pyi +0 -101
- aip_agents/mcp/client/transports.pyi +0 -132
- aip_agents/mcp/utils/__init__.pyi +0 -0
- aip_agents/mcp/utils/config_validator.pyi +0 -82
- aip_agents/memory/__init__.pyi +0 -5
- aip_agents/memory/adapters/__init__.pyi +0 -4
- aip_agents/memory/adapters/base_adapter.pyi +0 -150
- aip_agents/memory/adapters/mem0.pyi +0 -22
- aip_agents/memory/base.pyi +0 -60
- aip_agents/memory/constants.pyi +0 -25
- aip_agents/memory/factory.pyi +0 -24
- aip_agents/memory/guidance.pyi +0 -3
- aip_agents/memory/simple_memory.pyi +0 -23
- aip_agents/middleware/__init__.pyi +0 -5
- aip_agents/middleware/base.pyi +0 -75
- aip_agents/middleware/manager.pyi +0 -84
- aip_agents/middleware/todolist.pyi +0 -125
- aip_agents/ptc/__init__.pyi +0 -10
- aip_agents/ptc/doc_gen.pyi +0 -40
- aip_agents/ptc/exceptions.pyi +0 -22
- aip_agents/ptc/executor.pyi +0 -73
- aip_agents/ptc/mcp/__init__.pyi +0 -7
- aip_agents/ptc/mcp/sandbox_bridge.pyi +0 -47
- aip_agents/ptc/mcp/templates/__init__.pyi +0 -0
- aip_agents/ptc/naming.pyi +0 -76
- aip_agents/ptc/payload.pyi +0 -15
- aip_agents/ptc/prompt_builder.pyi +0 -55
- aip_agents/ptc/ptc_helper.pyi +0 -1
- aip_agents/ptc/sandbox_bridge.pyi +0 -25
- aip_agents/ptc/template_utils.pyi +0 -13
- aip_agents/ptc/templates/__init__.pyi +0 -0
- aip_agents/sandbox/__init__.pyi +0 -5
- aip_agents/sandbox/defaults.pyi +0 -2
- aip_agents/sandbox/e2b_runtime.pyi +0 -51
- aip_agents/sandbox/template_builder.pyi +0 -36
- aip_agents/sandbox/types.pyi +0 -14
- aip_agents/sandbox/validation.pyi +0 -20
- aip_agents/schema/__init__.pyi +0 -9
- aip_agents/schema/a2a.pyi +0 -40
- aip_agents/schema/agent.pyi +0 -65
- aip_agents/schema/hitl.pyi +0 -89
- aip_agents/schema/langgraph.pyi +0 -28
- aip_agents/schema/model_id.pyi +0 -54
- aip_agents/schema/step_limit.pyi +0 -63
- aip_agents/schema/storage.pyi +0 -21
- aip_agents/sentry/__init__.pyi +0 -3
- aip_agents/sentry/sentry.pyi +0 -48
- aip_agents/storage/__init__.pyi +0 -8
- aip_agents/storage/base.pyi +0 -58
- aip_agents/storage/clients/__init__.pyi +0 -3
- aip_agents/storage/clients/minio_client.pyi +0 -137
- aip_agents/storage/config.pyi +0 -29
- aip_agents/storage/providers/__init__.pyi +0 -5
- aip_agents/storage/providers/base.pyi +0 -88
- aip_agents/storage/providers/memory.pyi +0 -79
- aip_agents/storage/providers/object_storage.pyi +0 -98
- aip_agents/tools/__init__.pyi +0 -11
- aip_agents/tools/browser_use/__init__.pyi +0 -14
- aip_agents/tools/browser_use/action_parser.pyi +0 -18
- aip_agents/tools/browser_use/browser_use_tool.pyi +0 -50
- aip_agents/tools/browser_use/llm_config.pyi +0 -52
- aip_agents/tools/browser_use/minio_storage.pyi +0 -109
- aip_agents/tools/browser_use/schemas.pyi +0 -32
- aip_agents/tools/browser_use/session.pyi +0 -4
- aip_agents/tools/browser_use/session_errors.pyi +0 -53
- aip_agents/tools/browser_use/steel_session_recording.pyi +0 -63
- aip_agents/tools/browser_use/streaming.pyi +0 -81
- aip_agents/tools/browser_use/structured_data_parser.pyi +0 -86
- aip_agents/tools/browser_use/structured_data_recovery.pyi +0 -43
- aip_agents/tools/browser_use/types.pyi +0 -45
- aip_agents/tools/code_sandbox/__init__.pyi +0 -3
- aip_agents/tools/code_sandbox/constant.pyi +0 -4
- aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.pyi +0 -102
- aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +0 -29
- aip_agents/tools/constants.pyi +0 -138
- aip_agents/tools/date_range_tool.pyi +0 -21
- aip_agents/tools/document_loader/__init__.pyi +0 -7
- aip_agents/tools/document_loader/base_reader.pyi +0 -75
- aip_agents/tools/document_loader/docx_reader_tool.pyi +0 -10
- aip_agents/tools/document_loader/excel_reader_tool.pyi +0 -26
- aip_agents/tools/document_loader/pdf_reader_tool.pyi +0 -11
- aip_agents/tools/document_loader/pdf_splitter.pyi +0 -18
- aip_agents/tools/execute_ptc_code.pyi +0 -90
- aip_agents/tools/gl_connector/__init__.pyi +0 -3
- aip_agents/tools/gl_connector/tool.pyi +0 -74
- aip_agents/tools/gl_connector_tools.pyi +0 -39
- aip_agents/tools/memory_search/__init__.pyi +0 -5
- aip_agents/tools/memory_search/base.pyi +0 -69
- aip_agents/tools/memory_search/mem0.pyi +0 -19
- aip_agents/tools/memory_search/schema.pyi +0 -15
- aip_agents/tools/memory_search_tool.pyi +0 -3
- aip_agents/tools/time_tool.pyi +0 -16
- aip_agents/tools/tool_config_injector.pyi +0 -26
- aip_agents/tools/web_search/__init__.pyi +0 -3
- aip_agents/tools/web_search/serper_tool.pyi +0 -19
- aip_agents/types/__init__.pyi +0 -36
- aip_agents/types/a2a_events.pyi +0 -3
- aip_agents/utils/__init__.pyi +0 -11
- aip_agents/utils/a2a_connector.pyi +0 -146
- aip_agents/utils/artifact_helpers.pyi +0 -203
- aip_agents/utils/constants.pyi +0 -10
- aip_agents/utils/datetime/__init__.pyi +0 -4
- aip_agents/utils/datetime/normalization.pyi +0 -95
- aip_agents/utils/datetime/timezone.pyi +0 -48
- aip_agents/utils/env_loader.pyi +0 -10
- aip_agents/utils/event_handler_registry.pyi +0 -23
- aip_agents/utils/file_prompt_utils.pyi +0 -21
- aip_agents/utils/final_response_builder.pyi +0 -34
- aip_agents/utils/formatter_llm_client.pyi +0 -71
- aip_agents/utils/langgraph/__init__.pyi +0 -3
- aip_agents/utils/langgraph/converter.pyi +0 -49
- aip_agents/utils/langgraph/tool_managers/__init__.pyi +0 -5
- aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +0 -35
- aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi +0 -48
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +0 -56
- aip_agents/utils/langgraph/tool_output_management.pyi +0 -329
- aip_agents/utils/logger.pyi +0 -60
- aip_agents/utils/metadata/__init__.pyi +0 -5
- aip_agents/utils/metadata/activity_metadata_helper.pyi +0 -25
- aip_agents/utils/metadata/activity_narrative/__init__.pyi +0 -7
- aip_agents/utils/metadata/activity_narrative/builder.pyi +0 -35
- aip_agents/utils/metadata/activity_narrative/constants.pyi +0 -10
- aip_agents/utils/metadata/activity_narrative/context.pyi +0 -32
- aip_agents/utils/metadata/activity_narrative/formatters.pyi +0 -48
- aip_agents/utils/metadata/activity_narrative/utils.pyi +0 -12
- aip_agents/utils/metadata/schemas/__init__.pyi +0 -4
- aip_agents/utils/metadata/schemas/activity_schema.pyi +0 -18
- aip_agents/utils/metadata/schemas/thinking_schema.pyi +0 -20
- aip_agents/utils/metadata/thinking_metadata_helper.pyi +0 -4
- aip_agents/utils/metadata_helper.pyi +0 -117
- aip_agents/utils/name_preprocessor/__init__.pyi +0 -6
- aip_agents/utils/name_preprocessor/base_name_preprocessor.pyi +0 -52
- aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +0 -38
- aip_agents/utils/name_preprocessor/name_preprocessor.pyi +0 -41
- aip_agents/utils/name_preprocessor/openai_name_preprocessor.pyi +0 -34
- aip_agents/utils/pii/__init__.pyi +0 -5
- aip_agents/utils/pii/pii_handler.pyi +0 -96
- aip_agents/utils/pii/pii_helper.pyi +0 -78
- aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi +0 -73
- aip_agents/utils/reference_helper.pyi +0 -81
- aip_agents/utils/sse_chunk_transformer.pyi +0 -166
- aip_agents/utils/step_limit_manager.pyi +0 -112
- aip_agents/utils/token_usage_helper.pyi +0 -60
- aip_agents_binary-0.6.3.dist-info/RECORD +0 -614
- {aip_agents_binary-0.6.3.dist-info → aip_agents_binary-0.6.5.dist-info}/WHEEL +0 -0
- {aip_agents_binary-0.6.3.dist-info → aip_agents_binary-0.6.5.dist-info}/top_level.txt +0 -0
aip_agents/ptc/exceptions.pyi
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
|
|
3
|
-
class PTCError(Exception):
|
|
4
|
-
"""Base exception for PTC errors."""
|
|
5
|
-
|
|
6
|
-
class PTCToolError(PTCError):
|
|
7
|
-
"""Error during tool execution.
|
|
8
|
-
|
|
9
|
-
Attributes:
|
|
10
|
-
server_name: The MCP server where the error occurred.
|
|
11
|
-
tool_name: The tool that failed.
|
|
12
|
-
"""
|
|
13
|
-
server_name: Incomplete
|
|
14
|
-
tool_name: Incomplete
|
|
15
|
-
def __init__(self, message: str, server_name: str | None = None, tool_name: str | None = None) -> None:
|
|
16
|
-
"""Initialize PTCToolError.
|
|
17
|
-
|
|
18
|
-
Args:
|
|
19
|
-
message: Error message.
|
|
20
|
-
server_name: The MCP server name (optional).
|
|
21
|
-
tool_name: The tool name (optional).
|
|
22
|
-
"""
|
aip_agents/ptc/executor.pyi
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.mcp.client.base_mcp_client import BaseMCPClient as BaseMCPClient
|
|
3
|
-
from aip_agents.ptc.exceptions import PTCToolError as PTCToolError
|
|
4
|
-
from aip_agents.ptc.prompt_builder import PromptConfig as PromptConfig
|
|
5
|
-
from aip_agents.ptc.sandbox_bridge import build_sandbox_payload as build_sandbox_payload, wrap_ptc_code as wrap_ptc_code
|
|
6
|
-
from aip_agents.sandbox.defaults import DEFAULT_PTC_PACKAGES as DEFAULT_PTC_PACKAGES, DEFAULT_PTC_TEMPLATE as DEFAULT_PTC_TEMPLATE
|
|
7
|
-
from aip_agents.sandbox.e2b_runtime import E2BSandboxRuntime as E2BSandboxRuntime
|
|
8
|
-
from aip_agents.sandbox.types import SandboxExecutionResult as SandboxExecutionResult
|
|
9
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
10
|
-
from dataclasses import dataclass, field
|
|
11
|
-
|
|
12
|
-
logger: Incomplete
|
|
13
|
-
|
|
14
|
-
@dataclass
|
|
15
|
-
class PTCSandboxConfig:
|
|
16
|
-
"""Configuration for PTC sandbox executor (MCP-only).
|
|
17
|
-
|
|
18
|
-
Attributes:
|
|
19
|
-
enabled: Whether PTC is enabled. When False, PTC is disabled.
|
|
20
|
-
default_tool_timeout: Default timeout per tool call in seconds.
|
|
21
|
-
sandbox_template: Optional E2B sandbox template ID.
|
|
22
|
-
sandbox_timeout: Sandbox execution timeout in seconds (hard cap/TTL).
|
|
23
|
-
ptc_packages: List of packages to install in sandbox. None or empty list skips install.
|
|
24
|
-
prompt: Prompt configuration for PTC usage guidance.
|
|
25
|
-
"""
|
|
26
|
-
enabled: bool = ...
|
|
27
|
-
default_tool_timeout: float = ...
|
|
28
|
-
sandbox_template: str | None = ...
|
|
29
|
-
sandbox_timeout: float = ...
|
|
30
|
-
ptc_packages: list[str] | None = field(default_factory=Incomplete)
|
|
31
|
-
prompt: PromptConfig = field(default_factory=PromptConfig)
|
|
32
|
-
|
|
33
|
-
class PTCSandboxExecutor:
|
|
34
|
-
'''Executes PTC code inside an E2B sandbox (MCP-only).
|
|
35
|
-
|
|
36
|
-
This executor is used for LLM-generated code that requires sandboxing.
|
|
37
|
-
It builds a sandbox payload (MCP server config + generated tool modules)
|
|
38
|
-
and executes the code using the E2B runtime.
|
|
39
|
-
|
|
40
|
-
Example:
|
|
41
|
-
runtime = E2BSandboxRuntime()
|
|
42
|
-
executor = PTCSandboxExecutor(mcp_client, runtime)
|
|
43
|
-
result = await executor.execute_code("from tools.yfinance import get_stock\\nprint(get_stock(\'AAPL\'))")
|
|
44
|
-
'''
|
|
45
|
-
def __init__(self, mcp_client: BaseMCPClient, runtime: E2BSandboxRuntime, config: PTCSandboxConfig | None = None) -> None:
|
|
46
|
-
"""Initialize PTCSandboxExecutor.
|
|
47
|
-
|
|
48
|
-
Args:
|
|
49
|
-
mcp_client: The MCP client with configured servers.
|
|
50
|
-
runtime: The E2B sandbox runtime instance.
|
|
51
|
-
config: Optional sandbox executor configuration.
|
|
52
|
-
|
|
53
|
-
Raises:
|
|
54
|
-
ImportError: If sandbox dependencies are not available.
|
|
55
|
-
"""
|
|
56
|
-
async def execute_code(self, code: str) -> SandboxExecutionResult:
|
|
57
|
-
"""Execute code inside the sandbox with MCP access.
|
|
58
|
-
|
|
59
|
-
This method:
|
|
60
|
-
1. Builds the sandbox payload (MCP config + generated tool modules)
|
|
61
|
-
2. Wraps the user code with necessary imports and setup
|
|
62
|
-
3. Executes the code in the E2B sandbox
|
|
63
|
-
4. Returns the execution result (stdout/stderr/exit_code)
|
|
64
|
-
|
|
65
|
-
Args:
|
|
66
|
-
code: Python code to execute in the sandbox.
|
|
67
|
-
|
|
68
|
-
Returns:
|
|
69
|
-
SandboxExecutionResult with stdout, stderr, and exit_code.
|
|
70
|
-
|
|
71
|
-
Raises:
|
|
72
|
-
PTCToolError: If sandbox execution fails.
|
|
73
|
-
"""
|
aip_agents/ptc/mcp/__init__.pyi
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
from aip_agents.ptc.exceptions import PTCError as PTCError, PTCToolError as PTCToolError
|
|
2
|
-
from aip_agents.ptc.mcp.sandbox_bridge import ServerConfig as ServerConfig, build_mcp_payload as build_mcp_payload
|
|
3
|
-
from aip_agents.ptc.naming import json_type_to_python as json_type_to_python, sanitize_function_name as sanitize_function_name, sanitize_module_name as sanitize_module_name, sanitize_param_name as sanitize_param_name, schema_to_params as schema_to_params
|
|
4
|
-
from aip_agents.ptc.payload import SandboxPayload as SandboxPayload
|
|
5
|
-
from aip_agents.ptc.prompt_builder import build_ptc_prompt as build_ptc_prompt, compute_ptc_prompt_hash as compute_ptc_prompt_hash
|
|
6
|
-
|
|
7
|
-
__all__ = ['PTCError', 'PTCToolError', 'json_type_to_python', 'sanitize_function_name', 'sanitize_module_name', 'sanitize_param_name', 'schema_to_params', 'build_ptc_prompt', 'compute_ptc_prompt_hash', 'SandboxPayload', 'ServerConfig', 'build_mcp_payload']
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.mcp.client.base_mcp_client import BaseMCPClient as BaseMCPClient
|
|
3
|
-
from aip_agents.ptc.doc_gen import render_tool_doc as render_tool_doc
|
|
4
|
-
from aip_agents.ptc.naming import DEFAULT_EXAMPLE_PLACEHOLDER as DEFAULT_EXAMPLE_PLACEHOLDER, example_value_from_schema as example_value_from_schema, sanitize_function_name as sanitize_function_name, sanitize_module_name_with_reserved as sanitize_module_name_with_reserved, schema_to_params as schema_to_params
|
|
5
|
-
from aip_agents.ptc.payload import SandboxPayload as SandboxPayload
|
|
6
|
-
from aip_agents.ptc.template_utils import render_template as render_template
|
|
7
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
8
|
-
from dataclasses import dataclass, field
|
|
9
|
-
from typing import Any
|
|
10
|
-
|
|
11
|
-
logger: Incomplete
|
|
12
|
-
SUPPORTED_TRANSPORTS: Incomplete
|
|
13
|
-
|
|
14
|
-
@dataclass
|
|
15
|
-
class ServerConfig:
|
|
16
|
-
"""Extracted server configuration for sandbox payload.
|
|
17
|
-
|
|
18
|
-
Attributes:
|
|
19
|
-
name: Server name identifier.
|
|
20
|
-
transport: Transport type (sse or streamable_http).
|
|
21
|
-
url: Server URL.
|
|
22
|
-
headers: HTTP headers for authentication.
|
|
23
|
-
allowed_tools: List of allowed tool names, or None for all.
|
|
24
|
-
tools: List of tool definitions from the server.
|
|
25
|
-
timeout: Request timeout in seconds.
|
|
26
|
-
"""
|
|
27
|
-
name: str
|
|
28
|
-
transport: str
|
|
29
|
-
url: str
|
|
30
|
-
headers: dict[str, str] = field(default_factory=dict)
|
|
31
|
-
allowed_tools: list[str] | None = ...
|
|
32
|
-
tools: list[dict[str, Any]] = field(default_factory=list)
|
|
33
|
-
timeout: float = ...
|
|
34
|
-
|
|
35
|
-
async def build_mcp_payload(mcp_client: BaseMCPClient, default_tool_timeout: float = 60.0) -> SandboxPayload:
|
|
36
|
-
"""Build MCP sandbox payload from MCP client configuration.
|
|
37
|
-
|
|
38
|
-
Extracts server configs, tools, and generates the necessary files
|
|
39
|
-
for the sandbox to execute PTC code.
|
|
40
|
-
|
|
41
|
-
Args:
|
|
42
|
-
mcp_client: The MCP client with configured servers.
|
|
43
|
-
default_tool_timeout: Default timeout for tool calls in seconds.
|
|
44
|
-
|
|
45
|
-
Returns:
|
|
46
|
-
SandboxPayload containing files and env vars for the sandbox.
|
|
47
|
-
"""
|
|
File without changes
|
aip_agents/ptc/naming.pyi
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from typing import Any
|
|
3
|
-
|
|
4
|
-
RESERVED_MODULE_NAMES: Incomplete
|
|
5
|
-
DEFAULT_EXAMPLE_PLACEHOLDER: str
|
|
6
|
-
|
|
7
|
-
def sanitize_module_name(name: str) -> str:
|
|
8
|
-
"""Sanitize server name for use as Python module name.
|
|
9
|
-
|
|
10
|
-
Args:
|
|
11
|
-
name: Original server name.
|
|
12
|
-
|
|
13
|
-
Returns:
|
|
14
|
-
Valid Python module name (lowercase, underscored).
|
|
15
|
-
"""
|
|
16
|
-
def sanitize_module_name_with_reserved(name: str) -> str:
|
|
17
|
-
"""Sanitize server name, avoiding reserved module names.
|
|
18
|
-
|
|
19
|
-
If the sanitized name collides with a reserved name (e.g., ptc_helper),
|
|
20
|
-
appends '_mcp' suffix to avoid collision.
|
|
21
|
-
|
|
22
|
-
Args:
|
|
23
|
-
name: Original server name.
|
|
24
|
-
|
|
25
|
-
Returns:
|
|
26
|
-
Valid Python module name that does not collide with reserved names.
|
|
27
|
-
"""
|
|
28
|
-
def sanitize_function_name(name: str) -> str:
|
|
29
|
-
"""Sanitize tool name for use as Python function name.
|
|
30
|
-
|
|
31
|
-
Args:
|
|
32
|
-
name: Original tool name.
|
|
33
|
-
|
|
34
|
-
Returns:
|
|
35
|
-
Valid Python function name (lowercase, underscored).
|
|
36
|
-
"""
|
|
37
|
-
def sanitize_param_name(name: str) -> str:
|
|
38
|
-
"""Sanitize parameter name for use as Python parameter.
|
|
39
|
-
|
|
40
|
-
Args:
|
|
41
|
-
name: Original parameter name (e.g., userId, user-id).
|
|
42
|
-
|
|
43
|
-
Returns:
|
|
44
|
-
Valid Python parameter name (lowercase, underscored).
|
|
45
|
-
"""
|
|
46
|
-
def json_type_to_python(json_type: str | list) -> str:
|
|
47
|
-
"""Convert JSON schema type to Python type hint.
|
|
48
|
-
|
|
49
|
-
Args:
|
|
50
|
-
json_type: JSON schema type.
|
|
51
|
-
|
|
52
|
-
Returns:
|
|
53
|
-
Python type hint string.
|
|
54
|
-
"""
|
|
55
|
-
def schema_to_params(schema: dict[str, Any]) -> str:
|
|
56
|
-
"""Convert JSON schema to Python function parameters.
|
|
57
|
-
|
|
58
|
-
Args:
|
|
59
|
-
schema: JSON schema for tool input.
|
|
60
|
-
|
|
61
|
-
Returns:
|
|
62
|
-
Function parameter string.
|
|
63
|
-
"""
|
|
64
|
-
def example_value_from_schema(prop_schema: dict[str, Any], default_placeholder: str = ...) -> str:
|
|
65
|
-
"""Return an example value for a schema property.
|
|
66
|
-
|
|
67
|
-
Prefers schema-provided examples, defaults, or enums, and falls back
|
|
68
|
-
to type-based placeholders.
|
|
69
|
-
|
|
70
|
-
Args:
|
|
71
|
-
prop_schema: Property schema from JSON schema.
|
|
72
|
-
default_placeholder: Placeholder value to use for unknown types.
|
|
73
|
-
|
|
74
|
-
Returns:
|
|
75
|
-
Example value as a Python literal string.
|
|
76
|
-
"""
|
aip_agents/ptc/payload.pyi
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass, field
|
|
2
|
-
|
|
3
|
-
@dataclass
|
|
4
|
-
class SandboxPayload:
|
|
5
|
-
"""Payload to upload to the sandbox for PTC execution.
|
|
6
|
-
|
|
7
|
-
Attributes:
|
|
8
|
-
files: Mapping of file path -> content to upload (static bundle).
|
|
9
|
-
per_run_files: Mapping of file path -> content to upload on every run.
|
|
10
|
-
These files are always re-uploaded, even when the static bundle is cached.
|
|
11
|
-
env: Environment variables to set in the sandbox.
|
|
12
|
-
"""
|
|
13
|
-
files: dict[str, str] = field(default_factory=dict)
|
|
14
|
-
per_run_files: dict[str, str] = field(default_factory=dict)
|
|
15
|
-
env: dict[str, str] = field(default_factory=dict)
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.mcp.client.base_mcp_client import BaseMCPClient as BaseMCPClient
|
|
3
|
-
from aip_agents.ptc.naming import example_value_from_schema as example_value_from_schema, sanitize_function_name as sanitize_function_name, sanitize_module_name_with_reserved as sanitize_module_name_with_reserved, sanitize_param_name as sanitize_param_name, schema_to_params as schema_to_params
|
|
4
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
-
from dataclasses import dataclass
|
|
6
|
-
|
|
7
|
-
logger: Incomplete
|
|
8
|
-
PromptMode: Incomplete
|
|
9
|
-
PYTHON_BLOCK_START: str
|
|
10
|
-
|
|
11
|
-
@dataclass
|
|
12
|
-
class PromptConfig:
|
|
13
|
-
"""Configuration for PTC prompt generation.
|
|
14
|
-
|
|
15
|
-
Attributes:
|
|
16
|
-
mode: Prompt mode - minimal, index, full, or auto.
|
|
17
|
-
auto_threshold: Total tool count threshold for auto mode (default 10).
|
|
18
|
-
include_example: Whether to include example code in prompt.
|
|
19
|
-
"""
|
|
20
|
-
mode: PromptMode = ...
|
|
21
|
-
auto_threshold: int = ...
|
|
22
|
-
include_example: bool = ...
|
|
23
|
-
|
|
24
|
-
PTC_USAGE_RULES: str
|
|
25
|
-
|
|
26
|
-
def build_ptc_prompt(mcp_client: BaseMCPClient | None = None, config: PromptConfig | None = None) -> str:
|
|
27
|
-
"""Build PTC usage guidance prompt from MCP configuration.
|
|
28
|
-
|
|
29
|
-
Generates a short usage block that includes:
|
|
30
|
-
- The import pattern: MCP (`from tools.<server> import <tool>`)
|
|
31
|
-
- Rule: use `print()`; only printed output returns
|
|
32
|
-
- Rule: parameter names are sanitized to lowercase/underscored
|
|
33
|
-
- Prompt mode content (minimal/index/full)
|
|
34
|
-
- Examples based on the resolved prompt mode
|
|
35
|
-
|
|
36
|
-
Args:
|
|
37
|
-
mcp_client: The MCP client with configured servers.
|
|
38
|
-
config: Prompt configuration. If None, uses default PromptConfig.
|
|
39
|
-
|
|
40
|
-
Returns:
|
|
41
|
-
PTC usage guidance prompt string.
|
|
42
|
-
"""
|
|
43
|
-
def compute_ptc_prompt_hash(mcp_client: BaseMCPClient | None = None, config: PromptConfig | None = None) -> str:
|
|
44
|
-
"""Compute a hash of the MCP configuration for change detection.
|
|
45
|
-
|
|
46
|
-
Includes PromptConfig fields and allowed_tools in hash computation
|
|
47
|
-
so prompt updates re-sync correctly when configuration changes.
|
|
48
|
-
|
|
49
|
-
Args:
|
|
50
|
-
mcp_client: MCP client instance.
|
|
51
|
-
config: Prompt configuration. If None, uses default PromptConfig.
|
|
52
|
-
|
|
53
|
-
Returns:
|
|
54
|
-
Hash string representing current configuration.
|
|
55
|
-
"""
|
aip_agents/ptc/ptc_helper.pyi
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from aip_agents.ptc.template_utils import render_template as render_template
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
from aip_agents.mcp.client.base_mcp_client import BaseMCPClient as BaseMCPClient
|
|
2
|
-
from aip_agents.ptc.mcp.sandbox_bridge import build_mcp_payload as build_mcp_payload
|
|
3
|
-
from aip_agents.ptc.payload import SandboxPayload as SandboxPayload
|
|
4
|
-
|
|
5
|
-
async def build_sandbox_payload(mcp_client: BaseMCPClient | None = None, default_tool_timeout: float = 60.0) -> SandboxPayload:
|
|
6
|
-
"""Build sandbox payload from MCP client configuration (MCP-only).
|
|
7
|
-
|
|
8
|
-
Args:
|
|
9
|
-
mcp_client: The MCP client with configured servers.
|
|
10
|
-
default_tool_timeout: Default timeout for tool calls in seconds.
|
|
11
|
-
|
|
12
|
-
Returns:
|
|
13
|
-
SandboxPayload containing files and env vars for the sandbox.
|
|
14
|
-
"""
|
|
15
|
-
def wrap_ptc_code(code: str) -> str:
|
|
16
|
-
"""Wrap user PTC code with necessary imports and setup (MCP-only).
|
|
17
|
-
|
|
18
|
-
This prepends sys.path setup to ensure the tools package is importable.
|
|
19
|
-
|
|
20
|
-
Args:
|
|
21
|
-
code: User-provided Python code.
|
|
22
|
-
|
|
23
|
-
Returns:
|
|
24
|
-
Wrapped code ready for sandbox execution.
|
|
25
|
-
"""
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
from collections.abc import Mapping
|
|
2
|
-
|
|
3
|
-
def render_template(package: str, template_name: str, values: Mapping[str, str] | None = None) -> str:
|
|
4
|
-
"""Render a template from package resources with optional substitutions.
|
|
5
|
-
|
|
6
|
-
Args:
|
|
7
|
-
package: Package path containing the template.
|
|
8
|
-
template_name: Template filename.
|
|
9
|
-
values: Optional mapping of template variables.
|
|
10
|
-
|
|
11
|
-
Returns:
|
|
12
|
-
Rendered template content.
|
|
13
|
-
"""
|
|
File without changes
|
aip_agents/sandbox/__init__.pyi
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
from aip_agents.sandbox.e2b_runtime import E2BSandboxRuntime as E2BSandboxRuntime
|
|
2
|
-
from aip_agents.sandbox.template_builder import ensure_ptc_template as ensure_ptc_template
|
|
3
|
-
from aip_agents.sandbox.types import SandboxExecutionResult as SandboxExecutionResult
|
|
4
|
-
|
|
5
|
-
__all__ = ['E2BSandboxRuntime', 'ensure_ptc_template', 'SandboxExecutionResult']
|
aip_agents/sandbox/defaults.pyi
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.sandbox.defaults import DEFAULT_PTC_PACKAGES as DEFAULT_PTC_PACKAGES, DEFAULT_PTC_TEMPLATE as DEFAULT_PTC_TEMPLATE
|
|
3
|
-
from aip_agents.sandbox.types import SandboxExecutionResult as SandboxExecutionResult
|
|
4
|
-
from aip_agents.sandbox.validation import validate_package_names as validate_package_names
|
|
5
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
6
|
-
|
|
7
|
-
logger: Incomplete
|
|
8
|
-
SANDBOX_NOT_INITIALIZED_ERROR: str
|
|
9
|
-
|
|
10
|
-
class E2BSandboxRuntime:
|
|
11
|
-
'''E2B Sandbox runtime for executing code in isolated environments.
|
|
12
|
-
|
|
13
|
-
This runtime manages per-run sandbox lifecycle:
|
|
14
|
-
- Create sandbox on first execute
|
|
15
|
-
- Reuse sandbox for subsequent executes
|
|
16
|
-
- Destroy sandbox on cleanup
|
|
17
|
-
|
|
18
|
-
Example:
|
|
19
|
-
runtime = E2BSandboxRuntime()
|
|
20
|
-
result = await runtime.execute(
|
|
21
|
-
code="print(\'Hello\')",
|
|
22
|
-
timeout=60.0,
|
|
23
|
-
files={"tools/mcp.py": "# MCP client code"},
|
|
24
|
-
)
|
|
25
|
-
await runtime.cleanup()
|
|
26
|
-
'''
|
|
27
|
-
def __init__(self, template: str | None = None, ptc_packages: list[str] | None = None) -> None:
|
|
28
|
-
"""Initialize E2B sandbox runtime.
|
|
29
|
-
|
|
30
|
-
Args:
|
|
31
|
-
template: Optional E2B template ID for custom sandbox environments.
|
|
32
|
-
ptc_packages: Packages to install in sandbox. If None or empty, skip install.
|
|
33
|
-
"""
|
|
34
|
-
async def execute(self, code: str, *, timeout: float = 300.0, files: dict[str, str] | None = None, env: dict[str, str] | None = None, template: str | None = None) -> SandboxExecutionResult:
|
|
35
|
-
"""Execute code inside the sandbox.
|
|
36
|
-
|
|
37
|
-
Args:
|
|
38
|
-
code: Python code to execute.
|
|
39
|
-
timeout: Execution timeout in seconds.
|
|
40
|
-
files: Files to upload to the sandbox (path -> content).
|
|
41
|
-
env: Environment variables to set.
|
|
42
|
-
template: Optional template override for this execution.
|
|
43
|
-
|
|
44
|
-
Returns:
|
|
45
|
-
SandboxExecutionResult with stdout, stderr, and exit_code.
|
|
46
|
-
"""
|
|
47
|
-
async def cleanup(self) -> None:
|
|
48
|
-
"""Destroy the sandbox and release resources."""
|
|
49
|
-
@property
|
|
50
|
-
def is_active(self) -> bool:
|
|
51
|
-
"""Check if a sandbox is currently active."""
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.sandbox.validation import validate_package_names as validate_package_names
|
|
3
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
4
|
-
from e2b import Template
|
|
5
|
-
|
|
6
|
-
logger: Incomplete
|
|
7
|
-
|
|
8
|
-
def create_ptc_template(base_template: str, ptc_packages: list[str] | None) -> Template:
|
|
9
|
-
'''Create a PTC template definition based on a base template.
|
|
10
|
-
|
|
11
|
-
Args:
|
|
12
|
-
base_template: Base template alias to build from (e.g., "code-interpreter-v1").
|
|
13
|
-
ptc_packages: List of packages to install in the template.
|
|
14
|
-
If None or empty, skips pip install step.
|
|
15
|
-
|
|
16
|
-
Returns:
|
|
17
|
-
Template: A configured template ready to be built.
|
|
18
|
-
'''
|
|
19
|
-
def ensure_ptc_template(template_id: str, base_template: str, ptc_packages: list[str] | None, force_rebuild: bool = False) -> str | None:
|
|
20
|
-
'''Ensure a PTC sandbox template exists, creating it if necessary.
|
|
21
|
-
|
|
22
|
-
This is an explicit helper that apps can call at startup to ensure the
|
|
23
|
-
template exists. It is never run implicitly by the SDK.
|
|
24
|
-
|
|
25
|
-
Args:
|
|
26
|
-
template_id: Unique alias for the template (e.g., "aip-agents-ptc-v1").
|
|
27
|
-
base_template: Base template alias to build from
|
|
28
|
-
(e.g., "code-interpreter-v1").
|
|
29
|
-
ptc_packages: List of packages to install in the template.
|
|
30
|
-
If None or empty, skips pip install step.
|
|
31
|
-
force_rebuild: If True, rebuild even if alias exists.
|
|
32
|
-
|
|
33
|
-
Returns:
|
|
34
|
-
The template_id on success, None if creation failed.
|
|
35
|
-
Never raises exceptions.
|
|
36
|
-
'''
|
aip_agents/sandbox/types.pyi
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
from dataclasses import dataclass
|
|
2
|
-
|
|
3
|
-
@dataclass
|
|
4
|
-
class SandboxExecutionResult:
|
|
5
|
-
"""Result of a sandbox code execution.
|
|
6
|
-
|
|
7
|
-
Attributes:
|
|
8
|
-
stdout: Standard output from the execution.
|
|
9
|
-
stderr: Standard error from the execution.
|
|
10
|
-
exit_code: Exit code (0 for success, non-zero for failure).
|
|
11
|
-
"""
|
|
12
|
-
stdout: str
|
|
13
|
-
stderr: str
|
|
14
|
-
exit_code: int
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
def validate_package_name(package: str) -> bool:
|
|
2
|
-
"""Validate package name/specifier format for pip install.
|
|
3
|
-
|
|
4
|
-
Allows standard pip formats: package, package==version, package[extra].
|
|
5
|
-
|
|
6
|
-
Args:
|
|
7
|
-
package: Package name or specifier to validate.
|
|
8
|
-
|
|
9
|
-
Returns:
|
|
10
|
-
True if package name is valid, False otherwise.
|
|
11
|
-
"""
|
|
12
|
-
def validate_package_names(packages: list[str]) -> None:
|
|
13
|
-
"""Validate all package names in a list.
|
|
14
|
-
|
|
15
|
-
Args:
|
|
16
|
-
packages: List of package names or specifiers to validate.
|
|
17
|
-
|
|
18
|
-
Raises:
|
|
19
|
-
ValueError: If any package name is invalid.
|
|
20
|
-
"""
|
aip_agents/schema/__init__.pyi
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
from aip_agents.schema.a2a import A2AEvent as A2AEvent, A2AStreamEventType as A2AStreamEventType, ToolCallInfo as ToolCallInfo, ToolResultInfo as ToolResultInfo
|
|
2
|
-
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig, AgentConfig as AgentConfig, BaseAgentConfig as BaseAgentConfig, CredentialType as CredentialType, HttpxClientOptions as HttpxClientOptions, LangflowAgentConfig as LangflowAgentConfig, StreamMode as StreamMode
|
|
3
|
-
from aip_agents.schema.hitl import ApprovalDecision as ApprovalDecision, ApprovalDecisionType as ApprovalDecisionType, ApprovalLogEntry as ApprovalLogEntry, ApprovalRequest as ApprovalRequest, HitlMetadata as HitlMetadata
|
|
4
|
-
from aip_agents.schema.langgraph import ToolCallResult as ToolCallResult, ToolStorageParams as ToolStorageParams
|
|
5
|
-
from aip_agents.schema.model_id import ModelId as ModelId, ModelProvider as ModelProvider
|
|
6
|
-
from aip_agents.schema.step_limit import MaxDelegationDepthExceededError as MaxDelegationDepthExceededError, MaxStepsExceededError as MaxStepsExceededError, StepLimitConfig as StepLimitConfig, StepLimitError as StepLimitError, StepLimitErrorResponse as StepLimitErrorResponse, StepLimitErrorType as StepLimitErrorType
|
|
7
|
-
from aip_agents.schema.storage import OBJECT_STORAGE_PREFIX as OBJECT_STORAGE_PREFIX, StorageConfig as StorageConfig, StorageType as StorageType
|
|
8
|
-
|
|
9
|
-
__all__ = ['A2AEvent', 'A2AStreamEventType', 'ToolCallInfo', 'ToolResultInfo', 'A2AClientConfig', 'AgentConfig', 'BaseAgentConfig', 'CredentialType', 'HttpxClientOptions', 'LangflowAgentConfig', 'StreamMode', 'ApprovalDecision', 'ApprovalDecisionType', 'ApprovalLogEntry', 'ApprovalRequest', 'HitlMetadata', 'ToolCallResult', 'ToolStorageParams', 'ModelId', 'ModelProvider', 'OBJECT_STORAGE_PREFIX', 'StorageConfig', 'StorageType', 'MaxDelegationDepthExceededError', 'MaxStepsExceededError', 'StepLimitConfig', 'StepLimitError', 'StepLimitErrorResponse', 'StepLimitErrorType']
|
aip_agents/schema/a2a.pyi
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
from enum import Enum
|
|
2
|
-
from typing import Any
|
|
3
|
-
from typing_extensions import TypedDict
|
|
4
|
-
|
|
5
|
-
__all__ = ['A2AStreamEventType', 'A2AEvent', 'ToolCallInfo', 'ToolResultInfo']
|
|
6
|
-
|
|
7
|
-
class A2AStreamEventType(Enum):
|
|
8
|
-
"""Semantic event types for A2A agent-executor communication."""
|
|
9
|
-
STATUS_UPDATE: str
|
|
10
|
-
CONTENT_CHUNK: str
|
|
11
|
-
FINAL_RESPONSE: str
|
|
12
|
-
TOOL_CALL: str
|
|
13
|
-
TOOL_RESULT: str
|
|
14
|
-
ERROR: str
|
|
15
|
-
STEP_LIMIT_EXCEEDED: str
|
|
16
|
-
|
|
17
|
-
class A2AEvent(TypedDict):
|
|
18
|
-
"""Structured event data used by the A2A connector."""
|
|
19
|
-
event_type: A2AStreamEventType
|
|
20
|
-
content: str
|
|
21
|
-
metadata: dict[str, Any]
|
|
22
|
-
tool_info: dict[str, Any] | None
|
|
23
|
-
is_final: bool
|
|
24
|
-
artifacts: list[dict[str, Any]] | None
|
|
25
|
-
references: list[Any] | None
|
|
26
|
-
step_usage: dict[str, Any] | None
|
|
27
|
-
total_usage: dict[str, Any] | None
|
|
28
|
-
thinking_and_activity_info: dict[str, Any] | None
|
|
29
|
-
|
|
30
|
-
class ToolCallInfo(TypedDict):
|
|
31
|
-
"""Structured information for tool invocation events."""
|
|
32
|
-
tool_calls: list[dict[str, Any]]
|
|
33
|
-
status: str
|
|
34
|
-
|
|
35
|
-
class ToolResultInfo(TypedDict):
|
|
36
|
-
"""Structured information for tool completion events."""
|
|
37
|
-
name: str
|
|
38
|
-
args: dict[str, Any]
|
|
39
|
-
output: str
|
|
40
|
-
execution_time: float | None
|
aip_agents/schema/agent.pyi
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from a2a.types import AgentCard
|
|
3
|
-
from enum import StrEnum
|
|
4
|
-
from gllm_core.utils.retry import RetryConfig
|
|
5
|
-
from pydantic import BaseModel
|
|
6
|
-
from typing import Any
|
|
7
|
-
|
|
8
|
-
__all__ = ['CredentialType', 'StreamMode', 'HttpxClientOptions', 'A2AClientConfig', 'BaseAgentConfig', 'AgentConfig', 'LangflowAgentConfig']
|
|
9
|
-
|
|
10
|
-
class CredentialType(StrEnum):
|
|
11
|
-
"""Credential type enumeration for type safety and better developer experience."""
|
|
12
|
-
API_KEY: str
|
|
13
|
-
FILE: str
|
|
14
|
-
DICT: str
|
|
15
|
-
|
|
16
|
-
class StreamMode(StrEnum):
|
|
17
|
-
"""LangGraph stream modes for astream operations."""
|
|
18
|
-
VALUES: str
|
|
19
|
-
CUSTOM: str
|
|
20
|
-
MESSAGES: str
|
|
21
|
-
|
|
22
|
-
class HttpxClientOptions(BaseModel):
|
|
23
|
-
"""Options for the HTTP client."""
|
|
24
|
-
timeout: float
|
|
25
|
-
trust_env: bool
|
|
26
|
-
follow_redirects: bool
|
|
27
|
-
model_config: Incomplete
|
|
28
|
-
class Config:
|
|
29
|
-
"""Pydantic v1 fallback config for HttpxClientOptions."""
|
|
30
|
-
extra: str
|
|
31
|
-
|
|
32
|
-
class A2AClientConfig(BaseModel):
|
|
33
|
-
"""Configuration for A2A client."""
|
|
34
|
-
discovery_urls: list[str] | None
|
|
35
|
-
known_agents: dict[str, AgentCard]
|
|
36
|
-
httpx_client_options: HttpxClientOptions | None
|
|
37
|
-
|
|
38
|
-
class BaseAgentConfig(BaseModel):
|
|
39
|
-
"""Base configuration for agent implementations."""
|
|
40
|
-
tools: list[Any] | None
|
|
41
|
-
default_hyperparameters: dict[str, Any] | None
|
|
42
|
-
model_config: Incomplete
|
|
43
|
-
class Config:
|
|
44
|
-
"""Pydantic v1 fallback config for BaseAgentConfig."""
|
|
45
|
-
extra: str
|
|
46
|
-
|
|
47
|
-
class AgentConfig(BaseAgentConfig):
|
|
48
|
-
"""Configuration for agent implementations with language model settings."""
|
|
49
|
-
lm_name: str | None
|
|
50
|
-
lm_hyperparameters: dict[str, Any] | None
|
|
51
|
-
lm_provider: str | None
|
|
52
|
-
lm_base_url: str | None
|
|
53
|
-
lm_api_key: str | None
|
|
54
|
-
lm_credentials: str | dict[str, Any] | None
|
|
55
|
-
lm_retry_config: RetryConfig | None
|
|
56
|
-
|
|
57
|
-
class LangflowAgentConfig(BaseAgentConfig):
|
|
58
|
-
"""Configuration for Langflow agent implementations."""
|
|
59
|
-
flow_id: str
|
|
60
|
-
base_url: str | None
|
|
61
|
-
api_key: str | None
|
|
62
|
-
model_config: Incomplete
|
|
63
|
-
class Config:
|
|
64
|
-
"""Pydantic v1 fallback config for LangflowAgentConfig."""
|
|
65
|
-
extra: str
|