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
@@ -0,0 +1,232 @@
1
+ """Type definitions and constants for A2A artifact generation.
2
+
3
+ This module provides common MIME types, artifact types, and other constants
4
+ used in A2A artifact generation to ensure consistency across the codebase.
5
+
6
+ Authors:
7
+ Christian Trisno Sen Long Chen (christian.t.s.l.chen@gdplabs.id)
8
+ """
9
+
10
+ import base64
11
+ from enum import StrEnum
12
+ from typing import Any
13
+
14
+ from pydantic import BaseModel, Field, field_validator
15
+
16
+
17
+ class MimeType(StrEnum):
18
+ """Common MIME types for A2A artifacts.
19
+
20
+ This class provides constants for commonly used MIME types in artifact generation,
21
+ ensuring consistency and reducing typos across the codebase.
22
+ """
23
+
24
+ # Text formats
25
+ TEXT_PLAIN = "text/plain"
26
+ TEXT_HTML = "text/html"
27
+ TEXT_CSS = "text/css"
28
+ TEXT_JAVASCRIPT = "text/javascript"
29
+ TEXT_CSV = "text/csv"
30
+ TEXT_XML = "text/xml"
31
+ TEXT_MARKDOWN = "text/markdown"
32
+
33
+ # Application formats
34
+ APPLICATION_JSON = "application/json"
35
+ APPLICATION_XML = "application/xml"
36
+ APPLICATION_PDF = "application/pdf"
37
+ APPLICATION_ZIP = "application/zip"
38
+ APPLICATION_GZIP = "application/gzip"
39
+ APPLICATION_TAR = "application/x-tar"
40
+ APPLICATION_OCTET_STREAM = "application/octet-stream"
41
+
42
+ # Microsoft Office formats
43
+ APPLICATION_MSWORD = "application/msword"
44
+ APPLICATION_EXCEL = "application/vnd.ms-excel"
45
+ APPLICATION_POWERPOINT = "application/vnd.ms-powerpoint"
46
+ APPLICATION_DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
47
+ APPLICATION_XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
48
+ APPLICATION_PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation"
49
+
50
+ # Image formats
51
+ IMAGE_JPEG = "image/jpeg"
52
+ IMAGE_PNG = "image/png"
53
+ IMAGE_GIF = "image/gif"
54
+ IMAGE_WEBP = "image/webp"
55
+ IMAGE_SVG = "image/svg+xml"
56
+ IMAGE_BMP = "image/bmp"
57
+ IMAGE_TIFF = "image/tiff"
58
+ IMAGE_ICO = "image/x-icon"
59
+
60
+ # Audio formats
61
+ AUDIO_MP3 = "audio/mpeg"
62
+ AUDIO_WAV = "audio/wav"
63
+ AUDIO_OGG = "audio/ogg"
64
+ AUDIO_AAC = "audio/aac"
65
+ AUDIO_FLAC = "audio/flac"
66
+
67
+ # Video formats
68
+ VIDEO_MP4 = "video/mp4"
69
+ VIDEO_AVI = "video/x-msvideo"
70
+ VIDEO_MOV = "video/quicktime"
71
+ VIDEO_WMV = "video/x-ms-wmv"
72
+ VIDEO_WEBM = "video/webm"
73
+ VIDEO_MKV = "video/x-matroska"
74
+
75
+ # Font formats
76
+ FONT_TTF = "font/ttf"
77
+ FONT_OTF = "font/otf"
78
+ FONT_WOFF = "font/woff"
79
+ FONT_WOFF2 = "font/woff2"
80
+
81
+
82
+ class ArtifactType(StrEnum):
83
+ """Common artifact types for A2A artifacts.
84
+
85
+ This class provides constants for artifact types used in the A2A protocol.
86
+ """
87
+
88
+ FILE = "file"
89
+ DATA = "data"
90
+ TEXT = "text"
91
+
92
+
93
+ # Common file extension to MIME type mappings
94
+ EXTENSION_TO_MIME_TYPE = {
95
+ # Text files
96
+ ".txt": MimeType.TEXT_PLAIN,
97
+ ".html": MimeType.TEXT_HTML,
98
+ ".htm": MimeType.TEXT_HTML,
99
+ ".css": MimeType.TEXT_CSS,
100
+ ".js": MimeType.TEXT_JAVASCRIPT,
101
+ ".csv": MimeType.TEXT_CSV,
102
+ ".xml": MimeType.TEXT_XML,
103
+ ".md": MimeType.TEXT_MARKDOWN,
104
+ ".markdown": MimeType.TEXT_MARKDOWN,
105
+ # Application files
106
+ ".json": MimeType.APPLICATION_JSON,
107
+ ".pdf": MimeType.APPLICATION_PDF,
108
+ ".zip": MimeType.APPLICATION_ZIP,
109
+ ".gz": MimeType.APPLICATION_GZIP,
110
+ ".tar": MimeType.APPLICATION_TAR,
111
+ # Microsoft Office
112
+ ".doc": MimeType.APPLICATION_MSWORD,
113
+ ".xls": MimeType.APPLICATION_EXCEL,
114
+ ".ppt": MimeType.APPLICATION_POWERPOINT,
115
+ ".docx": MimeType.APPLICATION_DOCX,
116
+ ".xlsx": MimeType.APPLICATION_XLSX,
117
+ ".pptx": MimeType.APPLICATION_PPTX,
118
+ # Images
119
+ ".jpg": MimeType.IMAGE_JPEG,
120
+ ".jpeg": MimeType.IMAGE_JPEG,
121
+ ".png": MimeType.IMAGE_PNG,
122
+ ".gif": MimeType.IMAGE_GIF,
123
+ ".webp": MimeType.IMAGE_WEBP,
124
+ ".svg": MimeType.IMAGE_SVG,
125
+ ".bmp": MimeType.IMAGE_BMP,
126
+ ".tiff": MimeType.IMAGE_TIFF,
127
+ ".tif": MimeType.IMAGE_TIFF,
128
+ ".ico": MimeType.IMAGE_ICO,
129
+ # Audio
130
+ ".mp3": MimeType.AUDIO_MP3,
131
+ ".wav": MimeType.AUDIO_WAV,
132
+ ".ogg": MimeType.AUDIO_OGG,
133
+ ".aac": MimeType.AUDIO_AAC,
134
+ ".flac": MimeType.AUDIO_FLAC,
135
+ # Video
136
+ ".mp4": MimeType.VIDEO_MP4,
137
+ ".avi": MimeType.VIDEO_AVI,
138
+ ".mov": MimeType.VIDEO_MOV,
139
+ ".wmv": MimeType.VIDEO_WMV,
140
+ ".webm": MimeType.VIDEO_WEBM,
141
+ ".mkv": MimeType.VIDEO_MKV,
142
+ # Fonts
143
+ ".ttf": MimeType.FONT_TTF,
144
+ ".otf": MimeType.FONT_OTF,
145
+ ".woff": MimeType.FONT_WOFF,
146
+ ".woff2": MimeType.FONT_WOFF2,
147
+ }
148
+ MIME_TYPE_TO_EXTENSION = {v: k for k, v in EXTENSION_TO_MIME_TYPE.items()}
149
+
150
+
151
+ def get_mime_type_from_filename(filename: str) -> str:
152
+ """Get MIME type from filename extension.
153
+
154
+ Args:
155
+ filename: The filename to get the MIME type for.
156
+
157
+ Returns:
158
+ The MIME type string, or application/octet-stream if unknown.
159
+
160
+ Example:
161
+ >>> get_mime_type_from_filename("data.csv")
162
+ 'text/csv'
163
+ >>> get_mime_type_from_filename("image.png")
164
+ 'image/png'
165
+ >>> get_mime_type_from_filename("unknown.xyz")
166
+ 'application/octet-stream'
167
+ """
168
+ if "." not in filename:
169
+ return MimeType.APPLICATION_OCTET_STREAM
170
+
171
+ extension = "." + filename.split(".")[-1].lower()
172
+ return EXTENSION_TO_MIME_TYPE.get(extension, MimeType.APPLICATION_OCTET_STREAM)
173
+
174
+
175
+ def get_extension_from_mime_type(mime_type: str) -> str | None:
176
+ """Get file extension from MIME type.
177
+
178
+ Args:
179
+ mime_type: The MIME type to get the extension for.
180
+
181
+ Returns:
182
+ The file extension (with dot) or None if not found.
183
+
184
+ Example:
185
+ >>> get_extension_from_mime_type("text/csv")
186
+ '.csv'
187
+ >>> get_extension_from_mime_type("image/png")
188
+ '.png'
189
+ >>> get_extension_from_mime_type("unknown/type")
190
+ None
191
+ """
192
+ return MIME_TYPE_TO_EXTENSION.get(mime_type)
193
+
194
+
195
+ class Artifact(BaseModel):
196
+ """Represents an artifact payload used by A2A helpers and executors.
197
+
198
+ This model standardizes the structure for artifacts generated by tools and
199
+ passed through the A2A pipeline.
200
+
201
+ Attributes:
202
+ artifact_type (ArtifactType): The type of artifact. Defaults to FILE.
203
+ data (str): Base64-encoded content of the artifact.
204
+ name (str): Display name or filename of the artifact.
205
+ description (str): Optional description for the artifact. Defaults to empty string.
206
+ mime_type (str): MIME type of the artifact content.
207
+ metadata (dict[str, Any] | None): Optional per-artifact metadata to pass through.
208
+ """
209
+
210
+ artifact_type: ArtifactType = Field(default=ArtifactType.FILE)
211
+ data: str
212
+ name: str
213
+ description: str = ""
214
+ mime_type: str
215
+ metadata: dict[str, Any] | None = None
216
+
217
+ @field_validator("data")
218
+ @classmethod
219
+ def validate_base64(cls, v: str) -> str:
220
+ """Validate that 'data' is a valid base64 string.
221
+
222
+ Args:
223
+ v (str): The base64 string to validate.
224
+
225
+ Returns:
226
+ str: The validated base64 string if valid.
227
+ """
228
+ try:
229
+ base64.b64decode(v, validate=True)
230
+ except Exception as exc: # noqa: BLE001
231
+ raise ValueError("Artifact.data must be a valid base64-encoded string") from exc
232
+ return v
@@ -0,0 +1,27 @@
1
+ """This module initializes the agent package.
2
+
3
+ Exposes the core agent classes and interfaces.
4
+
5
+ Author:
6
+ Christian Trisno Sen Long Chen (christian.t.s.l.chen@gdplabs.id)
7
+ """
8
+
9
+ from aip_agents.agent.base_agent import BaseAgent
10
+ from aip_agents.agent.base_langgraph_agent import BaseLangGraphAgent
11
+ from aip_agents.agent.google_adk_agent import GoogleADKAgent
12
+ from aip_agents.agent.interface import AgentInterface
13
+ from aip_agents.agent.langflow_agent import LangflowAgent
14
+ from aip_agents.agent.langgraph_memory_enhancer_agent import LangGraphMemoryEnhancerAgent
15
+ from aip_agents.agent.langgraph_react_agent import LangChainAgent, LangGraphAgent, LangGraphReactAgent
16
+
17
+ __all__ = [
18
+ "AgentInterface",
19
+ "BaseAgent",
20
+ "BaseLangGraphAgent",
21
+ "LangGraphReactAgent",
22
+ "GoogleADKAgent",
23
+ "LangGraphAgent",
24
+ "LangChainAgent",
25
+ "LangflowAgent",
26
+ "LangGraphMemoryEnhancerAgent",
27
+ ]