aip-agents-binary 0.5.24__py3-none-any.whl → 0.5.25b1__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__.pyi +19 -0
- aip_agents/a2a/__init__.pyi +3 -0
- aip_agents/a2a/server/__init__.pyi +4 -0
- aip_agents/a2a/server/base_executor.pyi +73 -0
- aip_agents/a2a/server/google_adk_executor.pyi +51 -0
- aip_agents/a2a/server/langflow_executor.pyi +43 -0
- aip_agents/a2a/server/langgraph_executor.pyi +47 -0
- aip_agents/a2a/types.pyi +132 -0
- aip_agents/agent/__init__.pyi +9 -0
- aip_agents/agent/base_agent.pyi +221 -0
- aip_agents/agent/base_langgraph_agent.py +6 -0
- aip_agents/agent/base_langgraph_agent.pyi +232 -0
- aip_agents/agent/google_adk_agent.pyi +141 -0
- aip_agents/agent/google_adk_constants.pyi +3 -0
- aip_agents/agent/hitl/__init__.pyi +6 -0
- aip_agents/agent/hitl/config.pyi +15 -0
- aip_agents/agent/hitl/langgraph_hitl_mixin.pyi +42 -0
- aip_agents/agent/hitl/manager.pyi +200 -0
- aip_agents/agent/hitl/models.pyi +3 -0
- aip_agents/agent/hitl/prompt/__init__.pyi +4 -0
- aip_agents/agent/hitl/prompt/base.pyi +24 -0
- aip_agents/agent/hitl/prompt/deferred.pyi +30 -0
- aip_agents/agent/hitl/registry.pyi +101 -0
- aip_agents/agent/interface.pyi +81 -0
- aip_agents/agent/interfaces.pyi +44 -0
- aip_agents/agent/langflow_agent.pyi +133 -0
- aip_agents/agent/langgraph_memory_enhancer_agent.pyi +49 -0
- aip_agents/agent/langgraph_react_agent.py +96 -14
- aip_agents/agent/langgraph_react_agent.pyi +131 -0
- aip_agents/agent/system_instruction_context.pyi +13 -0
- aip_agents/clients/__init__.pyi +4 -0
- aip_agents/clients/langflow/__init__.pyi +4 -0
- aip_agents/clients/langflow/client.pyi +140 -0
- aip_agents/clients/langflow/types.pyi +7 -0
- aip_agents/constants.pyi +7 -0
- aip_agents/examples/__init__.pyi +0 -0
- aip_agents/examples/compare_streaming_client.py +2 -2
- aip_agents/examples/compare_streaming_client.pyi +48 -0
- aip_agents/examples/compare_streaming_server.py +1 -1
- aip_agents/examples/compare_streaming_server.pyi +18 -0
- aip_agents/examples/demo_memory_recall.pyi +58 -0
- aip_agents/examples/hello_world_a2a_google_adk_client.pyi +9 -0
- aip_agents/examples/hello_world_a2a_google_adk_client_agent.pyi +9 -0
- aip_agents/examples/hello_world_a2a_google_adk_client_streaming.pyi +9 -0
- aip_agents/examples/hello_world_a2a_google_adk_server.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langchain_client.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_client_agent.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_client_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_client_streaming.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_reference_client_streaming.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langchain_reference_server.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langchain_server.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langflow_client.pyi +9 -0
- aip_agents/examples/hello_world_a2a_langflow_server.pyi +14 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_client_streaming.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langgraph_artifact_server.pyi +16 -0
- aip_agents/examples/hello_world_a2a_langgraph_client.pyi +9 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_agent.pyi +9 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_agent_lm_invoker.pyi +2 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming.pyi +9 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langgraph_client_streaming_tool_streaming.pyi +5 -0
- aip_agents/examples/hello_world_a2a_langgraph_server.pyi +14 -0
- aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +15 -0
- aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +15 -0
- aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +48 -0
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +48 -0
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +45 -0
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_client.pyi +5 -0
- aip_agents/examples/hello_world_a2a_with_metadata_langchain_server_lm_invoker.pyi +15 -0
- aip_agents/examples/hello_world_google_adk.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_http.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_http_stream.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_sse.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_sse_stream.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_stdio.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_mcp_stdio_stream.pyi +5 -0
- aip_agents/examples/hello_world_google_adk_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain.pyi +5 -0
- aip_agents/examples/hello_world_langchain_lm_invoker.pyi +2 -0
- aip_agents/examples/hello_world_langchain_mcp_http.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_http_interactive.pyi +16 -0
- aip_agents/examples/hello_world_langchain_mcp_http_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_multi_server.pyi +18 -0
- aip_agents/examples/hello_world_langchain_mcp_sse.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_sse_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_stdio.pyi +5 -0
- aip_agents/examples/hello_world_langchain_mcp_stdio_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain_stream.pyi +5 -0
- aip_agents/examples/hello_world_langchain_stream_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_langflow_agent.pyi +35 -0
- aip_agents/examples/hello_world_langgraph.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_gl_connector_twitter.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_http.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_http_stream.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_sse.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_sse_stream.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_stdio.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_mcp_stdio_stream.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_stream.pyi +5 -0
- aip_agents/examples/hello_world_langgraph_stream_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_model_switch_cli.pyi +30 -0
- aip_agents/examples/hello_world_multi_agent_adk.pyi +6 -0
- aip_agents/examples/hello_world_multi_agent_langchain.pyi +5 -0
- aip_agents/examples/hello_world_multi_agent_langgraph.pyi +5 -0
- aip_agents/examples/hello_world_multi_agent_langgraph_lm_invoker.pyi +5 -0
- aip_agents/examples/hello_world_pii_logger.pyi +5 -0
- aip_agents/examples/hello_world_sentry.pyi +21 -0
- aip_agents/examples/hello_world_step_limits.pyi +17 -0
- aip_agents/examples/hello_world_stock_a2a_server.pyi +17 -0
- aip_agents/examples/hello_world_tool_output_client.pyi +5 -0
- aip_agents/examples/hello_world_tool_output_server.pyi +19 -0
- aip_agents/examples/hitl_demo.pyi +67 -0
- aip_agents/examples/pii_demo_langgraph_client.pyi +5 -0
- aip_agents/examples/pii_demo_langgraph_server.pyi +20 -0
- aip_agents/examples/pii_demo_multi_agent_client.pyi +5 -0
- aip_agents/examples/pii_demo_multi_agent_server.pyi +40 -0
- aip_agents/examples/todolist_planning_a2a_langchain_client.py +2 -2
- aip_agents/examples/todolist_planning_a2a_langchain_client.pyi +5 -0
- aip_agents/examples/todolist_planning_a2a_langgraph_server.py +1 -1
- aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi +19 -0
- aip_agents/examples/tools/__init__.pyi +9 -0
- aip_agents/examples/tools/adk_arithmetic_tools.pyi +24 -0
- aip_agents/examples/tools/adk_weather_tool.pyi +18 -0
- aip_agents/examples/tools/data_generator_tool.pyi +15 -0
- aip_agents/examples/tools/data_visualization_tool.pyi +19 -0
- aip_agents/examples/tools/image_artifact_tool.pyi +26 -0
- aip_agents/examples/tools/langchain_arithmetic_tools.pyi +17 -0
- aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +20 -0
- aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +25 -0
- aip_agents/examples/tools/langchain_weather_tool.pyi +19 -0
- aip_agents/examples/tools/langgraph_streaming_tool.pyi +43 -0
- aip_agents/examples/tools/mock_retrieval_tool.pyi +13 -0
- aip_agents/examples/tools/pii_demo_tools.pyi +54 -0
- aip_agents/examples/tools/random_chart_tool.pyi +20 -0
- aip_agents/examples/tools/serper_tool.pyi +16 -0
- aip_agents/examples/tools/stock_tools.pyi +36 -0
- aip_agents/examples/tools/table_generator_tool.pyi +22 -0
- aip_agents/examples/tools/time_tool.pyi +15 -0
- aip_agents/examples/tools/weather_forecast_tool.pyi +14 -0
- aip_agents/guardrails/__init__.py +83 -0
- aip_agents/guardrails/__init__.pyi +6 -0
- aip_agents/guardrails/engines/__init__.py +69 -0
- aip_agents/guardrails/engines/__init__.pyi +4 -0
- aip_agents/guardrails/engines/base.py +90 -0
- aip_agents/guardrails/engines/base.pyi +61 -0
- aip_agents/guardrails/engines/nemo.py +101 -0
- aip_agents/guardrails/engines/nemo.pyi +46 -0
- aip_agents/guardrails/engines/phrase_matcher.py +113 -0
- aip_agents/guardrails/engines/phrase_matcher.pyi +48 -0
- aip_agents/guardrails/exceptions.py +39 -0
- aip_agents/guardrails/exceptions.pyi +23 -0
- aip_agents/guardrails/manager.py +163 -0
- aip_agents/guardrails/manager.pyi +42 -0
- aip_agents/guardrails/middleware.py +199 -0
- aip_agents/guardrails/middleware.pyi +87 -0
- aip_agents/guardrails/schemas.py +63 -0
- aip_agents/guardrails/schemas.pyi +43 -0
- aip_agents/guardrails/utils.py +45 -0
- aip_agents/guardrails/utils.pyi +19 -0
- aip_agents/mcp/__init__.pyi +0 -0
- aip_agents/mcp/client/__init__.pyi +5 -0
- aip_agents/mcp/client/base_mcp_client.pyi +148 -0
- aip_agents/mcp/client/connection_manager.pyi +48 -0
- aip_agents/mcp/client/google_adk/__init__.pyi +3 -0
- aip_agents/mcp/client/google_adk/client.pyi +75 -0
- aip_agents/mcp/client/langchain/__init__.pyi +3 -0
- aip_agents/mcp/client/langchain/client.pyi +48 -0
- aip_agents/mcp/client/persistent_session.pyi +113 -0
- aip_agents/mcp/client/session_pool.pyi +101 -0
- aip_agents/mcp/client/transports.pyi +123 -0
- aip_agents/mcp/utils/__init__.pyi +0 -0
- aip_agents/mcp/utils/config_validator.pyi +82 -0
- aip_agents/memory/__init__.pyi +5 -0
- aip_agents/memory/adapters/__init__.pyi +4 -0
- aip_agents/memory/adapters/base_adapter.pyi +150 -0
- aip_agents/memory/adapters/mem0.pyi +22 -0
- aip_agents/memory/base.pyi +60 -0
- aip_agents/memory/constants.pyi +25 -0
- aip_agents/memory/factory.pyi +24 -0
- aip_agents/memory/guidance.pyi +3 -0
- aip_agents/memory/simple_memory.pyi +23 -0
- aip_agents/middleware/__init__.pyi +5 -0
- aip_agents/middleware/base.py +8 -0
- aip_agents/middleware/base.pyi +75 -0
- aip_agents/middleware/manager.py +22 -0
- aip_agents/middleware/manager.pyi +84 -0
- aip_agents/middleware/todolist.pyi +125 -0
- aip_agents/schema/__init__.pyi +9 -0
- aip_agents/schema/a2a.pyi +40 -0
- aip_agents/schema/agent.pyi +65 -0
- aip_agents/schema/hitl.pyi +89 -0
- aip_agents/schema/langgraph.pyi +28 -0
- aip_agents/schema/model_id.pyi +54 -0
- aip_agents/schema/step_limit.pyi +63 -0
- aip_agents/schema/storage.pyi +21 -0
- aip_agents/sentry/__init__.pyi +3 -0
- aip_agents/sentry/sentry.pyi +48 -0
- aip_agents/storage/__init__.pyi +8 -0
- aip_agents/storage/base.pyi +58 -0
- aip_agents/storage/clients/__init__.pyi +3 -0
- aip_agents/storage/clients/minio_client.pyi +137 -0
- aip_agents/storage/config.pyi +29 -0
- aip_agents/storage/providers/__init__.pyi +5 -0
- aip_agents/storage/providers/base.pyi +88 -0
- aip_agents/storage/providers/memory.pyi +79 -0
- aip_agents/storage/providers/object_storage.pyi +98 -0
- aip_agents/tools/__init__.pyi +9 -0
- aip_agents/tools/browser_use/__init__.pyi +14 -0
- aip_agents/tools/browser_use/action_parser.pyi +18 -0
- aip_agents/tools/browser_use/browser_use_tool.pyi +50 -0
- aip_agents/tools/browser_use/llm_config.pyi +52 -0
- aip_agents/tools/browser_use/minio_storage.pyi +109 -0
- aip_agents/tools/browser_use/schemas.pyi +32 -0
- aip_agents/tools/browser_use/session.pyi +4 -0
- aip_agents/tools/browser_use/session_errors.pyi +53 -0
- aip_agents/tools/browser_use/steel_session_recording.pyi +63 -0
- aip_agents/tools/browser_use/streaming.pyi +81 -0
- aip_agents/tools/browser_use/structured_data_parser.pyi +86 -0
- aip_agents/tools/browser_use/structured_data_recovery.pyi +43 -0
- aip_agents/tools/browser_use/types.pyi +45 -0
- aip_agents/tools/code_sandbox/__init__.pyi +3 -0
- aip_agents/tools/code_sandbox/constant.pyi +4 -0
- aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.pyi +102 -0
- aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +29 -0
- aip_agents/tools/constants.pyi +138 -0
- aip_agents/tools/document_loader/__init__.pyi +7 -0
- aip_agents/tools/document_loader/base_reader.pyi +75 -0
- aip_agents/tools/document_loader/docx_reader_tool.pyi +10 -0
- aip_agents/tools/document_loader/excel_reader_tool.pyi +26 -0
- aip_agents/tools/document_loader/pdf_reader_tool.pyi +11 -0
- aip_agents/tools/document_loader/pdf_splitter.pyi +18 -0
- aip_agents/tools/gl_connector/__init__.pyi +3 -0
- aip_agents/tools/gl_connector/tool.pyi +74 -0
- aip_agents/tools/gl_connector_tools.pyi +39 -0
- aip_agents/tools/memory_search/__init__.pyi +5 -0
- aip_agents/tools/memory_search/base.pyi +69 -0
- aip_agents/tools/memory_search/mem0.pyi +19 -0
- aip_agents/tools/memory_search/schema.pyi +15 -0
- aip_agents/tools/memory_search_tool.pyi +3 -0
- aip_agents/tools/time_tool.pyi +16 -0
- aip_agents/tools/tool_config_injector.pyi +26 -0
- aip_agents/tools/web_search/__init__.pyi +3 -0
- aip_agents/tools/web_search/serper_tool.pyi +19 -0
- aip_agents/types/__init__.pyi +36 -0
- aip_agents/types/a2a_events.pyi +3 -0
- aip_agents/utils/__init__.pyi +11 -0
- aip_agents/utils/a2a_connector.pyi +146 -0
- aip_agents/utils/artifact_helpers.pyi +203 -0
- aip_agents/utils/constants.pyi +10 -0
- aip_agents/utils/datetime/__init__.pyi +4 -0
- aip_agents/utils/datetime/normalization.pyi +95 -0
- aip_agents/utils/datetime/timezone.pyi +48 -0
- aip_agents/utils/env_loader.pyi +10 -0
- aip_agents/utils/event_handler_registry.pyi +23 -0
- aip_agents/utils/file_prompt_utils.pyi +21 -0
- aip_agents/utils/final_response_builder.pyi +34 -0
- aip_agents/utils/formatter_llm_client.pyi +71 -0
- aip_agents/utils/langgraph/__init__.pyi +3 -0
- aip_agents/utils/langgraph/converter.pyi +49 -0
- aip_agents/utils/langgraph/tool_managers/__init__.pyi +5 -0
- aip_agents/utils/langgraph/tool_managers/a2a_tool_manager.pyi +35 -0
- aip_agents/utils/langgraph/tool_managers/base_tool_manager.pyi +48 -0
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +56 -0
- aip_agents/utils/langgraph/tool_output_management.pyi +292 -0
- aip_agents/utils/logger.pyi +60 -0
- aip_agents/utils/metadata/__init__.pyi +5 -0
- aip_agents/utils/metadata/activity_metadata_helper.pyi +25 -0
- aip_agents/utils/metadata/activity_narrative/__init__.pyi +7 -0
- aip_agents/utils/metadata/activity_narrative/builder.pyi +35 -0
- aip_agents/utils/metadata/activity_narrative/constants.pyi +10 -0
- aip_agents/utils/metadata/activity_narrative/context.pyi +32 -0
- aip_agents/utils/metadata/activity_narrative/formatters.pyi +48 -0
- aip_agents/utils/metadata/activity_narrative/utils.pyi +12 -0
- aip_agents/utils/metadata/schemas/__init__.pyi +4 -0
- aip_agents/utils/metadata/schemas/activity_schema.pyi +18 -0
- aip_agents/utils/metadata/schemas/thinking_schema.pyi +20 -0
- aip_agents/utils/metadata/thinking_metadata_helper.pyi +4 -0
- aip_agents/utils/metadata_helper.pyi +117 -0
- aip_agents/utils/name_preprocessor/__init__.pyi +6 -0
- aip_agents/utils/name_preprocessor/base_name_preprocessor.pyi +52 -0
- aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +38 -0
- aip_agents/utils/name_preprocessor/name_preprocessor.pyi +41 -0
- aip_agents/utils/name_preprocessor/openai_name_preprocessor.pyi +34 -0
- aip_agents/utils/pii/__init__.pyi +5 -0
- aip_agents/utils/pii/pii_handler.pyi +96 -0
- aip_agents/utils/pii/pii_helper.pyi +78 -0
- aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi +73 -0
- aip_agents/utils/reference_helper.pyi +81 -0
- aip_agents/utils/sse_chunk_transformer.pyi +166 -0
- aip_agents/utils/step_limit_manager.pyi +112 -0
- aip_agents/utils/token_usage_helper.pyi +60 -0
- {aip_agents_binary-0.5.24.dist-info → aip_agents_binary-0.5.25b1.dist-info}/METADATA +49 -49
- aip_agents_binary-0.5.25b1.dist-info/RECORD +566 -0
- {aip_agents_binary-0.5.24.dist-info → aip_agents_binary-0.5.25b1.dist-info}/WHEEL +1 -1
- aip_agents_binary-0.5.24.dist-info/RECORD +0 -280
- {aip_agents_binary-0.5.24.dist-info → aip_agents_binary-0.5.25b1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangGraphAgent as LangGraphAgent
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
class MemoryTestResult:
|
|
6
|
+
"""Container for test scenario results."""
|
|
7
|
+
JUDGE_SUCCESS_THRESHOLD: float
|
|
8
|
+
MEMORY_DISPLAY_LIMIT: int
|
|
9
|
+
scenario_name: Incomplete
|
|
10
|
+
query: Incomplete
|
|
11
|
+
response: Incomplete
|
|
12
|
+
memory_fetched: Incomplete
|
|
13
|
+
error: Incomplete
|
|
14
|
+
success: Incomplete
|
|
15
|
+
judge_verdict: Incomplete
|
|
16
|
+
judge_score: Incomplete
|
|
17
|
+
def __init__(self, scenario_name: str, query: str, response: str = None, memory_fetched: str = None, error: str = None) -> None:
|
|
18
|
+
"""Initialize a memory test result.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
scenario_name: Name of the test scenario.
|
|
22
|
+
query: The input query for the scenario.
|
|
23
|
+
response: The agent's response (optional).
|
|
24
|
+
memory_fetched: The raw memory retrieved from the tool (optional).
|
|
25
|
+
error: Any error message (optional).
|
|
26
|
+
"""
|
|
27
|
+
def set_success_from_judge(self, verdict: str, score: float | None):
|
|
28
|
+
'''Set success using judge verdict and confidence score.
|
|
29
|
+
|
|
30
|
+
Success criteria: (verdict == "grounded" or verdict == "general_knowledge") and
|
|
31
|
+
score >= JUDGE_SUCCESS_THRESHOLD.
|
|
32
|
+
|
|
33
|
+
Args:
|
|
34
|
+
verdict (str): The judge\'s verdict ("grounded", "hallucination", or "general_knowledge").
|
|
35
|
+
score (float | None): The confidence score (0.0 to 1.0).
|
|
36
|
+
'''
|
|
37
|
+
|
|
38
|
+
def print_test_summary(results: list[MemoryTestResult], start_time: datetime):
|
|
39
|
+
"""Print a clean summary of all test results.
|
|
40
|
+
|
|
41
|
+
Args:
|
|
42
|
+
results (list[MemoryTestResult]): List of test results to summarize.
|
|
43
|
+
start_time (datetime): The start time of the tests.
|
|
44
|
+
"""
|
|
45
|
+
async def evaluate_with_judge(judge_agent: LangGraphAgent, query: str, response: str, memory_fetched: str = None) -> tuple[str | None, float | None]:
|
|
46
|
+
'''Evaluate if the response is grounded in memory using the judge agent.
|
|
47
|
+
|
|
48
|
+
Args:
|
|
49
|
+
judge_agent (LangGraphAgent): The judge agent to use for evaluation.
|
|
50
|
+
query (str): The original user query.
|
|
51
|
+
response (str): The agent\'s response to evaluate.
|
|
52
|
+
memory_fetched (str, optional): The memory that was retrieved. Defaults to None.
|
|
53
|
+
|
|
54
|
+
Returns:
|
|
55
|
+
tuple[str | None, float | None]: Tuple of (verdict, score) where verdict is "grounded", "hallucination", or "general_knowledge", and score is a confidence score (0.0-1.0).
|
|
56
|
+
'''
|
|
57
|
+
async def run_all_scenarios() -> None:
|
|
58
|
+
"""Run all memory recall test scenarios with a single reused agent and show clean summary."""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
3
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
|
|
8
|
+
def main() -> None:
|
|
9
|
+
"""Main function demonstrating the General Assistant agent with A2A capabilities."""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
3
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
|
|
8
|
+
def main() -> None:
|
|
9
|
+
"""Main function demonstrating the General Assistant agent with A2A capabilities."""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
3
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
|
|
8
|
+
async def main():
|
|
9
|
+
"""Main function demonstrating the General Assistant agent with streaming A2A capabilities."""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
3
|
+
from aip_agents.examples.tools.adk_weather_tool import weather_tool as weather_tool
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
SERVER_AGENT_NAME: str
|
|
8
|
+
|
|
9
|
+
def main(host: str, port: int):
|
|
10
|
+
"""Runs the Google ADK Weather A2A server.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
host (str): Host to bind the server to.
|
|
14
|
+
port (int): Port to bind the server to.
|
|
15
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangChainAgent as LangChainAgent
|
|
3
|
+
from aip_agents.examples.tools import google_serper_tool as google_serper_tool, mock_retrieval_tool as mock_retrieval_tool, time_tool as time_tool
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
SERVER_AGENT_NAME: str
|
|
8
|
+
|
|
9
|
+
def main(host: str, port: int):
|
|
10
|
+
"""Runs the LangChain Mock Retrieval and Google Search A2A server.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
host (str): Host to bind the server to.
|
|
14
|
+
port (int): Port to bind the server to.
|
|
15
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangChainAgent as LangChainAgent
|
|
3
|
+
from aip_agents.examples.tools.langchain_weather_tool import weather_tool as weather_tool
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
SERVER_AGENT_NAME: str
|
|
8
|
+
|
|
9
|
+
def main(host: str, port: int):
|
|
10
|
+
"""Runs the LangChain Weather A2A server.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
host (str): Host to bind the server to.
|
|
14
|
+
port (int): Port to bind the server to.
|
|
15
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangChainAgent as LangChainAgent
|
|
3
|
+
from aip_agents.examples.tools.langchain_weather_tool import weather_tool as weather_tool
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
SERVER_AGENT_NAME: str
|
|
8
|
+
|
|
9
|
+
def main(host: str, port: int):
|
|
10
|
+
"""Runs the LangChain Weather A2A server.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
host (str): Host to bind the server to.
|
|
14
|
+
port (int): Port to bind the server to.
|
|
15
|
+
"""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent.langflow_agent import LangflowAgent as LangflowAgent
|
|
3
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
|
|
8
|
+
async def main() -> None:
|
|
9
|
+
"""Main function demonstrating the Langflow client with streaming A2A capabilities."""
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent.langflow_agent import LangflowAgent as LangflowAgent
|
|
3
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
4
|
+
|
|
5
|
+
logger: Incomplete
|
|
6
|
+
SERVER_AGENT_NAME: str
|
|
7
|
+
|
|
8
|
+
def main(host: str, port: int):
|
|
9
|
+
"""Runs the Langflow A2A server.
|
|
10
|
+
|
|
11
|
+
Args:
|
|
12
|
+
host (str): Host to bind the server to.
|
|
13
|
+
port (int): Port to bind the server to.
|
|
14
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangGraphAgent as LangGraphAgent
|
|
3
|
+
from aip_agents.examples.tools.image_artifact_tool import ImageArtifactTool as ImageArtifactTool
|
|
4
|
+
from aip_agents.examples.tools.table_generator_tool import TableGeneratorTool as TableGeneratorTool
|
|
5
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
6
|
+
|
|
7
|
+
logger: Incomplete
|
|
8
|
+
SERVER_AGENT_NAME: str
|
|
9
|
+
|
|
10
|
+
def main(host: str, port: int):
|
|
11
|
+
"""Runs the LangGraph Artifact Generation A2A server.
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
host (str): Host to bind the server to.
|
|
15
|
+
port (int): Port to bind the server to.
|
|
16
|
+
"""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangGraphAgent as LangGraphAgent
|
|
3
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
|
|
8
|
+
def main() -> None:
|
|
9
|
+
"""Main function demonstrating the General Assistant agent with A2A capabilities."""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangGraphAgent as LangGraphAgent
|
|
3
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
|
|
8
|
+
def main() -> None:
|
|
9
|
+
"""Main function demonstrating the General Assistant agent with A2A capabilities."""
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangGraphAgent as LangGraphAgent
|
|
3
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
|
|
8
|
+
async def main() -> None:
|
|
9
|
+
"""Main function demonstrating the General Assistant agent with streaming A2A capabilities."""
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.agent import LangChainAgent as LangChainAgent
|
|
2
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
3
|
+
|
|
4
|
+
async def main() -> None:
|
|
5
|
+
"""Main function demonstrating the General Assistant agent with streaming A2A time/weather capabilities."""
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangGraphAgent as LangGraphAgent
|
|
3
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
4
|
+
|
|
5
|
+
logger: Incomplete
|
|
6
|
+
SERVER_AGENT_NAME: str
|
|
7
|
+
|
|
8
|
+
def main(host: str, port: int):
|
|
9
|
+
"""Runs the LangGraph Weather A2A server.
|
|
10
|
+
|
|
11
|
+
Args:
|
|
12
|
+
host (str): Host to bind the server to.
|
|
13
|
+
port (int): Port to bind the server to.
|
|
14
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangChainAgent as LangChainAgent
|
|
3
|
+
from aip_agents.examples.tools.langchain_weather_tool import weather_tool as weather_tool
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
SERVER_AGENT_NAME: str
|
|
8
|
+
|
|
9
|
+
def main(host: str, port: int):
|
|
10
|
+
"""Runs the LangChain Weather A2A server.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
host (str): Host to bind the server to.
|
|
14
|
+
port (int): Port to bind the server to.
|
|
15
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangChainAgent as LangChainAgent
|
|
3
|
+
from aip_agents.examples.tools.langgraph_streaming_tool import LangGraphStreamingTool as LangGraphStreamingTool
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
SERVER_AGENT_NAME: str
|
|
8
|
+
|
|
9
|
+
def main(host: str, port: int):
|
|
10
|
+
"""Runs the LangGraph Agent Wrapper A2A server.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
host (str): Host to bind the server to.
|
|
14
|
+
port (int): Port to bind the server to.
|
|
15
|
+
"""
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from aip_agents.agent import LangGraphAgent as LangGraphAgent
|
|
2
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
3
|
+
|
|
4
|
+
A2A_SERVER_PORT: int
|
|
5
|
+
A2A_AGENT_NAME: str
|
|
6
|
+
MCP_SERVER_PORT: int
|
|
7
|
+
MCP_AGENT_NAME: str
|
|
8
|
+
MODEL_NAME: str
|
|
9
|
+
|
|
10
|
+
async def create_agent() -> tuple[LangGraphAgent, dict[str, bool]]:
|
|
11
|
+
"""Create and configure the LangGraphAgent with MCP and A2A connections.
|
|
12
|
+
|
|
13
|
+
Returns:
|
|
14
|
+
tuple: (agent, connected_servers) where connected_servers is a dict
|
|
15
|
+
showing which servers were successfully connected.
|
|
16
|
+
"""
|
|
17
|
+
async def connect_to_mcp_server(agent: LangGraphAgent) -> bool:
|
|
18
|
+
"""Connect to the MCP server and register tools.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
agent: The LangGraphAgent instance to configure.
|
|
22
|
+
|
|
23
|
+
Returns:
|
|
24
|
+
bool: True if connection was successful, False otherwise.
|
|
25
|
+
"""
|
|
26
|
+
async def connect_to_a2a_server(agent: LangGraphAgent) -> bool:
|
|
27
|
+
"""Connect to the A2A server and register agents.
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
agent: The LangGraphAgent instance to configure.
|
|
31
|
+
|
|
32
|
+
Returns:
|
|
33
|
+
bool: True if connection was successful, False otherwise.
|
|
34
|
+
"""
|
|
35
|
+
async def test_mcp_weather_tool(agent: LangGraphAgent) -> None:
|
|
36
|
+
"""Test the MCP weather tool if available.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
agent: The configured LangGraphAgent instance.
|
|
40
|
+
"""
|
|
41
|
+
async def test_stock_agent(agent: LangGraphAgent) -> None:
|
|
42
|
+
"""Test the A2A Stock Agent if available.
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
agent: The configured LangGraphAgent instance.
|
|
46
|
+
"""
|
|
47
|
+
async def main() -> None:
|
|
48
|
+
"""Main function to run the A2A and MCP integration example."""
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
from aip_agents.agent import LangGraphAgent as LangGraphAgent
|
|
2
|
+
from aip_agents.schema.agent import A2AClientConfig as A2AClientConfig
|
|
3
|
+
|
|
4
|
+
async def main() -> None:
|
|
5
|
+
"""Main function demonstrating the Three-Level Agent Hierarchy client."""
|
|
6
|
+
async def test_research_task(client_agent, coordinator_card) -> None:
|
|
7
|
+
"""Test a research-only task that flows through research specialists and workers.
|
|
8
|
+
|
|
9
|
+
Args:
|
|
10
|
+
client_agent: The client agent to send the query with.
|
|
11
|
+
coordinator_card: The agent card of the hierarchical coordinator.
|
|
12
|
+
"""
|
|
13
|
+
async def test_content_task(client_agent, coordinator_card) -> None:
|
|
14
|
+
"""Test a content-only task that flows through content specialists and workers.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
client_agent: The client agent to send the query with.
|
|
18
|
+
coordinator_card: The agent card of the hierarchical coordinator.
|
|
19
|
+
"""
|
|
20
|
+
async def test_complex_task(client_agent, coordinator_card) -> None:
|
|
21
|
+
"""Test a complex task requiring both research and content specialists.
|
|
22
|
+
|
|
23
|
+
Args:
|
|
24
|
+
client_agent: The client agent to send the query with.
|
|
25
|
+
coordinator_card: The agent card of the hierarchical coordinator.
|
|
26
|
+
"""
|
|
27
|
+
async def test_artifact_generation(client_agent, coordinator_card) -> None:
|
|
28
|
+
"""Test artifact generation across the hierarchy.
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
client_agent: The client agent to send the query with.
|
|
32
|
+
coordinator_card: The agent card of the hierarchical coordinator.
|
|
33
|
+
"""
|
|
34
|
+
def handle_artifacts(result, test_name) -> None:
|
|
35
|
+
"""Handle and display information about artifacts from the result.
|
|
36
|
+
|
|
37
|
+
Args:
|
|
38
|
+
result: The result from the agent containing artifacts.
|
|
39
|
+
test_name: The name of the test for display purposes.
|
|
40
|
+
"""
|
|
41
|
+
def print_artifact_info(artifact: dict) -> None:
|
|
42
|
+
"""Print information about an artifact.
|
|
43
|
+
|
|
44
|
+
Args:
|
|
45
|
+
artifact: Dictionary containing artifact information.
|
|
46
|
+
"""
|
|
47
|
+
def print_hierarchy_info() -> None:
|
|
48
|
+
"""Print information about the 3-level hierarchy being tested."""
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangGraphAgent as LangGraphAgent
|
|
3
|
+
from aip_agents.examples.tools.image_artifact_tool import ImageArtifactTool as ImageArtifactTool
|
|
4
|
+
from aip_agents.examples.tools.table_generator_tool import TableGeneratorTool as TableGeneratorTool
|
|
5
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
6
|
+
|
|
7
|
+
logger: Incomplete
|
|
8
|
+
SERVER_AGENT_NAME: str
|
|
9
|
+
|
|
10
|
+
def create_worker_agents(llm) -> tuple[LangGraphAgent, LangGraphAgent, LangGraphAgent, LangGraphAgent]:
|
|
11
|
+
"""Create Level 3 worker agents that perform atomic operations.
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
llm: The language model to use for the worker agents.
|
|
15
|
+
|
|
16
|
+
Returns:
|
|
17
|
+
tuple[LangGraphAgent, LangGraphAgent, LangGraphAgent, LangGraphAgent]: Tuple of (web_search_worker, data_analysis_worker, writing_worker, formatting_worker).
|
|
18
|
+
"""
|
|
19
|
+
def create_specialist_agents(llm, worker_agents) -> tuple[LangGraphAgent, LangGraphAgent]:
|
|
20
|
+
"""Create Level 2 specialist agents that coordinate worker agents.
|
|
21
|
+
|
|
22
|
+
Args:
|
|
23
|
+
llm: The language model to use for the specialist agents.
|
|
24
|
+
worker_agents: Tuple of worker agents from create_worker_agents function.
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
tuple[LangGraphAgent, LangGraphAgent]: Tuple of (research_specialist, content_specialist).
|
|
28
|
+
"""
|
|
29
|
+
def create_coordinator_agent(llm, specialist_agents) -> LangGraphAgent:
|
|
30
|
+
"""Create Level 1 coordinator agent that orchestrates everything.
|
|
31
|
+
|
|
32
|
+
Args:
|
|
33
|
+
llm: The language model to use for the coordinator agent.
|
|
34
|
+
specialist_agents: Tuple of specialist agents from create_specialist_agents function.
|
|
35
|
+
|
|
36
|
+
Returns:
|
|
37
|
+
LangGraphAgent: The configured coordinator agent.
|
|
38
|
+
"""
|
|
39
|
+
def main(host: str, port: int):
|
|
40
|
+
"""Runs the Three-Level Agent Hierarchy A2A server.
|
|
41
|
+
|
|
42
|
+
Args:
|
|
43
|
+
host (str): Host to bind the server to.
|
|
44
|
+
port (int): Port to bind the server to.
|
|
45
|
+
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.agent import LangGraphReactAgent as LangGraphReactAgent
|
|
3
|
+
from aip_agents.examples.hello_world_a2a_langchain_server import SERVER_AGENT_NAME as SERVER_AGENT_NAME
|
|
4
|
+
from aip_agents.examples.tools.langchain_currency_exchange_tool import CurrencyExchangeTool as CurrencyExchangeTool
|
|
5
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
6
|
+
|
|
7
|
+
logger: Incomplete
|
|
8
|
+
|
|
9
|
+
def main(host: str, port: int):
|
|
10
|
+
"""Runs the LangChain Currency Exchange A2A server.
|
|
11
|
+
|
|
12
|
+
Args:
|
|
13
|
+
host (str): Host to bind the server to.
|
|
14
|
+
port (int): Port to bind the server to.
|
|
15
|
+
"""
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
2
|
+
from aip_agents.examples.mcp_configs.configs import mcp_config_http as mcp_config_http
|
|
3
|
+
|
|
4
|
+
async def main() -> None:
|
|
5
|
+
"""Demonstrates the GoogleADKAgent with MCP tools via Streamable HTTP transport."""
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
2
|
+
from aip_agents.examples.mcp_configs.configs import mcp_config_http as mcp_config_http
|
|
3
|
+
|
|
4
|
+
async def main() -> None:
|
|
5
|
+
"""Demonstrates the GoogleADKAgent with MCP tools via Streamable HTTP transport and streaming."""
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
2
|
+
from aip_agents.examples.mcp_configs.configs import mcp_config_sse as mcp_config_sse
|
|
3
|
+
|
|
4
|
+
async def main() -> None:
|
|
5
|
+
"""Demonstrates the GoogleADKAgent with MCP tools via SSE transport and streaming."""
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
2
|
+
from aip_agents.examples.mcp_configs.configs import mcp_config_stdio as mcp_config_stdio
|
|
3
|
+
|
|
4
|
+
async def main() -> None:
|
|
5
|
+
"""Demonstrates the GoogleADKAgent with MCP tools via stdio transport."""
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
2
|
+
from aip_agents.examples.mcp_configs.configs import mcp_config_stdio as mcp_config_stdio
|
|
3
|
+
|
|
4
|
+
async def main() -> None:
|
|
5
|
+
"""Demonstrates the GoogleADKAgent with MCP tools via stdio transport and streaming."""
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.agent.google_adk_agent import GoogleADKAgent as GoogleADKAgent
|
|
2
|
+
from aip_agents.examples.tools.adk_arithmetic_tools import add_numbers as add_numbers
|
|
3
|
+
|
|
4
|
+
async def google_adk_example_stream() -> None:
|
|
5
|
+
"""Demonstrates the GoogleADKAgent's arun_stream method."""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from aip_agents.agent import LangChainAgent as LangChainAgent
|
|
2
|
+
from aip_agents.utils.env_loader import load_local_env as load_local_env
|
|
3
|
+
|
|
4
|
+
def print_help() -> None:
|
|
5
|
+
"""Prints available commands and their descriptions."""
|
|
6
|
+
def build_mcp_config_from_env() -> dict:
|
|
7
|
+
"""Construct MCP configuration from environment variables.
|
|
8
|
+
|
|
9
|
+
Returns:
|
|
10
|
+
dict: MCP configuration dictionary.
|
|
11
|
+
|
|
12
|
+
Raises:
|
|
13
|
+
RuntimeError: If required environment variables are missing.
|
|
14
|
+
"""
|
|
15
|
+
async def main() -> None:
|
|
16
|
+
"""Runs the interactive LangChainAgent with MCP tools via Streamable HTTP transport."""
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.agent import LangChainAgent as LangChainAgent
|
|
2
|
+
from aip_agents.examples.mcp_configs.configs import mcp_config_http as mcp_config_http
|
|
3
|
+
|
|
4
|
+
async def main() -> None:
|
|
5
|
+
"""Demonstrates the LangChainAgent with MCP tools via Streamable HTTP transport and streaming capabilities."""
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from aip_agents.agent import LangChainAgent as LangChainAgent
|
|
2
|
+
from aip_agents.examples.mcp_configs.configs import mcp_tool_whitelisting_demo as mcp_tool_whitelisting_demo
|
|
3
|
+
from aip_agents.schema.a2a import A2AStreamEventType as A2AStreamEventType
|
|
4
|
+
from aip_agents.utils.logger import logger_manager as logger_manager
|
|
5
|
+
|
|
6
|
+
async def process_query(agent, query: str, is_allowed: bool = True) -> bool:
|
|
7
|
+
"""Process a single query and report if tools were called.
|
|
8
|
+
|
|
9
|
+
Args:
|
|
10
|
+
agent: The LangChain agent to run.
|
|
11
|
+
query: The query to process.
|
|
12
|
+
is_allowed: Whether this query should use allowed tools.
|
|
13
|
+
|
|
14
|
+
Returns:
|
|
15
|
+
True if at least one tool was called while processing the query, False otherwise.
|
|
16
|
+
"""
|
|
17
|
+
async def main() -> None:
|
|
18
|
+
"""Demo allowed_tools filtering with 3 MCP servers (STDIO, SSE, HTTP)."""
|