aip-agents-binary 0.0.0b2__py3-none-any.whl → 0.5.11__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 (506) hide show
  1. aip_agents/__init__.py +65 -0
  2. aip_agents/__init__.pyi +19 -0
  3. aip_agents/a2a/__init__.py +19 -0
  4. aip_agents/a2a/__init__.pyi +1 -1
  5. aip_agents/a2a/server/__init__.py +10 -0
  6. aip_agents/a2a/server/base_executor.py +1086 -0
  7. aip_agents/a2a/server/base_executor.pyi +16 -6
  8. aip_agents/a2a/server/google_adk_executor.py +198 -0
  9. aip_agents/a2a/server/google_adk_executor.pyi +11 -11
  10. aip_agents/a2a/server/langflow_executor.py +180 -0
  11. aip_agents/a2a/server/langflow_executor.pyi +43 -0
  12. aip_agents/a2a/server/langgraph_executor.py +267 -0
  13. aip_agents/a2a/server/langgraph_executor.pyi +11 -12
  14. aip_agents/a2a/types.py +232 -0
  15. aip_agents/a2a/types.pyi +54 -47
  16. aip_agents/agent/__init__.py +27 -0
  17. aip_agents/agent/__init__.pyi +3 -1
  18. aip_agents/agent/base_agent.py +970 -0
  19. aip_agents/agent/base_agent.pyi +24 -8
  20. aip_agents/agent/base_langgraph_agent.py +2942 -0
  21. aip_agents/agent/base_langgraph_agent.pyi +93 -25
  22. aip_agents/agent/google_adk_agent.py +926 -0
  23. aip_agents/agent/google_adk_agent.pyi +34 -21
  24. aip_agents/agent/google_adk_constants.py +6 -0
  25. aip_agents/agent/google_adk_constants.pyi +3 -0
  26. aip_agents/agent/hitl/__init__.py +24 -0
  27. aip_agents/agent/hitl/__init__.pyi +6 -0
  28. aip_agents/agent/hitl/config.py +28 -0
  29. aip_agents/agent/hitl/config.pyi +15 -0
  30. aip_agents/agent/hitl/langgraph_hitl_mixin.py +515 -0
  31. aip_agents/agent/hitl/langgraph_hitl_mixin.pyi +42 -0
  32. aip_agents/agent/hitl/manager.py +522 -0
  33. aip_agents/agent/hitl/manager.pyi +199 -0
  34. aip_agents/agent/hitl/models.py +18 -0
  35. aip_agents/agent/hitl/models.pyi +3 -0
  36. aip_agents/agent/hitl/prompt/__init__.py +9 -0
  37. aip_agents/agent/hitl/prompt/__init__.pyi +4 -0
  38. aip_agents/agent/hitl/prompt/base.py +42 -0
  39. aip_agents/agent/hitl/prompt/base.pyi +24 -0
  40. aip_agents/agent/hitl/prompt/deferred.py +73 -0
  41. aip_agents/agent/hitl/prompt/deferred.pyi +30 -0
  42. aip_agents/agent/interface.py +138 -0
  43. aip_agents/agent/interface.pyi +5 -5
  44. aip_agents/agent/interfaces.py +65 -0
  45. aip_agents/agent/interfaces.pyi +44 -0
  46. aip_agents/agent/langflow_agent.py +464 -0
  47. aip_agents/agent/langflow_agent.pyi +133 -0
  48. aip_agents/agent/langgraph_memory_enhancer_agent.py +433 -0
  49. aip_agents/agent/langgraph_memory_enhancer_agent.pyi +49 -0
  50. aip_agents/agent/langgraph_react_agent.py +2514 -0
  51. aip_agents/agent/langgraph_react_agent.pyi +51 -56
  52. aip_agents/agent/system_instruction_context.py +34 -0
  53. aip_agents/agent/system_instruction_context.pyi +13 -0
  54. aip_agents/clients/__init__.py +10 -0
  55. aip_agents/clients/__init__.pyi +4 -0
  56. aip_agents/clients/langflow/__init__.py +10 -0
  57. aip_agents/clients/langflow/__init__.pyi +4 -0
  58. aip_agents/clients/langflow/client.py +477 -0
  59. aip_agents/clients/langflow/client.pyi +140 -0
  60. aip_agents/clients/langflow/types.py +18 -0
  61. aip_agents/clients/langflow/types.pyi +7 -0
  62. aip_agents/constants.py +23 -0
  63. aip_agents/constants.pyi +1 -0
  64. aip_agents/credentials/manager.py +132 -0
  65. aip_agents/examples/__init__.py +5 -0
  66. aip_agents/examples/compare_streaming_client.py +783 -0
  67. aip_agents/examples/compare_streaming_client.pyi +48 -0
  68. aip_agents/examples/compare_streaming_server.py +142 -0
  69. aip_agents/examples/compare_streaming_server.pyi +18 -0
  70. aip_agents/examples/demo_memory_recall.py +401 -0
  71. aip_agents/examples/demo_memory_recall.pyi +58 -0
  72. aip_agents/examples/hello_world_a2a_google_adk_client.py +49 -0
  73. aip_agents/examples/hello_world_a2a_google_adk_client.pyi +2 -2
  74. aip_agents/examples/hello_world_a2a_google_adk_client_agent.py +48 -0
  75. aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +2 -2
  76. aip_agents/examples/hello_world_a2a_google_adk_client_streaming.py +60 -0
  77. aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +2 -2
  78. aip_agents/examples/hello_world_a2a_google_adk_server.py +79 -0
  79. aip_agents/examples/hello_world_a2a_google_adk_server.pyi +7 -2
  80. aip_agents/examples/hello_world_a2a_langchain_client.py +39 -0
  81. aip_agents/examples/hello_world_a2a_langchain_client.pyi +1 -1
  82. aip_agents/examples/hello_world_a2a_langchain_client_agent.py +39 -0
  83. aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +1 -1
  84. aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.py +37 -0
  85. aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +1 -1
  86. aip_agents/examples/hello_world_a2a_langchain_client_streaming.py +41 -0
  87. aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +1 -1
  88. aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.py +60 -0
  89. aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +1 -1
  90. aip_agents/examples/hello_world_a2a_langchain_reference_server.py +105 -0
  91. aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +8 -3
  92. aip_agents/examples/hello_world_a2a_langchain_server.py +79 -0
  93. aip_agents/examples/hello_world_a2a_langchain_server.pyi +7 -2
  94. aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.py +78 -0
  95. aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +7 -2
  96. aip_agents/examples/hello_world_a2a_langflow_client.py +83 -0
  97. aip_agents/examples/hello_world_a2a_langflow_client.pyi +9 -0
  98. aip_agents/examples/hello_world_a2a_langflow_server.py +82 -0
  99. aip_agents/examples/hello_world_a2a_langflow_server.pyi +14 -0
  100. aip_agents/examples/hello_world_a2a_langgraph_artifact_client.py +73 -0
  101. aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +1 -1
  102. aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.py +76 -0
  103. aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +1 -1
  104. aip_agents/examples/hello_world_a2a_langgraph_artifact_server.py +92 -0
  105. aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +7 -2
  106. aip_agents/examples/hello_world_a2a_langgraph_client.py +54 -0
  107. aip_agents/examples/hello_world_a2a_langgraph_client.pyi +2 -2
  108. aip_agents/examples/hello_world_a2a_langgraph_client_agent.py +54 -0
  109. aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +2 -2
  110. aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.py +32 -0
  111. aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +1 -1
  112. aip_agents/examples/hello_world_a2a_langgraph_client_streaming.py +50 -0
  113. aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +3 -3
  114. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.py +44 -0
  115. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +1 -1
  116. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.py +92 -0
  117. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +1 -1
  118. aip_agents/examples/hello_world_a2a_langgraph_server.py +84 -0
  119. aip_agents/examples/hello_world_a2a_langgraph_server.pyi +7 -2
  120. aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.py +79 -0
  121. aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +7 -2
  122. aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.py +132 -0
  123. aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +7 -2
  124. aip_agents/examples/hello_world_a2a_mcp_langgraph.py +196 -0
  125. aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +1 -1
  126. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.py +244 -0
  127. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +31 -6
  128. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.py +251 -0
  129. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +33 -5
  130. aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.py +57 -0
  131. aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +1 -1
  132. aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.py +80 -0
  133. aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +7 -2
  134. aip_agents/examples/hello_world_google_adk.py +41 -0
  135. aip_agents/examples/hello_world_google_adk_mcp_http.py +34 -0
  136. aip_agents/examples/hello_world_google_adk_mcp_http_stream.py +40 -0
  137. aip_agents/examples/hello_world_google_adk_mcp_sse.py +44 -0
  138. aip_agents/examples/hello_world_google_adk_mcp_sse_stream.py +48 -0
  139. aip_agents/examples/hello_world_google_adk_mcp_stdio.py +44 -0
  140. aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.py +48 -0
  141. aip_agents/examples/hello_world_google_adk_stream.py +44 -0
  142. aip_agents/examples/hello_world_langchain.py +28 -0
  143. aip_agents/examples/hello_world_langchain_lm_invoker.py +15 -0
  144. aip_agents/examples/hello_world_langchain_mcp_http.py +34 -0
  145. aip_agents/examples/hello_world_langchain_mcp_http_interactive.py +130 -0
  146. aip_agents/examples/hello_world_langchain_mcp_http_interactive.pyi +16 -0
  147. aip_agents/examples/hello_world_langchain_mcp_http_stream.py +42 -0
  148. aip_agents/examples/hello_world_langchain_mcp_multi_server.py +155 -0
  149. aip_agents/examples/hello_world_langchain_mcp_multi_server.pyi +18 -0
  150. aip_agents/examples/hello_world_langchain_mcp_sse.py +34 -0
  151. aip_agents/examples/hello_world_langchain_mcp_sse_stream.py +40 -0
  152. aip_agents/examples/hello_world_langchain_mcp_stdio.py +30 -0
  153. aip_agents/examples/hello_world_langchain_mcp_stdio_stream.py +41 -0
  154. aip_agents/examples/hello_world_langchain_stream.py +36 -0
  155. aip_agents/examples/hello_world_langchain_stream_lm_invoker.py +39 -0
  156. aip_agents/examples/hello_world_langflow_agent.py +163 -0
  157. aip_agents/examples/hello_world_langflow_agent.pyi +35 -0
  158. aip_agents/examples/hello_world_langgraph.py +39 -0
  159. aip_agents/examples/hello_world_langgraph_bosa_twitter.py +41 -0
  160. aip_agents/examples/hello_world_langgraph_mcp_http.py +31 -0
  161. aip_agents/examples/hello_world_langgraph_mcp_http_stream.py +34 -0
  162. aip_agents/examples/hello_world_langgraph_mcp_sse.py +35 -0
  163. aip_agents/examples/hello_world_langgraph_mcp_sse_stream.py +50 -0
  164. aip_agents/examples/hello_world_langgraph_mcp_stdio.py +35 -0
  165. aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.py +50 -0
  166. aip_agents/examples/hello_world_langgraph_stream.py +43 -0
  167. aip_agents/examples/hello_world_langgraph_stream_lm_invoker.py +37 -0
  168. aip_agents/examples/hello_world_model_switch_cli.py +210 -0
  169. aip_agents/examples/hello_world_model_switch_cli.pyi +18 -3
  170. aip_agents/examples/hello_world_multi_agent_adk.py +75 -0
  171. aip_agents/examples/hello_world_multi_agent_langchain.py +54 -0
  172. aip_agents/examples/hello_world_multi_agent_langgraph.py +66 -0
  173. aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.py +69 -0
  174. aip_agents/examples/hello_world_pii_logger.py +21 -0
  175. aip_agents/examples/hello_world_pii_logger.pyi +1 -1
  176. aip_agents/examples/hello_world_sentry.py +133 -0
  177. aip_agents/examples/hello_world_sentry.pyi +1 -1
  178. aip_agents/examples/hello_world_step_limits.py +273 -0
  179. aip_agents/examples/hello_world_step_limits.pyi +17 -0
  180. aip_agents/examples/hello_world_stock_a2a_server.py +103 -0
  181. aip_agents/examples/hello_world_stock_a2a_server.pyi +7 -2
  182. aip_agents/examples/hello_world_tool_output_client.py +46 -0
  183. aip_agents/examples/hello_world_tool_output_client.pyi +1 -1
  184. aip_agents/examples/hello_world_tool_output_server.py +114 -0
  185. aip_agents/examples/hello_world_tool_output_server.pyi +7 -2
  186. aip_agents/examples/hitl_demo.py +724 -0
  187. aip_agents/examples/hitl_demo.pyi +67 -0
  188. aip_agents/examples/mcp_configs/configs.py +63 -0
  189. aip_agents/examples/mcp_servers/common.py +76 -0
  190. aip_agents/examples/mcp_servers/mcp_name.py +29 -0
  191. aip_agents/examples/mcp_servers/mcp_server_http.py +19 -0
  192. aip_agents/examples/mcp_servers/mcp_server_sse.py +19 -0
  193. aip_agents/examples/mcp_servers/mcp_server_stdio.py +19 -0
  194. aip_agents/examples/mcp_servers/mcp_time.py +10 -0
  195. aip_agents/examples/pii_demo_langgraph_client.py +69 -0
  196. aip_agents/examples/pii_demo_langgraph_client.pyi +5 -0
  197. aip_agents/examples/pii_demo_langgraph_server.py +126 -0
  198. aip_agents/examples/pii_demo_langgraph_server.pyi +20 -0
  199. aip_agents/examples/pii_demo_multi_agent_client.py +80 -0
  200. aip_agents/examples/pii_demo_multi_agent_client.pyi +5 -0
  201. aip_agents/examples/pii_demo_multi_agent_server.py +247 -0
  202. aip_agents/examples/pii_demo_multi_agent_server.pyi +40 -0
  203. aip_agents/examples/todolist_planning_a2a_langchain_client.py +70 -0
  204. aip_agents/examples/todolist_planning_a2a_langchain_client.pyi +5 -0
  205. aip_agents/examples/todolist_planning_a2a_langgraph_server.py +88 -0
  206. aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi +19 -0
  207. aip_agents/examples/tools/__init__.py +27 -0
  208. aip_agents/examples/tools/__init__.pyi +3 -1
  209. aip_agents/examples/tools/adk_arithmetic_tools.py +36 -0
  210. aip_agents/examples/tools/adk_weather_tool.py +60 -0
  211. aip_agents/examples/tools/adk_weather_tool.pyi +1 -1
  212. aip_agents/examples/tools/data_generator_tool.py +103 -0
  213. aip_agents/examples/tools/data_visualization_tool.py +312 -0
  214. aip_agents/examples/tools/data_visualization_tool.pyi +2 -0
  215. aip_agents/examples/tools/image_artifact_tool.py +136 -0
  216. aip_agents/examples/tools/image_artifact_tool.pyi +2 -0
  217. aip_agents/examples/tools/langchain_arithmetic_tools.py +26 -0
  218. aip_agents/examples/tools/langchain_arithmetic_tools.pyi +7 -0
  219. aip_agents/examples/tools/langchain_currency_exchange_tool.py +88 -0
  220. aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +0 -1
  221. aip_agents/examples/tools/langchain_graph_artifact_tool.py +172 -0
  222. aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +2 -0
  223. aip_agents/examples/tools/langchain_weather_tool.py +48 -0
  224. aip_agents/examples/tools/langchain_weather_tool.pyi +1 -1
  225. aip_agents/examples/tools/langgraph_streaming_tool.py +130 -0
  226. aip_agents/examples/tools/langgraph_streaming_tool.pyi +1 -1
  227. aip_agents/examples/tools/mock_retrieval_tool.py +56 -0
  228. aip_agents/examples/tools/mock_retrieval_tool.pyi +13 -0
  229. aip_agents/examples/tools/pii_demo_tools.py +189 -0
  230. aip_agents/examples/tools/pii_demo_tools.pyi +54 -0
  231. aip_agents/examples/tools/random_chart_tool.py +142 -0
  232. aip_agents/examples/tools/random_chart_tool.pyi +20 -0
  233. aip_agents/examples/tools/serper_tool.py +202 -0
  234. aip_agents/examples/tools/stock_tools.py +82 -0
  235. aip_agents/examples/tools/stock_tools.pyi +18 -3
  236. aip_agents/examples/tools/table_generator_tool.py +167 -0
  237. aip_agents/examples/tools/time_tool.py +82 -0
  238. aip_agents/examples/tools/weather_forecast_tool.py +38 -0
  239. aip_agents/executor/agent_executor.py +473 -0
  240. aip_agents/executor/base.py +48 -0
  241. aip_agents/mcp/__init__.py +1 -0
  242. aip_agents/mcp/client/__init__.py +14 -0
  243. aip_agents/mcp/client/__init__.pyi +4 -3
  244. aip_agents/mcp/client/base_mcp_client.py +369 -0
  245. aip_agents/mcp/client/base_mcp_client.pyi +148 -0
  246. aip_agents/mcp/client/connection_manager.py +193 -0
  247. aip_agents/mcp/client/connection_manager.pyi +48 -0
  248. aip_agents/mcp/client/google_adk/__init__.py +11 -0
  249. aip_agents/mcp/client/google_adk/__init__.pyi +1 -1
  250. aip_agents/mcp/client/google_adk/client.py +381 -0
  251. aip_agents/mcp/client/google_adk/client.pyi +50 -13
  252. aip_agents/mcp/client/langchain/__init__.py +11 -0
  253. aip_agents/mcp/client/langchain/__init__.pyi +1 -1
  254. aip_agents/mcp/client/langchain/client.py +265 -0
  255. aip_agents/mcp/client/langchain/client.pyi +47 -2
  256. aip_agents/mcp/client/persistent_session.py +359 -0
  257. aip_agents/mcp/client/persistent_session.pyi +113 -0
  258. aip_agents/mcp/client/session_pool.py +351 -0
  259. aip_agents/mcp/client/session_pool.pyi +101 -0
  260. aip_agents/mcp/client/transports.py +215 -0
  261. aip_agents/mcp/client/transports.pyi +123 -0
  262. aip_agents/mcp/utils/__init__.py +7 -0
  263. aip_agents/mcp/utils/__init__.pyi +0 -0
  264. aip_agents/mcp/utils/config_validator.py +139 -0
  265. aip_agents/mcp/utils/config_validator.pyi +82 -0
  266. aip_agents/memory/__init__.py +14 -0
  267. aip_agents/memory/__init__.pyi +5 -0
  268. aip_agents/memory/adapters/__init__.py +10 -0
  269. aip_agents/memory/adapters/__init__.pyi +4 -0
  270. aip_agents/memory/adapters/base_adapter.py +717 -0
  271. aip_agents/memory/adapters/base_adapter.pyi +150 -0
  272. aip_agents/memory/adapters/mem0.py +84 -0
  273. aip_agents/memory/adapters/mem0.pyi +22 -0
  274. aip_agents/memory/base.py +84 -0
  275. aip_agents/memory/base.pyi +15 -4
  276. aip_agents/memory/constants.py +49 -0
  277. aip_agents/memory/constants.pyi +25 -0
  278. aip_agents/memory/factory.py +86 -0
  279. aip_agents/memory/factory.pyi +24 -0
  280. aip_agents/memory/guidance.py +20 -0
  281. aip_agents/memory/guidance.pyi +3 -0
  282. aip_agents/memory/simple_memory.py +47 -0
  283. aip_agents/memory/simple_memory.pyi +6 -5
  284. aip_agents/middleware/__init__.py +17 -0
  285. aip_agents/middleware/__init__.pyi +5 -0
  286. aip_agents/middleware/base.py +88 -0
  287. aip_agents/middleware/base.pyi +71 -0
  288. aip_agents/middleware/manager.py +128 -0
  289. aip_agents/middleware/manager.pyi +80 -0
  290. aip_agents/middleware/todolist.py +274 -0
  291. aip_agents/middleware/todolist.pyi +125 -0
  292. aip_agents/schema/__init__.py +69 -0
  293. aip_agents/schema/__init__.pyi +9 -0
  294. aip_agents/schema/a2a.py +56 -0
  295. aip_agents/schema/a2a.pyi +40 -0
  296. aip_agents/schema/agent.py +111 -0
  297. aip_agents/schema/agent.pyi +65 -0
  298. aip_agents/schema/hitl.py +157 -0
  299. aip_agents/schema/hitl.pyi +89 -0
  300. aip_agents/schema/langgraph.py +37 -0
  301. aip_agents/schema/langgraph.pyi +28 -0
  302. aip_agents/schema/model_id.py +97 -0
  303. aip_agents/schema/model_id.pyi +54 -0
  304. aip_agents/schema/step_limit.py +108 -0
  305. aip_agents/schema/step_limit.pyi +63 -0
  306. aip_agents/schema/storage.py +40 -0
  307. aip_agents/schema/storage.pyi +21 -0
  308. aip_agents/sentry/__init__.py +11 -0
  309. aip_agents/sentry/__init__.pyi +1 -1
  310. aip_agents/sentry/sentry.py +151 -0
  311. aip_agents/sentry/sentry.pyi +2 -2
  312. aip_agents/storage/__init__.py +41 -0
  313. aip_agents/storage/base.py +85 -0
  314. aip_agents/storage/base.pyi +1 -2
  315. aip_agents/storage/clients/__init__.py +12 -0
  316. aip_agents/storage/clients/minio_client.py +318 -0
  317. aip_agents/storage/config.py +62 -0
  318. aip_agents/storage/config.pyi +9 -46
  319. aip_agents/storage/providers/__init__.py +15 -0
  320. aip_agents/storage/providers/base.py +106 -0
  321. aip_agents/storage/providers/base.pyi +2 -3
  322. aip_agents/storage/providers/memory.py +114 -0
  323. aip_agents/storage/providers/object_storage.py +214 -0
  324. aip_agents/storage/providers/object_storage.pyi +1 -1
  325. aip_agents/tools/__init__.py +6 -0
  326. aip_agents/tools/__init__.pyi +3 -2
  327. aip_agents/tools/bosa_tools.py +105 -0
  328. aip_agents/tools/bosa_tools.pyi +2 -2
  329. aip_agents/tools/browser_use/__init__.py +82 -0
  330. aip_agents/tools/browser_use/__init__.pyi +14 -0
  331. aip_agents/tools/browser_use/action_parser.py +103 -0
  332. aip_agents/tools/browser_use/action_parser.pyi +18 -0
  333. aip_agents/tools/browser_use/browser_use_tool.py +1112 -0
  334. aip_agents/tools/browser_use/browser_use_tool.pyi +50 -0
  335. aip_agents/tools/browser_use/llm_config.py +120 -0
  336. aip_agents/tools/browser_use/llm_config.pyi +52 -0
  337. aip_agents/tools/browser_use/minio_storage.py +198 -0
  338. aip_agents/tools/browser_use/minio_storage.pyi +109 -0
  339. aip_agents/tools/browser_use/schemas.py +119 -0
  340. aip_agents/tools/browser_use/schemas.pyi +32 -0
  341. aip_agents/tools/browser_use/session.py +76 -0
  342. aip_agents/tools/browser_use/session.pyi +4 -0
  343. aip_agents/tools/browser_use/session_errors.py +132 -0
  344. aip_agents/tools/browser_use/session_errors.pyi +53 -0
  345. aip_agents/tools/browser_use/steel_session_recording.py +317 -0
  346. aip_agents/tools/browser_use/steel_session_recording.pyi +63 -0
  347. aip_agents/tools/browser_use/streaming.py +813 -0
  348. aip_agents/tools/browser_use/streaming.pyi +81 -0
  349. aip_agents/tools/browser_use/structured_data_parser.py +257 -0
  350. aip_agents/tools/browser_use/structured_data_parser.pyi +86 -0
  351. aip_agents/tools/browser_use/structured_data_recovery.py +204 -0
  352. aip_agents/tools/browser_use/structured_data_recovery.pyi +43 -0
  353. aip_agents/tools/browser_use/types.py +78 -0
  354. aip_agents/tools/browser_use/types.pyi +45 -0
  355. aip_agents/tools/code_sandbox/__init__.py +26 -0
  356. aip_agents/tools/code_sandbox/__init__.pyi +3 -0
  357. aip_agents/tools/code_sandbox/constant.py +13 -0
  358. aip_agents/tools/code_sandbox/constant.pyi +4 -0
  359. aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.py +257 -0
  360. aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.pyi +86 -0
  361. aip_agents/tools/code_sandbox/e2b_sandbox_tool.py +411 -0
  362. aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +29 -0
  363. aip_agents/tools/constants.py +165 -0
  364. aip_agents/tools/constants.pyi +105 -100
  365. aip_agents/tools/document_loader/__init__.py +37 -0
  366. aip_agents/tools/document_loader/__init__.pyi +7 -0
  367. aip_agents/tools/document_loader/base_reader.py +262 -0
  368. aip_agents/tools/document_loader/base_reader.pyi +62 -0
  369. aip_agents/tools/document_loader/docx_reader_tool.py +53 -0
  370. aip_agents/tools/document_loader/docx_reader_tool.pyi +6 -0
  371. aip_agents/tools/document_loader/excel_reader_tool.py +160 -0
  372. aip_agents/tools/document_loader/excel_reader_tool.pyi +26 -0
  373. aip_agents/tools/document_loader/pdf_reader_tool.py +67 -0
  374. aip_agents/tools/document_loader/pdf_reader_tool.pyi +11 -0
  375. aip_agents/tools/document_loader/pdf_splitter.py +169 -0
  376. aip_agents/tools/document_loader/pdf_splitter.pyi +18 -0
  377. aip_agents/tools/gl_connector/__init__.py +5 -0
  378. aip_agents/tools/gl_connector/__init__.pyi +3 -0
  379. aip_agents/tools/gl_connector/tool.py +351 -0
  380. aip_agents/tools/gl_connector/tool.pyi +74 -0
  381. aip_agents/tools/memory_search/__init__.py +22 -0
  382. aip_agents/tools/memory_search/__init__.pyi +5 -0
  383. aip_agents/tools/memory_search/base.py +200 -0
  384. aip_agents/tools/memory_search/base.pyi +69 -0
  385. aip_agents/tools/memory_search/mem0.py +258 -0
  386. aip_agents/tools/memory_search/mem0.pyi +19 -0
  387. aip_agents/tools/memory_search/schema.py +48 -0
  388. aip_agents/tools/memory_search/schema.pyi +15 -0
  389. aip_agents/tools/memory_search_tool.py +26 -0
  390. aip_agents/tools/memory_search_tool.pyi +3 -0
  391. aip_agents/tools/tool_config_injector.py +300 -0
  392. aip_agents/tools/web_search/__init__.py +15 -0
  393. aip_agents/tools/web_search/__init__.pyi +3 -0
  394. aip_agents/tools/web_search/serper_tool.py +187 -0
  395. aip_agents/tools/web_search/serper_tool.pyi +19 -0
  396. aip_agents/types/__init__.py +70 -0
  397. aip_agents/types/__init__.pyi +35 -2
  398. aip_agents/types/a2a_events.py +13 -0
  399. aip_agents/types/a2a_events.pyi +2 -73
  400. aip_agents/utils/__init__.py +79 -0
  401. aip_agents/utils/__init__.pyi +8 -2
  402. aip_agents/utils/a2a_connector.py +1757 -0
  403. aip_agents/utils/a2a_connector.pyi +15 -4
  404. aip_agents/utils/artifact_helpers.py +502 -0
  405. aip_agents/utils/artifact_helpers.pyi +26 -2
  406. aip_agents/utils/constants.py +22 -0
  407. aip_agents/utils/constants.pyi +10 -0
  408. aip_agents/utils/datetime/__init__.py +34 -0
  409. aip_agents/utils/datetime/__init__.pyi +4 -0
  410. aip_agents/utils/datetime/normalization.py +231 -0
  411. aip_agents/utils/datetime/normalization.pyi +95 -0
  412. aip_agents/utils/datetime/timezone.py +206 -0
  413. aip_agents/utils/datetime/timezone.pyi +48 -0
  414. aip_agents/utils/env_loader.py +27 -0
  415. aip_agents/utils/env_loader.pyi +10 -0
  416. aip_agents/utils/event_handler_registry.py +58 -0
  417. aip_agents/utils/event_handler_registry.pyi +23 -0
  418. aip_agents/utils/file_prompt_utils.py +176 -0
  419. aip_agents/utils/file_prompt_utils.pyi +21 -0
  420. aip_agents/utils/final_response_builder.py +211 -0
  421. aip_agents/utils/final_response_builder.pyi +34 -0
  422. aip_agents/utils/formatter_llm_client.py +231 -0
  423. aip_agents/utils/formatter_llm_client.pyi +71 -0
  424. aip_agents/utils/langgraph/__init__.py +19 -0
  425. aip_agents/utils/langgraph/converter.py +128 -0
  426. aip_agents/utils/langgraph/converter.pyi +1 -1
  427. aip_agents/utils/langgraph/tool_managers/__init__.py +15 -0
  428. aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.py +99 -0
  429. aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +2 -2
  430. aip_agents/utils/langgraph/tool_managers/base_tool_manager.py +66 -0
  431. aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi +2 -3
  432. aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.py +1071 -0
  433. aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +17 -11
  434. aip_agents/utils/langgraph/tool_output_management.py +967 -0
  435. aip_agents/utils/langgraph/tool_output_management.pyi +15 -33
  436. aip_agents/utils/logger.py +195 -0
  437. aip_agents/utils/logger.pyi +60 -0
  438. aip_agents/utils/metadata/__init__.py +27 -0
  439. aip_agents/utils/metadata/__init__.pyi +5 -0
  440. aip_agents/utils/metadata/activity_metadata_helper.py +407 -0
  441. aip_agents/utils/metadata/activity_metadata_helper.pyi +25 -0
  442. aip_agents/utils/metadata/activity_narrative/__init__.py +35 -0
  443. aip_agents/utils/metadata/activity_narrative/__init__.pyi +7 -0
  444. aip_agents/utils/metadata/activity_narrative/builder.py +817 -0
  445. aip_agents/utils/metadata/activity_narrative/builder.pyi +35 -0
  446. aip_agents/utils/metadata/activity_narrative/constants.py +51 -0
  447. aip_agents/utils/metadata/activity_narrative/constants.pyi +10 -0
  448. aip_agents/utils/metadata/activity_narrative/context.py +49 -0
  449. aip_agents/utils/metadata/activity_narrative/context.pyi +32 -0
  450. aip_agents/utils/metadata/activity_narrative/formatters.py +230 -0
  451. aip_agents/utils/metadata/activity_narrative/formatters.pyi +48 -0
  452. aip_agents/utils/metadata/activity_narrative/utils.py +35 -0
  453. aip_agents/utils/metadata/activity_narrative/utils.pyi +12 -0
  454. aip_agents/utils/metadata/schemas/__init__.py +16 -0
  455. aip_agents/utils/metadata/schemas/__init__.pyi +4 -0
  456. aip_agents/utils/metadata/schemas/activity_schema.py +29 -0
  457. aip_agents/utils/metadata/schemas/activity_schema.pyi +18 -0
  458. aip_agents/utils/metadata/schemas/thinking_schema.py +31 -0
  459. aip_agents/utils/metadata/schemas/thinking_schema.pyi +20 -0
  460. aip_agents/utils/metadata/thinking_metadata_helper.py +38 -0
  461. aip_agents/utils/metadata/thinking_metadata_helper.pyi +4 -0
  462. aip_agents/utils/metadata_helper.py +358 -0
  463. aip_agents/utils/metadata_helper.pyi +55 -48
  464. aip_agents/utils/name_preprocessor/__init__.py +17 -0
  465. aip_agents/utils/name_preprocessor/base_name_preprocessor.py +73 -0
  466. aip_agents/utils/name_preprocessor/base_name_preprocessor.pyi +1 -2
  467. aip_agents/utils/name_preprocessor/google_name_preprocessor.py +100 -0
  468. aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +1 -1
  469. aip_agents/utils/name_preprocessor/name_preprocessor.py +87 -0
  470. aip_agents/utils/name_preprocessor/name_preprocessor.pyi +4 -4
  471. aip_agents/utils/name_preprocessor/openai_name_preprocessor.py +48 -0
  472. aip_agents/utils/name_preprocessor/openai_name_preprocessor.pyi +1 -1
  473. aip_agents/utils/pii/__init__.py +25 -0
  474. aip_agents/utils/pii/__init__.pyi +5 -0
  475. aip_agents/utils/pii/pii_handler.py +397 -0
  476. aip_agents/utils/pii/pii_handler.pyi +96 -0
  477. aip_agents/utils/pii/pii_helper.py +207 -0
  478. aip_agents/utils/pii/pii_helper.pyi +78 -0
  479. aip_agents/utils/pii/uuid_deanonymizer_mapping.py +195 -0
  480. aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi +73 -0
  481. aip_agents/utils/reference_helper.py +273 -0
  482. aip_agents/utils/reference_helper.pyi +38 -6
  483. aip_agents/utils/sse_chunk_transformer.py +831 -0
  484. aip_agents/utils/sse_chunk_transformer.pyi +166 -0
  485. aip_agents/utils/step_limit_manager.py +265 -0
  486. aip_agents/utils/step_limit_manager.pyi +112 -0
  487. aip_agents/utils/token_usage_helper.py +156 -0
  488. aip_agents/utils/token_usage_helper.pyi +1 -1
  489. aip_agents_binary-0.5.11.dist-info/METADATA +689 -0
  490. aip_agents_binary-0.5.11.dist-info/RECORD +542 -0
  491. {aip_agents_binary-0.0.0b2.dist-info → aip_agents_binary-0.5.11.dist-info}/WHEEL +2 -1
  492. aip_agents_binary-0.5.11.dist-info/top_level.txt +1 -0
  493. aip_agents/agent/types.pyi +0 -106
  494. aip_agents/examples/hello_world_a2a_multi_agent_coordinator_client.pyi +0 -15
  495. aip_agents/examples/hello_world_a2a_multi_agent_coordinator_client_streaming.pyi +0 -5
  496. aip_agents/examples/hello_world_a2a_multi_agent_coordinator_server.pyi +0 -11
  497. aip_agents/examples/hello_world_langgraph_bosa.pyi +0 -5
  498. aip_agents/examples/tools/pr_details_bosa_tool.pyi +0 -26
  499. aip_agents/tools/base.pyi +0 -44
  500. aip_agents/tools/base_bosa_tools.pyi +0 -12
  501. aip_agents/tools/bosa_connector.pyi +0 -30
  502. aip_agents/tools/bosa_tools_interface.pyi +0 -26
  503. aip_agents/tools/nested_agent_tool.pyi +0 -45
  504. aip_agents/utils/logger_manager.pyi +0 -151
  505. aip_agents_binary-0.0.0b2.dist-info/METADATA +0 -277
  506. aip_agents_binary-0.0.0b2.dist-info/RECORD +0 -157
