aip-agents-binary 0.0.0b2__py3-none-any.whl → 0.5.12__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 (426) hide show
  1. aip_agents/__init__.py +65 -0
  2. aip_agents/a2a/__init__.py +19 -0
  3. aip_agents/a2a/server/__init__.py +10 -0
  4. aip_agents/a2a/server/base_executor.py +1086 -0
  5. aip_agents/a2a/server/google_adk_executor.py +198 -0
  6. aip_agents/a2a/server/langflow_executor.py +180 -0
  7. aip_agents/a2a/server/langgraph_executor.py +270 -0
  8. aip_agents/a2a/types.py +232 -0
  9. aip_agents/agent/__init__.py +27 -0
  10. aip_agents/agent/base_agent.py +970 -0
  11. aip_agents/agent/base_langgraph_agent.py +2942 -0
  12. aip_agents/agent/google_adk_agent.py +926 -0
  13. aip_agents/agent/google_adk_constants.py +6 -0
  14. aip_agents/agent/hitl/__init__.py +24 -0
  15. aip_agents/agent/hitl/config.py +28 -0
  16. aip_agents/agent/hitl/langgraph_hitl_mixin.py +515 -0
  17. aip_agents/agent/hitl/manager.py +532 -0
  18. aip_agents/agent/hitl/models.py +18 -0
  19. aip_agents/agent/hitl/prompt/__init__.py +9 -0
  20. aip_agents/agent/hitl/prompt/base.py +42 -0
  21. aip_agents/agent/hitl/prompt/deferred.py +73 -0
  22. aip_agents/agent/hitl/registry.py +149 -0
  23. aip_agents/agent/{interface.pyi → interface.py} +70 -13
  24. aip_agents/agent/interfaces.py +65 -0
  25. aip_agents/agent/langflow_agent.py +464 -0
  26. aip_agents/agent/langgraph_memory_enhancer_agent.py +433 -0
  27. aip_agents/agent/langgraph_react_agent.py +2514 -0
  28. aip_agents/agent/system_instruction_context.py +34 -0
  29. aip_agents/clients/__init__.py +10 -0
  30. aip_agents/clients/langflow/__init__.py +10 -0
  31. aip_agents/clients/langflow/client.py +477 -0
  32. aip_agents/clients/langflow/types.py +18 -0
  33. aip_agents/constants.py +23 -0
  34. aip_agents/credentials/manager.py +132 -0
  35. aip_agents/examples/__init__.py +5 -0
  36. aip_agents/examples/compare_streaming_client.py +783 -0
  37. aip_agents/examples/compare_streaming_server.py +142 -0
  38. aip_agents/examples/demo_memory_recall.py +401 -0
  39. aip_agents/examples/hello_world_a2a_google_adk_client.py +49 -0
  40. aip_agents/examples/hello_world_a2a_google_adk_client_agent.py +48 -0
  41. aip_agents/examples/hello_world_a2a_google_adk_client_streaming.py +60 -0
  42. aip_agents/examples/hello_world_a2a_google_adk_server.py +79 -0
  43. aip_agents/examples/hello_world_a2a_langchain_client.py +39 -0
  44. aip_agents/examples/hello_world_a2a_langchain_client_agent.py +39 -0
  45. aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.py +37 -0
  46. aip_agents/examples/hello_world_a2a_langchain_client_streaming.py +41 -0
  47. aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.py +60 -0
  48. aip_agents/examples/hello_world_a2a_langchain_reference_server.py +105 -0
  49. aip_agents/examples/hello_world_a2a_langchain_server.py +79 -0
  50. aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.py +78 -0
  51. aip_agents/examples/hello_world_a2a_langflow_client.py +83 -0
  52. aip_agents/examples/hello_world_a2a_langflow_server.py +82 -0
  53. aip_agents/examples/hello_world_a2a_langgraph_artifact_client.py +73 -0
  54. aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.py +76 -0
  55. aip_agents/examples/hello_world_a2a_langgraph_artifact_server.py +92 -0
  56. aip_agents/examples/hello_world_a2a_langgraph_client.py +54 -0
  57. aip_agents/examples/hello_world_a2a_langgraph_client_agent.py +54 -0
  58. aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.py +32 -0
  59. aip_agents/examples/hello_world_a2a_langgraph_client_streaming.py +50 -0
  60. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.py +44 -0
  61. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.py +92 -0
  62. aip_agents/examples/hello_world_a2a_langgraph_server.py +84 -0
  63. aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.py +79 -0
  64. aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.py +132 -0
  65. aip_agents/examples/hello_world_a2a_mcp_langgraph.py +196 -0
  66. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.py +244 -0
  67. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.py +251 -0
  68. aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.py +57 -0
  69. aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.py +80 -0
  70. aip_agents/examples/hello_world_google_adk.py +41 -0
  71. aip_agents/examples/hello_world_google_adk_mcp_http.py +34 -0
  72. aip_agents/examples/hello_world_google_adk_mcp_http_stream.py +40 -0
  73. aip_agents/examples/hello_world_google_adk_mcp_sse.py +44 -0
  74. aip_agents/examples/hello_world_google_adk_mcp_sse_stream.py +48 -0
  75. aip_agents/examples/hello_world_google_adk_mcp_stdio.py +44 -0
  76. aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.py +48 -0
  77. aip_agents/examples/hello_world_google_adk_stream.py +44 -0
  78. aip_agents/examples/hello_world_langchain.py +28 -0
  79. aip_agents/examples/hello_world_langchain_lm_invoker.py +15 -0
  80. aip_agents/examples/hello_world_langchain_mcp_http.py +34 -0
  81. aip_agents/examples/hello_world_langchain_mcp_http_interactive.py +130 -0
  82. aip_agents/examples/hello_world_langchain_mcp_http_stream.py +42 -0
  83. aip_agents/examples/hello_world_langchain_mcp_multi_server.py +155 -0
  84. aip_agents/examples/hello_world_langchain_mcp_sse.py +34 -0
  85. aip_agents/examples/hello_world_langchain_mcp_sse_stream.py +40 -0
  86. aip_agents/examples/hello_world_langchain_mcp_stdio.py +30 -0
  87. aip_agents/examples/hello_world_langchain_mcp_stdio_stream.py +41 -0
  88. aip_agents/examples/hello_world_langchain_stream.py +36 -0
  89. aip_agents/examples/hello_world_langchain_stream_lm_invoker.py +39 -0
  90. aip_agents/examples/hello_world_langflow_agent.py +163 -0
  91. aip_agents/examples/hello_world_langgraph.py +39 -0
  92. aip_agents/examples/hello_world_langgraph_bosa_twitter.py +41 -0
  93. aip_agents/examples/hello_world_langgraph_mcp_http.py +31 -0
  94. aip_agents/examples/hello_world_langgraph_mcp_http_stream.py +34 -0
  95. aip_agents/examples/hello_world_langgraph_mcp_sse.py +35 -0
  96. aip_agents/examples/hello_world_langgraph_mcp_sse_stream.py +50 -0
  97. aip_agents/examples/hello_world_langgraph_mcp_stdio.py +35 -0
  98. aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.py +50 -0
  99. aip_agents/examples/hello_world_langgraph_stream.py +43 -0
  100. aip_agents/examples/hello_world_langgraph_stream_lm_invoker.py +37 -0
  101. aip_agents/examples/hello_world_model_switch_cli.py +210 -0
  102. aip_agents/examples/hello_world_multi_agent_adk.py +75 -0
  103. aip_agents/examples/hello_world_multi_agent_langchain.py +54 -0
  104. aip_agents/examples/hello_world_multi_agent_langgraph.py +66 -0
  105. aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.py +69 -0
  106. aip_agents/examples/hello_world_pii_logger.py +21 -0
  107. aip_agents/examples/hello_world_sentry.py +133 -0
  108. aip_agents/examples/hello_world_step_limits.py +273 -0
  109. aip_agents/examples/hello_world_stock_a2a_server.py +103 -0
  110. aip_agents/examples/hello_world_tool_output_client.py +46 -0
  111. aip_agents/examples/hello_world_tool_output_server.py +114 -0
  112. aip_agents/examples/hitl_demo.py +724 -0
  113. aip_agents/examples/mcp_configs/configs.py +63 -0
  114. aip_agents/examples/mcp_servers/common.py +76 -0
  115. aip_agents/examples/mcp_servers/mcp_name.py +29 -0
  116. aip_agents/examples/mcp_servers/mcp_server_http.py +19 -0
  117. aip_agents/examples/mcp_servers/mcp_server_sse.py +19 -0
  118. aip_agents/examples/mcp_servers/mcp_server_stdio.py +19 -0
  119. aip_agents/examples/mcp_servers/mcp_time.py +10 -0
  120. aip_agents/examples/pii_demo_langgraph_client.py +69 -0
  121. aip_agents/examples/pii_demo_langgraph_server.py +126 -0
  122. aip_agents/examples/pii_demo_multi_agent_client.py +80 -0
  123. aip_agents/examples/pii_demo_multi_agent_server.py +247 -0
  124. aip_agents/examples/todolist_planning_a2a_langchain_client.py +70 -0
  125. aip_agents/examples/todolist_planning_a2a_langgraph_server.py +88 -0
  126. aip_agents/examples/tools/__init__.py +27 -0
  127. aip_agents/examples/tools/{adk_arithmetic_tools.pyi → adk_arithmetic_tools.py} +12 -0
  128. aip_agents/examples/tools/adk_weather_tool.py +60 -0
  129. aip_agents/examples/tools/data_generator_tool.py +103 -0
  130. aip_agents/examples/tools/data_visualization_tool.py +312 -0
  131. aip_agents/examples/tools/image_artifact_tool.py +136 -0
  132. aip_agents/examples/tools/langchain_arithmetic_tools.py +26 -0
  133. aip_agents/examples/tools/langchain_currency_exchange_tool.py +88 -0
  134. aip_agents/examples/tools/langchain_graph_artifact_tool.py +172 -0
  135. aip_agents/examples/tools/langchain_weather_tool.py +48 -0
  136. aip_agents/examples/tools/langgraph_streaming_tool.py +130 -0
  137. aip_agents/examples/tools/mock_retrieval_tool.py +56 -0
  138. aip_agents/examples/tools/pii_demo_tools.py +189 -0
  139. aip_agents/examples/tools/random_chart_tool.py +142 -0
  140. aip_agents/examples/tools/serper_tool.py +202 -0
  141. aip_agents/examples/tools/stock_tools.py +82 -0
  142. aip_agents/examples/tools/table_generator_tool.py +167 -0
  143. aip_agents/examples/tools/time_tool.py +82 -0
  144. aip_agents/examples/tools/weather_forecast_tool.py +38 -0
  145. aip_agents/executor/agent_executor.py +473 -0
  146. aip_agents/executor/base.py +48 -0
  147. aip_agents/mcp/__init__.py +1 -0
  148. aip_agents/mcp/client/__init__.py +14 -0
  149. aip_agents/mcp/client/base_mcp_client.py +369 -0
  150. aip_agents/mcp/client/connection_manager.py +193 -0
  151. aip_agents/mcp/client/google_adk/__init__.py +11 -0
  152. aip_agents/mcp/client/google_adk/client.py +381 -0
  153. aip_agents/mcp/client/langchain/__init__.py +11 -0
  154. aip_agents/mcp/client/langchain/client.py +265 -0
  155. aip_agents/mcp/client/persistent_session.py +359 -0
  156. aip_agents/mcp/client/session_pool.py +351 -0
  157. aip_agents/mcp/client/transports.py +215 -0
  158. aip_agents/mcp/utils/__init__.py +7 -0
  159. aip_agents/mcp/utils/config_validator.py +139 -0
  160. aip_agents/memory/__init__.py +14 -0
  161. aip_agents/memory/adapters/__init__.py +10 -0
  162. aip_agents/memory/adapters/base_adapter.py +717 -0
  163. aip_agents/memory/adapters/mem0.py +84 -0
  164. aip_agents/memory/{base.pyi → base.py} +40 -5
  165. aip_agents/memory/constants.py +49 -0
  166. aip_agents/memory/factory.py +86 -0
  167. aip_agents/memory/guidance.py +20 -0
  168. aip_agents/memory/simple_memory.py +47 -0
  169. aip_agents/middleware/__init__.py +17 -0
  170. aip_agents/middleware/base.py +88 -0
  171. aip_agents/middleware/manager.py +128 -0
  172. aip_agents/middleware/todolist.py +274 -0
  173. aip_agents/schema/__init__.py +69 -0
  174. aip_agents/schema/a2a.py +56 -0
  175. aip_agents/schema/agent.py +111 -0
  176. aip_agents/schema/hitl.py +157 -0
  177. aip_agents/schema/langgraph.py +37 -0
  178. aip_agents/schema/model_id.py +97 -0
  179. aip_agents/schema/step_limit.py +108 -0
  180. aip_agents/schema/storage.py +40 -0
  181. aip_agents/sentry/__init__.py +11 -0
  182. aip_agents/sentry/sentry.py +151 -0
  183. aip_agents/storage/__init__.py +41 -0
  184. aip_agents/storage/{base.pyi → base.py} +30 -4
  185. aip_agents/storage/clients/__init__.py +12 -0
  186. aip_agents/storage/clients/minio_client.py +318 -0
  187. aip_agents/storage/config.py +62 -0
  188. aip_agents/storage/providers/__init__.py +15 -0
  189. aip_agents/storage/providers/{base.pyi → base.py} +23 -6
  190. aip_agents/storage/providers/{memory.pyi → memory.py} +38 -3
  191. aip_agents/storage/providers/object_storage.py +214 -0
  192. aip_agents/tools/__init__.py +6 -0
  193. aip_agents/tools/bosa_tools.py +105 -0
  194. aip_agents/tools/browser_use/__init__.py +82 -0
  195. aip_agents/tools/browser_use/action_parser.py +103 -0
  196. aip_agents/tools/browser_use/browser_use_tool.py +1112 -0
  197. aip_agents/tools/browser_use/llm_config.py +120 -0
  198. aip_agents/tools/browser_use/minio_storage.py +198 -0
  199. aip_agents/tools/browser_use/schemas.py +119 -0
  200. aip_agents/tools/browser_use/session.py +76 -0
  201. aip_agents/tools/browser_use/session_errors.py +132 -0
  202. aip_agents/tools/browser_use/steel_session_recording.py +317 -0
  203. aip_agents/tools/browser_use/streaming.py +813 -0
  204. aip_agents/tools/browser_use/structured_data_parser.py +257 -0
  205. aip_agents/tools/browser_use/structured_data_recovery.py +204 -0
  206. aip_agents/tools/browser_use/types.py +78 -0
  207. aip_agents/tools/code_sandbox/__init__.py +26 -0
  208. aip_agents/tools/code_sandbox/constant.py +13 -0
  209. aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.py +257 -0
  210. aip_agents/tools/code_sandbox/e2b_sandbox_tool.py +411 -0
  211. aip_agents/tools/constants.py +165 -0
  212. aip_agents/tools/document_loader/__init__.py +37 -0
  213. aip_agents/tools/document_loader/base_reader.py +262 -0
  214. aip_agents/tools/document_loader/docx_reader_tool.py +53 -0
  215. aip_agents/tools/document_loader/excel_reader_tool.py +160 -0
  216. aip_agents/tools/document_loader/pdf_reader_tool.py +67 -0
  217. aip_agents/tools/document_loader/pdf_splitter.py +169 -0
  218. aip_agents/tools/gl_connector/__init__.py +5 -0
  219. aip_agents/tools/gl_connector/tool.py +351 -0
  220. aip_agents/tools/memory_search/__init__.py +22 -0
  221. aip_agents/tools/memory_search/base.py +200 -0
  222. aip_agents/tools/memory_search/mem0.py +258 -0
  223. aip_agents/tools/memory_search/schema.py +48 -0
  224. aip_agents/tools/memory_search_tool.py +26 -0
  225. aip_agents/tools/tool_config_injector.py +300 -0
  226. aip_agents/tools/web_search/__init__.py +15 -0
  227. aip_agents/tools/web_search/serper_tool.py +187 -0
  228. aip_agents/types/__init__.py +70 -0
  229. aip_agents/types/a2a_events.py +13 -0
  230. aip_agents/utils/__init__.py +79 -0
  231. aip_agents/utils/a2a_connector.py +1757 -0
  232. aip_agents/utils/artifact_helpers.py +502 -0
  233. aip_agents/utils/constants.py +22 -0
  234. aip_agents/utils/datetime/__init__.py +34 -0
  235. aip_agents/utils/datetime/normalization.py +231 -0
  236. aip_agents/utils/datetime/timezone.py +206 -0
  237. aip_agents/utils/env_loader.py +27 -0
  238. aip_agents/utils/event_handler_registry.py +58 -0
  239. aip_agents/utils/file_prompt_utils.py +176 -0
  240. aip_agents/utils/final_response_builder.py +211 -0
  241. aip_agents/utils/formatter_llm_client.py +231 -0
  242. aip_agents/utils/langgraph/__init__.py +19 -0
  243. aip_agents/utils/langgraph/converter.py +128 -0
  244. aip_agents/utils/langgraph/tool_managers/__init__.py +15 -0
  245. aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.py +99 -0
  246. aip_agents/utils/langgraph/tool_managers/{base_tool_manager.pyi → base_tool_manager.py} +25 -8
  247. aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.py +1071 -0
  248. aip_agents/utils/langgraph/tool_output_management.py +967 -0
  249. aip_agents/utils/logger.py +195 -0
  250. aip_agents/utils/metadata/__init__.py +27 -0
  251. aip_agents/utils/metadata/activity_metadata_helper.py +407 -0
  252. aip_agents/utils/metadata/activity_narrative/__init__.py +35 -0
  253. aip_agents/utils/metadata/activity_narrative/builder.py +817 -0
  254. aip_agents/utils/metadata/activity_narrative/constants.py +51 -0
  255. aip_agents/utils/metadata/activity_narrative/context.py +49 -0
  256. aip_agents/utils/metadata/activity_narrative/formatters.py +230 -0
  257. aip_agents/utils/metadata/activity_narrative/utils.py +35 -0
  258. aip_agents/utils/metadata/schemas/__init__.py +16 -0
  259. aip_agents/utils/metadata/schemas/activity_schema.py +29 -0
  260. aip_agents/utils/metadata/schemas/thinking_schema.py +31 -0
  261. aip_agents/utils/metadata/thinking_metadata_helper.py +38 -0
  262. aip_agents/utils/metadata_helper.py +358 -0
  263. aip_agents/utils/name_preprocessor/__init__.py +17 -0
  264. aip_agents/utils/name_preprocessor/{base_name_preprocessor.pyi → base_name_preprocessor.py} +22 -2
  265. aip_agents/utils/name_preprocessor/google_name_preprocessor.py +100 -0
  266. aip_agents/utils/name_preprocessor/name_preprocessor.py +87 -0
  267. aip_agents/utils/name_preprocessor/{openai_name_preprocessor.pyi → openai_name_preprocessor.py} +19 -5
  268. aip_agents/utils/pii/__init__.py +25 -0
  269. aip_agents/utils/pii/pii_handler.py +397 -0
  270. aip_agents/utils/pii/pii_helper.py +207 -0
  271. aip_agents/utils/pii/uuid_deanonymizer_mapping.py +195 -0
  272. aip_agents/utils/reference_helper.py +273 -0
  273. aip_agents/utils/sse_chunk_transformer.py +831 -0
  274. aip_agents/utils/step_limit_manager.py +265 -0
  275. aip_agents/utils/token_usage_helper.py +156 -0
  276. aip_agents_binary-0.5.12.dist-info/METADATA +689 -0
  277. aip_agents_binary-0.5.12.dist-info/RECORD +279 -0
  278. {aip_agents_binary-0.0.0b2.dist-info → aip_agents_binary-0.5.12.dist-info}/WHEEL +2 -1
  279. aip_agents_binary-0.5.12.dist-info/top_level.txt +1 -0
  280. aip_agents/__init__.pyi +0 -0
  281. aip_agents/a2a/__init__.pyi +0 -3
  282. aip_agents/a2a/server/__init__.pyi +0 -4
  283. aip_agents/a2a/server/base_executor.pyi +0 -63
  284. aip_agents/a2a/server/google_adk_executor.pyi +0 -51
  285. aip_agents/a2a/server/langgraph_executor.pyi +0 -48
  286. aip_agents/a2a/types.pyi +0 -125
  287. aip_agents/agent/__init__.pyi +0 -7
  288. aip_agents/agent/base_agent.pyi +0 -205
  289. aip_agents/agent/base_langgraph_agent.pyi +0 -164
  290. aip_agents/agent/google_adk_agent.pyi +0 -128
  291. aip_agents/agent/langgraph_react_agent.pyi +0 -131
  292. aip_agents/agent/types.pyi +0 -106
  293. aip_agents/constants.pyi +0 -6
  294. aip_agents/examples/__init__.pyi +0 -0
  295. aip_agents/examples/hello_world_a2a_google_adk_client.pyi +0 -9
  296. aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +0 -9
  297. aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +0 -9
  298. aip_agents/examples/hello_world_a2a_google_adk_server.pyi +0 -10
  299. aip_agents/examples/hello_world_a2a_langchain_client.pyi +0 -5
  300. aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +0 -5
  301. aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +0 -5
  302. aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +0 -5
  303. aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +0 -5
  304. aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +0 -10
  305. aip_agents/examples/hello_world_a2a_langchain_server.pyi +0 -10
  306. aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +0 -10
  307. aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +0 -5
  308. aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +0 -5
  309. aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +0 -11
  310. aip_agents/examples/hello_world_a2a_langgraph_client.pyi +0 -9
  311. aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +0 -9
  312. aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +0 -2
  313. aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +0 -9
  314. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +0 -5
  315. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +0 -5
  316. aip_agents/examples/hello_world_a2a_langgraph_server.pyi +0 -9
  317. aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +0 -10
  318. aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +0 -10
  319. aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +0 -48
  320. aip_agents/examples/hello_world_a2a_multi_agent_coordinator_client.pyi +0 -15
  321. aip_agents/examples/hello_world_a2a_multi_agent_coordinator_client_streaming.pyi +0 -5
  322. aip_agents/examples/hello_world_a2a_multi_agent_coordinator_server.pyi +0 -11
  323. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +0 -23
  324. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +0 -17
  325. aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +0 -5
  326. aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +0 -10
  327. aip_agents/examples/hello_world_google_adk.pyi +0 -5
  328. aip_agents/examples/hello_world_google_adk_mcp_http.pyi +0 -5
  329. aip_agents/examples/hello_world_google_adk_mcp_http_stream.pyi +0 -5
  330. aip_agents/examples/hello_world_google_adk_mcp_sse.pyi +0 -5
  331. aip_agents/examples/hello_world_google_adk_mcp_sse_stream.pyi +0 -5
  332. aip_agents/examples/hello_world_google_adk_mcp_stdio.pyi +0 -5
  333. aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.pyi +0 -5
  334. aip_agents/examples/hello_world_google_adk_stream.pyi +0 -5
  335. aip_agents/examples/hello_world_langchain.pyi +0 -5
  336. aip_agents/examples/hello_world_langchain_lm_invoker.pyi +0 -2
  337. aip_agents/examples/hello_world_langchain_mcp_http.pyi +0 -5
  338. aip_agents/examples/hello_world_langchain_mcp_http_stream.pyi +0 -5
  339. aip_agents/examples/hello_world_langchain_mcp_sse.pyi +0 -5
  340. aip_agents/examples/hello_world_langchain_mcp_sse_stream.pyi +0 -5
  341. aip_agents/examples/hello_world_langchain_mcp_stdio.pyi +0 -5
  342. aip_agents/examples/hello_world_langchain_mcp_stdio_stream.pyi +0 -5
  343. aip_agents/examples/hello_world_langchain_stream.pyi +0 -5
  344. aip_agents/examples/hello_world_langchain_stream_lm_invoker.pyi +0 -5
  345. aip_agents/examples/hello_world_langgraph.pyi +0 -5
  346. aip_agents/examples/hello_world_langgraph_bosa.pyi +0 -5
  347. aip_agents/examples/hello_world_langgraph_bosa_twitter.pyi +0 -5
  348. aip_agents/examples/hello_world_langgraph_mcp_http.pyi +0 -5
  349. aip_agents/examples/hello_world_langgraph_mcp_http_stream.pyi +0 -5
  350. aip_agents/examples/hello_world_langgraph_mcp_sse.pyi +0 -5
  351. aip_agents/examples/hello_world_langgraph_mcp_sse_stream.pyi +0 -5
  352. aip_agents/examples/hello_world_langgraph_mcp_stdio.pyi +0 -5
  353. aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.pyi +0 -5
  354. aip_agents/examples/hello_world_langgraph_stream.pyi +0 -5
  355. aip_agents/examples/hello_world_langgraph_stream_lm_invoker.pyi +0 -5
  356. aip_agents/examples/hello_world_model_switch_cli.pyi +0 -15
  357. aip_agents/examples/hello_world_multi_agent_adk.pyi +0 -6
  358. aip_agents/examples/hello_world_multi_agent_langchain.pyi +0 -5
  359. aip_agents/examples/hello_world_multi_agent_langgraph.pyi +0 -5
  360. aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.pyi +0 -5
  361. aip_agents/examples/hello_world_pii_logger.pyi +0 -5
  362. aip_agents/examples/hello_world_sentry.pyi +0 -21
  363. aip_agents/examples/hello_world_stock_a2a_server.pyi +0 -12
  364. aip_agents/examples/hello_world_tool_output_client.pyi +0 -5
  365. aip_agents/examples/hello_world_tool_output_server.pyi +0 -14
  366. aip_agents/examples/tools/__init__.pyi +0 -7
  367. aip_agents/examples/tools/adk_weather_tool.pyi +0 -18
  368. aip_agents/examples/tools/data_generator_tool.pyi +0 -15
  369. aip_agents/examples/tools/data_visualization_tool.pyi +0 -17
  370. aip_agents/examples/tools/image_artifact_tool.pyi +0 -24
  371. aip_agents/examples/tools/langchain_arithmetic_tools.pyi +0 -10
  372. aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +0 -21
  373. aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +0 -23
  374. aip_agents/examples/tools/langchain_weather_tool.pyi +0 -19
  375. aip_agents/examples/tools/langgraph_streaming_tool.pyi +0 -43
  376. aip_agents/examples/tools/pr_details_bosa_tool.pyi +0 -26
  377. aip_agents/examples/tools/serper_tool.pyi +0 -16
  378. aip_agents/examples/tools/stock_tools.pyi +0 -21
  379. aip_agents/examples/tools/table_generator_tool.pyi +0 -22
  380. aip_agents/examples/tools/time_tool.pyi +0 -15
  381. aip_agents/examples/tools/weather_forecast_tool.pyi +0 -14
  382. aip_agents/mcp/__init__.pyi +0 -0
  383. aip_agents/mcp/client/__init__.pyi +0 -4
  384. aip_agents/mcp/client/google_adk/__init__.pyi +0 -3
  385. aip_agents/mcp/client/google_adk/client.pyi +0 -38
  386. aip_agents/mcp/client/langchain/__init__.pyi +0 -3
  387. aip_agents/mcp/client/langchain/client.pyi +0 -3
  388. aip_agents/memory/__init__.pyi +0 -0
  389. aip_agents/memory/simple_memory.pyi +0 -22
  390. aip_agents/sentry/__init__.pyi +0 -3
  391. aip_agents/sentry/sentry.pyi +0 -48
  392. aip_agents/storage/__init__.pyi +0 -8
  393. aip_agents/storage/clients/__init__.pyi +0 -3
  394. aip_agents/storage/clients/minio_client.pyi +0 -137
  395. aip_agents/storage/config.pyi +0 -66
  396. aip_agents/storage/providers/__init__.pyi +0 -5
  397. aip_agents/storage/providers/object_storage.pyi +0 -98
  398. aip_agents/tools/__init__.pyi +0 -3
  399. aip_agents/tools/base.pyi +0 -44
  400. aip_agents/tools/base_bosa_tools.pyi +0 -12
  401. aip_agents/tools/bosa_connector.pyi +0 -30
  402. aip_agents/tools/bosa_tools.pyi +0 -37
  403. aip_agents/tools/bosa_tools_interface.pyi +0 -26
  404. aip_agents/tools/constants.pyi +0 -130
  405. aip_agents/tools/nested_agent_tool.pyi +0 -45
  406. aip_agents/tools/tool_config_injector.pyi +0 -26
  407. aip_agents/types/__init__.pyi +0 -3
  408. aip_agents/types/a2a_events.pyi +0 -74
  409. aip_agents/utils/__init__.pyi +0 -5
  410. aip_agents/utils/a2a_connector.pyi +0 -135
  411. aip_agents/utils/artifact_helpers.pyi +0 -179
  412. aip_agents/utils/langgraph/__init__.pyi +0 -3
  413. aip_agents/utils/langgraph/converter.pyi +0 -49
  414. aip_agents/utils/langgraph/tool_managers/__init__.pyi +0 -5
  415. aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +0 -35
  416. aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +0 -50
  417. aip_agents/utils/langgraph/tool_output_management.pyi +0 -310
  418. aip_agents/utils/logger_manager.pyi +0 -151
  419. aip_agents/utils/metadata_helper.pyi +0 -110
  420. aip_agents/utils/name_preprocessor/__init__.pyi +0 -6
  421. aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +0 -38
  422. aip_agents/utils/name_preprocessor/name_preprocessor.pyi +0 -41
  423. aip_agents/utils/reference_helper.pyi +0 -49
  424. aip_agents/utils/token_usage_helper.pyi +0 -60
  425. aip_agents_binary-0.0.0b2.dist-info/METADATA +0 -277
  426. aip_agents_binary-0.0.0b2.dist-info/RECORD +0 -157
