aip-agents-binary 0.5.22__py3-none-any.whl → 0.5.24__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.
Files changed (282) hide show
  1. aip_agents/examples/hello_world_langgraph_gl_connector_twitter.py +3 -2
  2. aip_agents/examples/hello_world_sentry.py +5 -6
  3. aip_agents/mcp/client/persistent_session.py +6 -3
  4. aip_agents/mcp/client/transports.py +15 -2
  5. aip_agents/sentry/sentry.py +6 -13
  6. aip_agents/tools/__init__.py +1 -1
  7. aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.py +80 -31
  8. aip_agents/tools/code_sandbox/e2b_sandbox_tool.py +6 -6
  9. aip_agents/tools/constants.py +1 -3
  10. aip_agents/tools/gl_connector/tool.py +15 -42
  11. aip_agents/tools/gl_connector_tools.py +5 -8
  12. {aip_agents_binary-0.5.22.dist-info → aip_agents_binary-0.5.24.dist-info}/METADATA +3 -3
  13. aip_agents_binary-0.5.24.dist-info/RECORD +280 -0
  14. aip_agents/__init__.pyi +0 -19
  15. aip_agents/a2a/__init__.pyi +0 -3
  16. aip_agents/a2a/server/__init__.pyi +0 -4
  17. aip_agents/a2a/server/base_executor.pyi +0 -73
  18. aip_agents/a2a/server/google_adk_executor.pyi +0 -51
  19. aip_agents/a2a/server/langflow_executor.pyi +0 -43
  20. aip_agents/a2a/server/langgraph_executor.pyi +0 -47
  21. aip_agents/a2a/types.pyi +0 -132
  22. aip_agents/agent/__init__.pyi +0 -9
  23. aip_agents/agent/base_agent.pyi +0 -221
  24. aip_agents/agent/base_langgraph_agent.pyi +0 -232
  25. aip_agents/agent/google_adk_agent.pyi +0 -141
  26. aip_agents/agent/google_adk_constants.pyi +0 -3
  27. aip_agents/agent/hitl/__init__.pyi +0 -6
  28. aip_agents/agent/hitl/config.pyi +0 -15
  29. aip_agents/agent/hitl/langgraph_hitl_mixin.pyi +0 -42
  30. aip_agents/agent/hitl/manager.pyi +0 -200
  31. aip_agents/agent/hitl/models.pyi +0 -3
  32. aip_agents/agent/hitl/prompt/__init__.pyi +0 -4
  33. aip_agents/agent/hitl/prompt/base.pyi +0 -24
  34. aip_agents/agent/hitl/prompt/deferred.pyi +0 -30
  35. aip_agents/agent/hitl/registry.pyi +0 -101
  36. aip_agents/agent/interface.pyi +0 -81
  37. aip_agents/agent/interfaces.pyi +0 -44
  38. aip_agents/agent/langflow_agent.pyi +0 -133
  39. aip_agents/agent/langgraph_memory_enhancer_agent.pyi +0 -49
  40. aip_agents/agent/langgraph_react_agent.pyi +0 -126
  41. aip_agents/agent/system_instruction_context.pyi +0 -13
  42. aip_agents/clients/__init__.pyi +0 -4
  43. aip_agents/clients/langflow/__init__.pyi +0 -4
  44. aip_agents/clients/langflow/client.pyi +0 -140
  45. aip_agents/clients/langflow/types.pyi +0 -7
  46. aip_agents/constants.pyi +0 -7
  47. aip_agents/examples/__init__.pyi +0 -0
  48. aip_agents/examples/compare_streaming_client.pyi +0 -48
  49. aip_agents/examples/compare_streaming_server.pyi +0 -18
  50. aip_agents/examples/demo_memory_recall.pyi +0 -58
  51. aip_agents/examples/hello_world_a2a_google_adk_client.pyi +0 -9
  52. aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +0 -9
  53. aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +0 -9
  54. aip_agents/examples/hello_world_a2a_google_adk_server.pyi +0 -15
  55. aip_agents/examples/hello_world_a2a_langchain_client.pyi +0 -5
  56. aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +0 -5
  57. aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +0 -5
  58. aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +0 -5
  59. aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +0 -5
  60. aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +0 -15
  61. aip_agents/examples/hello_world_a2a_langchain_server.pyi +0 -15
  62. aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +0 -15
  63. aip_agents/examples/hello_world_a2a_langflow_client.pyi +0 -9
  64. aip_agents/examples/hello_world_a2a_langflow_server.pyi +0 -14
  65. aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +0 -5
  66. aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +0 -5
  67. aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +0 -16
  68. aip_agents/examples/hello_world_a2a_langgraph_client.pyi +0 -9
  69. aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +0 -9
  70. aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +0 -2
  71. aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +0 -9
  72. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +0 -5
  73. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +0 -5
  74. aip_agents/examples/hello_world_a2a_langgraph_server.pyi +0 -14
  75. aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +0 -15
  76. aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +0 -15
  77. aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +0 -48
  78. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +0 -48
  79. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +0 -45
  80. aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +0 -5
  81. aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +0 -15
  82. aip_agents/examples/hello_world_google_adk.pyi +0 -5
  83. aip_agents/examples/hello_world_google_adk_mcp_http.pyi +0 -5
  84. aip_agents/examples/hello_world_google_adk_mcp_http_stream.pyi +0 -5
  85. aip_agents/examples/hello_world_google_adk_mcp_sse.pyi +0 -5
  86. aip_agents/examples/hello_world_google_adk_mcp_sse_stream.pyi +0 -5
  87. aip_agents/examples/hello_world_google_adk_mcp_stdio.pyi +0 -5
  88. aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.pyi +0 -5
  89. aip_agents/examples/hello_world_google_adk_stream.pyi +0 -5
  90. aip_agents/examples/hello_world_langchain.pyi +0 -5
  91. aip_agents/examples/hello_world_langchain_lm_invoker.pyi +0 -2
  92. aip_agents/examples/hello_world_langchain_mcp_http.pyi +0 -5
  93. aip_agents/examples/hello_world_langchain_mcp_http_interactive.pyi +0 -16
  94. aip_agents/examples/hello_world_langchain_mcp_http_stream.pyi +0 -5
  95. aip_agents/examples/hello_world_langchain_mcp_multi_server.pyi +0 -18
  96. aip_agents/examples/hello_world_langchain_mcp_sse.pyi +0 -5
  97. aip_agents/examples/hello_world_langchain_mcp_sse_stream.pyi +0 -5
  98. aip_agents/examples/hello_world_langchain_mcp_stdio.pyi +0 -5
  99. aip_agents/examples/hello_world_langchain_mcp_stdio_stream.pyi +0 -5
  100. aip_agents/examples/hello_world_langchain_stream.pyi +0 -5
  101. aip_agents/examples/hello_world_langchain_stream_lm_invoker.pyi +0 -5
  102. aip_agents/examples/hello_world_langflow_agent.pyi +0 -35
  103. aip_agents/examples/hello_world_langgraph.pyi +0 -5
  104. aip_agents/examples/hello_world_langgraph_gl_connector_twitter.pyi +0 -5
  105. aip_agents/examples/hello_world_langgraph_mcp_http.pyi +0 -5
  106. aip_agents/examples/hello_world_langgraph_mcp_http_stream.pyi +0 -5
  107. aip_agents/examples/hello_world_langgraph_mcp_sse.pyi +0 -5
  108. aip_agents/examples/hello_world_langgraph_mcp_sse_stream.pyi +0 -5
  109. aip_agents/examples/hello_world_langgraph_mcp_stdio.pyi +0 -5
  110. aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.pyi +0 -5
  111. aip_agents/examples/hello_world_langgraph_stream.pyi +0 -5
  112. aip_agents/examples/hello_world_langgraph_stream_lm_invoker.pyi +0 -5
  113. aip_agents/examples/hello_world_model_switch_cli.pyi +0 -30
  114. aip_agents/examples/hello_world_multi_agent_adk.pyi +0 -6
  115. aip_agents/examples/hello_world_multi_agent_langchain.pyi +0 -5
  116. aip_agents/examples/hello_world_multi_agent_langgraph.pyi +0 -5
  117. aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.pyi +0 -5
  118. aip_agents/examples/hello_world_pii_logger.pyi +0 -5
  119. aip_agents/examples/hello_world_sentry.pyi +0 -21
  120. aip_agents/examples/hello_world_step_limits.pyi +0 -17
  121. aip_agents/examples/hello_world_stock_a2a_server.pyi +0 -17
  122. aip_agents/examples/hello_world_tool_output_client.pyi +0 -5
  123. aip_agents/examples/hello_world_tool_output_server.pyi +0 -19
  124. aip_agents/examples/hitl_demo.pyi +0 -67
  125. aip_agents/examples/pii_demo_langgraph_client.pyi +0 -5
  126. aip_agents/examples/pii_demo_langgraph_server.pyi +0 -20
  127. aip_agents/examples/pii_demo_multi_agent_client.pyi +0 -5
  128. aip_agents/examples/pii_demo_multi_agent_server.pyi +0 -40
  129. aip_agents/examples/todolist_planning_a2a_langchain_client.pyi +0 -5
  130. aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi +0 -19
  131. aip_agents/examples/tools/__init__.pyi +0 -9
  132. aip_agents/examples/tools/adk_arithmetic_tools.pyi +0 -24
  133. aip_agents/examples/tools/adk_weather_tool.pyi +0 -18
  134. aip_agents/examples/tools/data_generator_tool.pyi +0 -15
  135. aip_agents/examples/tools/data_visualization_tool.pyi +0 -19
  136. aip_agents/examples/tools/image_artifact_tool.pyi +0 -26
  137. aip_agents/examples/tools/langchain_arithmetic_tools.pyi +0 -17
  138. aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +0 -20
  139. aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +0 -25
  140. aip_agents/examples/tools/langchain_weather_tool.pyi +0 -19
  141. aip_agents/examples/tools/langgraph_streaming_tool.pyi +0 -43
  142. aip_agents/examples/tools/mock_retrieval_tool.pyi +0 -13
  143. aip_agents/examples/tools/pii_demo_tools.pyi +0 -54
  144. aip_agents/examples/tools/random_chart_tool.pyi +0 -20
  145. aip_agents/examples/tools/serper_tool.pyi +0 -16
  146. aip_agents/examples/tools/stock_tools.pyi +0 -36
  147. aip_agents/examples/tools/table_generator_tool.pyi +0 -22
  148. aip_agents/examples/tools/time_tool.pyi +0 -15
  149. aip_agents/examples/tools/weather_forecast_tool.pyi +0 -14
  150. aip_agents/mcp/__init__.pyi +0 -0
  151. aip_agents/mcp/client/__init__.pyi +0 -5
  152. aip_agents/mcp/client/base_mcp_client.pyi +0 -148
  153. aip_agents/mcp/client/connection_manager.pyi +0 -48
  154. aip_agents/mcp/client/google_adk/__init__.pyi +0 -3
  155. aip_agents/mcp/client/google_adk/client.pyi +0 -75
  156. aip_agents/mcp/client/langchain/__init__.pyi +0 -3
  157. aip_agents/mcp/client/langchain/client.pyi +0 -48
  158. aip_agents/mcp/client/persistent_session.pyi +0 -113
  159. aip_agents/mcp/client/session_pool.pyi +0 -101
  160. aip_agents/mcp/client/transports.pyi +0 -123
  161. aip_agents/mcp/utils/__init__.pyi +0 -0
  162. aip_agents/mcp/utils/config_validator.pyi +0 -82
  163. aip_agents/memory/__init__.pyi +0 -5
  164. aip_agents/memory/adapters/__init__.pyi +0 -4
  165. aip_agents/memory/adapters/base_adapter.pyi +0 -150
  166. aip_agents/memory/adapters/mem0.pyi +0 -22
  167. aip_agents/memory/base.pyi +0 -60
  168. aip_agents/memory/constants.pyi +0 -25
  169. aip_agents/memory/factory.pyi +0 -24
  170. aip_agents/memory/guidance.pyi +0 -3
  171. aip_agents/memory/simple_memory.pyi +0 -23
  172. aip_agents/middleware/__init__.pyi +0 -5
  173. aip_agents/middleware/base.pyi +0 -71
  174. aip_agents/middleware/manager.pyi +0 -80
  175. aip_agents/middleware/todolist.pyi +0 -125
  176. aip_agents/schema/__init__.pyi +0 -9
  177. aip_agents/schema/a2a.pyi +0 -40
  178. aip_agents/schema/agent.pyi +0 -65
  179. aip_agents/schema/hitl.pyi +0 -89
  180. aip_agents/schema/langgraph.pyi +0 -28
  181. aip_agents/schema/model_id.pyi +0 -54
  182. aip_agents/schema/step_limit.pyi +0 -63
  183. aip_agents/schema/storage.pyi +0 -21
  184. aip_agents/sentry/__init__.pyi +0 -3
  185. aip_agents/sentry/sentry.pyi +0 -48
  186. aip_agents/storage/__init__.pyi +0 -8
  187. aip_agents/storage/base.pyi +0 -58
  188. aip_agents/storage/clients/__init__.pyi +0 -3
  189. aip_agents/storage/clients/minio_client.pyi +0 -137
  190. aip_agents/storage/config.pyi +0 -29
  191. aip_agents/storage/providers/__init__.pyi +0 -5
  192. aip_agents/storage/providers/base.pyi +0 -88
  193. aip_agents/storage/providers/memory.pyi +0 -79
  194. aip_agents/storage/providers/object_storage.pyi +0 -98
  195. aip_agents/tools/__init__.pyi +0 -9
  196. aip_agents/tools/browser_use/__init__.pyi +0 -14
  197. aip_agents/tools/browser_use/action_parser.pyi +0 -18
  198. aip_agents/tools/browser_use/browser_use_tool.pyi +0 -50
  199. aip_agents/tools/browser_use/llm_config.pyi +0 -52
  200. aip_agents/tools/browser_use/minio_storage.pyi +0 -109
  201. aip_agents/tools/browser_use/schemas.pyi +0 -32
  202. aip_agents/tools/browser_use/session.pyi +0 -4
  203. aip_agents/tools/browser_use/session_errors.pyi +0 -53
  204. aip_agents/tools/browser_use/steel_session_recording.pyi +0 -63
  205. aip_agents/tools/browser_use/streaming.pyi +0 -81
  206. aip_agents/tools/browser_use/structured_data_parser.pyi +0 -86
  207. aip_agents/tools/browser_use/structured_data_recovery.pyi +0 -43
  208. aip_agents/tools/browser_use/types.pyi +0 -45
  209. aip_agents/tools/code_sandbox/__init__.pyi +0 -3
  210. aip_agents/tools/code_sandbox/constant.pyi +0 -4
  211. aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.pyi +0 -86
  212. aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +0 -29
  213. aip_agents/tools/constants.pyi +0 -138
  214. aip_agents/tools/document_loader/__init__.pyi +0 -7
  215. aip_agents/tools/document_loader/base_reader.pyi +0 -75
  216. aip_agents/tools/document_loader/docx_reader_tool.pyi +0 -10
  217. aip_agents/tools/document_loader/excel_reader_tool.pyi +0 -26
  218. aip_agents/tools/document_loader/pdf_reader_tool.pyi +0 -11
  219. aip_agents/tools/document_loader/pdf_splitter.pyi +0 -18
  220. aip_agents/tools/gl_connector/__init__.pyi +0 -3
  221. aip_agents/tools/gl_connector/tool.pyi +0 -74
  222. aip_agents/tools/gl_connector_tools.pyi +0 -39
  223. aip_agents/tools/memory_search/__init__.pyi +0 -5
  224. aip_agents/tools/memory_search/base.pyi +0 -69
  225. aip_agents/tools/memory_search/mem0.pyi +0 -19
  226. aip_agents/tools/memory_search/schema.pyi +0 -15
  227. aip_agents/tools/memory_search_tool.pyi +0 -3
  228. aip_agents/tools/time_tool.pyi +0 -16
  229. aip_agents/tools/tool_config_injector.pyi +0 -26
  230. aip_agents/tools/web_search/__init__.pyi +0 -3
  231. aip_agents/tools/web_search/serper_tool.pyi +0 -19
  232. aip_agents/types/__init__.pyi +0 -36
  233. aip_agents/types/a2a_events.pyi +0 -3
  234. aip_agents/utils/__init__.pyi +0 -11
  235. aip_agents/utils/a2a_connector.pyi +0 -146
  236. aip_agents/utils/artifact_helpers.pyi +0 -203
  237. aip_agents/utils/constants.pyi +0 -10
  238. aip_agents/utils/datetime/__init__.pyi +0 -4
  239. aip_agents/utils/datetime/normalization.pyi +0 -95
  240. aip_agents/utils/datetime/timezone.pyi +0 -48
  241. aip_agents/utils/env_loader.pyi +0 -10
  242. aip_agents/utils/event_handler_registry.pyi +0 -23
  243. aip_agents/utils/file_prompt_utils.pyi +0 -21
  244. aip_agents/utils/final_response_builder.pyi +0 -34
  245. aip_agents/utils/formatter_llm_client.pyi +0 -71
  246. aip_agents/utils/langgraph/__init__.pyi +0 -3
  247. aip_agents/utils/langgraph/converter.pyi +0 -49
  248. aip_agents/utils/langgraph/tool_managers/__init__.pyi +0 -5
  249. aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +0 -35
  250. aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi +0 -48
  251. aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +0 -56
  252. aip_agents/utils/langgraph/tool_output_management.pyi +0 -292
  253. aip_agents/utils/logger.pyi +0 -60
  254. aip_agents/utils/metadata/__init__.pyi +0 -5
  255. aip_agents/utils/metadata/activity_metadata_helper.pyi +0 -25
  256. aip_agents/utils/metadata/activity_narrative/__init__.pyi +0 -7
  257. aip_agents/utils/metadata/activity_narrative/builder.pyi +0 -35
  258. aip_agents/utils/metadata/activity_narrative/constants.pyi +0 -10
  259. aip_agents/utils/metadata/activity_narrative/context.pyi +0 -32
  260. aip_agents/utils/metadata/activity_narrative/formatters.pyi +0 -48
  261. aip_agents/utils/metadata/activity_narrative/utils.pyi +0 -12
  262. aip_agents/utils/metadata/schemas/__init__.pyi +0 -4
  263. aip_agents/utils/metadata/schemas/activity_schema.pyi +0 -18
  264. aip_agents/utils/metadata/schemas/thinking_schema.pyi +0 -20
  265. aip_agents/utils/metadata/thinking_metadata_helper.pyi +0 -4
  266. aip_agents/utils/metadata_helper.pyi +0 -117
  267. aip_agents/utils/name_preprocessor/__init__.pyi +0 -6
  268. aip_agents/utils/name_preprocessor/base_name_preprocessor.pyi +0 -52
  269. aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +0 -38
  270. aip_agents/utils/name_preprocessor/name_preprocessor.pyi +0 -41
  271. aip_agents/utils/name_preprocessor/openai_name_preprocessor.pyi +0 -34
  272. aip_agents/utils/pii/__init__.pyi +0 -5
  273. aip_agents/utils/pii/pii_handler.pyi +0 -96
  274. aip_agents/utils/pii/pii_helper.pyi +0 -78
  275. aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi +0 -73
  276. aip_agents/utils/reference_helper.pyi +0 -81
  277. aip_agents/utils/sse_chunk_transformer.pyi +0 -166
  278. aip_agents/utils/step_limit_manager.pyi +0 -112
  279. aip_agents/utils/token_usage_helper.pyi +0 -60
  280. aip_agents_binary-0.5.22.dist-info/RECORD +0 -546
  281. {aip_agents_binary-0.5.22.dist-info → aip_agents_binary-0.5.24.dist-info}/WHEEL +0 -0
  282. {aip_agents_binary-0.5.22.dist-info → aip_agents_binary-0.5.24.dist-info}/top_level.txt +0 -0
