aip-agents-binary 0.6.3__py3-none-any.whl → 0.6.5__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 (317) hide show
  1. aip_agents/agent/__init__.py +44 -4
  2. aip_agents/agent/base_langgraph_agent.py +26 -6
  3. aip_agents/agent/langgraph_memory_enhancer_agent.py +368 -34
  4. aip_agents/agent/langgraph_react_agent.py +30 -6
  5. aip_agents/mcp/client/__init__.py +38 -2
  6. aip_agents/mcp/client/transports.py +5 -1
  7. aip_agents/memory/adapters/base_adapter.py +94 -0
  8. aip_agents/sentry/sentry.py +29 -8
  9. aip_agents/tools/memory_search/__init__.py +8 -1
  10. aip_agents/tools/memory_search/mem0.py +108 -1
  11. aip_agents/tools/memory_search/schema.py +33 -0
  12. aip_agents/tools/memory_search_tool.py +8 -0
  13. {aip_agents_binary-0.6.3.dist-info → aip_agents_binary-0.6.5.dist-info}/METADATA +4 -16
  14. aip_agents_binary-0.6.5.dist-info/RECORD +314 -0
  15. aip_agents/__init__.pyi +0 -19
  16. aip_agents/a2a/__init__.pyi +0 -3
  17. aip_agents/a2a/server/__init__.pyi +0 -4
  18. aip_agents/a2a/server/base_executor.pyi +0 -73
  19. aip_agents/a2a/server/google_adk_executor.pyi +0 -51
  20. aip_agents/a2a/server/langflow_executor.pyi +0 -43
  21. aip_agents/a2a/server/langgraph_executor.pyi +0 -47
  22. aip_agents/a2a/types.pyi +0 -132
  23. aip_agents/agent/__init__.pyi +0 -9
  24. aip_agents/agent/base_agent.pyi +0 -221
  25. aip_agents/agent/base_langgraph_agent.pyi +0 -233
  26. aip_agents/agent/google_adk_agent.pyi +0 -141
  27. aip_agents/agent/google_adk_constants.pyi +0 -3
  28. aip_agents/agent/hitl/__init__.pyi +0 -6
  29. aip_agents/agent/hitl/config.pyi +0 -15
  30. aip_agents/agent/hitl/langgraph_hitl_mixin.pyi +0 -42
  31. aip_agents/agent/hitl/manager.pyi +0 -200
  32. aip_agents/agent/hitl/models.pyi +0 -3
  33. aip_agents/agent/hitl/prompt/__init__.pyi +0 -4
  34. aip_agents/agent/hitl/prompt/base.pyi +0 -24
  35. aip_agents/agent/hitl/prompt/deferred.pyi +0 -30
  36. aip_agents/agent/hitl/registry.pyi +0 -101
  37. aip_agents/agent/interface.pyi +0 -81
  38. aip_agents/agent/interfaces.pyi +0 -44
  39. aip_agents/agent/langflow_agent.pyi +0 -133
  40. aip_agents/agent/langgraph_memory_enhancer_agent.pyi +0 -49
  41. aip_agents/agent/langgraph_react_agent.pyi +0 -170
  42. aip_agents/agent/system_instruction_context.pyi +0 -13
  43. aip_agents/clients/__init__.pyi +0 -4
  44. aip_agents/clients/langflow/__init__.pyi +0 -4
  45. aip_agents/clients/langflow/client.pyi +0 -140
  46. aip_agents/clients/langflow/types.pyi +0 -7
  47. aip_agents/constants.pyi +0 -7
  48. aip_agents/examples/__init__.pyi +0 -0
  49. aip_agents/examples/compare_streaming_client.pyi +0 -48
  50. aip_agents/examples/compare_streaming_server.pyi +0 -18
  51. aip_agents/examples/demo_memory_recall.py +0 -401
  52. aip_agents/examples/demo_memory_recall.pyi +0 -58
  53. aip_agents/examples/hello_world_a2a_google_adk_client.pyi +0 -9
  54. aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +0 -9
  55. aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +0 -9
  56. aip_agents/examples/hello_world_a2a_google_adk_server.pyi +0 -15
  57. aip_agents/examples/hello_world_a2a_langchain_client.pyi +0 -5
  58. aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +0 -5
  59. aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +0 -5
  60. aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +0 -5
  61. aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +0 -5
  62. aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +0 -15
  63. aip_agents/examples/hello_world_a2a_langchain_server.pyi +0 -15
  64. aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +0 -15
  65. aip_agents/examples/hello_world_a2a_langflow_client.pyi +0 -9
  66. aip_agents/examples/hello_world_a2a_langflow_server.pyi +0 -14
  67. aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +0 -5
  68. aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +0 -5
  69. aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +0 -16
  70. aip_agents/examples/hello_world_a2a_langgraph_client.pyi +0 -9
  71. aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +0 -9
  72. aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +0 -2
  73. aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +0 -9
  74. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +0 -5
  75. aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +0 -5
  76. aip_agents/examples/hello_world_a2a_langgraph_server.pyi +0 -14
  77. aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +0 -15
  78. aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +0 -15
  79. aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +0 -48
  80. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +0 -48
  81. aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +0 -45
  82. aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +0 -5
  83. aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +0 -15
  84. aip_agents/examples/hello_world_google_adk.pyi +0 -5
  85. aip_agents/examples/hello_world_google_adk_mcp_http.pyi +0 -5
  86. aip_agents/examples/hello_world_google_adk_mcp_http_stream.pyi +0 -5
  87. aip_agents/examples/hello_world_google_adk_mcp_sse.pyi +0 -5
  88. aip_agents/examples/hello_world_google_adk_mcp_sse_stream.pyi +0 -5
  89. aip_agents/examples/hello_world_google_adk_mcp_stdio.pyi +0 -5
  90. aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.pyi +0 -5
  91. aip_agents/examples/hello_world_google_adk_stream.pyi +0 -5
  92. aip_agents/examples/hello_world_langchain.pyi +0 -5
  93. aip_agents/examples/hello_world_langchain_lm_invoker.pyi +0 -2
  94. aip_agents/examples/hello_world_langchain_mcp_http.pyi +0 -5
  95. aip_agents/examples/hello_world_langchain_mcp_http_interactive.pyi +0 -16
  96. aip_agents/examples/hello_world_langchain_mcp_http_stream.pyi +0 -5
  97. aip_agents/examples/hello_world_langchain_mcp_multi_server.pyi +0 -18
  98. aip_agents/examples/hello_world_langchain_mcp_sse.pyi +0 -5
  99. aip_agents/examples/hello_world_langchain_mcp_sse_stream.pyi +0 -5
  100. aip_agents/examples/hello_world_langchain_mcp_stdio.pyi +0 -5
  101. aip_agents/examples/hello_world_langchain_mcp_stdio_stream.pyi +0 -5
  102. aip_agents/examples/hello_world_langchain_stream.pyi +0 -5
  103. aip_agents/examples/hello_world_langchain_stream_lm_invoker.pyi +0 -5
  104. aip_agents/examples/hello_world_langflow_agent.pyi +0 -35
  105. aip_agents/examples/hello_world_langgraph.pyi +0 -5
  106. aip_agents/examples/hello_world_langgraph_gl_connector_twitter.pyi +0 -5
  107. aip_agents/examples/hello_world_langgraph_mcp_http.pyi +0 -5
  108. aip_agents/examples/hello_world_langgraph_mcp_http_stream.pyi +0 -5
  109. aip_agents/examples/hello_world_langgraph_mcp_sse.pyi +0 -5
  110. aip_agents/examples/hello_world_langgraph_mcp_sse_stream.pyi +0 -5
  111. aip_agents/examples/hello_world_langgraph_mcp_stdio.pyi +0 -5
  112. aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.pyi +0 -5
  113. aip_agents/examples/hello_world_langgraph_stream.pyi +0 -5
  114. aip_agents/examples/hello_world_langgraph_stream_lm_invoker.pyi +0 -5
  115. aip_agents/examples/hello_world_model_switch_cli.pyi +0 -30
  116. aip_agents/examples/hello_world_multi_agent_adk.pyi +0 -6
  117. aip_agents/examples/hello_world_multi_agent_langchain.pyi +0 -5
  118. aip_agents/examples/hello_world_multi_agent_langgraph.pyi +0 -5
  119. aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.pyi +0 -5
  120. aip_agents/examples/hello_world_pii_logger.pyi +0 -5
  121. aip_agents/examples/hello_world_ptc.pyi +0 -5
  122. aip_agents/examples/hello_world_sentry.pyi +0 -21
  123. aip_agents/examples/hello_world_step_limits.pyi +0 -17
  124. aip_agents/examples/hello_world_stock_a2a_server.pyi +0 -17
  125. aip_agents/examples/hello_world_tool_output_client.pyi +0 -5
  126. aip_agents/examples/hello_world_tool_output_server.pyi +0 -19
  127. aip_agents/examples/hitl_demo.pyi +0 -67
  128. aip_agents/examples/pii_demo_langgraph_client.pyi +0 -5
  129. aip_agents/examples/pii_demo_langgraph_server.pyi +0 -20
  130. aip_agents/examples/pii_demo_multi_agent_client.pyi +0 -5
  131. aip_agents/examples/pii_demo_multi_agent_server.pyi +0 -40
  132. aip_agents/examples/todolist_planning_a2a_langchain_client.pyi +0 -5
  133. aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi +0 -19
  134. aip_agents/examples/tools/__init__.pyi +0 -9
  135. aip_agents/examples/tools/adk_arithmetic_tools.pyi +0 -24
  136. aip_agents/examples/tools/adk_weather_tool.pyi +0 -18
  137. aip_agents/examples/tools/data_generator_tool.pyi +0 -15
  138. aip_agents/examples/tools/data_visualization_tool.pyi +0 -19
  139. aip_agents/examples/tools/image_artifact_tool.pyi +0 -26
  140. aip_agents/examples/tools/langchain_arithmetic_tools.pyi +0 -17
  141. aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +0 -20
  142. aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +0 -25
  143. aip_agents/examples/tools/langchain_weather_tool.pyi +0 -19
  144. aip_agents/examples/tools/langgraph_streaming_tool.pyi +0 -43
  145. aip_agents/examples/tools/mock_retrieval_tool.pyi +0 -13
  146. aip_agents/examples/tools/pii_demo_tools.pyi +0 -54
  147. aip_agents/examples/tools/random_chart_tool.pyi +0 -20
  148. aip_agents/examples/tools/serper_tool.pyi +0 -16
  149. aip_agents/examples/tools/stock_tools.pyi +0 -36
  150. aip_agents/examples/tools/table_generator_tool.pyi +0 -22
  151. aip_agents/examples/tools/time_tool.pyi +0 -15
  152. aip_agents/examples/tools/weather_forecast_tool.pyi +0 -14
  153. aip_agents/guardrails/__init__.pyi +0 -6
  154. aip_agents/guardrails/engines/__init__.pyi +0 -4
  155. aip_agents/guardrails/engines/base.pyi +0 -61
  156. aip_agents/guardrails/engines/nemo.pyi +0 -46
  157. aip_agents/guardrails/engines/phrase_matcher.pyi +0 -48
  158. aip_agents/guardrails/exceptions.pyi +0 -23
  159. aip_agents/guardrails/manager.pyi +0 -42
  160. aip_agents/guardrails/middleware.pyi +0 -87
  161. aip_agents/guardrails/schemas.pyi +0 -43
  162. aip_agents/guardrails/utils.pyi +0 -19
  163. aip_agents/mcp/__init__.pyi +0 -0
  164. aip_agents/mcp/client/__init__.pyi +0 -5
  165. aip_agents/mcp/client/base_mcp_client.pyi +0 -148
  166. aip_agents/mcp/client/connection_manager.pyi +0 -51
  167. aip_agents/mcp/client/google_adk/__init__.pyi +0 -3
  168. aip_agents/mcp/client/google_adk/client.pyi +0 -75
  169. aip_agents/mcp/client/langchain/__init__.pyi +0 -3
  170. aip_agents/mcp/client/langchain/client.pyi +0 -48
  171. aip_agents/mcp/client/persistent_session.pyi +0 -122
  172. aip_agents/mcp/client/session_pool.pyi +0 -101
  173. aip_agents/mcp/client/transports.pyi +0 -132
  174. aip_agents/mcp/utils/__init__.pyi +0 -0
  175. aip_agents/mcp/utils/config_validator.pyi +0 -82
  176. aip_agents/memory/__init__.pyi +0 -5
  177. aip_agents/memory/adapters/__init__.pyi +0 -4
  178. aip_agents/memory/adapters/base_adapter.pyi +0 -150
  179. aip_agents/memory/adapters/mem0.pyi +0 -22
  180. aip_agents/memory/base.pyi +0 -60
  181. aip_agents/memory/constants.pyi +0 -25
  182. aip_agents/memory/factory.pyi +0 -24
  183. aip_agents/memory/guidance.pyi +0 -3
  184. aip_agents/memory/simple_memory.pyi +0 -23
  185. aip_agents/middleware/__init__.pyi +0 -5
  186. aip_agents/middleware/base.pyi +0 -75
  187. aip_agents/middleware/manager.pyi +0 -84
  188. aip_agents/middleware/todolist.pyi +0 -125
  189. aip_agents/ptc/__init__.pyi +0 -10
  190. aip_agents/ptc/doc_gen.pyi +0 -40
  191. aip_agents/ptc/exceptions.pyi +0 -22
  192. aip_agents/ptc/executor.pyi +0 -73
  193. aip_agents/ptc/mcp/__init__.pyi +0 -7
  194. aip_agents/ptc/mcp/sandbox_bridge.pyi +0 -47
  195. aip_agents/ptc/mcp/templates/__init__.pyi +0 -0
  196. aip_agents/ptc/naming.pyi +0 -76
  197. aip_agents/ptc/payload.pyi +0 -15
  198. aip_agents/ptc/prompt_builder.pyi +0 -55
  199. aip_agents/ptc/ptc_helper.pyi +0 -1
  200. aip_agents/ptc/sandbox_bridge.pyi +0 -25
  201. aip_agents/ptc/template_utils.pyi +0 -13
  202. aip_agents/ptc/templates/__init__.pyi +0 -0
  203. aip_agents/sandbox/__init__.pyi +0 -5
  204. aip_agents/sandbox/defaults.pyi +0 -2
  205. aip_agents/sandbox/e2b_runtime.pyi +0 -51
  206. aip_agents/sandbox/template_builder.pyi +0 -36
  207. aip_agents/sandbox/types.pyi +0 -14
  208. aip_agents/sandbox/validation.pyi +0 -20
  209. aip_agents/schema/__init__.pyi +0 -9
  210. aip_agents/schema/a2a.pyi +0 -40
  211. aip_agents/schema/agent.pyi +0 -65
  212. aip_agents/schema/hitl.pyi +0 -89
  213. aip_agents/schema/langgraph.pyi +0 -28
  214. aip_agents/schema/model_id.pyi +0 -54
  215. aip_agents/schema/step_limit.pyi +0 -63
  216. aip_agents/schema/storage.pyi +0 -21
  217. aip_agents/sentry/__init__.pyi +0 -3
  218. aip_agents/sentry/sentry.pyi +0 -48
  219. aip_agents/storage/__init__.pyi +0 -8
  220. aip_agents/storage/base.pyi +0 -58
  221. aip_agents/storage/clients/__init__.pyi +0 -3
  222. aip_agents/storage/clients/minio_client.pyi +0 -137
  223. aip_agents/storage/config.pyi +0 -29
  224. aip_agents/storage/providers/__init__.pyi +0 -5
  225. aip_agents/storage/providers/base.pyi +0 -88
  226. aip_agents/storage/providers/memory.pyi +0 -79
  227. aip_agents/storage/providers/object_storage.pyi +0 -98
  228. aip_agents/tools/__init__.pyi +0 -11
  229. aip_agents/tools/browser_use/__init__.pyi +0 -14
  230. aip_agents/tools/browser_use/action_parser.pyi +0 -18
  231. aip_agents/tools/browser_use/browser_use_tool.pyi +0 -50
  232. aip_agents/tools/browser_use/llm_config.pyi +0 -52
  233. aip_agents/tools/browser_use/minio_storage.pyi +0 -109
  234. aip_agents/tools/browser_use/schemas.pyi +0 -32
  235. aip_agents/tools/browser_use/session.pyi +0 -4
  236. aip_agents/tools/browser_use/session_errors.pyi +0 -53
  237. aip_agents/tools/browser_use/steel_session_recording.pyi +0 -63
  238. aip_agents/tools/browser_use/streaming.pyi +0 -81
  239. aip_agents/tools/browser_use/structured_data_parser.pyi +0 -86
  240. aip_agents/tools/browser_use/structured_data_recovery.pyi +0 -43
  241. aip_agents/tools/browser_use/types.pyi +0 -45
  242. aip_agents/tools/code_sandbox/__init__.pyi +0 -3
  243. aip_agents/tools/code_sandbox/constant.pyi +0 -4
  244. aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.pyi +0 -102
  245. aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +0 -29
  246. aip_agents/tools/constants.pyi +0 -138
  247. aip_agents/tools/date_range_tool.pyi +0 -21
  248. aip_agents/tools/document_loader/__init__.pyi +0 -7
  249. aip_agents/tools/document_loader/base_reader.pyi +0 -75
  250. aip_agents/tools/document_loader/docx_reader_tool.pyi +0 -10
  251. aip_agents/tools/document_loader/excel_reader_tool.pyi +0 -26
  252. aip_agents/tools/document_loader/pdf_reader_tool.pyi +0 -11
  253. aip_agents/tools/document_loader/pdf_splitter.pyi +0 -18
  254. aip_agents/tools/execute_ptc_code.pyi +0 -90
  255. aip_agents/tools/gl_connector/__init__.pyi +0 -3
  256. aip_agents/tools/gl_connector/tool.pyi +0 -74
  257. aip_agents/tools/gl_connector_tools.pyi +0 -39
  258. aip_agents/tools/memory_search/__init__.pyi +0 -5
  259. aip_agents/tools/memory_search/base.pyi +0 -69
  260. aip_agents/tools/memory_search/mem0.pyi +0 -19
  261. aip_agents/tools/memory_search/schema.pyi +0 -15
  262. aip_agents/tools/memory_search_tool.pyi +0 -3
  263. aip_agents/tools/time_tool.pyi +0 -16
  264. aip_agents/tools/tool_config_injector.pyi +0 -26
  265. aip_agents/tools/web_search/__init__.pyi +0 -3
  266. aip_agents/tools/web_search/serper_tool.pyi +0 -19
  267. aip_agents/types/__init__.pyi +0 -36
  268. aip_agents/types/a2a_events.pyi +0 -3
  269. aip_agents/utils/__init__.pyi +0 -11
  270. aip_agents/utils/a2a_connector.pyi +0 -146
  271. aip_agents/utils/artifact_helpers.pyi +0 -203
  272. aip_agents/utils/constants.pyi +0 -10
  273. aip_agents/utils/datetime/__init__.pyi +0 -4
  274. aip_agents/utils/datetime/normalization.pyi +0 -95
  275. aip_agents/utils/datetime/timezone.pyi +0 -48
  276. aip_agents/utils/env_loader.pyi +0 -10
  277. aip_agents/utils/event_handler_registry.pyi +0 -23
  278. aip_agents/utils/file_prompt_utils.pyi +0 -21
  279. aip_agents/utils/final_response_builder.pyi +0 -34
  280. aip_agents/utils/formatter_llm_client.pyi +0 -71
  281. aip_agents/utils/langgraph/__init__.pyi +0 -3
  282. aip_agents/utils/langgraph/converter.pyi +0 -49
  283. aip_agents/utils/langgraph/tool_managers/__init__.pyi +0 -5
  284. aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +0 -35
  285. aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi +0 -48
  286. aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +0 -56
  287. aip_agents/utils/langgraph/tool_output_management.pyi +0 -329
  288. aip_agents/utils/logger.pyi +0 -60
  289. aip_agents/utils/metadata/__init__.pyi +0 -5
  290. aip_agents/utils/metadata/activity_metadata_helper.pyi +0 -25
  291. aip_agents/utils/metadata/activity_narrative/__init__.pyi +0 -7
  292. aip_agents/utils/metadata/activity_narrative/builder.pyi +0 -35
  293. aip_agents/utils/metadata/activity_narrative/constants.pyi +0 -10
  294. aip_agents/utils/metadata/activity_narrative/context.pyi +0 -32
  295. aip_agents/utils/metadata/activity_narrative/formatters.pyi +0 -48
  296. aip_agents/utils/metadata/activity_narrative/utils.pyi +0 -12
  297. aip_agents/utils/metadata/schemas/__init__.pyi +0 -4
  298. aip_agents/utils/metadata/schemas/activity_schema.pyi +0 -18
  299. aip_agents/utils/metadata/schemas/thinking_schema.pyi +0 -20
  300. aip_agents/utils/metadata/thinking_metadata_helper.pyi +0 -4
  301. aip_agents/utils/metadata_helper.pyi +0 -117
  302. aip_agents/utils/name_preprocessor/__init__.pyi +0 -6
  303. aip_agents/utils/name_preprocessor/base_name_preprocessor.pyi +0 -52
  304. aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +0 -38
  305. aip_agents/utils/name_preprocessor/name_preprocessor.pyi +0 -41
  306. aip_agents/utils/name_preprocessor/openai_name_preprocessor.pyi +0 -34
  307. aip_agents/utils/pii/__init__.pyi +0 -5
  308. aip_agents/utils/pii/pii_handler.pyi +0 -96
  309. aip_agents/utils/pii/pii_helper.pyi +0 -78
  310. aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi +0 -73
  311. aip_agents/utils/reference_helper.pyi +0 -81
  312. aip_agents/utils/sse_chunk_transformer.pyi +0 -166
  313. aip_agents/utils/step_limit_manager.pyi +0 -112
  314. aip_agents/utils/token_usage_helper.pyi +0 -60
  315. aip_agents_binary-0.6.3.dist-info/RECORD +0 -614
  316. {aip_agents_binary-0.6.3.dist-info → aip_agents_binary-0.6.5.dist-info}/WHEEL +0 -0
  317. {aip_agents_binary-0.6.3.dist-info → aip_agents_binary-0.6.5.dist-info}/top_level.txt +0 -0
