aip-agents-binary 0.0.0b2__py3-none-any.whl → 0.5.11__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aip_agents/__init__.py +65 -0
- aip_agents/__init__.pyi +19 -0
- aip_agents/a2a/__init__.py +19 -0
- aip_agents/a2a/__init__.pyi +1 -1
- aip_agents/a2a/server/__init__.py +10 -0
- aip_agents/a2a/server/base_executor.py +1086 -0
- aip_agents/a2a/server/base_executor.pyi +16 -6
- aip_agents/a2a/server/google_adk_executor.py +198 -0
- aip_agents/a2a/server/google_adk_executor.pyi +11 -11
- aip_agents/a2a/server/langflow_executor.py +180 -0
- aip_agents/a2a/server/langflow_executor.pyi +43 -0
- aip_agents/a2a/server/langgraph_executor.py +267 -0
- aip_agents/a2a/server/langgraph_executor.pyi +11 -12
- aip_agents/a2a/types.py +232 -0
- aip_agents/a2a/types.pyi +54 -47
- aip_agents/agent/__init__.py +27 -0
- aip_agents/agent/__init__.pyi +3 -1
- aip_agents/agent/base_agent.py +970 -0
- aip_agents/agent/base_agent.pyi +24 -8
- aip_agents/agent/base_langgraph_agent.py +2942 -0
- aip_agents/agent/base_langgraph_agent.pyi +93 -25
- aip_agents/agent/google_adk_agent.py +926 -0
- aip_agents/agent/google_adk_agent.pyi +34 -21
- aip_agents/agent/google_adk_constants.py +6 -0
- aip_agents/agent/google_adk_constants.pyi +3 -0
- aip_agents/agent/hitl/__init__.py +24 -0
- aip_agents/agent/hitl/__init__.pyi +6 -0
- aip_agents/agent/hitl/config.py +28 -0
- aip_agents/agent/hitl/config.pyi +15 -0
- aip_agents/agent/hitl/langgraph_hitl_mixin.py +515 -0
- aip_agents/agent/hitl/langgraph_hitl_mixin.pyi +42 -0
- aip_agents/agent/hitl/manager.py +522 -0
- aip_agents/agent/hitl/manager.pyi +199 -0
- aip_agents/agent/hitl/models.py +18 -0
- aip_agents/agent/hitl/models.pyi +3 -0
- aip_agents/agent/hitl/prompt/__init__.py +9 -0
- aip_agents/agent/hitl/prompt/__init__.pyi +4 -0
- aip_agents/agent/hitl/prompt/base.py +42 -0
- aip_agents/agent/hitl/prompt/base.pyi +24 -0
- aip_agents/agent/hitl/prompt/deferred.py +73 -0
- aip_agents/agent/hitl/prompt/deferred.pyi +30 -0
- aip_agents/agent/interface.py +138 -0
- aip_agents/agent/interface.pyi +5 -5
- aip_agents/agent/interfaces.py +65 -0
- aip_agents/agent/interfaces.pyi +44 -0
- aip_agents/agent/langflow_agent.py +464 -0
- aip_agents/agent/langflow_agent.pyi +133 -0
- aip_agents/agent/langgraph_memory_enhancer_agent.py +433 -0
- aip_agents/agent/langgraph_memory_enhancer_agent.pyi +49 -0
- aip_agents/agent/langgraph_react_agent.py +2514 -0
- aip_agents/agent/langgraph_react_agent.pyi +51 -56
- aip_agents/agent/system_instruction_context.py +34 -0
- aip_agents/agent/system_instruction_context.pyi +13 -0
- aip_agents/clients/__init__.py +10 -0
- aip_agents/clients/__init__.pyi +4 -0
- aip_agents/clients/langflow/__init__.py +10 -0
- aip_agents/clients/langflow/__init__.pyi +4 -0
- aip_agents/clients/langflow/client.py +477 -0
- aip_agents/clients/langflow/client.pyi +140 -0
- aip_agents/clients/langflow/types.py +18 -0
- aip_agents/clients/langflow/types.pyi +7 -0
- aip_agents/constants.py +23 -0
- aip_agents/constants.pyi +1 -0
- aip_agents/credentials/manager.py +132 -0
- aip_agents/examples/__init__.py +5 -0
- aip_agents/examples/compare_streaming_client.py +783 -0
- aip_agents/examples/compare_streaming_client.pyi +48 -0
- aip_agents/examples/compare_streaming_server.py +142 -0
- aip_agents/examples/compare_streaming_server.pyi +18 -0
- aip_agents/examples/demo_memory_recall.py +401 -0
- aip_agents/examples/demo_memory_recall.pyi +58 -0
- aip_agents/examples/hello_world_a2a_google_adk_client.py +49 -0
- aip_agents/examples/hello_world_a2a_google_adk_client.pyi +2 -2
- aip_agents/examples/hello_world_a2a_google_adk_client_agent.py +48 -0
- aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +2 -2
- aip_agents/examples/hello_world_a2a_google_adk_client_streaming.py +60 -0
- aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +2 -2
- aip_agents/examples/hello_world_a2a_google_adk_server.py +79 -0
- aip_agents/examples/hello_world_a2a_google_adk_server.pyi +7 -2
- aip_agents/examples/hello_world_a2a_langchain_client.py +39 -0
- aip_agents/examples/hello_world_a2a_langchain_client.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langchain_client_agent.py +39 -0
- aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.py +37 -0
- aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langchain_client_streaming.py +41 -0
- aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.py +60 -0
- aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langchain_reference_server.py +105 -0
- aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +8 -3
- aip_agents/examples/hello_world_a2a_langchain_server.py +79 -0
- aip_agents/examples/hello_world_a2a_langchain_server.pyi +7 -2
- aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.py +78 -0
- aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +7 -2
- aip_agents/examples/hello_world_a2a_langflow_client.py +83 -0
- aip_agents/examples/hello_world_a2a_langflow_client.pyi +9 -0
- aip_agents/examples/hello_world_a2a_langflow_server.py +82 -0
- aip_agents/examples/hello_world_a2a_langflow_server.pyi +14 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client.py +73 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.py +76 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langgraph_artifact_server.py +92 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +7 -2
- aip_agents/examples/hello_world_a2a_langgraph_client.py +54 -0
- aip_agents/examples/hello_world_a2a_langgraph_client.pyi +2 -2
- aip_agents/examples/hello_world_a2a_langgraph_client_agent.py +54 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +2 -2
- aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.py +32 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming.py +50 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +3 -3
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.py +44 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.py +92 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +1 -1
- aip_agents/examples/hello_world_a2a_langgraph_server.py +84 -0
- aip_agents/examples/hello_world_a2a_langgraph_server.pyi +7 -2
- aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.py +79 -0
- aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +7 -2
- aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.py +132 -0
- aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +7 -2
- aip_agents/examples/hello_world_a2a_mcp_langgraph.py +196 -0
- aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +1 -1
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.py +244 -0
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +31 -6
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.py +251 -0
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +33 -5
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.py +57 -0
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +1 -1
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.py +80 -0
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +7 -2
- aip_agents/examples/hello_world_google_adk.py +41 -0
- aip_agents/examples/hello_world_google_adk_mcp_http.py +34 -0
- aip_agents/examples/hello_world_google_adk_mcp_http_stream.py +40 -0
- aip_agents/examples/hello_world_google_adk_mcp_sse.py +44 -0
- aip_agents/examples/hello_world_google_adk_mcp_sse_stream.py +48 -0
- aip_agents/examples/hello_world_google_adk_mcp_stdio.py +44 -0
- aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.py +48 -0
- aip_agents/examples/hello_world_google_adk_stream.py +44 -0
- aip_agents/examples/hello_world_langchain.py +28 -0
- aip_agents/examples/hello_world_langchain_lm_invoker.py +15 -0
- aip_agents/examples/hello_world_langchain_mcp_http.py +34 -0
- aip_agents/examples/hello_world_langchain_mcp_http_interactive.py +130 -0
- aip_agents/examples/hello_world_langchain_mcp_http_interactive.pyi +16 -0
- aip_agents/examples/hello_world_langchain_mcp_http_stream.py +42 -0
- aip_agents/examples/hello_world_langchain_mcp_multi_server.py +155 -0
- aip_agents/examples/hello_world_langchain_mcp_multi_server.pyi +18 -0
- aip_agents/examples/hello_world_langchain_mcp_sse.py +34 -0
- aip_agents/examples/hello_world_langchain_mcp_sse_stream.py +40 -0
- aip_agents/examples/hello_world_langchain_mcp_stdio.py +30 -0
- aip_agents/examples/hello_world_langchain_mcp_stdio_stream.py +41 -0
- aip_agents/examples/hello_world_langchain_stream.py +36 -0
- aip_agents/examples/hello_world_langchain_stream_lm_invoker.py +39 -0
- aip_agents/examples/hello_world_langflow_agent.py +163 -0
- aip_agents/examples/hello_world_langflow_agent.pyi +35 -0
- aip_agents/examples/hello_world_langgraph.py +39 -0
- aip_agents/examples/hello_world_langgraph_bosa_twitter.py +41 -0
- aip_agents/examples/hello_world_langgraph_mcp_http.py +31 -0
- aip_agents/examples/hello_world_langgraph_mcp_http_stream.py +34 -0
- aip_agents/examples/hello_world_langgraph_mcp_sse.py +35 -0
- aip_agents/examples/hello_world_langgraph_mcp_sse_stream.py +50 -0
- aip_agents/examples/hello_world_langgraph_mcp_stdio.py +35 -0
- aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.py +50 -0
- aip_agents/examples/hello_world_langgraph_stream.py +43 -0
- aip_agents/examples/hello_world_langgraph_stream_lm_invoker.py +37 -0
- aip_agents/examples/hello_world_model_switch_cli.py +210 -0
- aip_agents/examples/hello_world_model_switch_cli.pyi +18 -3
- aip_agents/examples/hello_world_multi_agent_adk.py +75 -0
- aip_agents/examples/hello_world_multi_agent_langchain.py +54 -0
- aip_agents/examples/hello_world_multi_agent_langgraph.py +66 -0
- aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.py +69 -0
- aip_agents/examples/hello_world_pii_logger.py +21 -0
- aip_agents/examples/hello_world_pii_logger.pyi +1 -1
- aip_agents/examples/hello_world_sentry.py +133 -0
- aip_agents/examples/hello_world_sentry.pyi +1 -1
- aip_agents/examples/hello_world_step_limits.py +273 -0
- aip_agents/examples/hello_world_step_limits.pyi +17 -0
- aip_agents/examples/hello_world_stock_a2a_server.py +103 -0
- aip_agents/examples/hello_world_stock_a2a_server.pyi +7 -2
- aip_agents/examples/hello_world_tool_output_client.py +46 -0
- aip_agents/examples/hello_world_tool_output_client.pyi +1 -1
- aip_agents/examples/hello_world_tool_output_server.py +114 -0
- aip_agents/examples/hello_world_tool_output_server.pyi +7 -2
- aip_agents/examples/hitl_demo.py +724 -0
- aip_agents/examples/hitl_demo.pyi +67 -0
- aip_agents/examples/mcp_configs/configs.py +63 -0
- aip_agents/examples/mcp_servers/common.py +76 -0
- aip_agents/examples/mcp_servers/mcp_name.py +29 -0
- aip_agents/examples/mcp_servers/mcp_server_http.py +19 -0
- aip_agents/examples/mcp_servers/mcp_server_sse.py +19 -0
- aip_agents/examples/mcp_servers/mcp_server_stdio.py +19 -0
- aip_agents/examples/mcp_servers/mcp_time.py +10 -0
- aip_agents/examples/pii_demo_langgraph_client.py +69 -0
- aip_agents/examples/pii_demo_langgraph_client.pyi +5 -0
- aip_agents/examples/pii_demo_langgraph_server.py +126 -0
- aip_agents/examples/pii_demo_langgraph_server.pyi +20 -0
- aip_agents/examples/pii_demo_multi_agent_client.py +80 -0
- aip_agents/examples/pii_demo_multi_agent_client.pyi +5 -0
- aip_agents/examples/pii_demo_multi_agent_server.py +247 -0
- aip_agents/examples/pii_demo_multi_agent_server.pyi +40 -0
- aip_agents/examples/todolist_planning_a2a_langchain_client.py +70 -0
- aip_agents/examples/todolist_planning_a2a_langchain_client.pyi +5 -0
- aip_agents/examples/todolist_planning_a2a_langgraph_server.py +88 -0
- aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi +19 -0
- aip_agents/examples/tools/__init__.py +27 -0
- aip_agents/examples/tools/__init__.pyi +3 -1
- aip_agents/examples/tools/adk_arithmetic_tools.py +36 -0
- aip_agents/examples/tools/adk_weather_tool.py +60 -0
- aip_agents/examples/tools/adk_weather_tool.pyi +1 -1
- aip_agents/examples/tools/data_generator_tool.py +103 -0
- aip_agents/examples/tools/data_visualization_tool.py +312 -0
- aip_agents/examples/tools/data_visualization_tool.pyi +2 -0
- aip_agents/examples/tools/image_artifact_tool.py +136 -0
- aip_agents/examples/tools/image_artifact_tool.pyi +2 -0
- aip_agents/examples/tools/langchain_arithmetic_tools.py +26 -0
- aip_agents/examples/tools/langchain_arithmetic_tools.pyi +7 -0
- aip_agents/examples/tools/langchain_currency_exchange_tool.py +88 -0
- aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +0 -1
- aip_agents/examples/tools/langchain_graph_artifact_tool.py +172 -0
- aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +2 -0
- aip_agents/examples/tools/langchain_weather_tool.py +48 -0
- aip_agents/examples/tools/langchain_weather_tool.pyi +1 -1
- aip_agents/examples/tools/langgraph_streaming_tool.py +130 -0
- aip_agents/examples/tools/langgraph_streaming_tool.pyi +1 -1
- aip_agents/examples/tools/mock_retrieval_tool.py +56 -0
- aip_agents/examples/tools/mock_retrieval_tool.pyi +13 -0
- aip_agents/examples/tools/pii_demo_tools.py +189 -0
- aip_agents/examples/tools/pii_demo_tools.pyi +54 -0
- aip_agents/examples/tools/random_chart_tool.py +142 -0
- aip_agents/examples/tools/random_chart_tool.pyi +20 -0
- aip_agents/examples/tools/serper_tool.py +202 -0
- aip_agents/examples/tools/stock_tools.py +82 -0
- aip_agents/examples/tools/stock_tools.pyi +18 -3
- aip_agents/examples/tools/table_generator_tool.py +167 -0
- aip_agents/examples/tools/time_tool.py +82 -0
- aip_agents/examples/tools/weather_forecast_tool.py +38 -0
- aip_agents/executor/agent_executor.py +473 -0
- aip_agents/executor/base.py +48 -0
- aip_agents/mcp/__init__.py +1 -0
- aip_agents/mcp/client/__init__.py +14 -0
- aip_agents/mcp/client/__init__.pyi +4 -3
- aip_agents/mcp/client/base_mcp_client.py +369 -0
- aip_agents/mcp/client/base_mcp_client.pyi +148 -0
- aip_agents/mcp/client/connection_manager.py +193 -0
- aip_agents/mcp/client/connection_manager.pyi +48 -0
- aip_agents/mcp/client/google_adk/__init__.py +11 -0
- aip_agents/mcp/client/google_adk/__init__.pyi +1 -1
- aip_agents/mcp/client/google_adk/client.py +381 -0
- aip_agents/mcp/client/google_adk/client.pyi +50 -13
- aip_agents/mcp/client/langchain/__init__.py +11 -0
- aip_agents/mcp/client/langchain/__init__.pyi +1 -1
- aip_agents/mcp/client/langchain/client.py +265 -0
- aip_agents/mcp/client/langchain/client.pyi +47 -2
- aip_agents/mcp/client/persistent_session.py +359 -0
- aip_agents/mcp/client/persistent_session.pyi +113 -0
- aip_agents/mcp/client/session_pool.py +351 -0
- aip_agents/mcp/client/session_pool.pyi +101 -0
- aip_agents/mcp/client/transports.py +215 -0
- aip_agents/mcp/client/transports.pyi +123 -0
- aip_agents/mcp/utils/__init__.py +7 -0
- aip_agents/mcp/utils/__init__.pyi +0 -0
- aip_agents/mcp/utils/config_validator.py +139 -0
- aip_agents/mcp/utils/config_validator.pyi +82 -0
- aip_agents/memory/__init__.py +14 -0
- aip_agents/memory/__init__.pyi +5 -0
- aip_agents/memory/adapters/__init__.py +10 -0
- aip_agents/memory/adapters/__init__.pyi +4 -0
- aip_agents/memory/adapters/base_adapter.py +717 -0
- aip_agents/memory/adapters/base_adapter.pyi +150 -0
- aip_agents/memory/adapters/mem0.py +84 -0
- aip_agents/memory/adapters/mem0.pyi +22 -0
- aip_agents/memory/base.py +84 -0
- aip_agents/memory/base.pyi +15 -4
- aip_agents/memory/constants.py +49 -0
- aip_agents/memory/constants.pyi +25 -0
- aip_agents/memory/factory.py +86 -0
- aip_agents/memory/factory.pyi +24 -0
- aip_agents/memory/guidance.py +20 -0
- aip_agents/memory/guidance.pyi +3 -0
- aip_agents/memory/simple_memory.py +47 -0
- aip_agents/memory/simple_memory.pyi +6 -5
- aip_agents/middleware/__init__.py +17 -0
- aip_agents/middleware/__init__.pyi +5 -0
- aip_agents/middleware/base.py +88 -0
- aip_agents/middleware/base.pyi +71 -0
- aip_agents/middleware/manager.py +128 -0
- aip_agents/middleware/manager.pyi +80 -0
- aip_agents/middleware/todolist.py +274 -0
- aip_agents/middleware/todolist.pyi +125 -0
- aip_agents/schema/__init__.py +69 -0
- aip_agents/schema/__init__.pyi +9 -0
- aip_agents/schema/a2a.py +56 -0
- aip_agents/schema/a2a.pyi +40 -0
- aip_agents/schema/agent.py +111 -0
- aip_agents/schema/agent.pyi +65 -0
- aip_agents/schema/hitl.py +157 -0
- aip_agents/schema/hitl.pyi +89 -0
- aip_agents/schema/langgraph.py +37 -0
- aip_agents/schema/langgraph.pyi +28 -0
- aip_agents/schema/model_id.py +97 -0
- aip_agents/schema/model_id.pyi +54 -0
- aip_agents/schema/step_limit.py +108 -0
- aip_agents/schema/step_limit.pyi +63 -0
- aip_agents/schema/storage.py +40 -0
- aip_agents/schema/storage.pyi +21 -0
- aip_agents/sentry/__init__.py +11 -0
- aip_agents/sentry/__init__.pyi +1 -1
- aip_agents/sentry/sentry.py +151 -0
- aip_agents/sentry/sentry.pyi +2 -2
- aip_agents/storage/__init__.py +41 -0
- aip_agents/storage/base.py +85 -0
- aip_agents/storage/base.pyi +1 -2
- aip_agents/storage/clients/__init__.py +12 -0
- aip_agents/storage/clients/minio_client.py +318 -0
- aip_agents/storage/config.py +62 -0
- aip_agents/storage/config.pyi +9 -46
- aip_agents/storage/providers/__init__.py +15 -0
- aip_agents/storage/providers/base.py +106 -0
- aip_agents/storage/providers/base.pyi +2 -3
- aip_agents/storage/providers/memory.py +114 -0
- aip_agents/storage/providers/object_storage.py +214 -0
- aip_agents/storage/providers/object_storage.pyi +1 -1
- aip_agents/tools/__init__.py +6 -0
- aip_agents/tools/__init__.pyi +3 -2
- aip_agents/tools/bosa_tools.py +105 -0
- aip_agents/tools/bosa_tools.pyi +2 -2
- aip_agents/tools/browser_use/__init__.py +82 -0
- aip_agents/tools/browser_use/__init__.pyi +14 -0
- aip_agents/tools/browser_use/action_parser.py +103 -0
- aip_agents/tools/browser_use/action_parser.pyi +18 -0
- aip_agents/tools/browser_use/browser_use_tool.py +1112 -0
- aip_agents/tools/browser_use/browser_use_tool.pyi +50 -0
- aip_agents/tools/browser_use/llm_config.py +120 -0
- aip_agents/tools/browser_use/llm_config.pyi +52 -0
- aip_agents/tools/browser_use/minio_storage.py +198 -0
- aip_agents/tools/browser_use/minio_storage.pyi +109 -0
- aip_agents/tools/browser_use/schemas.py +119 -0
- aip_agents/tools/browser_use/schemas.pyi +32 -0
- aip_agents/tools/browser_use/session.py +76 -0
- aip_agents/tools/browser_use/session.pyi +4 -0
- aip_agents/tools/browser_use/session_errors.py +132 -0
- aip_agents/tools/browser_use/session_errors.pyi +53 -0
- aip_agents/tools/browser_use/steel_session_recording.py +317 -0
- aip_agents/tools/browser_use/steel_session_recording.pyi +63 -0
- aip_agents/tools/browser_use/streaming.py +813 -0
- aip_agents/tools/browser_use/streaming.pyi +81 -0
- aip_agents/tools/browser_use/structured_data_parser.py +257 -0
- aip_agents/tools/browser_use/structured_data_parser.pyi +86 -0
- aip_agents/tools/browser_use/structured_data_recovery.py +204 -0
- aip_agents/tools/browser_use/structured_data_recovery.pyi +43 -0
- aip_agents/tools/browser_use/types.py +78 -0
- aip_agents/tools/browser_use/types.pyi +45 -0
- aip_agents/tools/code_sandbox/__init__.py +26 -0
- aip_agents/tools/code_sandbox/__init__.pyi +3 -0
- aip_agents/tools/code_sandbox/constant.py +13 -0
- aip_agents/tools/code_sandbox/constant.pyi +4 -0
- aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.py +257 -0
- aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.pyi +86 -0
- aip_agents/tools/code_sandbox/e2b_sandbox_tool.py +411 -0
- aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +29 -0
- aip_agents/tools/constants.py +165 -0
- aip_agents/tools/constants.pyi +105 -100
- aip_agents/tools/document_loader/__init__.py +37 -0
- aip_agents/tools/document_loader/__init__.pyi +7 -0
- aip_agents/tools/document_loader/base_reader.py +262 -0
- aip_agents/tools/document_loader/base_reader.pyi +62 -0
- aip_agents/tools/document_loader/docx_reader_tool.py +53 -0
- aip_agents/tools/document_loader/docx_reader_tool.pyi +6 -0
- aip_agents/tools/document_loader/excel_reader_tool.py +160 -0
- aip_agents/tools/document_loader/excel_reader_tool.pyi +26 -0
- aip_agents/tools/document_loader/pdf_reader_tool.py +67 -0
- aip_agents/tools/document_loader/pdf_reader_tool.pyi +11 -0
- aip_agents/tools/document_loader/pdf_splitter.py +169 -0
- aip_agents/tools/document_loader/pdf_splitter.pyi +18 -0
- aip_agents/tools/gl_connector/__init__.py +5 -0
- aip_agents/tools/gl_connector/__init__.pyi +3 -0
- aip_agents/tools/gl_connector/tool.py +351 -0
- aip_agents/tools/gl_connector/tool.pyi +74 -0
- aip_agents/tools/memory_search/__init__.py +22 -0
- aip_agents/tools/memory_search/__init__.pyi +5 -0
- aip_agents/tools/memory_search/base.py +200 -0
- aip_agents/tools/memory_search/base.pyi +69 -0
- aip_agents/tools/memory_search/mem0.py +258 -0
- aip_agents/tools/memory_search/mem0.pyi +19 -0
- aip_agents/tools/memory_search/schema.py +48 -0
- aip_agents/tools/memory_search/schema.pyi +15 -0
- aip_agents/tools/memory_search_tool.py +26 -0
- aip_agents/tools/memory_search_tool.pyi +3 -0
- aip_agents/tools/tool_config_injector.py +300 -0
- aip_agents/tools/web_search/__init__.py +15 -0
- aip_agents/tools/web_search/__init__.pyi +3 -0
- aip_agents/tools/web_search/serper_tool.py +187 -0
- aip_agents/tools/web_search/serper_tool.pyi +19 -0
- aip_agents/types/__init__.py +70 -0
- aip_agents/types/__init__.pyi +35 -2
- aip_agents/types/a2a_events.py +13 -0
- aip_agents/types/a2a_events.pyi +2 -73
- aip_agents/utils/__init__.py +79 -0
- aip_agents/utils/__init__.pyi +8 -2
- aip_agents/utils/a2a_connector.py +1757 -0
- aip_agents/utils/a2a_connector.pyi +15 -4
- aip_agents/utils/artifact_helpers.py +502 -0
- aip_agents/utils/artifact_helpers.pyi +26 -2
- aip_agents/utils/constants.py +22 -0
- aip_agents/utils/constants.pyi +10 -0
- aip_agents/utils/datetime/__init__.py +34 -0
- aip_agents/utils/datetime/__init__.pyi +4 -0
- aip_agents/utils/datetime/normalization.py +231 -0
- aip_agents/utils/datetime/normalization.pyi +95 -0
- aip_agents/utils/datetime/timezone.py +206 -0
- aip_agents/utils/datetime/timezone.pyi +48 -0
- aip_agents/utils/env_loader.py +27 -0
- aip_agents/utils/env_loader.pyi +10 -0
- aip_agents/utils/event_handler_registry.py +58 -0
- aip_agents/utils/event_handler_registry.pyi +23 -0
- aip_agents/utils/file_prompt_utils.py +176 -0
- aip_agents/utils/file_prompt_utils.pyi +21 -0
- aip_agents/utils/final_response_builder.py +211 -0
- aip_agents/utils/final_response_builder.pyi +34 -0
- aip_agents/utils/formatter_llm_client.py +231 -0
- aip_agents/utils/formatter_llm_client.pyi +71 -0
- aip_agents/utils/langgraph/__init__.py +19 -0
- aip_agents/utils/langgraph/converter.py +128 -0
- aip_agents/utils/langgraph/converter.pyi +1 -1
- aip_agents/utils/langgraph/tool_managers/__init__.py +15 -0
- aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.py +99 -0
- aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +2 -2
- aip_agents/utils/langgraph/tool_managers/base_tool_manager.py +66 -0
- aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi +2 -3
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.py +1071 -0
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +17 -11
- aip_agents/utils/langgraph/tool_output_management.py +967 -0
- aip_agents/utils/langgraph/tool_output_management.pyi +15 -33
- aip_agents/utils/logger.py +195 -0
- aip_agents/utils/logger.pyi +60 -0
- aip_agents/utils/metadata/__init__.py +27 -0
- aip_agents/utils/metadata/__init__.pyi +5 -0
- aip_agents/utils/metadata/activity_metadata_helper.py +407 -0
- aip_agents/utils/metadata/activity_metadata_helper.pyi +25 -0
- aip_agents/utils/metadata/activity_narrative/__init__.py +35 -0
- aip_agents/utils/metadata/activity_narrative/__init__.pyi +7 -0
- aip_agents/utils/metadata/activity_narrative/builder.py +817 -0
- aip_agents/utils/metadata/activity_narrative/builder.pyi +35 -0
- aip_agents/utils/metadata/activity_narrative/constants.py +51 -0
- aip_agents/utils/metadata/activity_narrative/constants.pyi +10 -0
- aip_agents/utils/metadata/activity_narrative/context.py +49 -0
- aip_agents/utils/metadata/activity_narrative/context.pyi +32 -0
- aip_agents/utils/metadata/activity_narrative/formatters.py +230 -0
- aip_agents/utils/metadata/activity_narrative/formatters.pyi +48 -0
- aip_agents/utils/metadata/activity_narrative/utils.py +35 -0
- aip_agents/utils/metadata/activity_narrative/utils.pyi +12 -0
- aip_agents/utils/metadata/schemas/__init__.py +16 -0
- aip_agents/utils/metadata/schemas/__init__.pyi +4 -0
- aip_agents/utils/metadata/schemas/activity_schema.py +29 -0
- aip_agents/utils/metadata/schemas/activity_schema.pyi +18 -0
- aip_agents/utils/metadata/schemas/thinking_schema.py +31 -0
- aip_agents/utils/metadata/schemas/thinking_schema.pyi +20 -0
- aip_agents/utils/metadata/thinking_metadata_helper.py +38 -0
- aip_agents/utils/metadata/thinking_metadata_helper.pyi +4 -0
- aip_agents/utils/metadata_helper.py +358 -0
- aip_agents/utils/metadata_helper.pyi +55 -48
- aip_agents/utils/name_preprocessor/__init__.py +17 -0
- aip_agents/utils/name_preprocessor/base_name_preprocessor.py +73 -0
- aip_agents/utils/name_preprocessor/base_name_preprocessor.pyi +1 -2
- aip_agents/utils/name_preprocessor/google_name_preprocessor.py +100 -0
- aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +1 -1
- aip_agents/utils/name_preprocessor/name_preprocessor.py +87 -0
- aip_agents/utils/name_preprocessor/name_preprocessor.pyi +4 -4
- aip_agents/utils/name_preprocessor/openai_name_preprocessor.py +48 -0
- aip_agents/utils/name_preprocessor/openai_name_preprocessor.pyi +1 -1
- aip_agents/utils/pii/__init__.py +25 -0
- aip_agents/utils/pii/__init__.pyi +5 -0
- aip_agents/utils/pii/pii_handler.py +397 -0
- aip_agents/utils/pii/pii_handler.pyi +96 -0
- aip_agents/utils/pii/pii_helper.py +207 -0
- aip_agents/utils/pii/pii_helper.pyi +78 -0
- aip_agents/utils/pii/uuid_deanonymizer_mapping.py +195 -0
- aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi +73 -0
- aip_agents/utils/reference_helper.py +273 -0
- aip_agents/utils/reference_helper.pyi +38 -6
- aip_agents/utils/sse_chunk_transformer.py +831 -0
- aip_agents/utils/sse_chunk_transformer.pyi +166 -0
- aip_agents/utils/step_limit_manager.py +265 -0
- aip_agents/utils/step_limit_manager.pyi +112 -0
- aip_agents/utils/token_usage_helper.py +156 -0
- aip_agents/utils/token_usage_helper.pyi +1 -1
- aip_agents_binary-0.5.11.dist-info/METADATA +689 -0
- aip_agents_binary-0.5.11.dist-info/RECORD +542 -0
- {aip_agents_binary-0.0.0b2.dist-info → aip_agents_binary-0.5.11.dist-info}/WHEEL +2 -1
- aip_agents_binary-0.5.11.dist-info/top_level.txt +1 -0
- aip_agents/agent/types.pyi +0 -106
- aip_agents/examples/hello_world_a2a_multi_agent_coordinator_client.pyi +0 -15
- aip_agents/examples/hello_world_a2a_multi_agent_coordinator_client_streaming.pyi +0 -5
- aip_agents/examples/hello_world_a2a_multi_agent_coordinator_server.pyi +0 -11
- aip_agents/examples/hello_world_langgraph_bosa.pyi +0 -5
- aip_agents/examples/tools/pr_details_bosa_tool.pyi +0 -26
- aip_agents/tools/base.pyi +0 -44
- aip_agents/tools/base_bosa_tools.pyi +0 -12
- aip_agents/tools/bosa_connector.pyi +0 -30
- aip_agents/tools/bosa_tools_interface.pyi +0 -26
- aip_agents/tools/nested_agent_tool.pyi +0 -45
- aip_agents/utils/logger_manager.pyi +0 -151
- aip_agents_binary-0.0.0b2.dist-info/METADATA +0 -277
- aip_agents_binary-0.0.0b2.dist-info/RECORD +0 -157
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from _typeshed import Incomplete
|
|
2
2
|
from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
|
|
3
3
|
from aip_agents.storage.providers.memory import InMemoryStorageProvider as InMemoryStorageProvider
|
|
4
|
-
from aip_agents.utils.
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
5
|
from dataclasses import dataclass
|
|
6
6
|
from datetime import datetime, timedelta
|
|
7
7
|
from typing import Any
|
|
@@ -91,7 +91,14 @@ class ToolOutput:
|
|
|
91
91
|
def is_metadata_only(self) -> bool:
|
|
92
92
|
"""Check if this instance contains only metadata without data."""
|
|
93
93
|
def is_expired(self, max_age: timedelta) -> bool:
|
|
94
|
-
"""Check if this output has expired based on the given maximum age.
|
|
94
|
+
"""Check if this output has expired based on the given maximum age.
|
|
95
|
+
|
|
96
|
+
Args:
|
|
97
|
+
max_age (timedelta): The maximum age allowed before expiration.
|
|
98
|
+
|
|
99
|
+
Returns:
|
|
100
|
+
bool: True if the output has expired, False otherwise.
|
|
101
|
+
"""
|
|
95
102
|
def get_data_preview(self, max_length: int = 200, storage_provider: BaseStorageProvider | None = None, thread_id: str | None = None) -> str | None:
|
|
96
103
|
"""Get a truncated string representation of the stored data.
|
|
97
104
|
|
|
@@ -109,6 +116,12 @@ class ToolOutput:
|
|
|
109
116
|
Returns a new ToolOutput instance with the same metadata but with
|
|
110
117
|
data field populated. Useful for converting metadata-only instances
|
|
111
118
|
to complete instances.
|
|
119
|
+
|
|
120
|
+
Args:
|
|
121
|
+
data (Any): The actual output data to populate.
|
|
122
|
+
|
|
123
|
+
Returns:
|
|
124
|
+
ToolOutput: A new instance with data populated.
|
|
112
125
|
"""
|
|
113
126
|
|
|
114
127
|
@dataclass
|
|
@@ -219,37 +232,6 @@ class ToolOutputManager:
|
|
|
219
232
|
A JSON string containing structured data about tool outputs. Always returns
|
|
220
233
|
valid JSON, even when no outputs are stored (empty entries list).
|
|
221
234
|
"""
|
|
222
|
-
def get_stats(self) -> dict[str, Any]:
|
|
223
|
-
"""Get thread-safe statistics about the current state of the manager.
|
|
224
|
-
|
|
225
|
-
Args:
|
|
226
|
-
thread_id: Thread ID to generate summary for.
|
|
227
|
-
max_entries: Maximum number of entries to include in the summary.
|
|
228
|
-
Defaults to 10.
|
|
229
|
-
|
|
230
|
-
Returns:
|
|
231
|
-
Dictionary containing current statistics including output count,
|
|
232
|
-
total size, call count, and thread information.
|
|
233
|
-
"""
|
|
234
|
-
def clear_all_outputs(self) -> int:
|
|
235
|
-
"""Clear all stored outputs and reset counters.
|
|
236
|
-
|
|
237
|
-
Thread-safe: This method uses internal locking to ensure safe concurrent access.
|
|
238
|
-
|
|
239
|
-
Returns:
|
|
240
|
-
Number of outputs that were cleared.
|
|
241
|
-
"""
|
|
242
|
-
def clear_thread_outputs(self, thread_id: str) -> int:
|
|
243
|
-
"""Clear all stored outputs for a specific thread.
|
|
244
|
-
|
|
245
|
-
Thread-safe: This method uses internal locking to ensure safe concurrent access.
|
|
246
|
-
|
|
247
|
-
Args:
|
|
248
|
-
thread_id: The thread ID to clear outputs for.
|
|
249
|
-
|
|
250
|
-
Returns:
|
|
251
|
-
Number of outputs that were cleared for the thread.
|
|
252
|
-
"""
|
|
253
235
|
def clear_all(self) -> None:
|
|
254
236
|
"""Clear all stored outputs from both metadata and storage.
|
|
255
237
|
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"""Defines a logger for logging.
|
|
2
|
+
|
|
3
|
+
Example of displayed logs using simple format:
|
|
4
|
+
[2025-11-27T15:50:03+0700.643 uvicorn.error INFO] Application startup complete.
|
|
5
|
+
|
|
6
|
+
Example of displayed logs using JSON format:
|
|
7
|
+
{"timestamp": "2025-11-27T15:51:00+0700", "name": "uvicorn.error", "level": "INFO", "message": "Application startup complete."}
|
|
8
|
+
|
|
9
|
+
Authors:
|
|
10
|
+
Reinhart Linanda (reinhart.linanda@gdplabs.id)
|
|
11
|
+
|
|
12
|
+
References:
|
|
13
|
+
[1] https://github.com/GDP-ADMIN/gsdp
|
|
14
|
+
[2] https://docs.google.com/document/d/1RnXbiAGc6vCFt03YPMM8UleRy0h_pRjzqobdb_u8ty0/edit?tab=t.0
|
|
15
|
+
(Proposal for Standardized Log Format)
|
|
16
|
+
[3] https://github.com/GDP-ADMIN/glchat/blob/main/applications/glchat-be/glchat_be/utils/logger.py
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
import logging
|
|
20
|
+
import os
|
|
21
|
+
import threading
|
|
22
|
+
import warnings
|
|
23
|
+
|
|
24
|
+
from dotenv import load_dotenv
|
|
25
|
+
from gllm_core.utils.logger_manager import LoggerManager
|
|
26
|
+
|
|
27
|
+
load_dotenv()
|
|
28
|
+
|
|
29
|
+
LOGGER_NAME = "AIPAgentsLogger"
|
|
30
|
+
|
|
31
|
+
LOG_LEVEL = os.getenv("LOG_LEVEL", logging.INFO)
|
|
32
|
+
if isinstance(LOG_LEVEL, str):
|
|
33
|
+
try:
|
|
34
|
+
LOG_LEVEL = getattr(logging, LOG_LEVEL.upper())
|
|
35
|
+
except AttributeError:
|
|
36
|
+
LOG_LEVEL = logging.INFO
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class _GoogleAdkLogFilter(logging.Filter):
|
|
40
|
+
"""Suppress noisy Google ADK model registry logs.
|
|
41
|
+
|
|
42
|
+
Google ADK emits a burst of INFO logs when registering Gemini model patterns.
|
|
43
|
+
They are redundant (class is unchanged) and clutter our startup output, so we
|
|
44
|
+
drop them at the logging infrastructure level instead of touching ADK internals.
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
SUPPRESSED_PREFIX = "Updating LLM class for"
|
|
48
|
+
|
|
49
|
+
def filter(self, record: logging.LogRecord) -> bool:
|
|
50
|
+
"""Return False when the log should be discarded.
|
|
51
|
+
|
|
52
|
+
Args:
|
|
53
|
+
record (logging.LogRecord): The log record to filter.
|
|
54
|
+
|
|
55
|
+
Returns:
|
|
56
|
+
bool: True if the log should be processed, False if it should be discarded.
|
|
57
|
+
"""
|
|
58
|
+
if not record.name.startswith("google.adk"):
|
|
59
|
+
return True
|
|
60
|
+
|
|
61
|
+
try:
|
|
62
|
+
message = record.getMessage()
|
|
63
|
+
except Exception: # pragma: no cover - defensive fallback
|
|
64
|
+
message = str(record.msg)
|
|
65
|
+
|
|
66
|
+
if isinstance(message, str) and message.startswith(self.SUPPRESSED_PREFIX):
|
|
67
|
+
return False
|
|
68
|
+
|
|
69
|
+
return True
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
LOG_FILTERS = [_GoogleAdkLogFilter()]
|
|
73
|
+
|
|
74
|
+
logger_manager = LoggerManager()
|
|
75
|
+
root_logger = logger_manager.get_logger()
|
|
76
|
+
|
|
77
|
+
_LOGGER_LOCK = threading.Lock()
|
|
78
|
+
|
|
79
|
+
_LOG_FILTERS_CONFIGURED = False
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
def _configure_log_filters() -> None:
|
|
83
|
+
"""Configure log filters to be applied to all handlers."""
|
|
84
|
+
global _LOG_FILTERS_CONFIGURED
|
|
85
|
+
|
|
86
|
+
with _LOGGER_LOCK:
|
|
87
|
+
if _LOG_FILTERS_CONFIGURED:
|
|
88
|
+
return
|
|
89
|
+
|
|
90
|
+
for log_filter in LOG_FILTERS:
|
|
91
|
+
root_logger.addFilter(log_filter)
|
|
92
|
+
for handler in root_logger.handlers:
|
|
93
|
+
handler.addFilter(log_filter)
|
|
94
|
+
|
|
95
|
+
_LOG_FILTERS_CONFIGURED = True
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
_configure_log_filters()
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def get_logger(name: str = LOGGER_NAME, level: int = LOG_LEVEL) -> logging.Logger:
|
|
102
|
+
"""Get a logger instance.
|
|
103
|
+
|
|
104
|
+
Args:
|
|
105
|
+
name (str): The name of the logger. Defaults to AIPAgentsLogger.
|
|
106
|
+
level (int): The level of the logger. Defaults to INFO.
|
|
107
|
+
|
|
108
|
+
Returns:
|
|
109
|
+
logging.Logger: The logger instance.
|
|
110
|
+
"""
|
|
111
|
+
with _LOGGER_LOCK:
|
|
112
|
+
if not name:
|
|
113
|
+
name = LOGGER_NAME
|
|
114
|
+
if logging._levelToName.get(level) is None:
|
|
115
|
+
level = LOG_LEVEL
|
|
116
|
+
|
|
117
|
+
logger = logger_manager.get_logger(name)
|
|
118
|
+
logger.setLevel(level)
|
|
119
|
+
logger.propagate = False
|
|
120
|
+
|
|
121
|
+
if not logger.hasHandlers():
|
|
122
|
+
logger.handlers = root_logger.handlers
|
|
123
|
+
|
|
124
|
+
return logger
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
logger = get_logger()
|
|
128
|
+
|
|
129
|
+
THIRD_PARTY_LOGGER_NAMES = [
|
|
130
|
+
"uvicorn",
|
|
131
|
+
"uvicorn.access",
|
|
132
|
+
"uvicorn.error",
|
|
133
|
+
"apscheduler",
|
|
134
|
+
"apscheduler.scheduler",
|
|
135
|
+
"apscheduler.executors.default",
|
|
136
|
+
"apscheduler.jobstores.default",
|
|
137
|
+
]
|
|
138
|
+
|
|
139
|
+
_THIRD_PARTY_LOGGERS_CONFIGURED = False
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
def _configure_third_party_loggers() -> None:
|
|
143
|
+
"""Configure third-party loggers to use the same handlers and settings."""
|
|
144
|
+
global _THIRD_PARTY_LOGGERS_CONFIGURED
|
|
145
|
+
|
|
146
|
+
with _LOGGER_LOCK:
|
|
147
|
+
if _THIRD_PARTY_LOGGERS_CONFIGURED:
|
|
148
|
+
return
|
|
149
|
+
|
|
150
|
+
for name in THIRD_PARTY_LOGGER_NAMES:
|
|
151
|
+
third_party_logger = logging.getLogger(name)
|
|
152
|
+
third_party_logger.handlers = logger.handlers
|
|
153
|
+
third_party_logger.setLevel(logger.level)
|
|
154
|
+
third_party_logger.propagate = logger.propagate
|
|
155
|
+
|
|
156
|
+
_THIRD_PARTY_LOGGERS_CONFIGURED = True
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
_configure_third_party_loggers()
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
class LoggerManager:
|
|
163
|
+
"""A singleton class to manage logging configuration.
|
|
164
|
+
|
|
165
|
+
This class is deprecated and will be removed in a future version.
|
|
166
|
+
Use get_logger() function directly instead.
|
|
167
|
+
"""
|
|
168
|
+
|
|
169
|
+
_instance = None
|
|
170
|
+
_lock = threading.Lock()
|
|
171
|
+
|
|
172
|
+
def __new__(cls):
|
|
173
|
+
"""Initialize the singleton instance."""
|
|
174
|
+
warnings.warn(
|
|
175
|
+
"LoggerManager is deprecated and will be removed in a future version. "
|
|
176
|
+
"Use get_logger() function directly instead.",
|
|
177
|
+
DeprecationWarning,
|
|
178
|
+
stacklevel=2,
|
|
179
|
+
)
|
|
180
|
+
with cls._lock:
|
|
181
|
+
if cls._instance is None:
|
|
182
|
+
cls._instance = super().__new__(cls)
|
|
183
|
+
return cls._instance
|
|
184
|
+
|
|
185
|
+
def get_logger(self, name: str = LOGGER_NAME, level: int = LOG_LEVEL) -> logging.Logger:
|
|
186
|
+
"""Get a logger instance.
|
|
187
|
+
|
|
188
|
+
Args:
|
|
189
|
+
name (str): The name of the logger. Defaults to AIPAgentsLogger.
|
|
190
|
+
level (int): The level of the logger. Defaults to INFO.
|
|
191
|
+
|
|
192
|
+
Returns:
|
|
193
|
+
logging.Logger: The logger instance.
|
|
194
|
+
"""
|
|
195
|
+
return get_logger(name, level)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from _typeshed import Incomplete
|
|
3
|
+
|
|
4
|
+
LOGGER_NAME: str
|
|
5
|
+
LOG_LEVEL: Incomplete
|
|
6
|
+
|
|
7
|
+
class _GoogleAdkLogFilter(logging.Filter):
|
|
8
|
+
"""Suppress noisy Google ADK model registry logs.
|
|
9
|
+
|
|
10
|
+
Google ADK emits a burst of INFO logs when registering Gemini model patterns.
|
|
11
|
+
They are redundant (class is unchanged) and clutter our startup output, so we
|
|
12
|
+
drop them at the logging infrastructure level instead of touching ADK internals.
|
|
13
|
+
"""
|
|
14
|
+
SUPPRESSED_PREFIX: str
|
|
15
|
+
def filter(self, record: logging.LogRecord) -> bool:
|
|
16
|
+
"""Return False when the log should be discarded.
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
record (logging.LogRecord): The log record to filter.
|
|
20
|
+
|
|
21
|
+
Returns:
|
|
22
|
+
bool: True if the log should be processed, False if it should be discarded.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
LOG_FILTERS: Incomplete
|
|
26
|
+
logger_manager: Incomplete
|
|
27
|
+
root_logger: Incomplete
|
|
28
|
+
|
|
29
|
+
def get_logger(name: str = ..., level: int = ...) -> logging.Logger:
|
|
30
|
+
"""Get a logger instance.
|
|
31
|
+
|
|
32
|
+
Args:
|
|
33
|
+
name (str): The name of the logger. Defaults to AIPAgentsLogger.
|
|
34
|
+
level (int): The level of the logger. Defaults to INFO.
|
|
35
|
+
|
|
36
|
+
Returns:
|
|
37
|
+
logging.Logger: The logger instance.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
logger: Incomplete
|
|
41
|
+
THIRD_PARTY_LOGGER_NAMES: Incomplete
|
|
42
|
+
|
|
43
|
+
class LoggerManager:
|
|
44
|
+
"""A singleton class to manage logging configuration.
|
|
45
|
+
|
|
46
|
+
This class is deprecated and will be removed in a future version.
|
|
47
|
+
Use get_logger() function directly instead.
|
|
48
|
+
"""
|
|
49
|
+
def __new__(cls):
|
|
50
|
+
"""Initialize the singleton instance."""
|
|
51
|
+
def get_logger(self, name: str = ..., level: int = ...) -> logging.Logger:
|
|
52
|
+
"""Get a logger instance.
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
name (str): The name of the logger. Defaults to AIPAgentsLogger.
|
|
56
|
+
level (int): The level of the logger. Defaults to INFO.
|
|
57
|
+
|
|
58
|
+
Returns:
|
|
59
|
+
logging.Logger: The logger instance.
|
|
60
|
+
"""
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""Metadata utilities module.
|
|
2
|
+
|
|
3
|
+
This module contains utilities for creating and handling metadata for A2A communication.
|
|
4
|
+
|
|
5
|
+
Authors:
|
|
6
|
+
Fachriza Adhiatma (fachriza.d.adhiatma@gdplabs.id)
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from aip_agents.utils.metadata.activity_metadata_helper import (
|
|
10
|
+
DEFAULT_ACTIVITY_INFO,
|
|
11
|
+
_format_tool_or_subagent_name,
|
|
12
|
+
create_tool_activity_info,
|
|
13
|
+
)
|
|
14
|
+
from aip_agents.utils.metadata.schemas import Activity, ActivityDataType, Thinking
|
|
15
|
+
from aip_agents.utils.metadata.thinking_metadata_helper import (
|
|
16
|
+
FINAL_THINKING_INFO,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
__all__ = [
|
|
20
|
+
"Activity",
|
|
21
|
+
"ActivityDataType",
|
|
22
|
+
"Thinking",
|
|
23
|
+
"create_tool_activity_info",
|
|
24
|
+
"DEFAULT_ACTIVITY_INFO",
|
|
25
|
+
"_format_tool_or_subagent_name",
|
|
26
|
+
"FINAL_THINKING_INFO",
|
|
27
|
+
]
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.utils.metadata.activity_metadata_helper import DEFAULT_ACTIVITY_INFO as DEFAULT_ACTIVITY_INFO, _format_tool_or_subagent_name as _format_tool_or_subagent_name, create_tool_activity_info as create_tool_activity_info
|
|
2
|
+
from aip_agents.utils.metadata.schemas import Activity as Activity, ActivityDataType as ActivityDataType, Thinking as Thinking
|
|
3
|
+
from aip_agents.utils.metadata.thinking_metadata_helper import FINAL_THINKING_INFO as FINAL_THINKING_INFO
|
|
4
|
+
|
|
5
|
+
__all__ = ['Activity', 'ActivityDataType', 'Thinking', 'create_tool_activity_info', 'DEFAULT_ACTIVITY_INFO', '_format_tool_or_subagent_name', 'FINAL_THINKING_INFO']
|