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.
Files changed (305) hide show
  1. aip_agents/__init__.pyi +19 -0
  2. aip_agents/a2a/__init__.pyi +3 -0
  3. aip_agents/a2a/server/__init__.pyi +4 -0
  4. aip_agents/a2a/server/base_executor.pyi +73 -0
  5. aip_agents/a2a/server/google_adk_executor.pyi +51 -0
  6. aip_agents/a2a/server/langflow_executor.pyi +43 -0
  7. aip_agents/a2a/server/langgraph_executor.pyi +47 -0
  8. aip_agents/a2a/types.pyi +132 -0
  9. aip_agents/agent/__init__.pyi +9 -0
  10. aip_agents/agent/base_agent.pyi +221 -0
  11. aip_agents/agent/base_langgraph_agent.pyi +233 -0
  12. aip_agents/agent/google_adk_agent.pyi +141 -0
  13. aip_agents/agent/google_adk_constants.pyi +3 -0
  14. aip_agents/agent/hitl/__init__.pyi +6 -0
  15. aip_agents/agent/hitl/config.pyi +15 -0
  16. aip_agents/agent/hitl/langgraph_hitl_mixin.pyi +42 -0
  17. aip_agents/agent/hitl/manager.pyi +200 -0
  18. aip_agents/agent/hitl/models.pyi +3 -0
  19. aip_agents/agent/hitl/prompt/__init__.pyi +4 -0
  20. aip_agents/agent/hitl/prompt/base.pyi +24 -0
  21. aip_agents/agent/hitl/prompt/deferred.pyi +30 -0
  22. aip_agents/agent/hitl/registry.pyi +101 -0
  23. aip_agents/agent/interface.pyi +81 -0
  24. aip_agents/agent/interfaces.pyi +44 -0
  25. aip_agents/agent/langflow_agent.pyi +133 -0
  26. aip_agents/agent/langgraph_memory_enhancer_agent.pyi +49 -0
  27. aip_agents/agent/langgraph_react_agent.pyi +170 -0
  28. aip_agents/agent/system_instruction_context.pyi +13 -0
  29. aip_agents/clients/__init__.pyi +4 -0
  30. aip_agents/clients/langflow/__init__.pyi +4 -0
  31. aip_agents/clients/langflow/client.pyi +140 -0
  32. aip_agents/clients/langflow/types.pyi +7 -0
  33. aip_agents/constants.pyi +7 -0
  34. aip_agents/examples/__init__.pyi +0 -0
  35. aip_agents/examples/compare_streaming_client.pyi +48 -0
  36. aip_agents/examples/compare_streaming_server.pyi +18 -0
  37. aip_agents/examples/demo_memory_recall.pyi +58 -0
  38. aip_agents/examples/hello_world_a2a_google_adk_client.pyi +9 -0
  39. aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +9 -0
  40. aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +9 -0
  41. aip_agents/examples/hello_world_a2a_google_adk_server.pyi +15 -0
  42. aip_agents/examples/hello_world_a2a_langchain_client.pyi +5 -0
  43. aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +5 -0
  44. aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +5 -0
  45. aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +5 -0
  46. aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +5 -0
  47. aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +15 -0
  48. aip_agents/examples/hello_world_a2a_langchain_server.pyi +15 -0
  49. aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +15 -0
  50. aip_agents/examples/hello_world_a2a_langflow_client.pyi +9 -0
  51. aip_agents/examples/hello_world_a2a_langflow_server.pyi +14 -0
  52. aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +5 -0
  53. aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +5 -0
  54. aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +16 -0
  55. aip_agents/examples/hello_world_a2a_langgraph_client.pyi +9 -0
  56. aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +9 -0
  57. aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +2 -0
  58. aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +9 -0
  59. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +5 -0
  60. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +5 -0
  61. aip_agents/examples/hello_world_a2a_langgraph_server.pyi +14 -0
  62. aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +15 -0
  63. aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +15 -0
  64. aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +48 -0
  65. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +48 -0
  66. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +45 -0
  67. aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +5 -0
  68. aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +15 -0
  69. aip_agents/examples/hello_world_google_adk.pyi +5 -0
  70. aip_agents/examples/hello_world_google_adk_mcp_http.pyi +5 -0
  71. aip_agents/examples/hello_world_google_adk_mcp_http_stream.pyi +5 -0
  72. aip_agents/examples/hello_world_google_adk_mcp_sse.pyi +5 -0
  73. aip_agents/examples/hello_world_google_adk_mcp_sse_stream.pyi +5 -0
  74. aip_agents/examples/hello_world_google_adk_mcp_stdio.pyi +5 -0
  75. aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.pyi +5 -0
  76. aip_agents/examples/hello_world_google_adk_stream.pyi +5 -0
  77. aip_agents/examples/hello_world_langchain.pyi +5 -0
  78. aip_agents/examples/hello_world_langchain_lm_invoker.pyi +2 -0
  79. aip_agents/examples/hello_world_langchain_mcp_http.pyi +5 -0
  80. aip_agents/examples/hello_world_langchain_mcp_http_interactive.pyi +16 -0
  81. aip_agents/examples/hello_world_langchain_mcp_http_stream.pyi +5 -0
  82. aip_agents/examples/hello_world_langchain_mcp_multi_server.pyi +18 -0
  83. aip_agents/examples/hello_world_langchain_mcp_sse.pyi +5 -0
  84. aip_agents/examples/hello_world_langchain_mcp_sse_stream.pyi +5 -0
  85. aip_agents/examples/hello_world_langchain_mcp_stdio.pyi +5 -0
  86. aip_agents/examples/hello_world_langchain_mcp_stdio_stream.pyi +5 -0
  87. aip_agents/examples/hello_world_langchain_stream.pyi +5 -0
  88. aip_agents/examples/hello_world_langchain_stream_lm_invoker.pyi +5 -0
  89. aip_agents/examples/hello_world_langflow_agent.pyi +35 -0
  90. aip_agents/examples/hello_world_langgraph.pyi +5 -0
  91. aip_agents/examples/hello_world_langgraph_gl_connector_twitter.pyi +5 -0
  92. aip_agents/examples/hello_world_langgraph_mcp_http.pyi +5 -0
  93. aip_agents/examples/hello_world_langgraph_mcp_http_stream.pyi +5 -0
  94. aip_agents/examples/hello_world_langgraph_mcp_sse.pyi +5 -0
  95. aip_agents/examples/hello_world_langgraph_mcp_sse_stream.pyi +5 -0
  96. aip_agents/examples/hello_world_langgraph_mcp_stdio.pyi +5 -0
  97. aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.pyi +5 -0
  98. aip_agents/examples/hello_world_langgraph_stream.pyi +5 -0
  99. aip_agents/examples/hello_world_langgraph_stream_lm_invoker.pyi +5 -0
  100. aip_agents/examples/hello_world_model_switch_cli.pyi +30 -0
  101. aip_agents/examples/hello_world_multi_agent_adk.pyi +6 -0
  102. aip_agents/examples/hello_world_multi_agent_langchain.pyi +5 -0
  103. aip_agents/examples/hello_world_multi_agent_langgraph.pyi +5 -0
  104. aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.pyi +5 -0
  105. aip_agents/examples/hello_world_pii_logger.pyi +5 -0
  106. aip_agents/examples/hello_world_ptc.pyi +5 -0
  107. aip_agents/examples/hello_world_sentry.pyi +21 -0
  108. aip_agents/examples/hello_world_step_limits.pyi +17 -0
  109. aip_agents/examples/hello_world_stock_a2a_server.pyi +17 -0
  110. aip_agents/examples/hello_world_tool_output_client.pyi +5 -0
  111. aip_agents/examples/hello_world_tool_output_server.pyi +19 -0
  112. aip_agents/examples/hitl_demo.pyi +67 -0
  113. aip_agents/examples/pii_demo_langgraph_client.pyi +5 -0
  114. aip_agents/examples/pii_demo_langgraph_server.pyi +20 -0
  115. aip_agents/examples/pii_demo_multi_agent_client.pyi +5 -0
  116. aip_agents/examples/pii_demo_multi_agent_server.pyi +40 -0
  117. aip_agents/examples/todolist_planning_a2a_langchain_client.pyi +5 -0
  118. aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi +19 -0
  119. aip_agents/examples/tools/__init__.pyi +9 -0
  120. aip_agents/examples/tools/adk_arithmetic_tools.pyi +24 -0
  121. aip_agents/examples/tools/adk_weather_tool.pyi +18 -0
  122. aip_agents/examples/tools/data_generator_tool.pyi +15 -0
  123. aip_agents/examples/tools/data_visualization_tool.pyi +19 -0
  124. aip_agents/examples/tools/image_artifact_tool.pyi +26 -0
  125. aip_agents/examples/tools/langchain_arithmetic_tools.pyi +17 -0
  126. aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +20 -0
  127. aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +25 -0
  128. aip_agents/examples/tools/langchain_weather_tool.pyi +19 -0
  129. aip_agents/examples/tools/langgraph_streaming_tool.pyi +43 -0
  130. aip_agents/examples/tools/mock_retrieval_tool.pyi +13 -0
  131. aip_agents/examples/tools/pii_demo_tools.pyi +54 -0
  132. aip_agents/examples/tools/random_chart_tool.pyi +20 -0
  133. aip_agents/examples/tools/serper_tool.pyi +16 -0
  134. aip_agents/examples/tools/stock_tools.pyi +36 -0
  135. aip_agents/examples/tools/table_generator_tool.pyi +22 -0
  136. aip_agents/examples/tools/time_tool.pyi +15 -0
  137. aip_agents/examples/tools/weather_forecast_tool.pyi +14 -0
  138. aip_agents/guardrails/__init__.pyi +6 -0
  139. aip_agents/guardrails/engines/__init__.pyi +4 -0
  140. aip_agents/guardrails/engines/base.pyi +61 -0
  141. aip_agents/guardrails/engines/nemo.pyi +46 -0
  142. aip_agents/guardrails/engines/phrase_matcher.pyi +48 -0
  143. aip_agents/guardrails/exceptions.pyi +23 -0
  144. aip_agents/guardrails/manager.pyi +42 -0
  145. aip_agents/guardrails/middleware.pyi +87 -0
  146. aip_agents/guardrails/schemas.pyi +43 -0
  147. aip_agents/guardrails/utils.pyi +19 -0
  148. aip_agents/mcp/__init__.pyi +0 -0
  149. aip_agents/mcp/client/__init__.pyi +5 -0
  150. aip_agents/mcp/client/base_mcp_client.pyi +148 -0
  151. aip_agents/mcp/client/connection_manager.pyi +51 -0
  152. aip_agents/mcp/client/google_adk/__init__.pyi +3 -0
  153. aip_agents/mcp/client/google_adk/client.pyi +75 -0
  154. aip_agents/mcp/client/langchain/__init__.pyi +3 -0
  155. aip_agents/mcp/client/langchain/client.pyi +48 -0
  156. aip_agents/mcp/client/persistent_session.pyi +122 -0
  157. aip_agents/mcp/client/session_pool.pyi +101 -0
  158. aip_agents/mcp/client/transports.pyi +132 -0
  159. aip_agents/mcp/utils/__init__.pyi +0 -0
  160. aip_agents/mcp/utils/config_validator.pyi +82 -0
  161. aip_agents/memory/__init__.pyi +5 -0
  162. aip_agents/memory/adapters/__init__.pyi +4 -0
  163. aip_agents/memory/adapters/base_adapter.pyi +150 -0
  164. aip_agents/memory/adapters/mem0.pyi +22 -0
  165. aip_agents/memory/base.pyi +60 -0
  166. aip_agents/memory/constants.pyi +25 -0
  167. aip_agents/memory/factory.pyi +24 -0
  168. aip_agents/memory/guidance.pyi +3 -0
  169. aip_agents/memory/simple_memory.pyi +23 -0
  170. aip_agents/middleware/__init__.pyi +5 -0
  171. aip_agents/middleware/base.pyi +75 -0
  172. aip_agents/middleware/manager.pyi +84 -0
  173. aip_agents/middleware/todolist.pyi +125 -0
  174. aip_agents/ptc/__init__.pyi +10 -0
  175. aip_agents/ptc/doc_gen.pyi +40 -0
  176. aip_agents/ptc/exceptions.pyi +22 -0
  177. aip_agents/ptc/executor.pyi +73 -0
  178. aip_agents/ptc/mcp/__init__.pyi +7 -0
  179. aip_agents/ptc/mcp/sandbox_bridge.pyi +47 -0
  180. aip_agents/ptc/mcp/templates/__init__.pyi +0 -0
  181. aip_agents/ptc/naming.pyi +76 -0
  182. aip_agents/ptc/payload.pyi +15 -0
  183. aip_agents/ptc/prompt_builder.pyi +55 -0
  184. aip_agents/ptc/ptc_helper.pyi +1 -0
  185. aip_agents/ptc/sandbox_bridge.pyi +25 -0
  186. aip_agents/ptc/template_utils.pyi +13 -0
  187. aip_agents/ptc/templates/__init__.pyi +0 -0
  188. aip_agents/sandbox/__init__.pyi +5 -0
  189. aip_agents/sandbox/defaults.pyi +2 -0
  190. aip_agents/sandbox/e2b_runtime.pyi +51 -0
  191. aip_agents/sandbox/template_builder.pyi +36 -0
  192. aip_agents/sandbox/types.pyi +14 -0
  193. aip_agents/sandbox/validation.pyi +20 -0
  194. aip_agents/schema/__init__.pyi +9 -0
  195. aip_agents/schema/a2a.pyi +40 -0
  196. aip_agents/schema/agent.pyi +65 -0
  197. aip_agents/schema/hitl.pyi +89 -0
  198. aip_agents/schema/langgraph.pyi +28 -0
  199. aip_agents/schema/model_id.pyi +54 -0
  200. aip_agents/schema/step_limit.pyi +63 -0
  201. aip_agents/schema/storage.pyi +21 -0
  202. aip_agents/sentry/__init__.pyi +3 -0
  203. aip_agents/sentry/sentry.pyi +48 -0
  204. aip_agents/storage/__init__.pyi +8 -0
  205. aip_agents/storage/base.pyi +58 -0
  206. aip_agents/storage/clients/__init__.pyi +3 -0
  207. aip_agents/storage/clients/minio_client.pyi +137 -0
  208. aip_agents/storage/config.pyi +29 -0
  209. aip_agents/storage/providers/__init__.pyi +5 -0
  210. aip_agents/storage/providers/base.pyi +88 -0
  211. aip_agents/storage/providers/memory.pyi +79 -0
  212. aip_agents/storage/providers/object_storage.pyi +98 -0
  213. aip_agents/tools/__init__.py +11 -2
  214. aip_agents/tools/__init__.pyi +11 -0
  215. aip_agents/tools/browser_use/__init__.pyi +14 -0
  216. aip_agents/tools/browser_use/action_parser.pyi +18 -0
  217. aip_agents/tools/browser_use/browser_use_tool.pyi +50 -0
  218. aip_agents/tools/browser_use/llm_config.pyi +52 -0
  219. aip_agents/tools/browser_use/minio_storage.pyi +109 -0
  220. aip_agents/tools/browser_use/schemas.pyi +32 -0
  221. aip_agents/tools/browser_use/session.pyi +4 -0
  222. aip_agents/tools/browser_use/session_errors.pyi +53 -0
  223. aip_agents/tools/browser_use/steel_session_recording.pyi +63 -0
  224. aip_agents/tools/browser_use/streaming.pyi +81 -0
  225. aip_agents/tools/browser_use/structured_data_parser.pyi +86 -0
  226. aip_agents/tools/browser_use/structured_data_recovery.pyi +43 -0
  227. aip_agents/tools/browser_use/types.pyi +45 -0
  228. aip_agents/tools/code_sandbox/__init__.pyi +3 -0
  229. aip_agents/tools/code_sandbox/constant.pyi +4 -0
  230. aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.pyi +102 -0
  231. aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +29 -0
  232. aip_agents/tools/constants.pyi +138 -0
  233. aip_agents/tools/date_range_tool.py +554 -0
  234. aip_agents/tools/date_range_tool.pyi +21 -0
  235. aip_agents/tools/document_loader/__init__.pyi +7 -0
  236. aip_agents/tools/document_loader/base_reader.pyi +75 -0
  237. aip_agents/tools/document_loader/docx_reader_tool.pyi +10 -0
  238. aip_agents/tools/document_loader/excel_reader_tool.pyi +26 -0
  239. aip_agents/tools/document_loader/pdf_reader_tool.pyi +11 -0
  240. aip_agents/tools/document_loader/pdf_splitter.pyi +18 -0
  241. aip_agents/tools/execute_ptc_code.pyi +90 -0
  242. aip_agents/tools/gl_connector/__init__.pyi +3 -0
  243. aip_agents/tools/gl_connector/tool.pyi +74 -0
  244. aip_agents/tools/gl_connector_tools.pyi +39 -0
  245. aip_agents/tools/memory_search/__init__.pyi +5 -0
  246. aip_agents/tools/memory_search/base.pyi +69 -0
  247. aip_agents/tools/memory_search/mem0.pyi +19 -0
  248. aip_agents/tools/memory_search/schema.pyi +15 -0
  249. aip_agents/tools/memory_search_tool.pyi +3 -0
  250. aip_agents/tools/time_tool.pyi +16 -0
  251. aip_agents/tools/tool_config_injector.pyi +26 -0
  252. aip_agents/tools/web_search/__init__.pyi +3 -0
  253. aip_agents/tools/web_search/serper_tool.pyi +19 -0
  254. aip_agents/types/__init__.pyi +36 -0
  255. aip_agents/types/a2a_events.pyi +3 -0
  256. aip_agents/utils/__init__.pyi +11 -0
  257. aip_agents/utils/a2a_connector.pyi +146 -0
  258. aip_agents/utils/artifact_helpers.pyi +203 -0
  259. aip_agents/utils/constants.pyi +10 -0
  260. aip_agents/utils/datetime/__init__.pyi +4 -0
  261. aip_agents/utils/datetime/normalization.pyi +95 -0
  262. aip_agents/utils/datetime/timezone.pyi +48 -0
  263. aip_agents/utils/env_loader.pyi +10 -0
  264. aip_agents/utils/event_handler_registry.pyi +23 -0
  265. aip_agents/utils/file_prompt_utils.pyi +21 -0
  266. aip_agents/utils/final_response_builder.pyi +34 -0
  267. aip_agents/utils/formatter_llm_client.pyi +71 -0
  268. aip_agents/utils/langgraph/__init__.pyi +3 -0
  269. aip_agents/utils/langgraph/converter.pyi +49 -0
  270. aip_agents/utils/langgraph/tool_managers/__init__.pyi +5 -0
  271. aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +35 -0
  272. aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi +48 -0
  273. aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +56 -0
  274. aip_agents/utils/langgraph/tool_output_management.pyi +329 -0
  275. aip_agents/utils/logger.pyi +60 -0
  276. aip_agents/utils/metadata/__init__.pyi +5 -0
  277. aip_agents/utils/metadata/activity_metadata_helper.pyi +25 -0
  278. aip_agents/utils/metadata/activity_narrative/__init__.pyi +7 -0
  279. aip_agents/utils/metadata/activity_narrative/builder.pyi +35 -0
  280. aip_agents/utils/metadata/activity_narrative/constants.pyi +10 -0
  281. aip_agents/utils/metadata/activity_narrative/context.pyi +32 -0
  282. aip_agents/utils/metadata/activity_narrative/formatters.pyi +48 -0
  283. aip_agents/utils/metadata/activity_narrative/utils.pyi +12 -0
  284. aip_agents/utils/metadata/schemas/__init__.pyi +4 -0
  285. aip_agents/utils/metadata/schemas/activity_schema.pyi +18 -0
  286. aip_agents/utils/metadata/schemas/thinking_schema.pyi +20 -0
  287. aip_agents/utils/metadata/thinking_metadata_helper.pyi +4 -0
  288. aip_agents/utils/metadata_helper.pyi +117 -0
  289. aip_agents/utils/name_preprocessor/__init__.pyi +6 -0
  290. aip_agents/utils/name_preprocessor/base_name_preprocessor.pyi +52 -0
  291. aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +38 -0
  292. aip_agents/utils/name_preprocessor/name_preprocessor.pyi +41 -0
  293. aip_agents/utils/name_preprocessor/openai_name_preprocessor.pyi +34 -0
  294. aip_agents/utils/pii/__init__.pyi +5 -0
  295. aip_agents/utils/pii/pii_handler.pyi +96 -0
  296. aip_agents/utils/pii/pii_helper.pyi +78 -0
  297. aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi +73 -0
  298. aip_agents/utils/reference_helper.pyi +81 -0
  299. aip_agents/utils/sse_chunk_transformer.pyi +166 -0
  300. aip_agents/utils/step_limit_manager.pyi +112 -0
  301. aip_agents/utils/token_usage_helper.pyi +60 -0
  302. {aip_agents_binary-0.6.2.dist-info → aip_agents_binary-0.6.3.dist-info}/METADATA +2 -1
  303. {aip_agents_binary-0.6.2.dist-info → aip_agents_binary-0.6.3.dist-info}/RECORD +305 -5
  304. {aip_agents_binary-0.6.2.dist-info → aip_agents_binary-0.6.3.dist-info}/WHEEL +0 -0
  305. {aip_agents_binary-0.6.2.dist-info → aip_agents_binary-0.6.3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,55 @@
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
+ """
@@ -0,0 +1 @@
1
+ from aip_agents.ptc.template_utils import render_template as render_template
@@ -0,0 +1,25 @@
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
+ """
@@ -0,0 +1,13 @@
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
@@ -0,0 +1,5 @@
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']
@@ -0,0 +1,2 @@
1
+ DEFAULT_PTC_TEMPLATE: str
2
+ DEFAULT_PTC_PACKAGES: tuple[str, ...]
@@ -0,0 +1,51 @@
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."""
@@ -0,0 +1,36 @@
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
+ '''
@@ -0,0 +1,14 @@
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
@@ -0,0 +1,20 @@
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
+ """
@@ -0,0 +1,9 @@
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']
@@ -0,0 +1,40 @@
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
@@ -0,0 +1,65 @@
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
@@ -0,0 +1,89 @@
1
+ from _typeshed import Incomplete
2
+ from dataclasses import dataclass
3
+ from datetime import datetime
4
+ from enum import StrEnum
5
+ from pydantic import BaseModel
6
+ from typing import Any
7
+
8
+ __all__ = ['ApprovalDecisionType', 'ApprovalRequest', 'ApprovalDecision', 'ApprovalLogEntry', 'HitlMetadata']
9
+
10
+ class ApprovalDecisionType(StrEnum):
11
+ """Enumeration of possible approval decision types."""
12
+ APPROVED: str
13
+ REJECTED: str
14
+ SKIPPED: str
15
+ TIMEOUT_SKIP: str
16
+ PENDING: str
17
+
18
+ @dataclass
19
+ class ApprovalRequest:
20
+ """Represents an in-flight prompt shown to the operator."""
21
+ request_id: str
22
+ tool_name: str
23
+ arguments_preview: str
24
+ context: dict[str, str] | None = ...
25
+ created_at: datetime | None = ...
26
+ timeout_at: datetime | None = ...
27
+ def __post_init__(self) -> None:
28
+ """Initialize timestamps if not provided."""
29
+ @classmethod
30
+ def create(cls, tool_name: str, arguments_preview: str, context: dict[str, str] | None = None) -> ApprovalRequest:
31
+ """Create a new approval request with generated request_id.
32
+
33
+ Args:
34
+ tool_name (str): The name of the tool requiring approval.
35
+ arguments_preview (str): A preview of the arguments for display.
36
+ context (dict[str, str] | None, optional): Additional context information.
37
+
38
+ Returns:
39
+ ApprovalRequest: A new approval request instance.
40
+ """
41
+
42
+ @dataclass
43
+ class ApprovalDecision:
44
+ """Captures the operator outcome."""
45
+ request_id: str
46
+ decision: ApprovalDecisionType
47
+ operator_input: str
48
+ decided_at: datetime | None = ...
49
+ latency_ms: int | None = ...
50
+ def __post_init__(self) -> None:
51
+ """Initialize timestamp if not provided."""
52
+
53
+ @dataclass
54
+ class ApprovalLogEntry:
55
+ """Structured log entry for HITL decisions."""
56
+ request_id: str
57
+ tool_name: str
58
+ decision: str
59
+ event: str = ...
60
+ agent_id: str | None = ...
61
+ thread_id: str | None = ...
62
+ additional_context: dict[str, Any] | None = ...
63
+ timestamp: datetime | None = ...
64
+ def __post_init__(self) -> None:
65
+ """Initialize timestamp if not provided."""
66
+
67
+ class HitlMetadata(BaseModel):
68
+ """Structured metadata payload included in agent streaming events."""
69
+ required: bool
70
+ decision: ApprovalDecisionType
71
+ request_id: str
72
+ timeout_seconds: int | None
73
+ timeout_at: datetime | None
74
+ model_config: Incomplete
75
+ def as_payload(self) -> dict[str, Any]:
76
+ """Return a JSON-ready metadata payload."""
77
+ @classmethod
78
+ def from_decision(cls, decision: ApprovalDecision, *, required: bool = True, timeout_seconds: int | None = None, timeout_at: datetime | None = None) -> HitlMetadata:
79
+ """Build metadata from an ``ApprovalDecision``.
80
+
81
+ Args:
82
+ decision (ApprovalDecision): The approval decision to build metadata from.
83
+ required (bool, optional): Whether approval is required. Defaults to True.
84
+ timeout_seconds (int | None, optional): Timeout in seconds for the decision.
85
+ timeout_at (datetime | None, optional): Specific timeout datetime.
86
+
87
+ Returns:
88
+ HitlMetadata: The constructed metadata instance.
89
+ """
@@ -0,0 +1,28 @@
1
+ from dataclasses import dataclass
2
+ from gllm_core.schema import Chunk
3
+ from langchain_core.messages import ToolMessage
4
+ from langchain_core.messages.ai import UsageMetadata
5
+ from langchain_core.tools import BaseTool
6
+ from typing import Any
7
+
8
+ __all__ = ['ToolCallResult', 'ToolStorageParams']
9
+
10
+ @dataclass
11
+ class ToolCallResult:
12
+ """Container for the results of a single tool call execution."""
13
+ messages: list[ToolMessage]
14
+ artifacts: list[dict[str, Any]]
15
+ metadata_delta: dict[str, Any]
16
+ references: list[Chunk]
17
+ step_usage: UsageMetadata | None
18
+ pii_mapping: dict[str, str] | None = ...
19
+
20
+ @dataclass
21
+ class ToolStorageParams:
22
+ """Parameters required for automatically storing tool outputs."""
23
+ tool: BaseTool
24
+ tool_output: Any
25
+ tool_call: dict[str, Any]
26
+ tool_call_id: str
27
+ resolved_args: dict[str, Any]
28
+ state: dict[str, Any]
@@ -0,0 +1,54 @@
1
+ from _typeshed import Incomplete
2
+ from enum import StrEnum
3
+
4
+ __all__ = ['ModelId', 'ModelProvider']
5
+
6
+ class ModelProvider(StrEnum):
7
+ """Enumeration of supported model providers for the AI agent platform."""
8
+ OPENAI: str
9
+ ANTHROPIC: str
10
+ AZURE_OPENAI: str
11
+ GOOGLE_GENAI: str
12
+ GROQ: str
13
+ TOGETHER_AI: str
14
+ DEEPINFRA: str
15
+ DEEPSEEK: str
16
+ OPENAI_COMPATIBLE: str
17
+
18
+ class ModelId:
19
+ """Model identifier class for representing language models."""
20
+ provider: Incomplete
21
+ name: Incomplete
22
+ path: Incomplete
23
+ def __init__(self, provider: str, name: str, path: str | None = None) -> None:
24
+ """Initialize a ModelId.
25
+
26
+ Args:
27
+ provider: The model provider (e.g., 'openai', 'anthropic')
28
+ name: The specific model name
29
+ path: Optional path component for some providers
30
+ """
31
+ @classmethod
32
+ def from_string(cls, model_string: str) -> ModelId:
33
+ """Create a ModelId from a string representation.
34
+
35
+ Args:
36
+ model_string: String in format 'provider:name' or 'provider/path:name'
37
+
38
+ Returns:
39
+ ModelId instance
40
+
41
+ Raises:
42
+ ValueError: If the string format is invalid
43
+ """
44
+ def __eq__(self, other: object) -> bool:
45
+ """Check equality with another ModelId object.
46
+
47
+ Args:
48
+ other (object): The object to compare with.
49
+
50
+ Returns:
51
+ bool: True if the objects are equal, False otherwise.
52
+ """
53
+ def __hash__(self) -> int:
54
+ """Return hash of the ModelId."""
@@ -0,0 +1,63 @@
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."""
@@ -0,0 +1,21 @@
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."""
@@ -0,0 +1,3 @@
1
+ from aip_agents.sentry.sentry import setup_telemetry as setup_telemetry
2
+
3
+ __all__ = ['setup_telemetry']
@@ -0,0 +1,48 @@
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
+ """