aip-agents-binary 0.5.18__py3-none-any.whl → 0.5.19__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.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.pyi +126 -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.pyi +48 -0
- 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_bosa_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.pyi +5 -0
- 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/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.pyi +71 -0
- aip_agents/middleware/manager.pyi +80 -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 +4 -0
- aip_agents/tools/bosa_tools.pyi +37 -0
- aip_agents/tools/browser_use/__init__.py +1 -1
- 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__.py +1 -1
- 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 +86 -0
- aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +29 -0
- aip_agents/tools/constants.pyi +135 -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/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/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.18.dist-info → aip_agents_binary-0.5.19.dist-info}/METADATA +4 -12
- {aip_agents_binary-0.5.18.dist-info → aip_agents_binary-0.5.19.dist-info}/RECORD +271 -6
- {aip_agents_binary-0.5.18.dist-info → aip_agents_binary-0.5.19.dist-info}/WHEEL +0 -0
- {aip_agents_binary-0.5.18.dist-info → aip_agents_binary-0.5.19.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from enum import Enum, StrEnum
|
|
3
|
+
|
|
4
|
+
BOSA_API_BASE_URL: Incomplete
|
|
5
|
+
BOSA_API_KEY: Incomplete
|
|
6
|
+
BOSA_FETCH_MAX_RETRIES: int
|
|
7
|
+
|
|
8
|
+
class ToolType(StrEnum):
|
|
9
|
+
"""Tool types for BOSA Connector."""
|
|
10
|
+
GLLM: str
|
|
11
|
+
LANGCHAIN: str
|
|
12
|
+
|
|
13
|
+
class Action(Enum):
|
|
14
|
+
"""Actions for BOSA Connector."""
|
|
15
|
+
GITHUB: str
|
|
16
|
+
GOOGLE: str
|
|
17
|
+
GOOGLE_DRIVE: str
|
|
18
|
+
GOOGLE_MAIL: str
|
|
19
|
+
TWITTER: str
|
|
20
|
+
|
|
21
|
+
class GitHubEndpoint(Enum):
|
|
22
|
+
"""GitHub endpoints for BOSA Connector."""
|
|
23
|
+
INTEGRATIONS: str
|
|
24
|
+
USER_HAS_INTEGRATION: str
|
|
25
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
26
|
+
CREATE_ISSUE_HANDLER: str
|
|
27
|
+
GET_ISSUE_HANDLER: str
|
|
28
|
+
LIST_ISSUES: str
|
|
29
|
+
LIST_ISSUES_COMMENTS: str
|
|
30
|
+
SEARCH_ALL_ISSUES: str
|
|
31
|
+
GET_COMMITS: str
|
|
32
|
+
SEARCH_COMMITS: str
|
|
33
|
+
GET_COLLABORATORS: str
|
|
34
|
+
GET_RELEASES: str
|
|
35
|
+
GET_CONTRIBUTORS: str
|
|
36
|
+
GET_LANGUAGES: str
|
|
37
|
+
SEARCH_CONTRIBUTIONS: str
|
|
38
|
+
LIST_PULL_REQUESTS: str
|
|
39
|
+
SEARCH_PR: str
|
|
40
|
+
GET_PULL: str
|
|
41
|
+
GET_ALL_CONTRIBUTOR_COMMIT_ACTIVITIES: str
|
|
42
|
+
GET_COMMIT_ACTIVITY: str
|
|
43
|
+
GET_WEEKLY_COMMIT_COUNTS: str
|
|
44
|
+
GET_USER_CONTRIBUTION_STATISTICS: str
|
|
45
|
+
LIST_PROJECT_ITEMS: str
|
|
46
|
+
LIST_PROJECTS: str
|
|
47
|
+
|
|
48
|
+
class GoogleDriveEndpoint(Enum):
|
|
49
|
+
"""Google Drive endpoints for BOSA Connector."""
|
|
50
|
+
INTEGRATIONS: str
|
|
51
|
+
USER_HAS_INTEGRATION: str
|
|
52
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
53
|
+
SEARCH_FILES: str
|
|
54
|
+
GET_FILE: str
|
|
55
|
+
CREATE_FILE: str
|
|
56
|
+
CREATE_FOLDER: str
|
|
57
|
+
UPDATE_FILE: str
|
|
58
|
+
UPDATE_FOLDER: str
|
|
59
|
+
COPY_FILE: str
|
|
60
|
+
DELETE_FILE: str
|
|
61
|
+
SUMMARIZE_FOLDER_FILES_BY_TYPE: str
|
|
62
|
+
SUMMARIZE_TOTAL_FILES_BY_TYPE: str
|
|
63
|
+
RECENT_FILES: str
|
|
64
|
+
CREATE_PERMISSION: str
|
|
65
|
+
LIST_PERMISSIONS: str
|
|
66
|
+
GET_PERMISSION: str
|
|
67
|
+
UPDATE_PERMISSION: str
|
|
68
|
+
DELETE_PERMISSION: str
|
|
69
|
+
DOWNLOAD_FILE: str
|
|
70
|
+
|
|
71
|
+
class GoogleDocsEndpoint(Enum):
|
|
72
|
+
"""Google Docs endpoints for BOSA Connector."""
|
|
73
|
+
INTEGRATIONS: str
|
|
74
|
+
USER_HAS_INTEGRATION: str
|
|
75
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
76
|
+
GET_DOCUMENT: str
|
|
77
|
+
LIST_DOCUMENTS: str
|
|
78
|
+
CREATE_DOCUMENT: str
|
|
79
|
+
UPDATE_DOCUMENT: str
|
|
80
|
+
COPY_CONTENT: str
|
|
81
|
+
UPDATE_DOCUMENT_MARKDOWN: str
|
|
82
|
+
LIST_COMMENTS: str
|
|
83
|
+
SUMMARIZE_COMMENTS: str
|
|
84
|
+
|
|
85
|
+
class GoogleEndpoint(Enum):
|
|
86
|
+
"""Google endpoints for BOSA Connector."""
|
|
87
|
+
INTEGRATIONS: str
|
|
88
|
+
USER_HAS_INTEGRATION: str
|
|
89
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
90
|
+
USERINFO: str
|
|
91
|
+
|
|
92
|
+
class TwitterEndpoint(Enum):
|
|
93
|
+
"""Twitter endpoints for BOSA Connector."""
|
|
94
|
+
INTEGRATIONS: str
|
|
95
|
+
USER_HAS_INTEGRATION: str
|
|
96
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
97
|
+
SEARCH: str
|
|
98
|
+
GET_TWEETS: str
|
|
99
|
+
GET_THREAD: str
|
|
100
|
+
GET_USERS: str
|
|
101
|
+
|
|
102
|
+
class GoogleMailEndpoint(Enum):
|
|
103
|
+
"""Google Mail endpoints for BOSA Connector."""
|
|
104
|
+
INTEGRATIONS: str
|
|
105
|
+
USER_HAS_INTEGRATION: str
|
|
106
|
+
SUCCESS_AUTHORIZE_CALLBACK: str
|
|
107
|
+
CREATE_DRAFT: str
|
|
108
|
+
LIST_DRAFTS: str
|
|
109
|
+
SEND_DRAFT: str
|
|
110
|
+
GET_DRAFT: str
|
|
111
|
+
MODIFY_DRAFT: str
|
|
112
|
+
LIST_LABELS: str
|
|
113
|
+
LABEL_STATS: str
|
|
114
|
+
GET_LABEL_DETAILS: str
|
|
115
|
+
CREATE_LABELS: str
|
|
116
|
+
MODIFY_LABELS: str
|
|
117
|
+
DELETE_LABELS: str
|
|
118
|
+
SEND_EMAIL: str
|
|
119
|
+
LIST_EMAILS: str
|
|
120
|
+
GET_EMAIL_DETAILS: str
|
|
121
|
+
MODIFY_EMAIL: str
|
|
122
|
+
DELETE_EMAIL: str
|
|
123
|
+
TRASH_EMAIL: str
|
|
124
|
+
UNTRASH_EMAIL: str
|
|
125
|
+
LIST_THREADS: str
|
|
126
|
+
THREAD_DETAILS: str
|
|
127
|
+
MODIFY_THREAD: str
|
|
128
|
+
GET_AUTO_REPLY: str
|
|
129
|
+
SET_AUTO_REPLY: str
|
|
130
|
+
GET_ATTACHMENT: str
|
|
131
|
+
USERINFO: str
|
|
132
|
+
|
|
133
|
+
class ActionEndpointMap:
|
|
134
|
+
"""Maps Action enums to their corresponding Endpoint enums."""
|
|
135
|
+
MAP: dict[Action, type[Enum]]
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
from aip_agents.tools.document_loader.base_reader import BaseDocumentReaderTool as BaseDocumentReaderTool, DocumentReaderInput as DocumentReaderInput
|
|
2
|
+
from aip_agents.tools.document_loader.docx_reader_tool import DocxReaderTool as DocxReaderTool
|
|
3
|
+
from aip_agents.tools.document_loader.excel_reader_tool import ExcelReaderTool as ExcelReaderTool
|
|
4
|
+
from aip_agents.tools.document_loader.pdf_reader_tool import PDFReaderTool as PDFReaderTool
|
|
5
|
+
from aip_agents.tools.document_loader.pdf_splitter import PDFSplitter as PDFSplitter
|
|
6
|
+
|
|
7
|
+
__all__ = ['BaseDocumentReaderTool', 'DocumentReaderInput', 'PDFReaderTool', 'DocxReaderTool', 'ExcelReaderTool', 'PDFSplitter']
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from abc import ABC
|
|
3
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
4
|
+
from gllm_docproc.loader.pipeline_loader import PipelineLoader as PipelineLoaderType
|
|
5
|
+
from langchain_core.tools import BaseTool
|
|
6
|
+
from pydantic import BaseModel
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
logger: Incomplete
|
|
10
|
+
DOCPROC_MISSING_MESSAGE: str
|
|
11
|
+
PipelineLoaderType = Any
|
|
12
|
+
|
|
13
|
+
class _MissingDocprocLoader:
|
|
14
|
+
"""Fallback loader that errors when document processing is attempted."""
|
|
15
|
+
loaders: list[object]
|
|
16
|
+
def __init__(self) -> None: ...
|
|
17
|
+
def add_loader(self, loader: object) -> None: ...
|
|
18
|
+
def load(self, *_args: object, **_kwargs: object) -> list[dict[str, str]]: ...
|
|
19
|
+
def clear_cache(self) -> None: ...
|
|
20
|
+
|
|
21
|
+
DOCPROC_AVAILABLE: Incomplete
|
|
22
|
+
|
|
23
|
+
class BaseDocumentConfig(BaseModel):
|
|
24
|
+
"""Base tool configuration schema for document processing with batching functionality.
|
|
25
|
+
|
|
26
|
+
This configuration enables page-by-page batching to optimize memory usage when
|
|
27
|
+
processing large document files. When batching is enabled, documents are processed
|
|
28
|
+
sequentially by pages rather than loading the entire document into memory at once.
|
|
29
|
+
|
|
30
|
+
Attributes:
|
|
31
|
+
batching (bool): Enable page-by-page batching to reduce memory usage.
|
|
32
|
+
When True, documents are processed page by page sequentially.
|
|
33
|
+
When False, maintains current behavior of loading entire document.
|
|
34
|
+
Defaults to False for backward compatibility.
|
|
35
|
+
batch_size (int): Number of pages to process in each batch.
|
|
36
|
+
Must be between 1 and 100 pages inclusive.
|
|
37
|
+
Larger batch sizes may use more memory but could be more efficient.
|
|
38
|
+
Smaller batch sizes use less memory but may have more overhead.
|
|
39
|
+
Defaults to 10 for balanced memory usage and efficiency.
|
|
40
|
+
|
|
41
|
+
Examples:
|
|
42
|
+
>>> # Default configuration (no batching)
|
|
43
|
+
>>> config = BaseDocumentConfig()
|
|
44
|
+
>>> print(config.batching) # False
|
|
45
|
+
>>> print(config.batch_size) # 10
|
|
46
|
+
|
|
47
|
+
>>> # Enable batching with single page processing
|
|
48
|
+
>>> config = BaseDocumentConfig(batching=True, batch_size=1)
|
|
49
|
+
|
|
50
|
+
>>> # Enable batching with multi-page batches
|
|
51
|
+
>>> config = BaseDocumentConfig(batching=True, batch_size=3)
|
|
52
|
+
"""
|
|
53
|
+
batching: bool
|
|
54
|
+
batch_size: int
|
|
55
|
+
|
|
56
|
+
class DocumentReaderInput(BaseModel):
|
|
57
|
+
"""Input schema for the DocumentReader tool."""
|
|
58
|
+
file_path: str
|
|
59
|
+
|
|
60
|
+
class BaseDocumentReaderTool(BaseTool, ABC):
|
|
61
|
+
"""Base tool to read and extract text from document files."""
|
|
62
|
+
name: str
|
|
63
|
+
description: str
|
|
64
|
+
args_schema: type[BaseModel]
|
|
65
|
+
tool_config_schema: type[BaseModel]
|
|
66
|
+
loader: PipelineLoaderType
|
|
67
|
+
def __init__(self) -> None:
|
|
68
|
+
"""Initialize the base document reader tool."""
|
|
69
|
+
def cleanup_memory(self) -> None:
|
|
70
|
+
"""Explicitly clean up memory and force garbage collection.
|
|
71
|
+
|
|
72
|
+
This method can be called after processing to minimize memory usage.
|
|
73
|
+
While it won't reset memory to exactly 0, it will free up as much
|
|
74
|
+
memory as possible by clearing internal caches and forcing garbage collection.
|
|
75
|
+
"""
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.tools.document_loader.base_reader import BaseDocumentReaderTool as BaseDocumentReaderTool, DOCPROC_MISSING_MESSAGE as DOCPROC_MISSING_MESSAGE
|
|
3
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
4
|
+
|
|
5
|
+
logger: Incomplete
|
|
6
|
+
|
|
7
|
+
class DocxReaderTool(BaseDocumentReaderTool):
|
|
8
|
+
"""Tool to read and extract text from Word documents."""
|
|
9
|
+
name: str
|
|
10
|
+
description: str
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.tools.document_loader.base_reader import BaseDocumentReaderTool as BaseDocumentReaderTool, DOCPROC_MISSING_MESSAGE as DOCPROC_MISSING_MESSAGE
|
|
3
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
4
|
+
|
|
5
|
+
logger: Incomplete
|
|
6
|
+
|
|
7
|
+
class ExcelReaderTool(BaseDocumentReaderTool):
|
|
8
|
+
'''Tool to read and extract content from Excel files.
|
|
9
|
+
|
|
10
|
+
This tool reads Excel files (.xlsx, .xlsm) and extracts their content using
|
|
11
|
+
the gllm_docproc loader pipeline. The content is formatted as Markdown tables
|
|
12
|
+
for easy readability.
|
|
13
|
+
|
|
14
|
+
Features:
|
|
15
|
+
- Supports .xlsx and .xlsm formats
|
|
16
|
+
- Extracts all sheets or specific sheets
|
|
17
|
+
- Formats output as Markdown tables
|
|
18
|
+
- Configurable row limits and file size limits
|
|
19
|
+
|
|
20
|
+
Examples:
|
|
21
|
+
>>> tool = ExcelReaderTool()
|
|
22
|
+
>>> result = tool._run("/tmp/data.xlsx")
|
|
23
|
+
>>> print(result)
|
|
24
|
+
'''
|
|
25
|
+
name: str
|
|
26
|
+
description: str
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.tools.document_loader.base_reader import BaseDocumentReaderTool as BaseDocumentReaderTool, DOCPROC_MISSING_MESSAGE as DOCPROC_MISSING_MESSAGE
|
|
3
|
+
from aip_agents.tools.document_loader.pdf_splitter import PDFSplitter as PDFSplitter
|
|
4
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
+
|
|
6
|
+
logger: Incomplete
|
|
7
|
+
|
|
8
|
+
class PDFReaderTool(BaseDocumentReaderTool):
|
|
9
|
+
"""Tool to read and extract text from PDF files."""
|
|
10
|
+
name: str
|
|
11
|
+
description: str
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
class PDFSplitter:
|
|
2
|
+
"""Utility class for splitting PDF files into page-based temporary files."""
|
|
3
|
+
@staticmethod
|
|
4
|
+
def split_by_pages(file_path: str, batch_size: int) -> list[str]:
|
|
5
|
+
"""Split PDF into temporary files containing batch_size pages each.
|
|
6
|
+
|
|
7
|
+
Args:
|
|
8
|
+
file_path: Path to the PDF file to split
|
|
9
|
+
batch_size: Number of pages to include in each batch (1-10)
|
|
10
|
+
|
|
11
|
+
Returns:
|
|
12
|
+
List of temporary file paths containing the split PDF batches
|
|
13
|
+
|
|
14
|
+
Raises:
|
|
15
|
+
FileNotFoundError: If the input PDF file doesn't exist
|
|
16
|
+
ValueError: If batch_size is invalid or PDF is corrupted
|
|
17
|
+
Exception: For other PDF processing errors
|
|
18
|
+
"""
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.tools.constants import ToolType as ToolType
|
|
3
|
+
from langchain_core.runnables import RunnableConfig
|
|
4
|
+
from langchain_core.tools import BaseTool
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
class _InjectedTool(BaseTool):
|
|
8
|
+
"""Wrap a BaseTool to inject token and optional identifier into inputs."""
|
|
9
|
+
model_config: Incomplete
|
|
10
|
+
def __init__(self, base_tool: BaseTool, token: str, identifier: str | None) -> None:
|
|
11
|
+
"""Initialize the injected tool wrapper.
|
|
12
|
+
|
|
13
|
+
Args:
|
|
14
|
+
base_tool: The base tool to wrap.
|
|
15
|
+
token: Authentication token to inject into tool inputs.
|
|
16
|
+
identifier: Optional identifier to inject into tool inputs.
|
|
17
|
+
|
|
18
|
+
Returns:
|
|
19
|
+
None
|
|
20
|
+
"""
|
|
21
|
+
def invoke(self, input: Any, config: RunnableConfig | None = None, **kwargs: Any) -> Any:
|
|
22
|
+
"""Invoke the tool with token and optional identifier injected.
|
|
23
|
+
|
|
24
|
+
Args:
|
|
25
|
+
input: Tool input to process.
|
|
26
|
+
config: Optional runnable configuration.
|
|
27
|
+
**kwargs: Additional keyword arguments.
|
|
28
|
+
|
|
29
|
+
Returns:
|
|
30
|
+
The result of invoking the tool with injected parameters.
|
|
31
|
+
"""
|
|
32
|
+
async def ainvoke(self, input: Any, config: RunnableConfig | None = None, **kwargs: Any) -> Any:
|
|
33
|
+
"""Invoke the tool asynchronously with token and optional identifier injected.
|
|
34
|
+
|
|
35
|
+
Args:
|
|
36
|
+
input: Tool input to process.
|
|
37
|
+
config: Optional runnable configuration.
|
|
38
|
+
**kwargs: Additional keyword arguments.
|
|
39
|
+
|
|
40
|
+
Returns:
|
|
41
|
+
The result of invoking the tool with injected parameters.
|
|
42
|
+
"""
|
|
43
|
+
def run(self, tool_input: Any, **kwargs: Any) -> Any:
|
|
44
|
+
"""Run the tool with token and optional identifier injected.
|
|
45
|
+
|
|
46
|
+
Args:
|
|
47
|
+
tool_input: Tool input to process.
|
|
48
|
+
**kwargs: Additional keyword arguments.
|
|
49
|
+
|
|
50
|
+
Returns:
|
|
51
|
+
The result of running the tool with injected parameters.
|
|
52
|
+
"""
|
|
53
|
+
async def arun(self, tool_input: Any, **kwargs: Any) -> Any:
|
|
54
|
+
"""Run the tool asynchronously with token and optional identifier injected.
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
tool_input: Tool input to process.
|
|
58
|
+
**kwargs: Additional keyword arguments.
|
|
59
|
+
|
|
60
|
+
Returns:
|
|
61
|
+
The result of running the tool with injected parameters.
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
def GLConnectorTool(tool_name: str, *, api_key: str | None = None, identifier: str | None = None) -> BaseTool:
|
|
65
|
+
"""Create a single GL Connector tool by exact tool name.
|
|
66
|
+
|
|
67
|
+
Args:
|
|
68
|
+
tool_name: Exact tool name (not module name).
|
|
69
|
+
api_key: Optional override for BOSA API key.
|
|
70
|
+
identifier: Optional override for BOSA identifier.
|
|
71
|
+
|
|
72
|
+
Returns:
|
|
73
|
+
A single LangChain BaseTool with token injection.
|
|
74
|
+
"""
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
from aip_agents.tools.memory_search.base import LongTermMemorySearchTool as LongTermMemorySearchTool
|
|
2
|
+
from aip_agents.tools.memory_search.mem0 import MEMORY_SEARCH_TOOL_NAME as MEMORY_SEARCH_TOOL_NAME, Mem0SearchInput as Mem0SearchInput, Mem0SearchTool as Mem0SearchTool
|
|
3
|
+
from aip_agents.tools.memory_search.schema import LongTermMemorySearchInput as LongTermMemorySearchInput, MemoryConfig as MemoryConfig
|
|
4
|
+
|
|
5
|
+
__all__ = ['MemoryConfig', 'LongTermMemorySearchInput', 'LongTermMemorySearchTool', 'Mem0SearchInput', 'Mem0SearchTool', 'MEMORY_SEARCH_TOOL_NAME']
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from abc import ABC
|
|
3
|
+
from aip_agents.memory.constants import MemoryDefaults as MemoryDefaults
|
|
4
|
+
from aip_agents.tools.memory_search.schema import LongTermMemorySearchInput as LongTermMemorySearchInput, MemoryConfig as MemoryConfig
|
|
5
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
6
|
+
from collections.abc import Callable
|
|
7
|
+
from langchain_core.tools import BaseTool
|
|
8
|
+
from pydantic import BaseModel as BaseModel
|
|
9
|
+
from typing import Any, ClassVar, Protocol
|
|
10
|
+
|
|
11
|
+
logger: Incomplete
|
|
12
|
+
|
|
13
|
+
class LongTermMemoryBackend(Protocol):
|
|
14
|
+
"""Protocol for memory adapters that support retrieval and formatting."""
|
|
15
|
+
def retrieve(self, *, query: str | None, user_id: str, limit: int | None = None, filters: dict[str, Any] | None = None, page: int | None = None) -> list[dict[str, Any]]:
|
|
16
|
+
"""Retrieve memories matching the given query and filters.
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
query: Optional search query string.
|
|
20
|
+
user_id: User identifier for scoped retrieval.
|
|
21
|
+
limit: Maximum number of results to return.
|
|
22
|
+
filters: Optional filters to apply to the retrieval.
|
|
23
|
+
page: Page number for pagination.
|
|
24
|
+
|
|
25
|
+
Returns:
|
|
26
|
+
List of memory hit dictionaries.
|
|
27
|
+
"""
|
|
28
|
+
def format_hits(self, hits: list[dict[str, Any]], max_items: int = ..., with_tag: bool = True) -> str:
|
|
29
|
+
"""Format memory hits into a readable string.
|
|
30
|
+
|
|
31
|
+
Args:
|
|
32
|
+
hits: List of memory hit dictionaries to format.
|
|
33
|
+
max_items: Maximum number of hits to include in output.
|
|
34
|
+
with_tag: Whether to wrap output with memory tags.
|
|
35
|
+
|
|
36
|
+
Returns:
|
|
37
|
+
Formatted string representation of memory hits.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
class LongTermMemorySearchTool(BaseTool, ABC):
|
|
41
|
+
"""Abstract base class for provider-specific long-term memory search tools."""
|
|
42
|
+
name: str
|
|
43
|
+
description: str
|
|
44
|
+
args_schema: type[LongTermMemorySearchInput]
|
|
45
|
+
tool_config_schema: type[BaseModel]
|
|
46
|
+
memory: LongTermMemoryBackend
|
|
47
|
+
default_user_id: str | None
|
|
48
|
+
user_id_provider: Callable[[], str | None] | None
|
|
49
|
+
MINIMUM_MEMORY_RETRIEVAL: ClassVar[int]
|
|
50
|
+
LOG_PREFIX: ClassVar[str]
|
|
51
|
+
def __init__(self, memory: LongTermMemoryBackend, *, default_user_id: str | None = None, user_id_provider: Callable[[], str | None] | None = None, **kwargs: Any) -> None:
|
|
52
|
+
"""Initialize the long-term memory search tool.
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
memory: Memory adapter instance with retrieve() and format_hits() methods.
|
|
56
|
+
default_user_id: Default user ID to use if not provided in metadata.
|
|
57
|
+
user_id_provider: Callable that returns a user ID.
|
|
58
|
+
**kwargs: Additional keyword arguments passed to the parent class.
|
|
59
|
+
"""
|
|
60
|
+
def format_hits(self, hits: list[dict[str, Any]], with_tag: bool = False) -> str:
|
|
61
|
+
"""Format hits into a string with optional tags.
|
|
62
|
+
|
|
63
|
+
Args:
|
|
64
|
+
hits: List of memory hit dictionaries to format.
|
|
65
|
+
with_tag: Whether to wrap the output with memory tags.
|
|
66
|
+
|
|
67
|
+
Returns:
|
|
68
|
+
Formatted string representation of the memory hits.
|
|
69
|
+
"""
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.memory.constants import MemoryDefaults as MemoryDefaults
|
|
3
|
+
from aip_agents.tools.memory_search.base import LongTermMemorySearchTool as LongTermMemorySearchTool
|
|
4
|
+
from aip_agents.tools.memory_search.schema import LongTermMemorySearchInput as LongTermMemorySearchInput
|
|
5
|
+
from aip_agents.utils.datetime import is_valid_date_string as is_valid_date_string, next_day_iso as next_day_iso
|
|
6
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
7
|
+
from typing import ClassVar
|
|
8
|
+
|
|
9
|
+
logger: Incomplete
|
|
10
|
+
MEMORY_SEARCH_TOOL_NAME: str
|
|
11
|
+
|
|
12
|
+
class Mem0SearchTool(LongTermMemorySearchTool):
|
|
13
|
+
"""Mem0-specific implementation of the long-term memory search tool."""
|
|
14
|
+
name: str
|
|
15
|
+
description: str
|
|
16
|
+
args_schema: type[LongTermMemorySearchInput]
|
|
17
|
+
LOG_PREFIX: ClassVar[str]
|
|
18
|
+
METADATA_FILTER_BLOCKLIST: ClassVar[set[str]]
|
|
19
|
+
Mem0SearchInput = LongTermMemorySearchInput
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from pydantic import BaseModel
|
|
2
|
+
from typing import Any
|
|
3
|
+
|
|
4
|
+
class MemoryConfig(BaseModel):
|
|
5
|
+
"""Tool configuration schema for memory operations."""
|
|
6
|
+
user_id: str
|
|
7
|
+
|
|
8
|
+
class LongTermMemorySearchInput(BaseModel):
|
|
9
|
+
"""Input schema for unified long-term memory retrieval."""
|
|
10
|
+
query: str | None
|
|
11
|
+
start_date: str | None
|
|
12
|
+
end_date: str | None
|
|
13
|
+
limit: int | None
|
|
14
|
+
categories: list[str] | None
|
|
15
|
+
metadata: dict[str, Any] | None
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
from aip_agents.tools.memory_search import LongTermMemorySearchInput as LongTermMemorySearchInput, LongTermMemorySearchTool as LongTermMemorySearchTool, MEMORY_SEARCH_TOOL_NAME as MEMORY_SEARCH_TOOL_NAME, Mem0SearchInput as Mem0SearchInput, Mem0SearchTool as Mem0SearchTool, MemoryConfig as MemoryConfig
|
|
2
|
+
|
|
3
|
+
__all__ = ['MemoryConfig', 'LongTermMemorySearchInput', 'LongTermMemorySearchTool', 'Mem0SearchInput', 'Mem0SearchTool', 'MEMORY_SEARCH_TOOL_NAME']
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from langchain_core.tools import BaseTool
|
|
2
|
+
from pydantic import BaseModel
|
|
3
|
+
from typing import TypeVar
|
|
4
|
+
|
|
5
|
+
__all__ = ['inject_config_methods_into_tool', 'CONFIG_SCHEMA_ATTR', 'CONFIG_ATTR', 'TOOL_CONFIG_SCHEMA_ATTR', 'TOOL_CONFIGS_KEY']
|
|
6
|
+
|
|
7
|
+
ConfigSchema = TypeVar('ConfigSchema', bound=BaseModel)
|
|
8
|
+
CONFIG_SCHEMA_ATTR: str
|
|
9
|
+
CONFIG_ATTR: str
|
|
10
|
+
TOOL_CONFIG_SCHEMA_ATTR: str
|
|
11
|
+
TOOL_CONFIGS_KEY: str
|
|
12
|
+
|
|
13
|
+
def inject_config_methods_into_tool(tool: BaseTool, config_schema: type[ConfigSchema]) -> None:
|
|
14
|
+
"""Inject configuration methods into a tool.
|
|
15
|
+
|
|
16
|
+
This function is used by the SDK to automatically inject configuration capabilities
|
|
17
|
+
into tools that have a tool_config_schema attribute. It can also be used directly
|
|
18
|
+
by developers who want to add configuration support to their tools.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
tool: The tool to inject configuration capabilities into.
|
|
22
|
+
config_schema: Pydantic model class for configuration validation.
|
|
23
|
+
|
|
24
|
+
Raises:
|
|
25
|
+
ValueError: If tool is not a BaseTool instance or config_schema is not a Pydantic BaseModel subclass.
|
|
26
|
+
"""
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from _typeshed import Incomplete
|
|
2
|
+
from aip_agents.utils.logger import get_logger as get_logger
|
|
3
|
+
from langchain_community.utilities.google_serper import GoogleSerperAPIWrapper
|
|
4
|
+
from langchain_core.tools import BaseTool
|
|
5
|
+
from pydantic import BaseModel
|
|
6
|
+
|
|
7
|
+
logger: Incomplete
|
|
8
|
+
|
|
9
|
+
class GoogleSerperInput(BaseModel):
|
|
10
|
+
"""Input schema for the GoogleSerperTool."""
|
|
11
|
+
query: str
|
|
12
|
+
|
|
13
|
+
class GoogleSerperTool(BaseTool):
|
|
14
|
+
"""Tool to search Google Serper API."""
|
|
15
|
+
name: str
|
|
16
|
+
description: str
|
|
17
|
+
save_output_history: bool
|
|
18
|
+
args_schema: type[BaseModel]
|
|
19
|
+
api_wrapper: GoogleSerperAPIWrapper
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from aip_agents.schema.a2a import A2AEvent as A2AEvent, A2AStreamEventType as A2AStreamEventType, ToolCallInfo as ToolCallInfo, ToolResultInfo as ToolResultInfo
|
|
2
|
+
from pydantic import BaseModel
|
|
3
|
+
from typing import Any, Protocol
|
|
4
|
+
|
|
5
|
+
__all__ = ['A2AEvent', 'A2AStreamEventType', 'ToolCallInfo', 'ToolResultInfo', 'AgentProtocol', 'ChatMessage']
|
|
6
|
+
|
|
7
|
+
class ChatMessage(BaseModel):
|
|
8
|
+
"""Represents a single message in a chat conversation."""
|
|
9
|
+
role: str
|
|
10
|
+
content: str
|
|
11
|
+
|
|
12
|
+
class AgentProtocol(Protocol):
|
|
13
|
+
"""Defines the expected interface for an agent."""
|
|
14
|
+
id: str
|
|
15
|
+
name: str
|
|
16
|
+
description: str
|
|
17
|
+
def run(self, query: str, **kwargs: Any) -> dict[str, Any]:
|
|
18
|
+
"""Synchronous execution method.
|
|
19
|
+
|
|
20
|
+
Args:
|
|
21
|
+
query (str): The query to execute.
|
|
22
|
+
**kwargs (Any): Additional keyword arguments.
|
|
23
|
+
|
|
24
|
+
Returns:
|
|
25
|
+
dict[str, Any]: The execution result.
|
|
26
|
+
"""
|
|
27
|
+
async def arun(self, query: str, **kwargs: Any) -> dict[str, Any]:
|
|
28
|
+
"""Asynchronous execution method.
|
|
29
|
+
|
|
30
|
+
Args:
|
|
31
|
+
query (str): The query to execute.
|
|
32
|
+
**kwargs (Any): Additional keyword arguments.
|
|
33
|
+
|
|
34
|
+
Returns:
|
|
35
|
+
dict[str, Any]: The execution result.
|
|
36
|
+
"""
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from aip_agents.utils.artifact_helpers import create_artifact_command as create_artifact_command, create_artifact_response as create_artifact_response, create_error_response as create_error_response, create_multiple_artifacts_command as create_multiple_artifacts_command, create_text_artifact_response as create_text_artifact_response
|
|
2
|
+
from aip_agents.utils.file_prompt_utils import augment_query_with_file_paths as augment_query_with_file_paths
|
|
3
|
+
from aip_agents.utils.final_response_builder import assemble_final_response as assemble_final_response
|
|
4
|
+
from aip_agents.utils.logger import LoggerManager as LoggerManager, get_logger as get_logger
|
|
5
|
+
from aip_agents.utils.pii.pii_handler import ToolPIIHandler as ToolPIIHandler
|
|
6
|
+
from aip_agents.utils.pii.pii_helper import add_pii_mappings as add_pii_mappings, extract_pii_mapping_from_agent_response as extract_pii_mapping_from_agent_response
|
|
7
|
+
from aip_agents.utils.reference_helper import add_references_chunks as add_references_chunks, serialize_references_for_metadata as serialize_references_for_metadata, validate_references as validate_references
|
|
8
|
+
from aip_agents.utils.sse_chunk_transformer import SSEChunkTransformer as SSEChunkTransformer
|
|
9
|
+
from aip_agents.utils.step_limit_manager import StepExecutionContext as StepExecutionContext, StepLimitManager as StepLimitManager, _DELEGATION_CHAIN_CVAR as _DELEGATION_CHAIN_CVAR, _DELEGATION_DEPTH_CVAR as _DELEGATION_DEPTH_CVAR, _REMAINING_STEP_BUDGET_CVAR as _REMAINING_STEP_BUDGET_CVAR, _STEP_LIMIT_CONFIG_CVAR as _STEP_LIMIT_CONFIG_CVAR
|
|
10
|
+
|
|
11
|
+
__all__ = ['get_logger', 'LoggerManager', 'create_artifact_response', 'create_error_response', 'create_artifact_command', 'create_multiple_artifacts_command', 'create_text_artifact_response', 'validate_references', 'serialize_references_for_metadata', 'add_references_chunks', 'assemble_final_response', 'augment_query_with_file_paths', 'SSEChunkTransformer', 'StepExecutionContext', 'StepLimitManager', '_DELEGATION_CHAIN_CVAR', '_DELEGATION_DEPTH_CVAR', '_REMAINING_STEP_BUDGET_CVAR', '_STEP_LIMIT_CONFIG_CVAR', 'ToolPIIHandler', 'add_pii_mappings', 'extract_pii_mapping_from_agent_response']
|