@@ -1,106 +0,0 @@
1
- from a2a.types import AgentCard as AgentCard
2
- from enum import StrEnum
3
- from gllm_core.utils.retry import RetryConfig as RetryConfig
4
- from pydantic import BaseModel
5
- from typing import Any
6
-
7
- class CredentialType(StrEnum):
8
- """Credential type enumeration for type safety and better developer experience.
9
-
10
- This enum defines the supported credential formats for language models:
11
- - API_KEY: String-based API keys (most common)
12
- - FILE: File paths to credential files (e.g., Google service account JSON)
13
- - DICT: Dictionary-based credentials (e.g., AWS Bedrock, LangChain)
14
- """
15
- API_KEY = 'api_key'
16
- FILE = 'file'
17
- DICT = 'dict'
18
-
19
- class StreamMode(StrEnum):
20
- """LangGraph stream modes for astream operations.
21
-
22
- These modes control what data is included in the streaming output.
23
- """
24
- VALUES = 'values'
25
- CUSTOM = 'custom'
26
-
27
- class HttpxClientOptions(BaseModel):
28
- """Options for the HTTP client.
29
-
30
- Args:
31
- timeout: The timeout for the HTTP client.
32
- """
33
- timeout: float | None
34
- class Config:
35
- """Config for HttpxClientOptions."""
36
- extra: str
37
-
38
- class A2AClientConfig(BaseModel):
39
- """Configuration for A2A client.
40
-
41
- Args:
42
- discovery_urls: A list of base URLs to discover agents from using .well-known/agent.json.
43
- known_agents: A dictionary of known agents, keyed by AgentCard.name,
44
- storing the parsed AgentCard objects. Can be pre-populated or
45
- augmented by discovery.
46
- httpx_client_options: Options for the HTTP client.
47
- """
48
- discovery_urls: list[str] | None
49
- known_agents: dict[str, AgentCard]
50
- httpx_client_options: HttpxClientOptions | None
51
-
52
- class BaseAgentConfig(BaseModel):
53
- """Base configuration for agent implementations.
54
-
55
- This class provides common configuration fields that all agent implementations
56
- can use. It serves as a foundation for more specific configuration classes.
57
-
58
- Args:
59
- tools: List of tools available to the agent.
60
- default_hyperparameters: Default hyperparameters for the language model.
61
- """
62
- tools: list[Any] | None
63
- default_hyperparameters: dict[str, Any] | None
64
- class Config:
65
- """Config for BaseAgentConfig."""
66
- extra: str
67
-
68
- class AgentConfig(BaseAgentConfig):
69
- '''Configuration for agent implementations with language model settings.
70
-
71
- This class extends BaseAgentConfig with language model specific configuration
72
- fields including provider, model name, API settings, and hyperparameters.
73
-
74
- Args:
75
- lm_name: The name of the language model to use.
76
- lm_hyperparameters: Hyperparameters for the language model.
77
- lm_provider: The provider of the language model (e.g., \'openai\', \'google\').
78
- lm_base_url: The base URL for the language model API.
79
- lm_api_key: The API key for the language model service (deprecated in favor of lm_credentials).
80
- lm_credentials: Enhanced credentials field supporting multiple formats with automatic type detection:
81
-
82
- Supported Formats:
83
- - str (API Key): "sk-proj-abc123..." → Auto-detected as API key
84
- - str (File Path): "/path/to/creds.json" → Auto-detected as file if exists
85
- - dict (Structured): {"access_key_id": "...", "secret_access_key": "..."} → Auto-detected as dict
86
-
87
- Provider Examples:
88
- - OpenAI: "sk-proj-abc123xyz"
89
- - Anthropic: "sk-ant-api03-abc123xyz"
90
- - Google Vertex AI: "/path/to/service-account.json"
91
- - AWS Bedrock: {"access_key_id": "AKIA...", "secret_access_key": "secret..."}
92
- - LangChain: {"api_key": "sk-123", "other_setting": "value"}
93
-
94
- Migration from lm_api_key:
95
- - Old: AgentConfig(lm_api_key="sk-123")
96
- - New: AgentConfig(lm_credentials="sk-123") # Same behavior, auto-detected
97
-
98
- lm_retry_config: Retry configuration for the language model.
99
- '''
100
- lm_name: str | None
101
- lm_hyperparameters: dict[str, Any] | None
102
- lm_provider: str | None
103
- lm_base_url: str | None
104
- lm_api_key: str | None
105
- lm_credentials: str | dict[str, Any] | None
106
- lm_retry_config: RetryConfig | None
@@ -1,15 +0,0 @@
1
- from aip_agents.agent import LangGraphAgent as LangGraphAgent
2
- from aip_agents.agent.types import A2AClientConfig as A2AClientConfig
3
-
4
- async def main() -> None:
5
- """Main function demonstrating the Multi-Agent Coordinator client."""
6
- async def test_combined_request(client_agent, coordinator_card) -> None:
7
- """Test a request that requires both image and table generation."""
8
- def handle_artifacts(result, test_name) -> None:
9
- """Handle and display information about artifacts from the result."""
10
- def print_artifact_info(artifact: dict) -> None:
11
- """Print information about an artifact.
12
-
13
- Args:
14
- artifact: Dictionary containing artifact information.
15
- """
@@ -1,5 +0,0 @@
1
- from aip_agents.agent import LangGraphAgent as LangGraphAgent
2
- from aip_agents.agent.types import A2AClientConfig as A2AClientConfig
3
-
4
- async def main() -> None:
5
- """Main function demonstrating the Multi-Agent Coordinator streaming client."""
@@ -1,11 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent import LangGraphAgent as LangGraphAgent
3
- from aip_agents.examples.tools.image_artifact_tool import ImageArtifactTool as ImageArtifactTool
4
- from aip_agents.examples.tools.table_generator_tool import TableGeneratorTool as TableGeneratorTool
5
- from aip_agents.utils.logger_manager import LoggerManager as LoggerManager
6
-
7
- logger: Incomplete
8
- SERVER_AGENT_NAME: str
9
-
10
- def main(host: str, port: int):
11
- """Runs the Multi-Agent Coordinator A2A server."""
@@ -1,5 +0,0 @@
1
- from aip_agents.agent import LangGraphAgent as LangGraphAgent
2
- from aip_agents.examples.tools.pr_details_bosa_tool import GitHubPRDetailsTool as GitHubPRDetailsTool
3
-
4
- async def langgraph_example_bosa() -> None:
5
- """Demonstrates the LangGraphAgent's arun method with BOSA tools."""
@@ -1,26 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.tools.base_bosa_tools import BaseBosaTool as BaseBosaTool
3
- from aip_agents.tools.constants import Action as Action, ActionEndpointMap as ActionEndpointMap
4
- from langchain_core.tools import BaseTool as LangchainBaseTool
5
- from pydantic import BaseModel
6
-
7
- logger: Incomplete
8
-
9
- class GitHubPRDetailsSchema(BaseModel):
10
- """Schema for retrieving details of specific GitHub Pull Requests."""
11
- repository: str
12
- pr_numbers: list[int]
13
-
14
- class GitHubPRDetailsTool(BaseBosaTool, LangchainBaseTool):
15
- """Tool for retrieving details of specific pull requests."""
16
- name: str
17
- description: str
18
- args_schema: type[BaseModel]
19
- def __init__(self, **kwargs) -> None:
20
- """Initialize the GitHubPRDetailsTool.
21
-
22
- Calls both LangchainBaseTool and BaseBosaTool __init__ methods.
23
-
24
- Args:
25
- **kwargs: Additional keyword arguments for initialization.
26
- """
aip_agents/tools/base.pyi DELETED
@@ -1,44 +0,0 @@
1
- from langchain_core.tools import BaseTool as LangchainBaseTool
2
- from typing import Any
3
-
4
- class BaseTool(LangchainBaseTool):
5
- """Base class for tools inheriting from Langchain's BaseTool.
6
-
7
- Tools should inherit from this class and implement the _run and optionally
8
- _arun methods.
9
-
10
- Attributes:
11
- name (str): The name of the tool.
12
- description (str): A description of what the tool does.
13
- args_schema (Optional[Type[Any]]): The schema for the tool's arguments.
14
- return_direct (bool): Whether to return the tool's output directly.
15
- """
16
- name: str
17
- description: str
18
- args_schema: type[Any] | None
19
- return_direct: bool
20
- def run(self, tool_input: Any, **_kwargs: Any) -> Any:
21
- """Run the tool synchronously. (Not Implemented)
22
-
23
- This method is intentionally not implemented to encourage asynchronous
24
- operations via the `arun` method.
25
-
26
- Args:
27
- tool_input: The input for the tool.
28
- **_kwargs: Unused. Additional keyword arguments.
29
-
30
- Raises:
31
- NotImplementedError: Always raised.
32
- """
33
- async def arun(self, tool_input: Any, **_kwargs: Any) -> Any:
34
- """Run the tool asynchronously.
35
-
36
- Args:
37
- tool_input: The input for the tool.
38
- **_kwargs: Unused. Additional keyword arguments.
39
-
40
- Returns:
41
- The output of the tool.
42
- """
43
- async def __call__(self, tool_input: Any) -> Any:
44
- """Allows the tool instance to be called asynchronously."""
@@ -1,12 +0,0 @@
1
- from aip_agents.tools.bosa_connector import BOSAConnector as BOSAConnector
2
- from aip_agents.tools.bosa_tools_interface import BosaToolInterface as BosaToolInterface
3
- from aip_agents.tools.constants import BOSA_API_BASE_URL as BOSA_API_BASE_URL, BOSA_API_KEY as BOSA_API_KEY
4
- from langchain_core.callbacks import AsyncCallbackManagerForToolRun as AsyncCallbackManagerForToolRun
5
-
6
- class BaseBosaTool(BosaToolInterface):
7
- """Base class for tools with BOSA Connector integration."""
8
- def __init__(self, **kwargs) -> None:
9
- """Initialize the BaseBosaTool.
10
-
11
- This method calls the _init_bosa_connector method to initialize the BosaConnector.
12
- """
@@ -1,30 +0,0 @@
1
- from _typeshed import Incomplete
2
- from bosa_connectors.connector import BosaConnector
3
- from typing import Any
4
-
5
- MAX_ATTEMPTS: int
6
- logger: Incomplete
7
-
8
- class BOSAConnector:
9
- """Handler for fetching data using the BOSA Connector."""
10
- bosa: BosaConnector
11
- def __init__(self, api_base_url: str, api_key: str) -> None:
12
- """Initialize the BOSA connector.
13
-
14
- Args:
15
- api_base_url: Base URL for the BOSA API
16
- api_key: API key for authentication
17
- """
18
- def execute_endpoint(self, action: str, endpoint: str, input_: dict[str, Any], max_attempts: int = ..., forwards_cursor: bool = True) -> dict[str, Any]:
19
- """Execute a BOSA endpoint and fetch data.
20
-
21
- Args:
22
- action: The BOSA API action to call
23
- endpoint: The BOSA API endpoint to call
24
- input_: Parameters matching the API spec
25
- max_attempts: Max retry attempts
26
- forwards_cursor: Whether to use cursor-based pagination (True) or page-based pagination (False)
27
-
28
- Returns:
29
- dict containing response data with '0', 'data', and 'meta' fields
30
- """
@@ -1,26 +0,0 @@
1
- import abc
2
- from abc import ABC, abstractmethod
3
- from aip_agents.tools.bosa_connector import BOSAConnector as BOSAConnector
4
- from pydantic import BaseModel as BaseModel
5
-
6
- class BosaToolInterface(ABC, metaclass=abc.ABCMeta):
7
- """Interface for BOSA tools.
8
-
9
- Defines the abstract base class for tools that agents can use.
10
-
11
- Attributes:
12
- name (str): The name of the tool.
13
- description (Optional[str]): The description of the tool.
14
- args_schema (Optional[Type[BaseModel]]): The schema for the tool arguments.
15
- _bosa_connector (Optional[BOSAConnector]): The BosaConnector instance.
16
- """
17
- name: str
18
- description: str | None
19
- args_schema: type[BaseModel] | None
20
- @abstractmethod
21
- def __init__(self):
22
- """Initialize the BosaToolInterface.
23
-
24
- This method should be implemented by subclasses to define the tool's
25
- initialization logic. The _init_bosa_connector should be called here.
26
- """
@@ -1,45 +0,0 @@
1
- import logging
2
- from aip_agents.tools.base import BaseTool as BaseTool
3
- from aip_agents.types import AgentProtocol as AgentProtocol
4
- from gllm_core.event import EventEmitter as EventEmitter
5
- from pydantic import BaseModel
6
- from typing import Any
7
-
8
- class NestedAgentTool(BaseTool):
9
- """Tool for wrapping an agent as a tool for use by another agent.
10
-
11
- This allows agents to delegate tasks to other specialized agents.
12
- The wrapped agent must conform to the AgentProtocol interface.
13
-
14
- Attributes:
15
- name: The name of the tool (derived from the agent's name).
16
- description: The description of the tool (derived from the agent's description).
17
- nested_agent: The agent to wrap as a tool.
18
- return_direct: Whether to return the result directly to the parent agent without
19
- additional processing. When True, the parent agent will receive the nested
20
- agent's response directly rather than incorporating it into its reasoning.
21
- logger: Logger for tracking tool execution.
22
- """
23
- name: str
24
- description: str
25
- nested_agent: AgentProtocol
26
- return_direct: bool
27
- logger: logging.Logger | None
28
- class ArgsSchema(BaseModel):
29
- """ArgsSchema is a Pydantic model that defines the schema for the arguments required by the nested agent.
30
-
31
- Attributes:
32
- query (str): User query to delegate to the nested agent. This field is required.
33
- """
34
- query: str
35
- args_schema: type[BaseModel]
36
- def __init__(self, nested_agent: AgentProtocol, **kwargs: Any) -> None:
37
- """Initialize the Tool class with an agent and additional data.
38
-
39
- Args:
40
- nested_agent (AgentProtocol): The agent instance to be wrapped.
41
- **kwargs (Any): Additional keyword arguments to pass to the parent constructor.
42
-
43
- Raises:
44
- ValueError: If the provided agent doesn't conform to AgentProtocol.
45
- """
@@ -1,151 +0,0 @@
1
- import logging
2
- from _typeshed import Incomplete
3
-
4
- BOSA_CORE_AVAILABLE: bool
5
- DEFAULT_LOG_FORMAT: Incomplete
6
- DEFAULT_DATE_FORMAT: str
7
- LOG_COLORS: Incomplete
8
- MAX_LOG_COLORS_LENGTH: Incomplete
9
- TRUNCATED_MESSAGE: str
10
- MAX_MESSAGE_LENGTH: Incomplete
11
-
12
- class StandardizedFormatter(logging.Formatter):
13
- """Custom formatter that outputs logs in standardized JSON format with colors.
14
-
15
- Follows the standardized log format:
16
- - level: string (e.g., INFO, ERROR)
17
- - timestamp: ISO 8601 with timezone (e.g., 2025-07-23T00:29:05.091Z)
18
- - message: string (the content of the log) (max 500000 context length)
19
- - error: object (for error logs only)
20
- - message: string (the error message)
21
- - code: string (specific error code)
22
- - stacktrace: string (the stack trace for debugging)
23
- """
24
- def format(self, record: logging.LogRecord) -> str:
25
- """Format the log record in standardized JSON format with colors.
26
-
27
- Args:
28
- record (logging.LogRecord): The log record to be formatted.
29
-
30
- Returns:
31
- str: The formatted log message in JSON format.
32
- """
33
-
34
- class ColoredFormatter(logging.Formatter):
35
- """Custom formatter to add colors based on log level."""
36
- def format(self, record: logging.LogRecord) -> str:
37
- """Format the log record with colors based on log level.
38
-
39
- Args:
40
- record (logging.LogRecord): The log record to be formatted.
41
-
42
- Returns:
43
- str: The formatted log message with color codes.
44
- """
45
-
46
- class LoggerManager:
47
- '''A singleton class to manage logging configuration.
48
-
49
- This class ensures that the root logger is initialized only once and is used across the application.
50
- Supports both traditional colored output and standardized format with colors.
51
-
52
- Example to get and use the logger:
53
- ```python
54
- manager = LoggerManager()
55
-
56
- logger = manager.get_logger()
57
-
58
- logger.info("This is an info message")
59
- ```
60
-
61
- Example to set logging configuration:
62
- ```python
63
- manager = LoggerManager()
64
-
65
- manager.set_level(logging.DEBUG)
66
- manager.set_output_format("traditional") # or "standardized"
67
- ```
68
-
69
- Example to add a custom handler:
70
- ```python
71
- manager = LoggerManager()
72
-
73
- handler = logging.FileHandler("app.log")
74
- manager.add_handler(handler)
75
- ```
76
-
77
- Output format examples:
78
-
79
- Traditional format:
80
- ```python
81
- [16/04/2025 15:08:18.323 GDPLabsGenAILogger INFO] Loading prompt_builder catalog for chatbot `general-purpose`
82
- ```
83
-
84
- Standardized format:
85
- ```json
86
- {
87
- "level": "INFO",
88
- "timestamp": "2025-07-23T00:29:05.091Z",
89
- "message": "Loading prompt_builder catalog for chatbot `general-purpose`"
90
- }
91
- ```
92
-
93
- Error standardized format:
94
- ```json
95
- {
96
- "level": "ERROR",
97
- "timestamp": "2025-07-23T00:29:05.091Z",
98
- "message": "Failed to load configuration",
99
- "error": {
100
- "message": "Configuration file not found",
101
- "code": "CONFIG_NOT_FOUND",
102
- "stacktrace": "Traceback (most recent call last):..."
103
- }
104
- }
105
- ```
106
- '''
107
- def __new__(cls):
108
- """Initialize the singleton instance."""
109
- def get_logger(self, name: str | None = None) -> logging.Logger:
110
- """Get a logger instance.
111
-
112
- This method returns a logger instance that is a child of the root logger. If name is not provided,
113
- the root logger will be returned instead.
114
-
115
- Args:
116
- name (str | None, optional): The name of the child logger.
117
- If None, the root logger will be returned. Defaults to None.
118
-
119
- Returns:
120
- logging.Logger: Configured logger instance.
121
- """
122
- def set_level(self, level: int) -> None:
123
- """Set logging level for all loggers in the hierarchy.
124
-
125
- Args:
126
- level (int): The logging level to set (e.g., logging.INFO, logging.DEBUG).
127
- """
128
- def set_output_format(self, output_format: str) -> None:
129
- '''Set the output format for all loggers in the hierarchy.
130
-
131
- Args:
132
- output_format (str): The output format to set. Must be either "standardized" or "traditional".
133
- '''
134
- def set_log_format(self, log_format: str) -> None:
135
- """Set logging format for all loggers in the hierarchy (traditional mode only).
136
-
137
- Args:
138
- log_format (str): The log format to set.
139
- """
140
- def set_date_format(self, date_format: str) -> None:
141
- """Set date format for all loggers in the hierarchy (traditional mode only).
142
-
143
- Args:
144
- date_format (str): The date format to set.
145
- """
146
- def add_handler(self, handler: logging.Handler) -> None:
147
- """Add a custom handler to the root logger.
148
-
149
- Args:
150
- handler (logging.Handler): The handler to add to the root logger.
151
- """