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.
- aip_agents/__init__.py +65 -0
- aip_agents/a2a/__init__.py +19 -0
- aip_agents/a2a/server/__init__.py +10 -0
- aip_agents/a2a/server/base_executor.py +1086 -0
- aip_agents/a2a/server/google_adk_executor.py +198 -0
- aip_agents/a2a/server/langflow_executor.py +180 -0
- aip_agents/a2a/server/langgraph_executor.py +270 -0
- aip_agents/a2a/types.py +232 -0
- aip_agents/agent/__init__.py +27 -0
- aip_agents/agent/base_agent.py +970 -0
- aip_agents/agent/base_langgraph_agent.py +2942 -0
- aip_agents/agent/google_adk_agent.py +926 -0
- aip_agents/agent/google_adk_constants.py +6 -0
- aip_agents/agent/hitl/__init__.py +24 -0
- aip_agents/agent/hitl/config.py +28 -0
- aip_agents/agent/hitl/langgraph_hitl_mixin.py +515 -0
- aip_agents/agent/hitl/manager.py +532 -0
- aip_agents/agent/hitl/models.py +18 -0
- aip_agents/agent/hitl/prompt/__init__.py +9 -0
- aip_agents/agent/hitl/prompt/base.py +42 -0
- aip_agents/agent/hitl/prompt/deferred.py +73 -0
- aip_agents/agent/hitl/registry.py +149 -0
- aip_agents/agent/{interface.pyi → interface.py} +70 -13
- aip_agents/agent/interfaces.py +65 -0
- aip_agents/agent/langflow_agent.py +464 -0
- aip_agents/agent/langgraph_memory_enhancer_agent.py +433 -0
- aip_agents/agent/langgraph_react_agent.py +2514 -0
- aip_agents/agent/system_instruction_context.py +34 -0
- aip_agents/clients/__init__.py +10 -0
- aip_agents/clients/langflow/__init__.py +10 -0
- aip_agents/clients/langflow/client.py +477 -0
- aip_agents/clients/langflow/types.py +18 -0
- aip_agents/constants.py +23 -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_server.py +142 -0
- aip_agents/examples/demo_memory_recall.py +401 -0
- aip_agents/examples/hello_world_a2a_google_adk_client.py +49 -0
- aip_agents/examples/hello_world_a2a_google_adk_client_agent.py +48 -0
- aip_agents/examples/hello_world_a2a_google_adk_client_streaming.py +60 -0
- aip_agents/examples/hello_world_a2a_google_adk_server.py +79 -0
- aip_agents/examples/hello_world_a2a_langchain_client.py +39 -0
- aip_agents/examples/hello_world_a2a_langchain_client_agent.py +39 -0
- aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.py +37 -0
- aip_agents/examples/hello_world_a2a_langchain_client_streaming.py +41 -0
- aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.py +60 -0
- aip_agents/examples/hello_world_a2a_langchain_reference_server.py +105 -0
- aip_agents/examples/hello_world_a2a_langchain_server.py +79 -0
- aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.py +78 -0
- aip_agents/examples/hello_world_a2a_langflow_client.py +83 -0
- aip_agents/examples/hello_world_a2a_langflow_server.py +82 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client.py +73 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.py +76 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_server.py +92 -0
- aip_agents/examples/hello_world_a2a_langgraph_client.py +54 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_agent.py +54 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.py +32 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming.py +50 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.py +44 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.py +92 -0
- aip_agents/examples/hello_world_a2a_langgraph_server.py +84 -0
- aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.py +79 -0
- aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.py +132 -0
- aip_agents/examples/hello_world_a2a_mcp_langgraph.py +196 -0
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.py +244 -0
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.py +251 -0
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.py +57 -0
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.py +80 -0
- 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_stream.py +42 -0
- aip_agents/examples/hello_world_langchain_mcp_multi_server.py +155 -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_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_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_sentry.py +133 -0
- aip_agents/examples/hello_world_step_limits.py +273 -0
- aip_agents/examples/hello_world_stock_a2a_server.py +103 -0
- aip_agents/examples/hello_world_tool_output_client.py +46 -0
- aip_agents/examples/hello_world_tool_output_server.py +114 -0
- aip_agents/examples/hitl_demo.py +724 -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_server.py +126 -0
- aip_agents/examples/pii_demo_multi_agent_client.py +80 -0
- aip_agents/examples/pii_demo_multi_agent_server.py +247 -0
- aip_agents/examples/todolist_planning_a2a_langchain_client.py +70 -0
- aip_agents/examples/todolist_planning_a2a_langgraph_server.py +88 -0
- aip_agents/examples/tools/__init__.py +27 -0
- aip_agents/examples/tools/{adk_arithmetic_tools.pyi → adk_arithmetic_tools.py} +12 -0
- aip_agents/examples/tools/adk_weather_tool.py +60 -0
- aip_agents/examples/tools/data_generator_tool.py +103 -0
- aip_agents/examples/tools/data_visualization_tool.py +312 -0
- aip_agents/examples/tools/image_artifact_tool.py +136 -0
- aip_agents/examples/tools/langchain_arithmetic_tools.py +26 -0
- aip_agents/examples/tools/langchain_currency_exchange_tool.py +88 -0
- aip_agents/examples/tools/langchain_graph_artifact_tool.py +172 -0
- aip_agents/examples/tools/langchain_weather_tool.py +48 -0
- aip_agents/examples/tools/langgraph_streaming_tool.py +130 -0
- aip_agents/examples/tools/mock_retrieval_tool.py +56 -0
- aip_agents/examples/tools/pii_demo_tools.py +189 -0
- aip_agents/examples/tools/random_chart_tool.py +142 -0
- aip_agents/examples/tools/serper_tool.py +202 -0
- aip_agents/examples/tools/stock_tools.py +82 -0
- 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/base_mcp_client.py +369 -0
- aip_agents/mcp/client/connection_manager.py +193 -0
- aip_agents/mcp/client/google_adk/__init__.py +11 -0
- aip_agents/mcp/client/google_adk/client.py +381 -0
- aip_agents/mcp/client/langchain/__init__.py +11 -0
- aip_agents/mcp/client/langchain/client.py +265 -0
- aip_agents/mcp/client/persistent_session.py +359 -0
- aip_agents/mcp/client/session_pool.py +351 -0
- aip_agents/mcp/client/transports.py +215 -0
- aip_agents/mcp/utils/__init__.py +7 -0
- aip_agents/mcp/utils/config_validator.py +139 -0
- aip_agents/memory/__init__.py +14 -0
- aip_agents/memory/adapters/__init__.py +10 -0
- aip_agents/memory/adapters/base_adapter.py +717 -0
- aip_agents/memory/adapters/mem0.py +84 -0
- aip_agents/memory/{base.pyi → base.py} +40 -5
- aip_agents/memory/constants.py +49 -0
- aip_agents/memory/factory.py +86 -0
- aip_agents/memory/guidance.py +20 -0
- aip_agents/memory/simple_memory.py +47 -0
- aip_agents/middleware/__init__.py +17 -0
- aip_agents/middleware/base.py +88 -0
- aip_agents/middleware/manager.py +128 -0
- aip_agents/middleware/todolist.py +274 -0
- aip_agents/schema/__init__.py +69 -0
- aip_agents/schema/a2a.py +56 -0
- aip_agents/schema/agent.py +111 -0
- aip_agents/schema/hitl.py +157 -0
- aip_agents/schema/langgraph.py +37 -0
- aip_agents/schema/model_id.py +97 -0
- aip_agents/schema/step_limit.py +108 -0
- aip_agents/schema/storage.py +40 -0
- aip_agents/sentry/__init__.py +11 -0
- aip_agents/sentry/sentry.py +151 -0
- aip_agents/storage/__init__.py +41 -0
- aip_agents/storage/{base.pyi → base.py} +30 -4
- 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/providers/__init__.py +15 -0
- aip_agents/storage/providers/{base.pyi → base.py} +23 -6
- aip_agents/storage/providers/{memory.pyi → memory.py} +38 -3
- aip_agents/storage/providers/object_storage.py +214 -0
- aip_agents/tools/__init__.py +6 -0
- aip_agents/tools/bosa_tools.py +105 -0
- aip_agents/tools/browser_use/__init__.py +82 -0
- aip_agents/tools/browser_use/action_parser.py +103 -0
- aip_agents/tools/browser_use/browser_use_tool.py +1112 -0
- aip_agents/tools/browser_use/llm_config.py +120 -0
- aip_agents/tools/browser_use/minio_storage.py +198 -0
- aip_agents/tools/browser_use/schemas.py +119 -0
- aip_agents/tools/browser_use/session.py +76 -0
- aip_agents/tools/browser_use/session_errors.py +132 -0
- aip_agents/tools/browser_use/steel_session_recording.py +317 -0
- aip_agents/tools/browser_use/streaming.py +813 -0
- aip_agents/tools/browser_use/structured_data_parser.py +257 -0
- aip_agents/tools/browser_use/structured_data_recovery.py +204 -0
- aip_agents/tools/browser_use/types.py +78 -0
- aip_agents/tools/code_sandbox/__init__.py +26 -0
- aip_agents/tools/code_sandbox/constant.py +13 -0
- aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.py +257 -0
- aip_agents/tools/code_sandbox/e2b_sandbox_tool.py +411 -0
- aip_agents/tools/constants.py +165 -0
- aip_agents/tools/document_loader/__init__.py +37 -0
- aip_agents/tools/document_loader/base_reader.py +262 -0
- aip_agents/tools/document_loader/docx_reader_tool.py +53 -0
- aip_agents/tools/document_loader/excel_reader_tool.py +160 -0
- aip_agents/tools/document_loader/pdf_reader_tool.py +67 -0
- aip_agents/tools/document_loader/pdf_splitter.py +169 -0
- aip_agents/tools/gl_connector/__init__.py +5 -0
- aip_agents/tools/gl_connector/tool.py +351 -0
- aip_agents/tools/memory_search/__init__.py +22 -0
- aip_agents/tools/memory_search/base.py +200 -0
- aip_agents/tools/memory_search/mem0.py +258 -0
- aip_agents/tools/memory_search/schema.py +48 -0
- aip_agents/tools/memory_search_tool.py +26 -0
- aip_agents/tools/tool_config_injector.py +300 -0
- aip_agents/tools/web_search/__init__.py +15 -0
- aip_agents/tools/web_search/serper_tool.py +187 -0
- aip_agents/types/__init__.py +70 -0
- aip_agents/types/a2a_events.py +13 -0
- aip_agents/utils/__init__.py +79 -0
- aip_agents/utils/a2a_connector.py +1757 -0
- aip_agents/utils/artifact_helpers.py +502 -0
- aip_agents/utils/constants.py +22 -0
- aip_agents/utils/datetime/__init__.py +34 -0
- aip_agents/utils/datetime/normalization.py +231 -0
- aip_agents/utils/datetime/timezone.py +206 -0
- aip_agents/utils/env_loader.py +27 -0
- aip_agents/utils/event_handler_registry.py +58 -0
- aip_agents/utils/file_prompt_utils.py +176 -0
- aip_agents/utils/final_response_builder.py +211 -0
- aip_agents/utils/formatter_llm_client.py +231 -0
- aip_agents/utils/langgraph/__init__.py +19 -0
- aip_agents/utils/langgraph/converter.py +128 -0
- 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/{base_tool_manager.pyi → base_tool_manager.py} +25 -8
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.py +1071 -0
- aip_agents/utils/langgraph/tool_output_management.py +967 -0
- aip_agents/utils/logger.py +195 -0
- aip_agents/utils/metadata/__init__.py +27 -0
- aip_agents/utils/metadata/activity_metadata_helper.py +407 -0
- aip_agents/utils/metadata/activity_narrative/__init__.py +35 -0
- aip_agents/utils/metadata/activity_narrative/builder.py +817 -0
- aip_agents/utils/metadata/activity_narrative/constants.py +51 -0
- aip_agents/utils/metadata/activity_narrative/context.py +49 -0
- aip_agents/utils/metadata/activity_narrative/formatters.py +230 -0
- aip_agents/utils/metadata/activity_narrative/utils.py +35 -0
- aip_agents/utils/metadata/schemas/__init__.py +16 -0
- aip_agents/utils/metadata/schemas/activity_schema.py +29 -0
- aip_agents/utils/metadata/schemas/thinking_schema.py +31 -0
- aip_agents/utils/metadata/thinking_metadata_helper.py +38 -0
- aip_agents/utils/metadata_helper.py +358 -0
- aip_agents/utils/name_preprocessor/__init__.py +17 -0
- aip_agents/utils/name_preprocessor/{base_name_preprocessor.pyi → base_name_preprocessor.py} +22 -2
- aip_agents/utils/name_preprocessor/google_name_preprocessor.py +100 -0
- aip_agents/utils/name_preprocessor/name_preprocessor.py +87 -0
- aip_agents/utils/name_preprocessor/{openai_name_preprocessor.pyi → openai_name_preprocessor.py} +19 -5
- aip_agents/utils/pii/__init__.py +25 -0
- aip_agents/utils/pii/pii_handler.py +397 -0
- aip_agents/utils/pii/pii_helper.py +207 -0
- aip_agents/utils/pii/uuid_deanonymizer_mapping.py +195 -0
- aip_agents/utils/reference_helper.py +273 -0
- aip_agents/utils/sse_chunk_transformer.py +831 -0
- aip_agents/utils/step_limit_manager.py +265 -0
- aip_agents/utils/token_usage_helper.py +156 -0
- aip_agents_binary-0.5.12.dist-info/METADATA +689 -0
- aip_agents_binary-0.5.12.dist-info/RECORD +279 -0
- {aip_agents_binary-0.0.0b2.dist-info → aip_agents_binary-0.5.12.dist-info}/WHEEL +2 -1
- aip_agents_binary-0.5.12.dist-info/top_level.txt +1 -0
- aip_agents/__init__.pyi +0 -0
- aip_agents/a2a/__init__.pyi +0 -3
- aip_agents/a2a/server/__init__.pyi +0 -4
- aip_agents/a2a/server/base_executor.pyi +0 -63
- aip_agents/a2a/server/google_adk_executor.pyi +0 -51
- aip_agents/a2a/server/langgraph_executor.pyi +0 -48
- aip_agents/a2a/types.pyi +0 -125
- aip_agents/agent/__init__.pyi +0 -7
- aip_agents/agent/base_agent.pyi +0 -205
- aip_agents/agent/base_langgraph_agent.pyi +0 -164
- aip_agents/agent/google_adk_agent.pyi +0 -128
- aip_agents/agent/langgraph_react_agent.pyi +0 -131
- aip_agents/agent/types.pyi +0 -106
- aip_agents/constants.pyi +0 -6
- aip_agents/examples/__init__.pyi +0 -0
- aip_agents/examples/hello_world_a2a_google_adk_client.pyi +0 -9
- aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +0 -9
- aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +0 -9
- aip_agents/examples/hello_world_a2a_google_adk_server.pyi +0 -10
- aip_agents/examples/hello_world_a2a_langchain_client.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +0 -10
- aip_agents/examples/hello_world_a2a_langchain_server.pyi +0 -10
- aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +0 -10
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +0 -11
- aip_agents/examples/hello_world_a2a_langgraph_client.pyi +0 -9
- aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +0 -9
- aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +0 -2
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +0 -9
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +0 -5
- aip_agents/examples/hello_world_a2a_langgraph_server.pyi +0 -9
- aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +0 -10
- aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +0 -10
- aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +0 -48
- 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_a2a_three_level_agent_hierarchy_client.pyi +0 -23
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +0 -17
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +0 -5
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +0 -10
- aip_agents/examples/hello_world_google_adk.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_http.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_http_stream.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_sse.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_sse_stream.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_stdio.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.pyi +0 -5
- aip_agents/examples/hello_world_google_adk_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain.pyi +0 -5
- aip_agents/examples/hello_world_langchain_lm_invoker.pyi +0 -2
- aip_agents/examples/hello_world_langchain_mcp_http.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_http_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_sse.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_sse_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_stdio.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_stdio_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain_stream_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_langgraph.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_bosa.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_bosa_twitter.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_http.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_http_stream.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_sse.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_sse_stream.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_stdio.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_stream.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_stream_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_model_switch_cli.pyi +0 -15
- aip_agents/examples/hello_world_multi_agent_adk.pyi +0 -6
- aip_agents/examples/hello_world_multi_agent_langchain.pyi +0 -5
- aip_agents/examples/hello_world_multi_agent_langgraph.pyi +0 -5
- aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.pyi +0 -5
- aip_agents/examples/hello_world_pii_logger.pyi +0 -5
- aip_agents/examples/hello_world_sentry.pyi +0 -21
- aip_agents/examples/hello_world_stock_a2a_server.pyi +0 -12
- aip_agents/examples/hello_world_tool_output_client.pyi +0 -5
- aip_agents/examples/hello_world_tool_output_server.pyi +0 -14
- aip_agents/examples/tools/__init__.pyi +0 -7
- aip_agents/examples/tools/adk_weather_tool.pyi +0 -18
- aip_agents/examples/tools/data_generator_tool.pyi +0 -15
- aip_agents/examples/tools/data_visualization_tool.pyi +0 -17
- aip_agents/examples/tools/image_artifact_tool.pyi +0 -24
- aip_agents/examples/tools/langchain_arithmetic_tools.pyi +0 -10
- aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +0 -21
- aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +0 -23
- aip_agents/examples/tools/langchain_weather_tool.pyi +0 -19
- aip_agents/examples/tools/langgraph_streaming_tool.pyi +0 -43
- aip_agents/examples/tools/pr_details_bosa_tool.pyi +0 -26
- aip_agents/examples/tools/serper_tool.pyi +0 -16
- aip_agents/examples/tools/stock_tools.pyi +0 -21
- aip_agents/examples/tools/table_generator_tool.pyi +0 -22
- aip_agents/examples/tools/time_tool.pyi +0 -15
- aip_agents/examples/tools/weather_forecast_tool.pyi +0 -14
- aip_agents/mcp/__init__.pyi +0 -0
- aip_agents/mcp/client/__init__.pyi +0 -4
- aip_agents/mcp/client/google_adk/__init__.pyi +0 -3
- aip_agents/mcp/client/google_adk/client.pyi +0 -38
- aip_agents/mcp/client/langchain/__init__.pyi +0 -3
- aip_agents/mcp/client/langchain/client.pyi +0 -3
- aip_agents/memory/__init__.pyi +0 -0
- aip_agents/memory/simple_memory.pyi +0 -22
- aip_agents/sentry/__init__.pyi +0 -3
- aip_agents/sentry/sentry.pyi +0 -48
- aip_agents/storage/__init__.pyi +0 -8
- aip_agents/storage/clients/__init__.pyi +0 -3
- aip_agents/storage/clients/minio_client.pyi +0 -137
- aip_agents/storage/config.pyi +0 -66
- aip_agents/storage/providers/__init__.pyi +0 -5
- aip_agents/storage/providers/object_storage.pyi +0 -98
- aip_agents/tools/__init__.pyi +0 -3
- 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.pyi +0 -37
- aip_agents/tools/bosa_tools_interface.pyi +0 -26
- aip_agents/tools/constants.pyi +0 -130
- aip_agents/tools/nested_agent_tool.pyi +0 -45
- aip_agents/tools/tool_config_injector.pyi +0 -26
- aip_agents/types/__init__.pyi +0 -3
- aip_agents/types/a2a_events.pyi +0 -74
- aip_agents/utils/__init__.pyi +0 -5
- aip_agents/utils/a2a_connector.pyi +0 -135
- aip_agents/utils/artifact_helpers.pyi +0 -179
- aip_agents/utils/langgraph/__init__.pyi +0 -3
- aip_agents/utils/langgraph/converter.pyi +0 -49
- aip_agents/utils/langgraph/tool_managers/__init__.pyi +0 -5
- aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +0 -35
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +0 -50
- aip_agents/utils/langgraph/tool_output_management.pyi +0 -310
- aip_agents/utils/logger_manager.pyi +0 -151
- aip_agents/utils/metadata_helper.pyi +0 -110
- aip_agents/utils/name_preprocessor/__init__.pyi +0 -6
- aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +0 -38
- aip_agents/utils/name_preprocessor/name_preprocessor.pyi +0 -41
- aip_agents/utils/reference_helper.pyi +0 -49
- aip_agents/utils/token_usage_helper.pyi +0 -60
- aip_agents_binary-0.0.0b2.dist-info/METADATA +0 -277
- aip_agents_binary-0.0.0b2.dist-info/RECORD +0 -157
aip_agents/sentry/sentry.pyi
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.agent import BaseAgent as BaseAgent, GoogleADKAgent as GoogleADKAgent, LangChainAgent as LangChainAgent, LangGraphAgent as LangGraphAgent
|
|
3
|
-
from aip_agents.utils.logger_manager import LoggerManager as LoggerManager
|
|
4
|
-
from fastapi import FastAPI as FastAPI
|
|
5
|
-
|
|
6
|
-
logger: Incomplete
|
|
7
|
-
SENTRY_DSN: Incomplete
|
|
8
|
-
SENTRY_ENVIRONMENT: Incomplete
|
|
9
|
-
SENTRY_PROJECT: Incomplete
|
|
10
|
-
VERSION_NUMBER: Incomplete
|
|
11
|
-
BUILD_NUMBER: Incomplete
|
|
12
|
-
USE_OPENTELEMETRY: Incomplete
|
|
13
|
-
CLASSES_TO_INSTRUMENT: Incomplete
|
|
14
|
-
|
|
15
|
-
def get_all_methods(cls) -> list:
|
|
16
|
-
"""Get all methods from a class.
|
|
17
|
-
|
|
18
|
-
Args:
|
|
19
|
-
cls: The class to get methods from.
|
|
20
|
-
|
|
21
|
-
Returns:
|
|
22
|
-
list: A list of methods.
|
|
23
|
-
"""
|
|
24
|
-
def instrument_bosa_functions() -> None:
|
|
25
|
-
"""Instrument BOSA functions."""
|
|
26
|
-
def traces_sampler(*args) -> float:
|
|
27
|
-
"""Determine appropriate sampling rate for Sentry transactions.
|
|
28
|
-
|
|
29
|
-
Args:
|
|
30
|
-
*args: Additional positional arguments
|
|
31
|
-
|
|
32
|
-
Returns:
|
|
33
|
-
float: Sampling rate between 0 and 1
|
|
34
|
-
"""
|
|
35
|
-
def setup_sentry_with_open_telemetry(app: FastAPI) -> None:
|
|
36
|
-
"""Configure telemetry with both Sentry and OpenTelemetry.
|
|
37
|
-
|
|
38
|
-
Args:
|
|
39
|
-
app: FastAPI application instance
|
|
40
|
-
"""
|
|
41
|
-
def setup_sentry_only() -> None:
|
|
42
|
-
"""Configure telemetry with Sentry only (no OpenTelemetry)."""
|
|
43
|
-
def setup_telemetry(app: FastAPI) -> None:
|
|
44
|
-
"""Configure and initialize telemetry based on configuration.
|
|
45
|
-
|
|
46
|
-
Args:
|
|
47
|
-
app: FastAPI application instance
|
|
48
|
-
"""
|
aip_agents/storage/__init__.pyi
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
|
|
2
|
-
from aip_agents.storage.clients.minio_client import MinioConfig as MinioConfig, MinioObjectStorage as MinioObjectStorage
|
|
3
|
-
from aip_agents.storage.config import StorageConfig as StorageConfig, StorageProviderFactory as StorageProviderFactory, StorageType as StorageType
|
|
4
|
-
from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
|
|
5
|
-
from aip_agents.storage.providers.memory import InMemoryStorageProvider as InMemoryStorageProvider
|
|
6
|
-
from aip_agents.storage.providers.object_storage import ObjectStorageProvider as ObjectStorageProvider
|
|
7
|
-
|
|
8
|
-
__all__ = ['BaseObjectStorageClient', 'MinioConfig', 'MinioObjectStorage', 'BaseStorageProvider', 'StorageError', 'InMemoryStorageProvider', 'ObjectStorageProvider', 'StorageConfig', 'StorageType', 'StorageProviderFactory']
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
|
|
3
|
-
from dataclasses import dataclass
|
|
4
|
-
from typing import BinaryIO
|
|
5
|
-
|
|
6
|
-
S3_ERR_NO_SUCH_KEY: str
|
|
7
|
-
S3_ERR_NO_SUCH_BUCKET: str
|
|
8
|
-
S3_ERR_ACCESS_DENIED: str
|
|
9
|
-
|
|
10
|
-
@dataclass
|
|
11
|
-
class MinioConfig:
|
|
12
|
-
"""Configuration for MinIO object storage client.
|
|
13
|
-
|
|
14
|
-
Attributes:
|
|
15
|
-
endpoint: MinIO server endpoint URL
|
|
16
|
-
access_key: Access key for authentication
|
|
17
|
-
secret_key: Secret key for authentication
|
|
18
|
-
bucket: Bucket name to use for storage
|
|
19
|
-
secure: Whether to use HTTPS (defaults to True)
|
|
20
|
-
"""
|
|
21
|
-
endpoint: str
|
|
22
|
-
access_key: str
|
|
23
|
-
secret_key: str
|
|
24
|
-
bucket: str
|
|
25
|
-
secure: bool = ...
|
|
26
|
-
@classmethod
|
|
27
|
-
def from_env(cls) -> MinioConfig:
|
|
28
|
-
"""Create MinioConfig from environment variables.
|
|
29
|
-
|
|
30
|
-
Expected environment variables:
|
|
31
|
-
- OBJECT_STORAGE_URL
|
|
32
|
-
- OBJECT_STORAGE_USER
|
|
33
|
-
- OBJECT_STORAGE_PASSWORD
|
|
34
|
-
- OBJECT_STORAGE_BUCKET
|
|
35
|
-
- OBJECT_STORAGE_SECURE (optional, defaults to True)
|
|
36
|
-
|
|
37
|
-
Returns:
|
|
38
|
-
MinioConfig instance
|
|
39
|
-
|
|
40
|
-
Raises:
|
|
41
|
-
ValueError: If required environment variables are not set
|
|
42
|
-
"""
|
|
43
|
-
|
|
44
|
-
class MinioObjectStorage(BaseObjectStorageClient):
|
|
45
|
-
"""Implementation of ObjectStorageInterface using Minio."""
|
|
46
|
-
config: Incomplete
|
|
47
|
-
client: Incomplete
|
|
48
|
-
bucket: Incomplete
|
|
49
|
-
def __init__(self, config: MinioConfig | None = None, ensure_bucket: bool = True) -> None:
|
|
50
|
-
"""Initialize MinioObjectStorage with configuration.
|
|
51
|
-
|
|
52
|
-
Args:
|
|
53
|
-
config: MinioConfig instance. If None, will attempt to load from environment variables.
|
|
54
|
-
ensure_bucket: Whether to ensure bucket exists during initialization (optional). Defaults to True.
|
|
55
|
-
|
|
56
|
-
Raises:
|
|
57
|
-
ValueError: If configuration is invalid or incomplete
|
|
58
|
-
"""
|
|
59
|
-
def upload(self, object_key: str, file_stream: bytes | BinaryIO, filename: str | None = None, content_type: str | None = None, metadata: dict[str, str] | None = None) -> str:
|
|
60
|
-
"""Upload data to Minio object storage.
|
|
61
|
-
|
|
62
|
-
Args:
|
|
63
|
-
object_key: The key to store the object under
|
|
64
|
-
file_stream: The data to upload (bytes or file-like object)
|
|
65
|
-
filename: The filename of the data (optional)
|
|
66
|
-
content_type: The content type of the data (optional)
|
|
67
|
-
metadata: Additional metadata to store with the object (optional)
|
|
68
|
-
|
|
69
|
-
Returns:
|
|
70
|
-
The object key of the uploaded data
|
|
71
|
-
|
|
72
|
-
Raises:
|
|
73
|
-
ValueError: If the file stream is empty or invalid
|
|
74
|
-
ConnectionError: If there's an issue connecting to Minio
|
|
75
|
-
Exception: For other unexpected errors during upload
|
|
76
|
-
"""
|
|
77
|
-
def get(self, object_key: str) -> bytes:
|
|
78
|
-
"""Get data from Minio object storage.
|
|
79
|
-
|
|
80
|
-
Args:
|
|
81
|
-
object_key: The key of the object to retrieve
|
|
82
|
-
|
|
83
|
-
Returns:
|
|
84
|
-
The object data as bytes
|
|
85
|
-
|
|
86
|
-
Raises:
|
|
87
|
-
KeyError: If the object is not found
|
|
88
|
-
ConnectionError: If there's a network or connection issue
|
|
89
|
-
"""
|
|
90
|
-
def delete(self, object_key: str) -> None:
|
|
91
|
-
"""Delete data from Minio object storage.
|
|
92
|
-
|
|
93
|
-
Args:
|
|
94
|
-
object_key: The key of the object to delete
|
|
95
|
-
|
|
96
|
-
Raises:
|
|
97
|
-
ConnectionError: If there's a network or connection issue
|
|
98
|
-
"""
|
|
99
|
-
def object_exists(self, object_key: str) -> bool:
|
|
100
|
-
"""Check if an object exists in the MinIO bucket.
|
|
101
|
-
|
|
102
|
-
Args:
|
|
103
|
-
object_key: The key of the object to check.
|
|
104
|
-
|
|
105
|
-
Returns:
|
|
106
|
-
True if the object exists, False otherwise.
|
|
107
|
-
|
|
108
|
-
Raises:
|
|
109
|
-
ConnectionError: If there's a network or connection issue (excluding not found errors)
|
|
110
|
-
"""
|
|
111
|
-
def list_objects(self, prefix: str = '') -> list[str]:
|
|
112
|
-
"""List objects in the bucket with optional prefix filter.
|
|
113
|
-
|
|
114
|
-
Args:
|
|
115
|
-
prefix: Optional prefix to filter objects
|
|
116
|
-
|
|
117
|
-
Returns:
|
|
118
|
-
List of object keys
|
|
119
|
-
|
|
120
|
-
Raises:
|
|
121
|
-
ConnectionError: If there's an issue listing objects
|
|
122
|
-
"""
|
|
123
|
-
def generate_presigned_url(self, object_key: str, expires: int = 24, response_headers: dict[str, str] | None = None) -> str:
|
|
124
|
-
"""Generate a presigned URL for accessing the object.
|
|
125
|
-
|
|
126
|
-
Args:
|
|
127
|
-
object_key: The key of the object
|
|
128
|
-
expires: Expiration time in hours (defaults to 24)
|
|
129
|
-
response_headers: Additional response headers (optional)
|
|
130
|
-
|
|
131
|
-
Returns:
|
|
132
|
-
A presigned URL
|
|
133
|
-
|
|
134
|
-
Raises:
|
|
135
|
-
ValueError: If expiration time is not positive
|
|
136
|
-
ConnectionError: If there's an issue generating the URL
|
|
137
|
-
"""
|
aip_agents/storage/config.pyi
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
|
|
2
|
-
from aip_agents.storage.clients.minio_client import MinioConfig as MinioConfig, MinioObjectStorage as MinioObjectStorage
|
|
3
|
-
from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider
|
|
4
|
-
from aip_agents.storage.providers.memory import InMemoryStorageProvider as InMemoryStorageProvider
|
|
5
|
-
from aip_agents.storage.providers.object_storage import ObjectStorageProvider as ObjectStorageProvider
|
|
6
|
-
from dataclasses import dataclass
|
|
7
|
-
from enum import StrEnum
|
|
8
|
-
|
|
9
|
-
OBJECT_STORAGE_PREFIX: str
|
|
10
|
-
|
|
11
|
-
class StorageType(StrEnum):
|
|
12
|
-
"""Supported storage types."""
|
|
13
|
-
MEMORY = 'memory'
|
|
14
|
-
OBJECT_STORAGE = 'object_storage'
|
|
15
|
-
|
|
16
|
-
@dataclass
|
|
17
|
-
class StorageConfig:
|
|
18
|
-
"""Configuration for storage providers.
|
|
19
|
-
|
|
20
|
-
Attributes:
|
|
21
|
-
storage_type: Type of storage to use
|
|
22
|
-
object_prefix: Prefix for object storage keys (like a directory path)
|
|
23
|
-
object_use_json: Use JSON serialization instead of pickle for object storage
|
|
24
|
-
"""
|
|
25
|
-
storage_type: StorageType = ...
|
|
26
|
-
object_prefix: str = ...
|
|
27
|
-
object_use_json: bool = ...
|
|
28
|
-
@classmethod
|
|
29
|
-
def from_env(cls) -> StorageConfig:
|
|
30
|
-
'''Create StorageConfig from environment variables.
|
|
31
|
-
|
|
32
|
-
Environment variables:
|
|
33
|
-
- TOOL_OUTPUT_STORAGE_TYPE: "memory" or "object_storage"
|
|
34
|
-
- TOOL_OUTPUT_OBJECT_PREFIX: Prefix for object storage keys
|
|
35
|
-
- TOOL_OUTPUT_USE_JSON: "true" to use JSON serialization
|
|
36
|
-
|
|
37
|
-
Returns:
|
|
38
|
-
StorageConfig instance
|
|
39
|
-
'''
|
|
40
|
-
|
|
41
|
-
class StorageProviderFactory:
|
|
42
|
-
"""Factory for creating storage providers based on configuration."""
|
|
43
|
-
@staticmethod
|
|
44
|
-
def create(config: StorageConfig, object_storage_client: BaseObjectStorageClient | None = None) -> BaseStorageProvider:
|
|
45
|
-
"""Create storage provider based on configuration.
|
|
46
|
-
|
|
47
|
-
Args:
|
|
48
|
-
config: Storage configuration
|
|
49
|
-
object_storage_client: Object storage client (required for object storage)
|
|
50
|
-
|
|
51
|
-
Returns:
|
|
52
|
-
Configured storage provider
|
|
53
|
-
|
|
54
|
-
Raises:
|
|
55
|
-
ValueError: If configuration is invalid
|
|
56
|
-
"""
|
|
57
|
-
@staticmethod
|
|
58
|
-
def create_from_env(object_storage_client: BaseObjectStorageClient | None = None) -> BaseStorageProvider:
|
|
59
|
-
"""Create storage provider from environment variables.
|
|
60
|
-
|
|
61
|
-
Args:
|
|
62
|
-
object_storage_client: Optional object storage client
|
|
63
|
-
|
|
64
|
-
Returns:
|
|
65
|
-
Configured storage provider
|
|
66
|
-
"""
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
|
|
2
|
-
from aip_agents.storage.providers.memory import InMemoryStorageProvider as InMemoryStorageProvider
|
|
3
|
-
from aip_agents.storage.providers.object_storage import ObjectStorageProvider as ObjectStorageProvider
|
|
4
|
-
|
|
5
|
-
__all__ = ['BaseStorageProvider', 'StorageError', 'InMemoryStorageProvider', 'ObjectStorageProvider']
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.storage.base import BaseObjectStorageClient as BaseObjectStorageClient
|
|
3
|
-
from aip_agents.storage.providers.base import BaseStorageProvider as BaseStorageProvider, StorageError as StorageError
|
|
4
|
-
from aip_agents.utils.logger_manager import LoggerManager as LoggerManager
|
|
5
|
-
from typing import Any
|
|
6
|
-
|
|
7
|
-
logger: Incomplete
|
|
8
|
-
|
|
9
|
-
class ObjectStorageProvider(BaseStorageProvider):
|
|
10
|
-
"""Object storage provider for S3-compatible storage.
|
|
11
|
-
|
|
12
|
-
Works with any S3-compatible storage including AWS S3, MinIO,
|
|
13
|
-
Google Cloud Storage (with S3 compatibility), etc.
|
|
14
|
-
|
|
15
|
-
Best for:
|
|
16
|
-
- Very large datasets
|
|
17
|
-
- Distributed systems
|
|
18
|
-
- Cloud deployments
|
|
19
|
-
- Long-term storage
|
|
20
|
-
- Multi-region access
|
|
21
|
-
"""
|
|
22
|
-
client: Incomplete
|
|
23
|
-
prefix: Incomplete
|
|
24
|
-
use_json: Incomplete
|
|
25
|
-
def __init__(self, client: BaseObjectStorageClient, prefix: str = '', use_json: bool = False) -> None:
|
|
26
|
-
"""Initialize object storage provider.
|
|
27
|
-
|
|
28
|
-
Args:
|
|
29
|
-
client: Object storage client instance
|
|
30
|
-
prefix: Prefix for all keys (like a directory)
|
|
31
|
-
use_json: Use JSON format (True) or pickle (False)
|
|
32
|
-
"""
|
|
33
|
-
def store(self, key: str, data: Any) -> None:
|
|
34
|
-
"""Store data in object storage.
|
|
35
|
-
|
|
36
|
-
Args:
|
|
37
|
-
key: Unique identifier for the data
|
|
38
|
-
data: Data to store
|
|
39
|
-
|
|
40
|
-
Raises:
|
|
41
|
-
StorageError: If storage operation fails
|
|
42
|
-
"""
|
|
43
|
-
def retrieve(self, key: str) -> Any:
|
|
44
|
-
"""Retrieve data from object storage.
|
|
45
|
-
|
|
46
|
-
Args:
|
|
47
|
-
key: Unique identifier for the data
|
|
48
|
-
|
|
49
|
-
Returns:
|
|
50
|
-
The stored data
|
|
51
|
-
|
|
52
|
-
Raises:
|
|
53
|
-
KeyError: If key not found
|
|
54
|
-
StorageError: If retrieval operation fails
|
|
55
|
-
"""
|
|
56
|
-
def exists(self, key: str) -> bool:
|
|
57
|
-
"""Check if object exists.
|
|
58
|
-
|
|
59
|
-
Args:
|
|
60
|
-
key: Unique identifier to check
|
|
61
|
-
|
|
62
|
-
Returns:
|
|
63
|
-
True if key exists, False otherwise
|
|
64
|
-
"""
|
|
65
|
-
def delete(self, key: str) -> None:
|
|
66
|
-
"""Delete object.
|
|
67
|
-
|
|
68
|
-
Args:
|
|
69
|
-
key: Unique identifier for the data
|
|
70
|
-
"""
|
|
71
|
-
def list_keys(self, prefix: str = '') -> list[str]:
|
|
72
|
-
"""List all keys with optional prefix.
|
|
73
|
-
|
|
74
|
-
Args:
|
|
75
|
-
prefix: Optional prefix to filter keys
|
|
76
|
-
|
|
77
|
-
Raises:
|
|
78
|
-
NotImplementedError: list_keys is not implemented
|
|
79
|
-
"""
|
|
80
|
-
def clear(self) -> None:
|
|
81
|
-
"""Clear all objects with the configured prefix.
|
|
82
|
-
|
|
83
|
-
Warning:
|
|
84
|
-
This is a dangerous operation!
|
|
85
|
-
"""
|
|
86
|
-
def get_presigned_url(self, key: str, expires_hours: int = 24) -> str | None:
|
|
87
|
-
"""Generate presigned URL for direct access.
|
|
88
|
-
|
|
89
|
-
Args:
|
|
90
|
-
key: Storage key
|
|
91
|
-
expires_hours: URL expiration in hours
|
|
92
|
-
|
|
93
|
-
Returns:
|
|
94
|
-
Presigned URL for direct access
|
|
95
|
-
|
|
96
|
-
Raises:
|
|
97
|
-
StorageError: If URL generation fails
|
|
98
|
-
"""
|
aip_agents/tools/__init__.pyi
DELETED
aip_agents/tools/base.pyi
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
from langchain_core.tools import BaseTool as LangchainBaseTool
|
|
2
|
-
from typing import Any
|
|
3
|
-
|
|
4
|
-
class BaseTool(LangchainBaseTool):
|
|
5
|
-
"""Base class for tools inheriting from Langchain's BaseTool.
|
|
6
|
-
|
|
7
|
-
Tools should inherit from this class and implement the _run and optionally
|
|
8
|
-
_arun methods.
|
|
9
|
-
|
|
10
|
-
Attributes:
|
|
11
|
-
name (str): The name of the tool.
|
|
12
|
-
description (str): A description of what the tool does.
|
|
13
|
-
args_schema (Optional[Type[Any]]): The schema for the tool's arguments.
|
|
14
|
-
return_direct (bool): Whether to return the tool's output directly.
|
|
15
|
-
"""
|
|
16
|
-
name: str
|
|
17
|
-
description: str
|
|
18
|
-
args_schema: type[Any] | None
|
|
19
|
-
return_direct: bool
|
|
20
|
-
def run(self, tool_input: Any, **_kwargs: Any) -> Any:
|
|
21
|
-
"""Run the tool synchronously. (Not Implemented)
|
|
22
|
-
|
|
23
|
-
This method is intentionally not implemented to encourage asynchronous
|
|
24
|
-
operations via the `arun` method.
|
|
25
|
-
|
|
26
|
-
Args:
|
|
27
|
-
tool_input: The input for the tool.
|
|
28
|
-
**_kwargs: Unused. Additional keyword arguments.
|
|
29
|
-
|
|
30
|
-
Raises:
|
|
31
|
-
NotImplementedError: Always raised.
|
|
32
|
-
"""
|
|
33
|
-
async def arun(self, tool_input: Any, **_kwargs: Any) -> Any:
|
|
34
|
-
"""Run the tool asynchronously.
|
|
35
|
-
|
|
36
|
-
Args:
|
|
37
|
-
tool_input: The input for the tool.
|
|
38
|
-
**_kwargs: Unused. Additional keyword arguments.
|
|
39
|
-
|
|
40
|
-
Returns:
|
|
41
|
-
The output of the tool.
|
|
42
|
-
"""
|
|
43
|
-
async def __call__(self, tool_input: Any) -> Any:
|
|
44
|
-
"""Allows the tool instance to be called asynchronously."""
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
from aip_agents.tools.bosa_connector import BOSAConnector as BOSAConnector
|
|
2
|
-
from aip_agents.tools.bosa_tools_interface import BosaToolInterface as BosaToolInterface
|
|
3
|
-
from aip_agents.tools.constants import BOSA_API_BASE_URL as BOSA_API_BASE_URL, BOSA_API_KEY as BOSA_API_KEY
|
|
4
|
-
from langchain_core.callbacks import AsyncCallbackManagerForToolRun as AsyncCallbackManagerForToolRun
|
|
5
|
-
|
|
6
|
-
class BaseBosaTool(BosaToolInterface):
|
|
7
|
-
"""Base class for tools with BOSA Connector integration."""
|
|
8
|
-
def __init__(self, **kwargs) -> None:
|
|
9
|
-
"""Initialize the BaseBosaTool.
|
|
10
|
-
|
|
11
|
-
This method calls the _init_bosa_connector method to initialize the BosaConnector.
|
|
12
|
-
"""
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from bosa_connectors.connector import BosaConnector
|
|
3
|
-
from typing import Any
|
|
4
|
-
|
|
5
|
-
MAX_ATTEMPTS: int
|
|
6
|
-
logger: Incomplete
|
|
7
|
-
|
|
8
|
-
class BOSAConnector:
|
|
9
|
-
"""Handler for fetching data using the BOSA Connector."""
|
|
10
|
-
bosa: BosaConnector
|
|
11
|
-
def __init__(self, api_base_url: str, api_key: str) -> None:
|
|
12
|
-
"""Initialize the BOSA connector.
|
|
13
|
-
|
|
14
|
-
Args:
|
|
15
|
-
api_base_url: Base URL for the BOSA API
|
|
16
|
-
api_key: API key for authentication
|
|
17
|
-
"""
|
|
18
|
-
def execute_endpoint(self, action: str, endpoint: str, input_: dict[str, Any], max_attempts: int = ..., forwards_cursor: bool = True) -> dict[str, Any]:
|
|
19
|
-
"""Execute a BOSA endpoint and fetch data.
|
|
20
|
-
|
|
21
|
-
Args:
|
|
22
|
-
action: The BOSA API action to call
|
|
23
|
-
endpoint: The BOSA API endpoint to call
|
|
24
|
-
input_: Parameters matching the API spec
|
|
25
|
-
max_attempts: Max retry attempts
|
|
26
|
-
forwards_cursor: Whether to use cursor-based pagination (True) or page-based pagination (False)
|
|
27
|
-
|
|
28
|
-
Returns:
|
|
29
|
-
dict containing response data with '0', 'data', and 'meta' fields
|
|
30
|
-
"""
|
aip_agents/tools/bosa_tools.pyi
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.tools.constants import BOSA_API_BASE_URL as BOSA_API_BASE_URL, BOSA_API_KEY as BOSA_API_KEY, BOSA_FETCH_MAX_RETRIES as BOSA_FETCH_MAX_RETRIES
|
|
3
|
-
from aip_agents.utils.logger_manager import LoggerManager as LoggerManager
|
|
4
|
-
from langchain_core.tools import BaseTool as BaseTool
|
|
5
|
-
|
|
6
|
-
logger: Incomplete
|
|
7
|
-
|
|
8
|
-
def get_bosa_modules_with_retry() -> list[str]:
|
|
9
|
-
"""Try to get available modules with retries.
|
|
10
|
-
|
|
11
|
-
Returns:
|
|
12
|
-
List of available modules.
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
class LazyBosaToolsDict(dict):
|
|
16
|
-
"""Lazy dictionary for BOSA tools."""
|
|
17
|
-
def __missing__(self, app):
|
|
18
|
-
"""When a key is missing, create the tools and store them in the dictionary.
|
|
19
|
-
|
|
20
|
-
Args:
|
|
21
|
-
app: Name of the BOSA connector.
|
|
22
|
-
|
|
23
|
-
Returns:
|
|
24
|
-
List of tools generated by BOSAConnectorToolGenerator.
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
def get_bosa_modules() -> list[str]:
|
|
28
|
-
"""Lazily fetch and cache BOSA modules.
|
|
29
|
-
|
|
30
|
-
This is for backwards compatibility with the old BOSA modules.
|
|
31
|
-
|
|
32
|
-
Returns:
|
|
33
|
-
List of BOSA modules.
|
|
34
|
-
"""
|
|
35
|
-
|
|
36
|
-
BOSA_MODULES: Incomplete
|
|
37
|
-
BOSA_AUTOMATED_TOOLS: dict[str, list[BaseTool]]
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import abc
|
|
2
|
-
from abc import ABC, abstractmethod
|
|
3
|
-
from aip_agents.tools.bosa_connector import BOSAConnector as BOSAConnector
|
|
4
|
-
from pydantic import BaseModel as BaseModel
|
|
5
|
-
|
|
6
|
-
class BosaToolInterface(ABC, metaclass=abc.ABCMeta):
|
|
7
|
-
"""Interface for BOSA tools.
|
|
8
|
-
|
|
9
|
-
Defines the abstract base class for tools that agents can use.
|
|
10
|
-
|
|
11
|
-
Attributes:
|
|
12
|
-
name (str): The name of the tool.
|
|
13
|
-
description (Optional[str]): The description of the tool.
|
|
14
|
-
args_schema (Optional[Type[BaseModel]]): The schema for the tool arguments.
|
|
15
|
-
_bosa_connector (Optional[BOSAConnector]): The BosaConnector instance.
|
|
16
|
-
"""
|
|
17
|
-
name: str
|
|
18
|
-
description: str | None
|
|
19
|
-
args_schema: type[BaseModel] | None
|
|
20
|
-
@abstractmethod
|
|
21
|
-
def __init__(self):
|
|
22
|
-
"""Initialize the BosaToolInterface.
|
|
23
|
-
|
|
24
|
-
This method should be implemented by subclasses to define the tool's
|
|
25
|
-
initialization logic. The _init_bosa_connector should be called here.
|
|
26
|
-
"""
|
aip_agents/tools/constants.pyi
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from enum import Enum
|
|
3
|
-
|
|
4
|
-
BOSA_API_BASE_URL: Incomplete
|
|
5
|
-
BOSA_API_KEY: Incomplete
|
|
6
|
-
BOSA_FETCH_MAX_RETRIES: int
|
|
7
|
-
|
|
8
|
-
class Action(Enum):
|
|
9
|
-
"""Actions for BOSA Connector."""
|
|
10
|
-
GITHUB = 'github'
|
|
11
|
-
GOOGLE = 'google'
|
|
12
|
-
GOOGLE_DRIVE = 'google_drive'
|
|
13
|
-
GOOGLE_MAIL = 'google_mail'
|
|
14
|
-
TWITTER = 'twitter'
|
|
15
|
-
|
|
16
|
-
class GitHubEndpoint(Enum):
|
|
17
|
-
"""GitHub endpoints for BOSA Connector."""
|
|
18
|
-
INTEGRATIONS = 'integrations'
|
|
19
|
-
USER_HAS_INTEGRATION = 'integration-exists'
|
|
20
|
-
SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
|
|
21
|
-
CREATE_ISSUE_HANDLER = 'create_issue'
|
|
22
|
-
GET_ISSUE_HANDLER = 'get_issue'
|
|
23
|
-
LIST_ISSUES = 'list_issues'
|
|
24
|
-
LIST_ISSUES_COMMENTS = 'list_issues_comments'
|
|
25
|
-
SEARCH_ALL_ISSUES = 'search_issues'
|
|
26
|
-
GET_COMMITS = 'list_commits'
|
|
27
|
-
SEARCH_COMMITS = 'search_commits'
|
|
28
|
-
GET_COLLABORATORS = 'list_collaborators'
|
|
29
|
-
GET_RELEASES = 'list_releases'
|
|
30
|
-
GET_CONTRIBUTORS = 'list_contributors'
|
|
31
|
-
GET_LANGUAGES = 'list_languages'
|
|
32
|
-
SEARCH_CONTRIBUTIONS = 'search_contributions'
|
|
33
|
-
LIST_PULL_REQUESTS = 'list_pull_requests'
|
|
34
|
-
SEARCH_PR = 'search_pull_requests'
|
|
35
|
-
GET_PULL = 'get_pull'
|
|
36
|
-
GET_ALL_CONTRIBUTOR_COMMIT_ACTIVITIES = 'get_all_contributor_commit_activities'
|
|
37
|
-
GET_COMMIT_ACTIVITY = 'get_the_last_year_of_commit_activity'
|
|
38
|
-
GET_WEEKLY_COMMIT_COUNTS = 'get_weekly_commit_count '
|
|
39
|
-
GET_USER_CONTRIBUTION_STATISTICS = 'get_user_contribution_statistics'
|
|
40
|
-
LIST_PROJECT_ITEMS = 'list_project_items'
|
|
41
|
-
LIST_PROJECTS = 'list_projects'
|
|
42
|
-
|
|
43
|
-
class GoogleDriveEndpoint(Enum):
|
|
44
|
-
"""Google Drive endpoints for BOSA Connector."""
|
|
45
|
-
INTEGRATIONS = 'integrations'
|
|
46
|
-
USER_HAS_INTEGRATION = 'integration-exists'
|
|
47
|
-
SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
|
|
48
|
-
SEARCH_FILES = 'search_files'
|
|
49
|
-
GET_FILE = 'get_file'
|
|
50
|
-
CREATE_FILE = 'create_file'
|
|
51
|
-
CREATE_FOLDER = 'create_folder'
|
|
52
|
-
UPDATE_FILE = 'update_file'
|
|
53
|
-
UPDATE_FOLDER = 'update_folder'
|
|
54
|
-
COPY_FILE = 'copy_file'
|
|
55
|
-
DELETE_FILE = 'delete_file'
|
|
56
|
-
SUMMARIZE_FOLDER_FILES_BY_TYPE = 'summarize_folder_files_by_type'
|
|
57
|
-
SUMMARIZE_TOTAL_FILES_BY_TYPE = 'summarize_total_files_by_type'
|
|
58
|
-
RECENT_FILES = 'list_recent_files_from_yesterday'
|
|
59
|
-
CREATE_PERMISSION = 'create_permission'
|
|
60
|
-
LIST_PERMISSIONS = 'list_permissions'
|
|
61
|
-
GET_PERMISSION = 'get_permission'
|
|
62
|
-
UPDATE_PERMISSION = 'update_permission'
|
|
63
|
-
DELETE_PERMISSION = 'delete_permission'
|
|
64
|
-
DOWNLOAD_FILE = 'download_file'
|
|
65
|
-
|
|
66
|
-
class GoogleDocsEndpoint(Enum):
|
|
67
|
-
"""Google Docs endpoints for BOSA Connector."""
|
|
68
|
-
INTEGRATIONS = 'integrations'
|
|
69
|
-
USER_HAS_INTEGRATION = 'integration-exists'
|
|
70
|
-
SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
|
|
71
|
-
GET_DOCUMENT = 'get_document'
|
|
72
|
-
LIST_DOCUMENTS = 'list_documents'
|
|
73
|
-
CREATE_DOCUMENT = 'create_document'
|
|
74
|
-
UPDATE_DOCUMENT = 'update_document'
|
|
75
|
-
COPY_CONTENT = 'copy_content'
|
|
76
|
-
UPDATE_DOCUMENT_MARKDOWN = 'update_document_markdown'
|
|
77
|
-
LIST_COMMENTS = 'list_comments'
|
|
78
|
-
SUMMARIZE_COMMENTS = 'summarize_comments'
|
|
79
|
-
|
|
80
|
-
class GoogleEndpoint(Enum):
|
|
81
|
-
"""Google endpoints for BOSA Connector."""
|
|
82
|
-
INTEGRATIONS = 'integrations'
|
|
83
|
-
USER_HAS_INTEGRATION = 'integration-exists'
|
|
84
|
-
SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
|
|
85
|
-
USERINFO = 'userinfo'
|
|
86
|
-
|
|
87
|
-
class TwitterEndpoint(Enum):
|
|
88
|
-
"""Twitter endpoints for BOSA Connector."""
|
|
89
|
-
INTEGRATIONS = 'integrations'
|
|
90
|
-
USER_HAS_INTEGRATION = 'integration-exists'
|
|
91
|
-
SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
|
|
92
|
-
SEARCH = 'tweet_search'
|
|
93
|
-
GET_TWEETS = 'get_tweets'
|
|
94
|
-
GET_THREAD = 'get_thread'
|
|
95
|
-
GET_USERS = 'get_users'
|
|
96
|
-
|
|
97
|
-
class GoogleMailEndpoint(Enum):
|
|
98
|
-
"""Google Mail endpoints for BOSA Connector."""
|
|
99
|
-
INTEGRATIONS = 'integrations'
|
|
100
|
-
USER_HAS_INTEGRATION = 'integration-exists'
|
|
101
|
-
SUCCESS_AUTHORIZE_CALLBACK = 'success-authorize-callback'
|
|
102
|
-
CREATE_DRAFT = 'create_draft'
|
|
103
|
-
LIST_DRAFTS = 'list_drafts'
|
|
104
|
-
SEND_DRAFT = 'send_draft'
|
|
105
|
-
GET_DRAFT = 'get_draft'
|
|
106
|
-
MODIFY_DRAFT = 'modify_draft'
|
|
107
|
-
LIST_LABELS = 'list_labels'
|
|
108
|
-
LABEL_STATS = 'label_stats'
|
|
109
|
-
GET_LABEL_DETAILS = 'get_label_details'
|
|
110
|
-
CREATE_LABELS = 'create_labels'
|
|
111
|
-
MODIFY_LABELS = 'modify_labels'
|
|
112
|
-
DELETE_LABELS = 'delete_labels'
|
|
113
|
-
SEND_EMAIL = 'send_email'
|
|
114
|
-
LIST_EMAILS = 'list_emails'
|
|
115
|
-
GET_EMAIL_DETAILS = 'get_email_details'
|
|
116
|
-
MODIFY_EMAIL = 'modify_email'
|
|
117
|
-
DELETE_EMAIL = 'delete_email'
|
|
118
|
-
TRASH_EMAIL = 'trash_email'
|
|
119
|
-
UNTRASH_EMAIL = 'untrash_email'
|
|
120
|
-
LIST_THREADS = 'list_threads'
|
|
121
|
-
THREAD_DETAILS = 'thread_details'
|
|
122
|
-
MODIFY_THREAD = 'modify_thread'
|
|
123
|
-
GET_AUTO_REPLY = 'get_auto_reply'
|
|
124
|
-
SET_AUTO_REPLY = 'set_auto_reply'
|
|
125
|
-
GET_ATTACHMENT = 'get_attachment'
|
|
126
|
-
USERINFO = 'userinfo'
|
|
127
|
-
|
|
128
|
-
class ActionEndpointMap:
|
|
129
|
-
"""Maps Action enums to their corresponding Endpoint enums."""
|
|
130
|
-
MAP: dict[Action, type[Enum]]
|