@@ -1,63 +0,0 @@
1
- from _typeshed import Incomplete
2
- from dataclasses import dataclass, field
3
- from enum import StrEnum
4
-
5
- class StepLimitErrorType(StrEnum):
6
- """Types of step-related limit violations."""
7
- STEP_LIMIT_EXCEEDED: str
8
- DELEGATION_DEPTH_EXCEEDED: str
9
-
10
- @dataclass
11
- class StepLimitConfig:
12
- """Configuration for agent step and delegation limits.
13
-
14
- Attributes:
15
- max_steps: Maximum number of execution steps allowed per invocation.
16
- Includes agent node (LLM call) and every tool call (parallel batches count per call).
17
- max_delegation_depth: Maximum depth of delegation chain allowed.
18
- Depth 0 means no delegation allowed.
19
- """
20
- max_steps: int = field(default_factory=Incomplete)
21
- max_delegation_depth: int = field(default_factory=Incomplete)
22
- def __post_init__(self) -> None:
23
- """Validate configuration values and normalize range."""
24
-
25
- @dataclass
26
- class StepLimitErrorResponse:
27
- """Structured error response for step limit violations.
28
-
29
- Attributes:
30
- error_type: The type of limit that was exceeded.
31
- agent_name: Name of the agent that hit the limit.
32
- current_value: Current step count or delegation depth.
33
- configured_limit: The configured limit that was exceeded.
34
- message: Human-readable error message.
35
- delegation_chain: Full chain for delegation errors.
36
- partial_result: Any output generated before hitting the limit.
37
- """
38
- error_type: StepLimitErrorType
39
- agent_name: str
40
- current_value: int
41
- configured_limit: int
42
- message: str
43
- delegation_chain: list[str] | None = ...
44
- partial_result: str | None = ...
45
-
46
- class StepLimitError(Exception):
47
- """Base exception for step and delegation limit violations.
48
-
49
- Attributes:
50
- error_response: Structured error response with details.
51
- """
52
- error_response: Incomplete
53
- def __init__(self, error_response: StepLimitErrorResponse) -> None:
54
- """Initialize with error response.
55
-
56
- Args:
57
- error_response: Structured error details.
58
- """
59
-
60
- class MaxStepsExceededError(StepLimitError):
61
- """Raised when agent exceeds configured max_steps limit."""
62
- class MaxDelegationDepthExceededError(StepLimitError):
63
- """Raised when delegation would exceed max_delegation_depth limit."""
@@ -1,21 +0,0 @@
1
- from dataclasses import dataclass
2
- from enum import StrEnum
3
-
4
- __all__ = ['OBJECT_STORAGE_PREFIX', 'StorageType', 'StorageConfig']
5
-
6
- OBJECT_STORAGE_PREFIX: str
7
-
8
- class StorageType(StrEnum):
9
- """Supported storage types."""
10
- MEMORY: str
11
- OBJECT_STORAGE: str
12
-
13
- @dataclass
14
- class StorageConfig:
15
- """Configuration for storage providers."""
16
- storage_type: StorageType = ...
17
- object_prefix: str = ...
18
- object_use_json: bool = ...
19
- @classmethod
20
- def from_env(cls) -> StorageConfig:
21
- """Create StorageConfig from environment variables."""
@@ -1,3 +0,0 @@
1
- from aip_agents.sentry.sentry import setup_telemetry as setup_telemetry
2
-
3
- __all__ = ['setup_telemetry']
@@ -1,48 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent import BaseAgent as BaseAgent, GoogleADKAgent as GoogleADKAgent, LangChainAgent as LangChainAgent, LangGraphAgent as LangGraphAgent
3
- from aip_agents.utils.logger import get_logger as get_logger
4
- from fastapi import FastAPI
5
-
6
- logger: Incomplete
7
- SENTRY_DSN: Incomplete
8
- SENTRY_ENVIRONMENT: Incomplete
9
- SENTRY_PROJECT: Incomplete
10
- VERSION_NUMBER: Incomplete
11
- BUILD_NUMBER: Incomplete
12
- USE_OPENTELEMETRY: Incomplete
13
- CLASSES_TO_INSTRUMENT: Incomplete
14
-
15
- def get_all_methods(cls) -> list:
16
- """Get all methods from a class.
17
-
18
- Args:
19
- cls: The class to get methods from.
20
-
21
- Returns:
22
- list: A list of methods.
23
- """
24
- def instrument_gl_functions() -> None:
25
- """Instrument GL functions."""
26
- def traces_sampler(*args) -> float:
27
- """Determine appropriate sampling rate for Sentry transactions.
28
-
29
- Args:
30
- *args: Additional positional arguments
31
-
32
- Returns:
33
- float: Sampling rate between 0 and 1
34
- """
35
- def setup_sentry_with_open_telemetry(app: FastAPI) -> None:
36
- """Configure telemetry with both Sentry and OpenTelemetry.
37
-
38
- Args:
39
- app: FastAPI application instance
40
- """
41
- def setup_sentry_only() -> None:
42
- """Configure telemetry with Sentry only (no OpenTelemetry)."""
43
- def setup_telemetry(app: FastAPI) -> None:
44
- """Configure and initialize telemetry based on configuration.
45
-
46
- Args:
47
- app: FastAPI application instance
48
- """
@@ -1,8 +0,0 @@
1
- from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
2
- from aip_agents.storage.clients.minio_client import MinioConfig as MinioConfig, MinioObjectStorage as MinioObjectStorage
3
- from aip_agents.storage.config import StorageConfig as StorageConfig, StorageProviderFactory as StorageProviderFactory, StorageType as StorageType
4
- from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
5
- from aip_agents.storage.providers.memory import InMemoryStorageProvider as InMemoryStorageProvider
6
- from aip_agents.storage.providers.object_storage import ObjectStorageProvider as ObjectStorageProvider
7
-
8
- __all__ = ['BaseObjectStorageClient', 'MinioConfig', 'MinioObjectStorage', 'BaseStorageProvider', 'StorageError', 'InMemoryStorageProvider', 'ObjectStorageProvider', 'StorageConfig', 'StorageType', 'StorageProviderFactory']
@@ -1,58 +0,0 @@
1
- from abc import ABC, abstractmethod
2
- from typing import BinaryIO
3
-
4
- class BaseObjectStorageClient(ABC):
5
- """Abstract base class for object storage clients."""
6
- @abstractmethod
7
- def object_exists(self, object_key: str) -> bool:
8
- """Check if an object exists in the storage.
9
-
10
- Args:
11
- object_key: The key of the object to check.
12
-
13
- Returns:
14
- True if the object exists, False otherwise.
15
- """
16
- @abstractmethod
17
- def upload(self, object_key: str, file_stream: bytes | BinaryIO, filename: str | None = None, content_type: str | None = None, metadata: dict[str, str] | None = None) -> str:
18
- """Upload data to object storage.
19
-
20
- Args:
21
- object_key: The key of the object in the storage
22
- file_stream: The binary data to upload
23
- filename: The name of the file
24
- content_type: The content type of the file
25
- metadata: Additional metadata to store with the object
26
-
27
- Returns:
28
- The key of the uploaded object
29
- """
30
- @abstractmethod
31
- def get(self, object_key: str) -> bytes:
32
- """Get data from object storage.
33
-
34
- Args:
35
- object_key: The key of the object in the storage
36
-
37
- Returns:
38
- The binary data of the object
39
- """
40
- @abstractmethod
41
- def delete(self, object_key: str) -> None:
42
- """Delete data from object storage.
43
-
44
- Args:
45
- object_key: The key of the object in the storage
46
- """
47
- @abstractmethod
48
- def generate_presigned_url(self, object_key: str, expires: int = 24, response_headers: dict[str, str] | None = None) -> str:
49
- """Generate a presigned URL for accessing the object.
50
-
51
- Args:
52
- object_key: The key of the object in the storage
53
- expires: The number of hours the URL is valid for
54
- response_headers: Additional headers to include in the response
55
-
56
- Returns:
57
- The presigned URL
58
- """
@@ -1,3 +0,0 @@
1
- from aip_agents.storage.clients.minio_client import MinioConfig as MinioConfig, MinioObjectStorage as MinioObjectStorage
2
-
3
- __all__ = ['MinioConfig', 'MinioObjectStorage']
@@ -1,137 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
3
- from dataclasses import dataclass
4
- from typing import BinaryIO
5
-
6
- S3_ERR_NO_SUCH_KEY: str
7
- S3_ERR_NO_SUCH_BUCKET: str
8
- S3_ERR_ACCESS_DENIED: str
9
-
10
- @dataclass
11
- class MinioConfig:
12
- """Configuration for MinIO object storage client.
13
-
14
- Attributes:
15
- endpoint: MinIO server endpoint URL
16
- access_key: Access key for authentication
17
- secret_key: Secret key for authentication
18
- bucket: Bucket name to use for storage
19
- secure: Whether to use HTTPS (defaults to True)
20
- """
21
- endpoint: str
22
- access_key: str
23
- secret_key: str
24
- bucket: str
25
- secure: bool = ...
26
- @classmethod
27
- def from_env(cls) -> MinioConfig:
28
- """Create MinioConfig from environment variables.
29
-
30
- Expected environment variables:
31
- - OBJECT_STORAGE_URL
32
- - OBJECT_STORAGE_USER
33
- - OBJECT_STORAGE_PASSWORD
34
- - OBJECT_STORAGE_BUCKET
35
- - OBJECT_STORAGE_SECURE (optional, defaults to True)
36
-
37
- Returns:
38
- MinioConfig instance
39
-
40
- Raises:
41
- ValueError: If required environment variables are not set
42
- """
43
-
44
- class MinioObjectStorage(BaseObjectStorageClient):
45
- """Implementation of ObjectStorageInterface using Minio."""
46
- config: Incomplete
47
- client: Incomplete
48
- bucket: Incomplete
49
- def __init__(self, config: MinioConfig | None = None, ensure_bucket: bool = True) -> None:
50
- """Initialize MinioObjectStorage with configuration.
51
-
52
- Args:
53
- config: MinioConfig instance. If None, will attempt to load from environment variables.
54
- ensure_bucket: Whether to ensure bucket exists during initialization (optional). Defaults to True.
55
-
56
- Raises:
57
- ValueError: If configuration is invalid or incomplete
58
- """
59
- def upload(self, object_key: str, file_stream: bytes | BinaryIO, filename: str | None = None, content_type: str | None = None, metadata: dict[str, str] | None = None) -> str:
60
- """Upload data to Minio object storage.
61
-
62
- Args:
63
- object_key: The key to store the object under
64
- file_stream: The data to upload (bytes or file-like object)
65
- filename: The filename of the data (optional)
66
- content_type: The content type of the data (optional)
67
- metadata: Additional metadata to store with the object (optional)
68
-
69
- Returns:
70
- The object key of the uploaded data
71
-
72
- Raises:
73
- ValueError: If the file stream is empty or invalid
74
- ConnectionError: If there's an issue connecting to Minio
75
- Exception: For other unexpected errors during upload
76
- """
77
- def get(self, object_key: str) -> bytes:
78
- """Get data from Minio object storage.
79
-
80
- Args:
81
- object_key: The key of the object to retrieve
82
-
83
- Returns:
84
- The object data as bytes
85
-
86
- Raises:
87
- KeyError: If the object is not found
88
- ConnectionError: If there's a network or connection issue
89
- """
90
- def delete(self, object_key: str) -> None:
91
- """Delete data from Minio object storage.
92
-
93
- Args:
94
- object_key: The key of the object to delete
95
-
96
- Raises:
97
- ConnectionError: If there's a network or connection issue
98
- """
99
- def object_exists(self, object_key: str) -> bool:
100
- """Check if an object exists in the MinIO bucket.
101
-
102
- Args:
103
- object_key: The key of the object to check.
104
-
105
- Returns:
106
- True if the object exists, False otherwise.
107
-
108
- Raises:
109
- ConnectionError: If there's a network or connection issue (excluding not found errors)
110
- """
111
- def list_objects(self, prefix: str = '') -> list[str]:
112
- """List objects in the bucket with optional prefix filter.
113
-
114
- Args:
115
- prefix: Optional prefix to filter objects
116
-
117
- Returns:
118
- List of object keys
119
-
120
- Raises:
121
- ConnectionError: If there's an issue listing objects
122
- """
123
- def generate_presigned_url(self, object_key: str, expires: int = 24, response_headers: dict[str, str] | None = None) -> str:
124
- """Generate a presigned URL for accessing the object.
125
-
126
- Args:
127
- object_key: The key of the object
128
- expires: Expiration time in hours (defaults to 24)
129
- response_headers: Additional response headers (optional)
130
-
131
- Returns:
132
- A presigned URL
133
-
134
- Raises:
135
- ValueError: If expiration time is not positive
136
- ConnectionError: If there's an issue generating the URL
137
- """
@@ -1,29 +0,0 @@
1
- from aip_agents.schema.storage import OBJECT_STORAGE_PREFIX as OBJECT_STORAGE_PREFIX, StorageConfig as StorageConfig, StorageType as StorageType
2
- from aip_agents.storage.base import BaseObjectStorageClient
3
- from aip_agents.storage.providers.base import BaseStorageProvider
4
-
5
- __all__ = ['OBJECT_STORAGE_PREFIX', 'StorageConfig', 'StorageType', 'StorageProviderFactory']
6
-
7
- class StorageProviderFactory:
8
- """Factory for creating storage providers based on configuration."""
9
- @staticmethod
10
- def create(config: StorageConfig, object_storage_client: BaseObjectStorageClient | None = None) -> BaseStorageProvider:
11
- """Create storage provider based on configuration.
12
-
13
- Args:
14
- config (StorageConfig): Storage configuration object.
15
- object_storage_client (BaseObjectStorageClient | None, optional): Optional object storage client for object storage type.
16
-
17
- Returns:
18
- BaseStorageProvider: The created storage provider instance.
19
- """
20
- @staticmethod
21
- def create_from_env(object_storage_client: BaseObjectStorageClient | None = None) -> BaseStorageProvider:
22
- """Create storage provider from environment variables.
23
-
24
- Args:
25
- object_storage_client (BaseObjectStorageClient | None, optional): Optional object storage client for object storage type.
26
-
27
- Returns:
28
- BaseStorageProvider: The created storage provider instance.
29
- """
@@ -1,5 +0,0 @@
1
- from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
2
- from aip_agents.storage.providers.memory import InMemoryStorageProvider as InMemoryStorageProvider
3
- from aip_agents.storage.providers.object_storage import ObjectStorageProvider as ObjectStorageProvider
4
-
5
- __all__ = ['BaseStorageProvider', 'StorageError', 'InMemoryStorageProvider', 'ObjectStorageProvider']
@@ -1,88 +0,0 @@
1
- from _typeshed import Incomplete
2
- from abc import ABC, abstractmethod
3
- from aip_agents.utils.logger import get_logger as get_logger
4
- from typing import Any
5
-
6
- logger: Incomplete
7
-
8
- class StorageError(Exception):
9
- """Base exception for storage operations."""
10
-
11
- class BaseStorageProvider(ABC):
12
- """Base interface for storage providers.
13
-
14
- This abstract class defines the contract that all storage providers
15
- must implement to store and retrieve tool outputs.
16
- """
17
- @abstractmethod
18
- def store(self, key: str, data: Any) -> None:
19
- """Store data with the given key.
20
-
21
- Args:
22
- key: Unique identifier for the data
23
- data: Data to store (must be serializable)
24
-
25
- Raises:
26
- StorageError: If storage operation fails
27
- """
28
- @abstractmethod
29
- def retrieve(self, key: str) -> Any:
30
- """Retrieve data by key.
31
-
32
- Args:
33
- key: Unique identifier for the data
34
-
35
- Returns:
36
- The stored data
37
-
38
- Raises:
39
- KeyError: If key not found
40
- StorageError: If retrieval operation fails
41
- """
42
- @abstractmethod
43
- def exists(self, key: str) -> bool:
44
- """Check if key exists.
45
-
46
- Args:
47
- key: Unique identifier to check
48
-
49
- Returns:
50
- True if key exists, False otherwise
51
- """
52
- @abstractmethod
53
- def delete(self, key: str) -> None:
54
- """Delete data by key.
55
-
56
- Args:
57
- key: Unique identifier for the data
58
-
59
- Note:
60
- Should not raise error if key doesn't exist
61
- """
62
- @abstractmethod
63
- def list_keys(self, prefix: str = '') -> list[str]:
64
- """List all keys with optional prefix filter.
65
-
66
- Args:
67
- prefix: Optional prefix to filter keys
68
-
69
- Returns:
70
- List of matching keys
71
- """
72
- @abstractmethod
73
- def clear(self) -> None:
74
- """Clear all stored data.
75
-
76
- Warning:
77
- This operation is irreversible
78
- """
79
- def get_presigned_url(self, key: str, expires_hours: int = 24) -> str | None:
80
- """Generate presigned URL for direct access (optional).
81
-
82
- Args:
83
- key: Storage key
84
- expires_hours: URL expiration in hours
85
-
86
- Returns:
87
- Presigned URL if supported, None otherwise
88
- """
@@ -1,79 +0,0 @@
1
- from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
2
- from typing import Any
3
-
4
- class InMemoryStorageProvider(BaseStorageProvider):
5
- """In-memory storage provider for fast access to small data.
6
-
7
- This provider stores all data in memory, providing the fastest
8
- access times but limited by available RAM.
9
-
10
- Best for:
11
- - Small to medium datasets
12
- - Temporary storage
13
- - Development and testing
14
- - High-frequency access patterns
15
- """
16
- def __init__(self) -> None:
17
- """Initialize in-memory storage."""
18
- def store(self, key: str, data: Any) -> None:
19
- """Store data in memory.
20
-
21
- Args:
22
- key: Unique identifier for the data
23
- data: Data to store
24
-
25
- Raises:
26
- StorageError: If storage operation fails
27
- """
28
- def retrieve(self, key: str) -> Any:
29
- """Retrieve data from memory.
30
-
31
- Args:
32
- key: Unique identifier for the data
33
-
34
- Returns:
35
- The stored data
36
-
37
- Raises:
38
- KeyError: If key not found
39
- """
40
- def exists(self, key: str) -> bool:
41
- """Check if key exists in memory.
42
-
43
- Args:
44
- key: Unique identifier to check
45
-
46
- Returns:
47
- True if key exists, False otherwise
48
- """
49
- def delete(self, key: str) -> None:
50
- """Delete data from memory.
51
-
52
- Args:
53
- key: Unique identifier for the data
54
- """
55
- def list_keys(self, prefix: str = '') -> list[str]:
56
- """List all keys with optional prefix.
57
-
58
- Args:
59
- prefix: Optional prefix to filter keys
60
-
61
- Returns:
62
- List of matching keys
63
- """
64
- def clear(self) -> None:
65
- """Clear all data from memory."""
66
- @property
67
- def size_bytes(self) -> int:
68
- """Get approximate memory usage in bytes.
69
-
70
- Returns:
71
- Approximate memory usage in bytes
72
- """
73
- @property
74
- def count(self) -> int:
75
- """Get number of stored items.
76
-
77
- Returns:
78
- Number of items in storage
79
- """
@@ -1,98 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
3
- from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
4
- from aip_agents.utils.logger import get_logger as get_logger
5
- from typing import Any
6
-
7
- logger: Incomplete
8
-
9
- class ObjectStorageProvider(BaseStorageProvider):
10
- """Object storage provider for S3-compatible storage.
11
-
12
- Works with any S3-compatible storage including AWS S3, MinIO,
13
- Google Cloud Storage (with S3 compatibility), etc.
14
-
15
- Best for:
16
- - Very large datasets
17
- - Distributed systems
18
- - Cloud deployments
19
- - Long-term storage
20
- - Multi-region access
21
- """
22
- client: Incomplete
23
- prefix: Incomplete
24
- use_json: Incomplete
25
- def __init__(self, client: BaseObjectStorageClient, prefix: str = '', use_json: bool = False) -> None:
26
- """Initialize object storage provider.
27
-
28
- Args:
29
- client: Object storage client instance
30
- prefix: Prefix for all keys (like a directory)
31
- use_json: Use JSON format (True) or pickle (False)
32
- """
33
- def store(self, key: str, data: Any) -> None:
34
- """Store data in object storage.
35
-
36
- Args:
37
- key: Unique identifier for the data
38
- data: Data to store
39
-
40
- Raises:
41
- StorageError: If storage operation fails
42
- """
43
- def retrieve(self, key: str) -> Any:
44
- """Retrieve data from object storage.
45
-
46
- Args:
47
- key: Unique identifier for the data
48
-
49
- Returns:
50
- The stored data
51
-
52
- Raises:
53
- KeyError: If key not found
54
- StorageError: If retrieval operation fails
55
- """
56
- def exists(self, key: str) -> bool:
57
- """Check if object exists.
58
-
59
- Args:
60
- key: Unique identifier to check
61
-
62
- Returns:
63
- True if key exists, False otherwise
64
- """
65
- def delete(self, key: str) -> None:
66
- """Delete object.
67
-
68
- Args:
69
- key: Unique identifier for the data
70
- """
71
- def list_keys(self, prefix: str = '') -> list[str]:
72
- """List all keys with optional prefix.
73
-
74
- Args:
75
- prefix: Optional prefix to filter keys
76
-
77
- Raises:
78
- NotImplementedError: list_keys is not implemented
79
- """
80
- def clear(self) -> None:
81
- """Clear all objects with the configured prefix.
82
-
83
- Warning:
84
- This is a dangerous operation!
85
- """
86
- def get_presigned_url(self, key: str, expires_hours: int = 24) -> str | None:
87
- """Generate presigned URL for direct access.
88
-
89
- Args:
90
- key: Storage key
91
- expires_hours: URL expiration in hours
92
-
93
- Returns:
94
- Presigned URL for direct access
95
-
96
- Raises:
97
- StorageError: If URL generation fails
98
- """
@@ -1,9 +0,0 @@
1
- from aip_agents.tools.browser_use import BrowserUseTool as BrowserUseTool
2
- from aip_agents.tools.code_sandbox import E2BCodeSandboxTool as E2BCodeSandboxTool
3
- from aip_agents.tools.document_loader import DocxReaderTool as DocxReaderTool, ExcelReaderTool as ExcelReaderTool, PDFReaderTool as PDFReaderTool
4
- from aip_agents.tools.gl_connector import GLConnectorTool as GLConnectorTool
5
- from aip_agents.tools.gl_connector_tools import BOSA_AUTOMATED_TOOLS as BOSA_AUTOMATED_TOOLS, GL_CONNECTORS_AUTOMATED_TOOLS as GL_CONNECTORS_AUTOMATED_TOOLS
6
- from aip_agents.tools.time_tool import TimeTool as TimeTool
7
- from aip_agents.tools.web_search import GoogleSerperTool as GoogleSerperTool
8
-
9
- __all__ = ['BOSA_AUTOMATED_TOOLS', 'GL_CONNECTORS_AUTOMATED_TOOLS', 'GLConnectorTool', 'GoogleSerperTool', 'TimeTool', 'BrowserUseTool', 'E2BCodeSandboxTool', 'DocxReaderTool', 'ExcelReaderTool', 'PDFReaderTool']
@@ -1,14 +0,0 @@
1
- from enum import StrEnum
2
-
3
- __all__ = [<ImportableName.BROWSER_USE_TOOL: 'BrowserUseTool'>, <ImportableName.BROWSER_USE_TOOL_INPUT: 'BrowserUseToolInput'>, <ImportableName.BROWSER_USE_TOOL_CONFIG: 'BrowserUseToolConfig'>]
4
-
5
- class ImportableName(StrEnum):
6
- """Names of the importable attributes."""
7
- BROWSER_USE_TOOL: str
8
- BROWSER_USE_TOOL_INPUT: str
9
- BROWSER_USE_TOOL_CONFIG: str
10
-
11
- # Names in __all__ with no definition:
12
- # BrowserUseTool
13
- # BrowserUseToolConfig
14
- # BrowserUseToolInput