@@ -1,401 +0,0 @@
1
- """Demo memory recall scenarios for demo@glair user data.
2
-
3
- This script tests the exact scenarios mentioned by the user:
4
- 1. Recall memory by query semantically (without time period)
5
- 2. Recall memory by query semantically AND with time period
6
- 3. Recall memory by date (without query semantic)
7
- 4. Recall memory from last week (calendar week period)
8
- 5. General knowledge questions (to verify responses are not inappropriately grounded in personal memory)
9
-
10
- These tests are designed to work with the demo@glair user data
11
- from September 17-24, 2025.
12
-
13
- Note: Uses a single reused LangGraphAgent instance across all scenarios
14
- to avoid reinitialization. Model set to openai/gpt-4.1.
15
- The base LangGraphAgent automatically registers the memory search tool
16
- and adds memory recall guidance to the system instruction when memory_backend="mem0".
17
-
18
- Evaluation: instead of keyword checks, we use a dedicated
19
- "Judge LLM" (memoryless) to classify the agent's answer as grounded in
20
- fetched memory vs likely hallucination.
21
-
22
- Authors:
23
- Putu Ravindra Wiguna (putu.r.wiguna@gdplabs.id)
24
- """
25
-
26
- import asyncio
27
- import json
28
- import os
29
- from datetime import datetime
30
-
31
- from dotenv import load_dotenv
32
- from langchain_core.messages import HumanMessage
33
-
34
- from aip_agents.agent import LangGraphAgent
35
-
36
- load_dotenv()
37
-
38
-
39
- class MemoryTestResult:
40
- """Container for test scenario results."""
41
-
42
- JUDGE_SUCCESS_THRESHOLD = 0.7
43
- MEMORY_DISPLAY_LIMIT = 300
44
-
45
- def __init__(
46
- self, scenario_name: str, query: str, response: str = None, memory_fetched: str = None, error: str = None
47
- ) -> None:
48
- """Initialize a memory test result.
49
-
50
- Args:
51
- scenario_name: Name of the test scenario.
52
- query: The input query for the scenario.
53
- response: The agent's response (optional).
54
- memory_fetched: The raw memory retrieved from the tool (optional).
55
- error: Any error message (optional).
56
- """
57
- self.scenario_name = scenario_name
58
- self.query = query
59
- self.response = response
60
- self.memory_fetched = memory_fetched
61
- self.error = error
62
- self.success = error is None
63
- # Judge outputs
64
- self.judge_verdict = None # "grounded" | "hallucination" | "general_knowledge"
65
- self.judge_score = None # float 0..1
66
-
67
- def set_success_from_judge(self, verdict: str, score: float | None):
68
- """Set success using judge verdict and confidence score.
69
-
70
- Success criteria: (verdict == "grounded" or verdict == "general_knowledge") and
71
- score >= JUDGE_SUCCESS_THRESHOLD.
72
-
73
- Args:
74
- verdict (str): The judge's verdict ("grounded", "hallucination", or "general_knowledge").
75
- score (float | None): The confidence score (0.0 to 1.0).
76
- """
77
- if self.error or not self.response or verdict is None:
78
- self.success = False
79
- return
80
- try:
81
- self.success = (verdict.lower() in ["grounded", "general_knowledge"]) and (
82
- score is not None and float(score) >= self.JUDGE_SUCCESS_THRESHOLD
83
- )
84
- except Exception:
85
- self.success = False
86
-
87
-
88
- def _print_memory_summary(memory_fetched: str):
89
- """Print memory with truncation.
90
-
91
- Args:
92
- memory_fetched (str): The memory content to print.
93
- """
94
- limit = MemoryTestResult.MEMORY_DISPLAY_LIMIT
95
- truncated_memory = memory_fetched[:limit]
96
- suffix = "..." if len(memory_fetched) > limit else ""
97
- print(f"Memory: {truncated_memory}{suffix}")
98
-
99
-
100
- def _print_success_result(result: MemoryTestResult):
101
- """Print successful result details.
102
-
103
- Args:
104
- result (MemoryTestResult): The test result to print.
105
- """
106
- print("✅ Status: SUCCESS")
107
- print(f"Output: {result.response}")
108
- if result.memory_fetched:
109
- _print_memory_summary(result.memory_fetched)
110
- if result.judge_verdict is not None:
111
- print(f"Judge: verdict={result.judge_verdict}, score={result.judge_score}")
112
-
113
-
114
- def _print_failure_result(result: MemoryTestResult):
115
- """Print failure result details.
116
-
117
- Args:
118
- result (MemoryTestResult): The test result to print.
119
- """
120
- print("❌ Status: FAILED")
121
- if result.error:
122
- print(f"Error: {result.error}")
123
- else:
124
- print("Judge flagged as not grounded or low confidence")
125
- if result.memory_fetched:
126
- _print_memory_summary(result.memory_fetched)
127
- if result.judge_verdict is not None:
128
- print(f"Judge: verdict={result.judge_verdict}, score={result.judge_score}")
129
- print(f"Output: {result.response}")
130
-
131
-
132
- def _print_header(start_time: datetime, end_time: datetime):
133
- """Print test header information.
134
-
135
- Args:
136
- start_time (datetime): The start time of the tests.
137
- end_time (datetime): The end time of the tests.
138
- """
139
- duration = end_time - start_time
140
- print("\n" + "=" * 80)
141
- print("🧠 MEMORY RECALL TEST SUMMARY")
142
- print("=" * 80)
143
- print("Tested User ID: demo@glair")
144
- print("Expected Data Range: September 17-24, 2025")
145
- print(f"Test Duration: {duration.total_seconds():.2f} seconds")
146
- print(f"Started: {start_time.strftime('%Y-%m-%d %H:%M:%S')}")
147
- print(f"Completed: {end_time.strftime('%Y-%m-%d %H:%M:%S')}")
148
- print("=" * 80)
149
-
150
-
151
- def _print_statistics(results: list[MemoryTestResult]):
152
- """Print test statistics.
153
-
154
- Args:
155
- results (list[MemoryTestResult]): List of test results to analyze.
156
- """
157
- print("\n" + "=" * 80)
158
- print("📊 TEST STATISTICS")
159
- print("=" * 80)
160
- successful = sum(1 for r in results if r.success)
161
- total = len(results)
162
- print(f"Total Scenarios: {total}")
163
- print(f"Successful: {successful}")
164
- print(f"Failed: {total - successful}")
165
- print(f"Success Rate: {(successful / total) * 100:.1f}%")
166
-
167
- if successful == total:
168
- print("\n🎉 All memory recall scenarios completed successfully!")
169
- else:
170
- print(f"\n⚠️ {total - successful} scenario(s) failed. Check details above.")
171
- print("=" * 80)
172
-
173
-
174
- def print_test_summary(results: list[MemoryTestResult], start_time: datetime):
175
- """Print a clean summary of all test results.
176
-
177
- Args:
178
- results (list[MemoryTestResult]): List of test results to summarize.
179
- start_time (datetime): The start time of the tests.
180
- """
181
- end_time = datetime.now()
182
- _print_header(start_time, end_time)
183
-
184
- for i, result in enumerate(results, 1):
185
- print(f"\n📋 SCENARIO {i}: {result.scenario_name}")
186
- print("-" * 60)
187
- print(f"Input: {result.query}")
188
-
189
- if result.success:
190
- _print_success_result(result)
191
- else:
192
- _print_failure_result(result)
193
-
194
- _print_statistics(results)
195
-
196
-
197
- async def evaluate_with_judge(
198
- judge_agent: LangGraphAgent, query: str, response: str, memory_fetched: str = None
199
- ) -> tuple[str | None, float | None]:
200
- """Evaluate if the response is grounded in memory using the judge agent.
201
-
202
- Args:
203
- judge_agent (LangGraphAgent): The judge agent to use for evaluation.
204
- query (str): The original user query.
205
- response (str): The agent's response to evaluate.
206
- memory_fetched (str, optional): The memory that was retrieved. Defaults to None.
207
-
208
- Returns:
209
- tuple[str | None, float | None]: Tuple of (verdict, score) where verdict is "grounded", "hallucination", or "general_knowledge", and score is a confidence score (0.0-1.0).
210
- """
211
- memory_section = ""
212
- if memory_fetched:
213
- memory_section = f"\n\nActual Memory Retrieved from Tool:\n{memory_fetched}\n"
214
-
215
- judge_prompt = (
216
- "Evaluate the following assistant answer for whether it is grounded in the fetched personal memory, "
217
- "is general knowledge, or is hallucination.\n\n"
218
- f"User Query:\n{query}\n\n"
219
- f"Assistant Answer:\n{response}{memory_section}\n"
220
- "Your task is to determine if the assistant's answer is directly supported by the retrieved memory data, "
221
- "is accurate general knowledge, or is incorrect/hallucinated. "
222
- "Consider: Does the answer contain specific details that match the memory? "
223
- "Are the facts, dates, names consistent with what was actually retrieved? "
224
- "If no memory was retrieved and the query is general knowledge, classify as 'general_knowledge' "
225
- "if the answer is correct.\n\n"
226
- 'Respond ONLY with JSON: {"verdict": "grounded|hallucination|general_knowledge", "score": <0..1>}'
227
- )
228
- judge_raw = await judge_agent.arun(judge_prompt)
229
- judge_text = judge_raw.get("output") if isinstance(judge_raw, dict) else str(judge_raw)
230
- verdict = None
231
- score = None
232
- try:
233
- judge_obj = json.loads(judge_text)
234
- verdict = judge_obj.get("verdict")
235
- score = judge_obj.get("score")
236
- except Exception:
237
- # Fallback: attempt to parse simple keywords if JSON parse fails
238
- lower = judge_text.lower()
239
- if "general_knowledge" in lower:
240
- verdict = "general_knowledge"
241
- elif "grounded" in lower and "hallucination" not in lower:
242
- verdict = "grounded"
243
- else:
244
- verdict = "hallucination"
245
- score = 0.5
246
-
247
- return verdict, score
248
-
249
-
250
- def _check_environment_variables() -> bool:
251
- """Check required environment variables."""
252
- if not os.getenv("MEM0_API_KEY"):
253
- print("❌ Error: MEM0_API_KEY not found in environment variables.")
254
- print("Please set MEM0_API_KEY in your .env file or environment.")
255
- return False
256
-
257
- if not os.getenv("OPENAI_API_KEY"):
258
- print("❌ Error: OPENAI_API_KEY not found in environment variables.")
259
- print("Please set OPENAI_API_KEY in your .env file or environment.")
260
- return False
261
-
262
- return True
263
-
264
-
265
- def _create_agents() -> tuple[LangGraphAgent, LangGraphAgent]:
266
- """Create memory recall and judge agents."""
267
- # Create memory recall agent - simplified instruction since built-in functionality handles complexity
268
- agent = LangGraphAgent(
269
- name="LangGraphMemoryEnhancerAgent",
270
- instruction="You are a helpful assistant that try your best to answer the user's query.",
271
- memory_backend="mem0",
272
- agent_id="demo-user-test",
273
- model="openai/gpt-4.1",
274
- save_interaction_to_memory=False,
275
- )
276
-
277
- # Create judge agent with NO memory backend
278
- judge_agent = LangGraphAgent(
279
- name="Judge",
280
- instruction=(
281
- "You are an impartial evaluator (no tools, no memory). Given a user's query and an assistant's answer, "
282
- "decide if the answer is grounded in fetched personal memory, is general knowledge, or is hallucination. "
283
- "Output STRICT JSON with keys: verdict ('grounded'|'hallucination'|'general_knowledge'), "
284
- "score (0..1), reason (short string). "
285
- "- 'grounded' means the answer most likely came from specific recalled personal memory items. "
286
- "- 'general_knowledge' means the answer is accurate general knowledge that doesn't require "
287
- "personal memory. "
288
- "- 'hallucination' means the answer is incorrect, guesses, or contradicts known facts. "
289
- "Consider concreteness, specificity (dates, names), and whether the query requires personal memory "
290
- "to answer."
291
- ),
292
- memory_backend=None,
293
- agent_id="judge-evaluator",
294
- model="openai/gpt-4.1",
295
- save_interaction_to_memory=False,
296
- )
297
-
298
- return agent, judge_agent
299
-
300
-
301
- async def _run_single_scenario(
302
- agent: LangGraphAgent,
303
- judge_agent: LangGraphAgent,
304
- scenario_name: str,
305
- query: str,
306
- output_file: str,
307
- ) -> MemoryTestResult:
308
- """Run a single memory recall scenario.
309
-
310
- Args:
311
- agent (LangGraphAgent): The agent to run the scenario with.
312
- judge_agent (LangGraphAgent): The judge agent to evaluate the response.
313
- scenario_name (str): Name of the test scenario.
314
- query (str): The query to run.
315
- output_file (str): Path to the output file for logging.
316
-
317
- Returns:
318
- MemoryTestResult: The test result containing response, memory, and evaluation.
319
- """
320
- print(f"\n🔄 Running scenario: {scenario_name}")
321
- print(f"Query: {query}")
322
-
323
- memory_fetched = ""
324
- final_response = ""
325
-
326
- # Write stream_start header for this scenario
327
- try:
328
- with open(output_file, "a", encoding="utf-8") as f:
329
- f.write(f"--- Scenario: {scenario_name} | Query: {query} | Time: {datetime.now().isoformat()} ---\n")
330
- json.dump({"type": "stream_start", "query": query, "scenario": scenario_name}, f)
331
- f.write("\n")
332
- except Exception as e:
333
- print(f" ⚠️ Could not write stream_start to {output_file}: {e}")
334
-
335
- # Stream the agent execution and capture memory tool results + final response
336
- final_response = await agent.arun(query=query, memory_user_id="demo@glair")
337
- final_response_output = final_response["output"]
338
- final_state = final_response["full_final_state"]
339
- memory_fetched: HumanMessage = final_state["messages"][1].content.strip()
340
-
341
- # Create test result with both memory and response
342
- test_result = MemoryTestResult(scenario_name, query, final_response_output, memory_fetched)
343
-
344
- # Evaluate with judge using both memory and response
345
- verdict, score = await evaluate_with_judge(judge_agent, query, final_response_output, memory_fetched.strip())
346
- test_result.judge_verdict = verdict
347
- test_result.judge_score = score
348
- test_result.set_success_from_judge(verdict, score)
349
-
350
- return test_result
351
-
352
-
353
- async def run_all_scenarios():
354
- """Run all memory recall test scenarios with a single reused agent and show clean summary."""
355
- start_time = datetime.now()
356
-
357
- print("🧠 Starting Memory Recall Testing with demo@glair data...")
358
- print(f"Current time: {start_time.strftime('%Y-%m-%d %H:%M:%S')}")
359
- print("User ID: demo@glair")
360
- print("Expected data range: September 17-24, 2025")
361
- print("Running tests... (this may take a few moments)")
362
-
363
- # Check environment variables
364
- if not _check_environment_variables():
365
- return
366
-
367
- # Create agents
368
- agent, judge_agent = _create_agents()
369
-
370
- scenarios = [
371
- ("Semantic Search Without Time Period", "What is my name and birthday? How old am I now?"),
372
- ("Semantic Search With Time Period", "I mention my hobby on September 17, 2025, can you recall it?"),
373
- ("Date-Based Recall Without Semantic Query", "What did we talk about in 25 September 2025?"),
374
- ("Last Week Recall (Calendar Week)", "What did we discuss last week?"),
375
- ("General Knowledge - Capital of Indonesia", "What is the capital of Indonesia?"),
376
- ("General Knowledge - US President Inauguration", "Who was inaugurated as US president on January 20, 2009?"),
377
- ]
378
-
379
- results = []
380
- try:
381
- # Tool stream capture output file (JSONL)
382
- output_file = "memory_recall_tool_events.jsonl"
383
-
384
- for scenario_name, query in scenarios:
385
- try:
386
- result = await _run_single_scenario(agent, judge_agent, scenario_name, query, output_file)
387
- results.append(result)
388
- except Exception as e:
389
- print(f" ❌ Error: {str(e)}")
390
- test_result = MemoryTestResult(scenario_name, query, error=str(e))
391
- results.append(test_result)
392
-
393
- # Print clean summary
394
- print_test_summary(results, start_time)
395
-
396
- except Exception as e:
397
- print(f"❌ Error running scenarios: {e}")
398
-
399
-
400
- if __name__ == "__main__":
401
- asyncio.run(run_all_scenarios())
@@ -1,58 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent import LangGraphAgent as LangGraphAgent
3
- from datetime import datetime
4
-
5
- class MemoryTestResult:
6
- """Container for test scenario results."""
7
- JUDGE_SUCCESS_THRESHOLD: float
8
- MEMORY_DISPLAY_LIMIT: int
9
- scenario_name: Incomplete
10
- query: Incomplete
11
- response: Incomplete
12
- memory_fetched: Incomplete
13
- error: Incomplete
14
- success: Incomplete
15
- judge_verdict: Incomplete
16
- judge_score: Incomplete
17
- def __init__(self, scenario_name: str, query: str, response: str = None, memory_fetched: str = None, error: str = None) -> None:
18
- """Initialize a memory test result.
19
-
20
- Args:
21
- scenario_name: Name of the test scenario.
22
- query: The input query for the scenario.
23
- response: The agent's response (optional).
24
- memory_fetched: The raw memory retrieved from the tool (optional).
25
- error: Any error message (optional).
26
- """
27
- def set_success_from_judge(self, verdict: str, score: float | None):
28
- '''Set success using judge verdict and confidence score.
29
-
30
- Success criteria: (verdict == "grounded" or verdict == "general_knowledge") and
31
- score >= JUDGE_SUCCESS_THRESHOLD.
32
-
33
- Args:
34
- verdict (str): The judge\'s verdict ("grounded", "hallucination", or "general_knowledge").
35
- score (float | None): The confidence score (0.0 to 1.0).
36
- '''
37
-
38
- def print_test_summary(results: list[MemoryTestResult], start_time: datetime):
39
- """Print a clean summary of all test results.
40
-
41
- Args:
42
- results (list[MemoryTestResult]): List of test results to summarize.
43
- start_time (datetime): The start time of the tests.
44
- """
45
- async def evaluate_with_judge(judge_agent: LangGraphAgent, query: str, response: str, memory_fetched: str = None) -> tuple[str | None, float | None]:
46
- '''Evaluate if the response is grounded in memory using the judge agent.
47
-
48
- Args:
49
- judge_agent (LangGraphAgent): The judge agent to use for evaluation.
50
- query (str): The original user query.
51
- response (str): The agent\'s response to evaluate.
52
- memory_fetched (str, optional): The memory that was retrieved. Defaults to None.
53
-
54
- Returns:
55
- tuple[str | None, float | None]: Tuple of (verdict, score) where verdict is "grounded", "hallucination", or "general_knowledge", and score is a confidence score (0.0-1.0).
56
- '''
57
- async def run_all_scenarios() -> None:
58
- """Run all memory recall test scenarios with a single reused agent and show clean summary."""
@@ -1,9 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
3
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
-
8
- def main() -> None:
9
- """Main function demonstrating the General Assistant agent with A2A capabilities."""
@@ -1,9 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
3
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
-
8
- def main() -> None:
9
- """Main function demonstrating the General Assistant agent with A2A capabilities."""
@@ -1,9 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
3
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
-
8
- async def main():
9
- """Main function demonstrating the General Assistant agent with streaming A2A capabilities."""
@@ -1,15 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
3
- from aip_agents.examples.tools.adk_weather_tool import weather_tool as weather_tool
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
- SERVER_AGENT_NAME: str
8
-
9
- def main(host: str, port: int):
10
- """Runs the Google ADK Weather A2A server.
11
-
12
- Args:
13
- host (str): Host to bind the server to.
14
- port (int): Port to bind the server to.
15
- """
@@ -1,5 +0,0 @@
1
- from aip_agents.agent import LangChainAgent as LangChainAgent
2
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
3
-
4
- def main() -> None:
5
- """Main function demonstrating the General Assistant agent with A2A capabilities."""
@@ -1,5 +0,0 @@
1
- from aip_agents.agent import LangChainAgent as LangChainAgent
2
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
3
-
4
- def main() -> None:
5
- """Main function demonstrating the General Assistant agent with A2A capabilities."""
@@ -1,5 +0,0 @@
1
- from aip_agents.agent import LangChainAgent as LangChainAgent
2
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
3
-
4
- def main() -> None:
5
- """Main function demonstrating the General Assistant agent with A2A capabilities."""
@@ -1,5 +0,0 @@
1
- from aip_agents.agent import LangChainAgent as LangChainAgent
2
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
3
-
4
- async def main() -> None:
5
- """Main function demonstrating the General Assistant agent with streaming A2A capabilities."""
@@ -1,5 +0,0 @@
1
- from aip_agents.agent import LangChainAgent as LangChainAgent
2
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
3
-
4
- async def main() -> None:
5
- """Main function demonstrating streaming A2A client for the reference server."""
@@ -1,15 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent import LangChainAgent as LangChainAgent
3
- from aip_agents.examples.tools import google_serper_tool as google_serper_tool, mock_retrieval_tool as mock_retrieval_tool, time_tool as time_tool
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
- SERVER_AGENT_NAME: str
8
-
9
- def main(host: str, port: int):
10
- """Runs the LangChain Mock Retrieval and Google Search A2A server.
11
-
12
- Args:
13
- host (str): Host to bind the server to.
14
- port (int): Port to bind the server to.
15
- """
@@ -1,15 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent import LangChainAgent as LangChainAgent
3
- from aip_agents.examples.tools.langchain_weather_tool import weather_tool as weather_tool
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
- SERVER_AGENT_NAME: str
8
-
9
- def main(host: str, port: int):
10
- """Runs the LangChain Weather A2A server.
11
-
12
- Args:
13
- host (str): Host to bind the server to.
14
- port (int): Port to bind the server to.
15
- """
@@ -1,15 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent import LangChainAgent as LangChainAgent
3
- from aip_agents.examples.tools.langchain_weather_tool import weather_tool as weather_tool
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
- SERVER_AGENT_NAME: str
8
-
9
- def main(host: str, port: int):
10
- """Runs the LangChain Weather A2A server.
11
-
12
- Args:
13
- host (str): Host to bind the server to.
14
- port (int): Port to bind the server to.
15
- """
@@ -1,9 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent.langflow_agent import LangflowAgent as LangflowAgent
3
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
-
8
- async def main() -> None:
9
- """Main function demonstrating the Langflow client with streaming A2A capabilities."""
@@ -1,14 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent.langflow_agent import LangflowAgent as LangflowAgent
3
- from aip_agents.utils.logger import get_logger as get_logger
4
-
5
- logger: Incomplete
6
- SERVER_AGENT_NAME: str
7
-
8
- def main(host: str, port: int):
9
- """Runs the Langflow A2A server.
10
-
11
- Args:
12
- host (str): Host to bind the server to.
13
- port (int): Port to bind the server to.
14
- """
@@ -1,5 +0,0 @@
1
- from aip_agents.agent import LangGraphAgent as LangGraphAgent
2
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
3
-
4
- async def main() -> None:
5
- """Main function demonstrating the General Assistant agent with A2A capabilities."""
@@ -1,5 +0,0 @@
1
- from aip_agents.agent import LangGraphAgent as LangGraphAgent
2
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
3
-
4
- async def main() -> None:
5
- """Main function demonstrating the General Assistant agent with streaming A2A capabilities."""
@@ -1,16 +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 import get_logger as get_logger
6
-
7
- logger: Incomplete
8
- SERVER_AGENT_NAME: str
9
-
10
- def main(host: str, port: int):
11
- """Runs the LangGraph Artifact Generation A2A server.
12
-
13
- Args:
14
- host (str): Host to bind the server to.
15
- port (int): Port to bind the server to.
16
- """
@@ -1,9 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent import LangGraphAgent as LangGraphAgent
3
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
-
8
- def main() -> None:
9
- """Main function demonstrating the General Assistant agent with A2A capabilities."""
@@ -1,9 +0,0 @@
1
- from _typeshed import Incomplete
2
- from aip_agents.agent import LangGraphAgent as LangGraphAgent
3
- from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
4
- from aip_agents.utils.logger import get_logger as get_logger
5
-
6
- logger: Incomplete
7
-
8
- def main() -> None:
9
- """Main function demonstrating the General Assistant agent with A2A capabilities."""