@@ -1,48 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent import BaseAgent as BaseAgent, GoogleADKAgent as GoogleADKAgent, LangChainAgent as LangChainAgent, LangGraphAgent as LangGraphAgent
3
- from aip_agents.utils.logger_manager import LoggerManager as LoggerManager
4
- from fastapi import FastAPI as 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_bosa_functions() -> None:
25
- """Instrument BOSA functions."""
26
- def traces_sampler(*args) -> float:
27
- """Determine appropriate sampling rate for Sentry transactions.
28
-
29
- Args:
30
- *args: Additional positional arguments
31
-
32
- Returns:
33
- float: Sampling rate between 0 and 1
34
- """
35
- def setup_sentry_with_open_telemetry(app: FastAPI) -> None:
36
- """Configure telemetry with both Sentry and OpenTelemetry.
37
-
38
- Args:
39
- app: FastAPI application instance
40
- """
41
- def setup_sentry_only() -> None:
42
- """Configure telemetry with Sentry only (no OpenTelemetry)."""
43
- def setup_telemetry(app: FastAPI) -> None:
44
- """Configure and initialize telemetry based on configuration.
45
-
46
- Args:
47
- app: FastAPI application instance
48
- """
@@ -1,8 +0,0 @@
1
- from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
2
- from aip_agents.storage.clients.minio_client import MinioConfig as MinioConfig, MinioObjectStorage as MinioObjectStorage
3
- from aip_agents.storage.config import StorageConfig as StorageConfig, StorageProviderFactory as StorageProviderFactory, StorageType as StorageType
4
- from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
5
- from aip_agents.storage.providers.memory import InMemoryStorageProvider as InMemoryStorageProvider
6
- from aip_agents.storage.providers.object_storage import ObjectStorageProvider as ObjectStorageProvider
7
-
8
- __all__ = ['BaseObjectStorageClient', 'MinioConfig', 'MinioObjectStorage', 'BaseStorageProvider', 'StorageError', 'InMemoryStorageProvider', 'ObjectStorageProvider', 'StorageConfig', 'StorageType', 'StorageProviderFactory']
@@ -1,3 +0,0 @@
1
- from aip_agents.storage.clients.minio_client import MinioConfig as MinioConfig, MinioObjectStorage as MinioObjectStorage
2
-
3
- __all__ = ['MinioConfig', 'MinioObjectStorage']
@@ -1,137 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
3
- from dataclasses import dataclass
4
- from typing import BinaryIO
5
-
6
- S3_ERR_NO_SUCH_KEY: str
7
- S3_ERR_NO_SUCH_BUCKET: str
8
- S3_ERR_ACCESS_DENIED: str
9
-
10
- @dataclass
11
- class MinioConfig:
12
- """Configuration for MinIO object storage client.
13
-
14
- Attributes:
15
- endpoint: MinIO server endpoint URL
16
- access_key: Access key for authentication
17
- secret_key: Secret key for authentication
18
- bucket: Bucket name to use for storage
19
- secure: Whether to use HTTPS (defaults to True)
20
- """
21
- endpoint: str
22
- access_key: str
23
- secret_key: str
24
- bucket: str
25
- secure: bool = ...
26
- @classmethod
27
- def from_env(cls) -> MinioConfig:
28
- """Create MinioConfig from environment variables.
29
-
30
- Expected environment variables:
31
- - OBJECT_STORAGE_URL
32
- - OBJECT_STORAGE_USER
33
- - OBJECT_STORAGE_PASSWORD
34
- - OBJECT_STORAGE_BUCKET
35
- - OBJECT_STORAGE_SECURE (optional, defaults to True)
36
-
37
- Returns:
38
- MinioConfig instance
39
-
40
- Raises:
41
- ValueError: If required environment variables are not set
42
- """
43
-
44
- class MinioObjectStorage(BaseObjectStorageClient):
45
- """Implementation of ObjectStorageInterface using Minio."""
46
- config: Incomplete
47
- client: Incomplete
48
- bucket: Incomplete
49
- def __init__(self, config: MinioConfig | None = None, ensure_bucket: bool = True) -> None:
50
- """Initialize MinioObjectStorage with configuration.
51
-
52
- Args:
53
- config: MinioConfig instance. If None, will attempt to load from environment variables.
54
- ensure_bucket: Whether to ensure bucket exists during initialization (optional). Defaults to True.
55
-
56
- Raises:
57
- ValueError: If configuration is invalid or incomplete
58
- """
59
- def upload(self, object_key: str, file_stream: bytes | BinaryIO, filename: str | None = None, content_type: str | None = None, metadata: dict[str, str] | None = None) -> str:
60
- """Upload data to Minio object storage.
61
-
62
- Args:
63
- object_key: The key to store the object under
64
- file_stream: The data to upload (bytes or file-like object)
65
- filename: The filename of the data (optional)
66
- content_type: The content type of the data (optional)
67
- metadata: Additional metadata to store with the object (optional)
68
-
69
- Returns:
70
- The object key of the uploaded data
71
-
72
- Raises:
73
- ValueError: If the file stream is empty or invalid
74
- ConnectionError: If there's an issue connecting to Minio
75
- Exception: For other unexpected errors during upload
76
- """
77
- def get(self, object_key: str) -> bytes:
78
- """Get data from Minio object storage.
79
-
80
- Args:
81
- object_key: The key of the object to retrieve
82
-
83
- Returns:
84
- The object data as bytes
85
-
86
- Raises:
87
- KeyError: If the object is not found
88
- ConnectionError: If there's a network or connection issue
89
- """
90
- def delete(self, object_key: str) -> None:
91
- """Delete data from Minio object storage.
92
-
93
- Args:
94
- object_key: The key of the object to delete
95
-
96
- Raises:
97
- ConnectionError: If there's a network or connection issue
98
- """
99
- def object_exists(self, object_key: str) -> bool:
100
- """Check if an object exists in the MinIO bucket.
101
-
102
- Args:
103
- object_key: The key of the object to check.
104
-
105
- Returns:
106
- True if the object exists, False otherwise.
107
-
108
- Raises:
109
- ConnectionError: If there's a network or connection issue (excluding not found errors)
110
- """
111
- def list_objects(self, prefix: str = '') -> list[str]:
112
- """List objects in the bucket with optional prefix filter.
113
-
114
- Args:
115
- prefix: Optional prefix to filter objects
116
-
117
- Returns:
118
- List of object keys
119
-
120
- Raises:
121
- ConnectionError: If there's an issue listing objects
122
- """
123
- def generate_presigned_url(self, object_key: str, expires: int = 24, response_headers: dict[str, str] | None = None) -> str:
124
- """Generate a presigned URL for accessing the object.
125
-
126
- Args:
127
- object_key: The key of the object
128
- expires: Expiration time in hours (defaults to 24)
129
- response_headers: Additional response headers (optional)
130
-
131
- Returns:
132
- A presigned URL
133
-
134
- Raises:
135
- ValueError: If expiration time is not positive
136
- ConnectionError: If there's an issue generating the URL
137
- """
@@ -1,66 +0,0 @@
1
- from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
2
- from aip_agents.storage.clients.minio_client import MinioConfig as MinioConfig, MinioObjectStorage as MinioObjectStorage
3
- from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider
4
- from aip_agents.storage.providers.memory import InMemoryStorageProvider as InMemoryStorageProvider
5
- from aip_agents.storage.providers.object_storage import ObjectStorageProvider as ObjectStorageProvider
6
- from dataclasses import dataclass
7
- from enum import StrEnum
8
-
9
- OBJECT_STORAGE_PREFIX: str
10
-
11
- class StorageType(StrEnum):
12
- """Supported storage types."""
13
- MEMORY = 'memory'
14
- OBJECT_STORAGE = 'object_storage'
15
-
16
- @dataclass
17
- class StorageConfig:
18
- """Configuration for storage providers.
19
-
20
- Attributes:
21
- storage_type: Type of storage to use
22
- object_prefix: Prefix for object storage keys (like a directory path)
23
- object_use_json: Use JSON serialization instead of pickle for object storage
24
- """
25
- storage_type: StorageType = ...
26
- object_prefix: str = ...
27
- object_use_json: bool = ...
28
- @classmethod
29
- def from_env(cls) -> StorageConfig:
30
- '''Create StorageConfig from environment variables.
31
-
32
- Environment variables:
33
- - TOOL_OUTPUT_STORAGE_TYPE: "memory" or "object_storage"
34
- - TOOL_OUTPUT_OBJECT_PREFIX: Prefix for object storage keys
35
- - TOOL_OUTPUT_USE_JSON: "true" to use JSON serialization
36
-
37
- Returns:
38
- StorageConfig instance
39
- '''
40
-
41
- class StorageProviderFactory:
42
- """Factory for creating storage providers based on configuration."""
43
- @staticmethod
44
- def create(config: StorageConfig, object_storage_client: BaseObjectStorageClient | None = None) -> BaseStorageProvider:
45
- """Create storage provider based on configuration.
46
-
47
- Args:
48
- config: Storage configuration
49
- object_storage_client: Object storage client (required for object storage)
50
-
51
- Returns:
52
- Configured storage provider
53
-
54
- Raises:
55
- ValueError: If configuration is invalid
56
- """
57
- @staticmethod
58
- def create_from_env(object_storage_client: BaseObjectStorageClient | None = None) -> BaseStorageProvider:
59
- """Create storage provider from environment variables.
60
-
61
- Args:
62
- object_storage_client: Optional object storage client
63
-
64
- Returns:
65
- Configured storage provider
66
- """
@@ -1,5 +0,0 @@
1
- from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
2
- from aip_agents.storage.providers.memory import InMemoryStorageProvider as InMemoryStorageProvider
3
- from aip_agents.storage.providers.object_storage import ObjectStorageProvider as ObjectStorageProvider
4
-
5
- __all__ = ['BaseStorageProvider', 'StorageError', 'InMemoryStorageProvider', 'ObjectStorageProvider']
@@ -1,98 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
3
- from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
4
- from aip_agents.utils.logger_manager import LoggerManager as LoggerManager
5
- from typing import Any
6
-
7
- logger: Incomplete
8
-
9
- class ObjectStorageProvider(BaseStorageProvider):
10
- """Object storage provider for S3-compatible storage.
11
-
12
- Works with any S3-compatible storage including AWS S3, MinIO,
13
- Google Cloud Storage (with S3 compatibility), etc.
14
-
15
- Best for:
16
- - Very large datasets
17
- - Distributed systems
18
- - Cloud deployments
19
- - Long-term storage
20
- - Multi-region access
21
- """
22
- client: Incomplete
23
- prefix: Incomplete
24
- use_json: Incomplete
25
- def __init__(self, client: BaseObjectStorageClient, prefix: str = '', use_json: bool = False) -> None:
26
- """Initialize object storage provider.
27
-
28
- Args:
29
- client: Object storage client instance
30
- prefix: Prefix for all keys (like a directory)
31
- use_json: Use JSON format (True) or pickle (False)
32
- """
33
- def store(self, key: str, data: Any) -> None:
34
- """Store data in object storage.
35
-
36
- Args:
37
- key: Unique identifier for the data
38
- data: Data to store
39
-
40
- Raises:
41
- StorageError: If storage operation fails
42
- """
43
- def retrieve(self, key: str) -> Any:
44
- """Retrieve data from object storage.
45
-
46
- Args:
47
- key: Unique identifier for the data
48
-
49
- Returns:
50
- The stored data
51
-
52
- Raises:
53
- KeyError: If key not found
54
- StorageError: If retrieval operation fails
55
- """
56
- def exists(self, key: str) -> bool:
57
- """Check if object exists.
58
-
59
- Args:
60
- key: Unique identifier to check
61
-
62
- Returns:
63
- True if key exists, False otherwise
64
- """
65
- def delete(self, key: str) -> None:
66
- """Delete object.
67
-
68
- Args:
69
- key: Unique identifier for the data
70
- """
71
- def list_keys(self, prefix: str = '') -> list[str]:
72
- """List all keys with optional prefix.
73
-
74
- Args:
75
- prefix: Optional prefix to filter keys
76
-
77
- Raises:
78
- NotImplementedError: list_keys is not implemented
79
- """
80
- def clear(self) -> None:
81
- """Clear all objects with the configured prefix.
82
-
83
- Warning:
84
- This is a dangerous operation!
85
- """
86
- def get_presigned_url(self, key: str, expires_hours: int = 24) -> str | None:
87
- """Generate presigned URL for direct access.
88
-
89
- Args:
90
- key: Storage key
91
- expires_hours: URL expiration in hours
92
-
93
- Returns:
94
- Presigned URL for direct access
95
-
96
- Raises:
97
- StorageError: If URL generation fails
98
- """
@@ -1,3 +0,0 @@
1
- from .bosa_tools import BOSA_AUTOMATED_TOOLS as BOSA_AUTOMATED_TOOLS
2
-
3
- __all__ = ['BOSA_AUTOMATED_TOOLS']
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,37 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.tools.constants import BOSA_API_BASE_URL as BOSA_API_BASE_URL, BOSA_API_KEY as BOSA_API_KEY, BOSA_FETCH_MAX_RETRIES as BOSA_FETCH_MAX_RETRIES
3
- from aip_agents.utils.logger_manager import LoggerManager as LoggerManager
4
- from langchain_core.tools import BaseTool as BaseTool
5
-
6
- logger: Incomplete
7
-
8
- def get_bosa_modules_with_retry() -> list[str]:
9
- """Try to get available modules with retries.
10
-
11
- Returns:
12
- List of available modules.
13
- """
14
-
15
- class LazyBosaToolsDict(dict):
16
- """Lazy dictionary for BOSA tools."""
17
- def __missing__(self, app):
18
- """When a key is missing, create the tools and store them in the dictionary.
19
-
20
- Args:
21
- app: Name of the BOSA connector.
22
-
23
- Returns:
24
- List of tools generated by BOSAConnectorToolGenerator.
25
- """
26
-
27
- def get_bosa_modules() -> list[str]:
28
- """Lazily fetch and cache BOSA modules.
29
-
30
- This is for backwards compatibility with the old BOSA modules.
31
-
32
- Returns:
33
- List of BOSA modules.
34
- """
35
-
36
- BOSA_MODULES: Incomplete
37
- BOSA_AUTOMATED_TOOLS: dict[str, list[BaseTool]]
@@ -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,130 +0,0 @@
1
- from _typeshed import Incomplete
2
- from enum import Enum
3
-
4
- BOSA_API_BASE_URL: Incomplete
5
- BOSA_API_KEY: Incomplete
6
- BOSA_FETCH_MAX_RETRIES: int
7
-
8
- class Action(Enum):
9
- """Actions for BOSA Connector."""
10
- GITHUB = 'github'
11
- GOOGLE = 'google'
12
- GOOGLE_DRIVE = 'google_drive'
13
- GOOGLE_MAIL = 'google_mail'
14
- TWITTER = 'twitter'
15
-
16
- class GitHubEndpoint(Enum):
17
- """GitHub endpoints for BOSA Connector."""
18
- INTEGRATIONS = 'integrations'
19
- USER_HAS_INTEGRATION = 'integration-exists'
20
- SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
21
- CREATE_ISSUE_HANDLER = 'create_issue'
22
- GET_ISSUE_HANDLER = 'get_issue'
23
- LIST_ISSUES = 'list_issues'
24
- LIST_ISSUES_COMMENTS = 'list_issues_comments'
25
- SEARCH_ALL_ISSUES = 'search_issues'
26
- GET_COMMITS = 'list_commits'
27
- SEARCH_COMMITS = 'search_commits'
28
- GET_COLLABORATORS = 'list_collaborators'
29
- GET_RELEASES = 'list_releases'
30
- GET_CONTRIBUTORS = 'list_contributors'
31
- GET_LANGUAGES = 'list_languages'
32
- SEARCH_CONTRIBUTIONS = 'search_contributions'
33
- LIST_PULL_REQUESTS = 'list_pull_requests'
34
- SEARCH_PR = 'search_pull_requests'
35
- GET_PULL = 'get_pull'
36
- GET_ALL_CONTRIBUTOR_COMMIT_ACTIVITIES = 'get_all_contributor_commit_activities'
37
- GET_COMMIT_ACTIVITY = 'get_the_last_year_of_commit_activity'
38
- GET_WEEKLY_COMMIT_COUNTS = 'get_weekly_commit_count '
39
- GET_USER_CONTRIBUTION_STATISTICS = 'get_user_contribution_statistics'
40
- LIST_PROJECT_ITEMS = 'list_project_items'
41
- LIST_PROJECTS = 'list_projects'
42
-
43
- class GoogleDriveEndpoint(Enum):
44
- """Google Drive endpoints for BOSA Connector."""
45
- INTEGRATIONS = 'integrations'
46
- USER_HAS_INTEGRATION = 'integration-exists'
47
- SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
48
- SEARCH_FILES = 'search_files'
49
- GET_FILE = 'get_file'
50
- CREATE_FILE = 'create_file'
51
- CREATE_FOLDER = 'create_folder'
52
- UPDATE_FILE = 'update_file'
53
- UPDATE_FOLDER = 'update_folder'
54
- COPY_FILE = 'copy_file'
55
- DELETE_FILE = 'delete_file'
56
- SUMMARIZE_FOLDER_FILES_BY_TYPE = 'summarize_folder_files_by_type'
57
- SUMMARIZE_TOTAL_FILES_BY_TYPE = 'summarize_total_files_by_type'
58
- RECENT_FILES = 'list_recent_files_from_yesterday'
59
- CREATE_PERMISSION = 'create_permission'
60
- LIST_PERMISSIONS = 'list_permissions'
61
- GET_PERMISSION = 'get_permission'
62
- UPDATE_PERMISSION = 'update_permission'
63
- DELETE_PERMISSION = 'delete_permission'
64
- DOWNLOAD_FILE = 'download_file'
65
-
66
- class GoogleDocsEndpoint(Enum):
67
- """Google Docs endpoints for BOSA Connector."""
68
- INTEGRATIONS = 'integrations'
69
- USER_HAS_INTEGRATION = 'integration-exists'
70
- SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
71
- GET_DOCUMENT = 'get_document'
72
- LIST_DOCUMENTS = 'list_documents'
73
- CREATE_DOCUMENT = 'create_document'
74
- UPDATE_DOCUMENT = 'update_document'
75
- COPY_CONTENT = 'copy_content'
76
- UPDATE_DOCUMENT_MARKDOWN = 'update_document_markdown'
77
- LIST_COMMENTS = 'list_comments'
78
- SUMMARIZE_COMMENTS = 'summarize_comments'
79
-
80
- class GoogleEndpoint(Enum):
81
- """Google endpoints for BOSA Connector."""
82
- INTEGRATIONS = 'integrations'
83
- USER_HAS_INTEGRATION = 'integration-exists'
84
- SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
85
- USERINFO = 'userinfo'
86
-
87
- class TwitterEndpoint(Enum):
88
- """Twitter endpoints for BOSA Connector."""
89
- INTEGRATIONS = 'integrations'
90
- USER_HAS_INTEGRATION = 'integration-exists'
91
- SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
92
- SEARCH = 'tweet_search'
93
- GET_TWEETS = 'get_tweets'
94
- GET_THREAD = 'get_thread'
95
- GET_USERS = 'get_users'
96
-
97
- class GoogleMailEndpoint(Enum):
98
- """Google Mail endpoints for BOSA Connector."""
99
- INTEGRATIONS = 'integrations'
100
- USER_HAS_INTEGRATION = 'integration-exists'
101
- SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
102
- CREATE_DRAFT = 'create_draft'
103
- LIST_DRAFTS = 'list_drafts'
104
- SEND_DRAFT = 'send_draft'
105
- GET_DRAFT = 'get_draft'
106
- MODIFY_DRAFT = 'modify_draft'
107
- LIST_LABELS = 'list_labels'
108
- LABEL_STATS = 'label_stats'
109
- GET_LABEL_DETAILS = 'get_label_details'
110
- CREATE_LABELS = 'create_labels'
111
- MODIFY_LABELS = 'modify_labels'
112
- DELETE_LABELS = 'delete_labels'
113
- SEND_EMAIL = 'send_email'
114
- LIST_EMAILS = 'list_emails'
115
- GET_EMAIL_DETAILS = 'get_email_details'
116
- MODIFY_EMAIL = 'modify_email'
117
- DELETE_EMAIL = 'delete_email'
118
- TRASH_EMAIL = 'trash_email'
119
- UNTRASH_EMAIL = 'untrash_email'
120
- LIST_THREADS = 'list_threads'
121
- THREAD_DETAILS = 'thread_details'
122
- MODIFY_THREAD = 'modify_thread'
123
- GET_AUTO_REPLY = 'get_auto_reply'
124
- SET_AUTO_REPLY = 'set_auto_reply'
125
- GET_ATTACHMENT = 'get_attachment'
126
- USERINFO = 'userinfo'
127
-
128
- class ActionEndpointMap:
129
- """Maps Action enums to their corresponding Endpoint enums."""
130
- MAP: dict[Action, type[Enum]]