aip-agents-binary 0.5.25__py3-none-any.whl → 0.5.25b8__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/examples/compare_streaming_client.py +2 -2
- aip_agents/examples/compare_streaming_server.py +1 -1
- aip_agents/examples/todolist_planning_a2a_langchain_client.py +2 -2
- aip_agents/examples/todolist_planning_a2a_langgraph_server.py +1 -1
- {aip_agents_binary-0.5.25.dist-info → aip_agents_binary-0.5.25b8.dist-info}/METADATA +47 -49
- aip_agents_binary-0.5.25b8.dist-info/RECORD +290 -0
- {aip_agents_binary-0.5.25.dist-info → aip_agents_binary-0.5.25b8.dist-info}/WHEEL +1 -1
- aip_agents/__init__.pyi +0 -19
- aip_agents/a2a/__init__.pyi +0 -3
- aip_agents/a2a/server/__init__.pyi +0 -4
- aip_agents/a2a/server/base_executor.pyi +0 -73
- aip_agents/a2a/server/google_adk_executor.pyi +0 -51
- aip_agents/a2a/server/langflow_executor.pyi +0 -43
- aip_agents/a2a/server/langgraph_executor.pyi +0 -47
- aip_agents/a2a/types.pyi +0 -132
- aip_agents/agent/__init__.pyi +0 -9
- aip_agents/agent/base_agent.pyi +0 -221
- aip_agents/agent/base_langgraph_agent.pyi +0 -232
- aip_agents/agent/google_adk_agent.pyi +0 -141
- aip_agents/agent/google_adk_constants.pyi +0 -3
- aip_agents/agent/hitl/__init__.pyi +0 -6
- aip_agents/agent/hitl/config.pyi +0 -15
- aip_agents/agent/hitl/langgraph_hitl_mixin.pyi +0 -42
- aip_agents/agent/hitl/manager.pyi +0 -200
- aip_agents/agent/hitl/models.pyi +0 -3
- aip_agents/agent/hitl/prompt/__init__.pyi +0 -4
- aip_agents/agent/hitl/prompt/base.pyi +0 -24
- aip_agents/agent/hitl/prompt/deferred.pyi +0 -30
- aip_agents/agent/hitl/registry.pyi +0 -101
- aip_agents/agent/interface.pyi +0 -81
- aip_agents/agent/interfaces.pyi +0 -44
- aip_agents/agent/langflow_agent.pyi +0 -133
- aip_agents/agent/langgraph_memory_enhancer_agent.pyi +0 -49
- aip_agents/agent/langgraph_react_agent.pyi +0 -131
- aip_agents/agent/system_instruction_context.pyi +0 -13
- aip_agents/clients/__init__.pyi +0 -4
- aip_agents/clients/langflow/__init__.pyi +0 -4
- aip_agents/clients/langflow/client.pyi +0 -140
- aip_agents/clients/langflow/types.pyi +0 -7
- aip_agents/constants.pyi +0 -7
- aip_agents/examples/__init__.pyi +0 -0
- aip_agents/examples/compare_streaming_client.pyi +0 -48
- aip_agents/examples/compare_streaming_server.pyi +0 -18
- aip_agents/examples/demo_memory_recall.pyi +0 -58
- 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 -15
- 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 -15
- aip_agents/examples/hello_world_a2a_langchain_server.pyi +0 -15
- aip_agents/examples/hello_world_a2a_langchain_server_lm_invoker.pyi +0 -15
- aip_agents/examples/hello_world_a2a_langflow_client.pyi +0 -9
- aip_agents/examples/hello_world_a2a_langflow_server.pyi +0 -14
- 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 -16
- 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 -14
- aip_agents/examples/hello_world_a2a_langgraph_server_lm_invoker.pyi +0 -15
- aip_agents/examples/hello_world_a2a_langgraph_server_tool_streaming.pyi +0 -15
- aip_agents/examples/hello_world_a2a_mcp_langgraph.pyi +0 -48
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_client.pyi +0 -48
- aip_agents/examples/hello_world_a2a_three_level_agent_hierarchy_server.pyi +0 -45
- 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 -15
- 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_interactive.pyi +0 -16
- aip_agents/examples/hello_world_langchain_mcp_http_stream.pyi +0 -5
- aip_agents/examples/hello_world_langchain_mcp_multi_server.pyi +0 -18
- 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_langflow_agent.pyi +0 -35
- aip_agents/examples/hello_world_langgraph.pyi +0 -5
- aip_agents/examples/hello_world_langgraph_gl_connector_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 -30
- 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_step_limits.pyi +0 -17
- aip_agents/examples/hello_world_stock_a2a_server.pyi +0 -17
- aip_agents/examples/hello_world_tool_output_client.pyi +0 -5
- aip_agents/examples/hello_world_tool_output_server.pyi +0 -19
- aip_agents/examples/hitl_demo.pyi +0 -67
- aip_agents/examples/pii_demo_langgraph_client.pyi +0 -5
- aip_agents/examples/pii_demo_langgraph_server.pyi +0 -20
- aip_agents/examples/pii_demo_multi_agent_client.pyi +0 -5
- aip_agents/examples/pii_demo_multi_agent_server.pyi +0 -40
- aip_agents/examples/todolist_planning_a2a_langchain_client.pyi +0 -5
- aip_agents/examples/todolist_planning_a2a_langgraph_server.pyi +0 -19
- aip_agents/examples/tools/__init__.pyi +0 -9
- aip_agents/examples/tools/adk_arithmetic_tools.pyi +0 -24
- 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 -19
- aip_agents/examples/tools/image_artifact_tool.pyi +0 -26
- aip_agents/examples/tools/langchain_arithmetic_tools.pyi +0 -17
- aip_agents/examples/tools/langchain_currency_exchange_tool.pyi +0 -20
- aip_agents/examples/tools/langchain_graph_artifact_tool.pyi +0 -25
- aip_agents/examples/tools/langchain_weather_tool.pyi +0 -19
- aip_agents/examples/tools/langgraph_streaming_tool.pyi +0 -43
- aip_agents/examples/tools/mock_retrieval_tool.pyi +0 -13
- aip_agents/examples/tools/pii_demo_tools.pyi +0 -54
- aip_agents/examples/tools/random_chart_tool.pyi +0 -20
- aip_agents/examples/tools/serper_tool.pyi +0 -16
- aip_agents/examples/tools/stock_tools.pyi +0 -36
- 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/guardrails/__init__.pyi +0 -6
- aip_agents/guardrails/engines/__init__.pyi +0 -4
- aip_agents/guardrails/engines/base.pyi +0 -61
- aip_agents/guardrails/engines/nemo.pyi +0 -46
- aip_agents/guardrails/engines/phrase_matcher.pyi +0 -48
- aip_agents/guardrails/exceptions.pyi +0 -23
- aip_agents/guardrails/manager.pyi +0 -42
- aip_agents/guardrails/middleware.pyi +0 -87
- aip_agents/guardrails/schemas.pyi +0 -43
- aip_agents/guardrails/utils.pyi +0 -19
- aip_agents/mcp/__init__.pyi +0 -0
- aip_agents/mcp/client/__init__.pyi +0 -5
- aip_agents/mcp/client/base_mcp_client.pyi +0 -148
- aip_agents/mcp/client/connection_manager.pyi +0 -48
- aip_agents/mcp/client/google_adk/__init__.pyi +0 -3
- aip_agents/mcp/client/google_adk/client.pyi +0 -75
- aip_agents/mcp/client/langchain/__init__.pyi +0 -3
- aip_agents/mcp/client/langchain/client.pyi +0 -48
- aip_agents/mcp/client/persistent_session.pyi +0 -113
- aip_agents/mcp/client/session_pool.pyi +0 -101
- aip_agents/mcp/client/transports.pyi +0 -123
- aip_agents/mcp/utils/__init__.pyi +0 -0
- aip_agents/mcp/utils/config_validator.pyi +0 -82
- aip_agents/memory/__init__.pyi +0 -5
- aip_agents/memory/adapters/__init__.pyi +0 -4
- aip_agents/memory/adapters/base_adapter.pyi +0 -150
- aip_agents/memory/adapters/mem0.pyi +0 -22
- aip_agents/memory/base.pyi +0 -60
- aip_agents/memory/constants.pyi +0 -25
- aip_agents/memory/factory.pyi +0 -24
- aip_agents/memory/guidance.pyi +0 -3
- aip_agents/memory/simple_memory.pyi +0 -23
- aip_agents/middleware/__init__.pyi +0 -5
- aip_agents/middleware/base.pyi +0 -75
- aip_agents/middleware/manager.pyi +0 -84
- aip_agents/middleware/todolist.pyi +0 -125
- aip_agents/schema/__init__.pyi +0 -9
- aip_agents/schema/a2a.pyi +0 -40
- aip_agents/schema/agent.pyi +0 -65
- aip_agents/schema/hitl.pyi +0 -89
- aip_agents/schema/langgraph.pyi +0 -28
- aip_agents/schema/model_id.pyi +0 -54
- aip_agents/schema/step_limit.pyi +0 -63
- aip_agents/schema/storage.pyi +0 -21
- aip_agents/sentry/__init__.pyi +0 -3
- aip_agents/sentry/sentry.pyi +0 -48
- aip_agents/storage/__init__.pyi +0 -8
- aip_agents/storage/base.pyi +0 -58
- aip_agents/storage/clients/__init__.pyi +0 -3
- aip_agents/storage/clients/minio_client.pyi +0 -137
- aip_agents/storage/config.pyi +0 -29
- aip_agents/storage/providers/__init__.pyi +0 -5
- aip_agents/storage/providers/base.pyi +0 -88
- aip_agents/storage/providers/memory.pyi +0 -79
- aip_agents/storage/providers/object_storage.pyi +0 -98
- aip_agents/tools/__init__.pyi +0 -9
- aip_agents/tools/browser_use/__init__.pyi +0 -14
- aip_agents/tools/browser_use/action_parser.pyi +0 -18
- aip_agents/tools/browser_use/browser_use_tool.pyi +0 -50
- aip_agents/tools/browser_use/llm_config.pyi +0 -52
- aip_agents/tools/browser_use/minio_storage.pyi +0 -109
- aip_agents/tools/browser_use/schemas.pyi +0 -32
- aip_agents/tools/browser_use/session.pyi +0 -4
- aip_agents/tools/browser_use/session_errors.pyi +0 -53
- aip_agents/tools/browser_use/steel_session_recording.pyi +0 -63
- aip_agents/tools/browser_use/streaming.pyi +0 -81
- aip_agents/tools/browser_use/structured_data_parser.pyi +0 -86
- aip_agents/tools/browser_use/structured_data_recovery.pyi +0 -43
- aip_agents/tools/browser_use/types.pyi +0 -45
- aip_agents/tools/code_sandbox/__init__.pyi +0 -3
- aip_agents/tools/code_sandbox/constant.pyi +0 -4
- aip_agents/tools/code_sandbox/e2b_cloud_sandbox_extended.pyi +0 -102
- aip_agents/tools/code_sandbox/e2b_sandbox_tool.pyi +0 -29
- aip_agents/tools/constants.pyi +0 -138
- aip_agents/tools/document_loader/__init__.pyi +0 -7
- aip_agents/tools/document_loader/base_reader.pyi +0 -75
- aip_agents/tools/document_loader/docx_reader_tool.pyi +0 -10
- aip_agents/tools/document_loader/excel_reader_tool.pyi +0 -26
- aip_agents/tools/document_loader/pdf_reader_tool.pyi +0 -11
- aip_agents/tools/document_loader/pdf_splitter.pyi +0 -18
- aip_agents/tools/gl_connector/__init__.pyi +0 -3
- aip_agents/tools/gl_connector/tool.pyi +0 -74
- aip_agents/tools/gl_connector_tools.pyi +0 -39
- aip_agents/tools/memory_search/__init__.pyi +0 -5
- aip_agents/tools/memory_search/base.pyi +0 -69
- aip_agents/tools/memory_search/mem0.pyi +0 -19
- aip_agents/tools/memory_search/schema.pyi +0 -15
- aip_agents/tools/memory_search_tool.pyi +0 -3
- aip_agents/tools/time_tool.pyi +0 -16
- aip_agents/tools/tool_config_injector.pyi +0 -26
- aip_agents/tools/web_search/__init__.pyi +0 -3
- aip_agents/tools/web_search/serper_tool.pyi +0 -19
- aip_agents/types/__init__.pyi +0 -36
- aip_agents/types/a2a_events.pyi +0 -3
- aip_agents/utils/__init__.pyi +0 -11
- aip_agents/utils/a2a_connector.pyi +0 -146
- aip_agents/utils/artifact_helpers.pyi +0 -203
- aip_agents/utils/constants.pyi +0 -10
- aip_agents/utils/datetime/__init__.pyi +0 -4
- aip_agents/utils/datetime/normalization.pyi +0 -95
- aip_agents/utils/datetime/timezone.pyi +0 -48
- aip_agents/utils/env_loader.pyi +0 -10
- aip_agents/utils/event_handler_registry.pyi +0 -23
- aip_agents/utils/file_prompt_utils.pyi +0 -21
- aip_agents/utils/final_response_builder.pyi +0 -34
- aip_agents/utils/formatter_llm_client.pyi +0 -71
- 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/base_tool_manager.pyi +0 -48
- aip_agents/utils/langgraph/tool_managers/delegation_tool_manager.pyi +0 -56
- aip_agents/utils/langgraph/tool_output_management.pyi +0 -292
- aip_agents/utils/logger.pyi +0 -60
- aip_agents/utils/metadata/__init__.pyi +0 -5
- aip_agents/utils/metadata/activity_metadata_helper.pyi +0 -25
- aip_agents/utils/metadata/activity_narrative/__init__.pyi +0 -7
- aip_agents/utils/metadata/activity_narrative/builder.pyi +0 -35
- aip_agents/utils/metadata/activity_narrative/constants.pyi +0 -10
- aip_agents/utils/metadata/activity_narrative/context.pyi +0 -32
- aip_agents/utils/metadata/activity_narrative/formatters.pyi +0 -48
- aip_agents/utils/metadata/activity_narrative/utils.pyi +0 -12
- aip_agents/utils/metadata/schemas/__init__.pyi +0 -4
- aip_agents/utils/metadata/schemas/activity_schema.pyi +0 -18
- aip_agents/utils/metadata/schemas/thinking_schema.pyi +0 -20
- aip_agents/utils/metadata/thinking_metadata_helper.pyi +0 -4
- aip_agents/utils/metadata_helper.pyi +0 -117
- aip_agents/utils/name_preprocessor/__init__.pyi +0 -6
- aip_agents/utils/name_preprocessor/base_name_preprocessor.pyi +0 -52
- aip_agents/utils/name_preprocessor/google_name_preprocessor.pyi +0 -38
- aip_agents/utils/name_preprocessor/name_preprocessor.pyi +0 -41
- aip_agents/utils/name_preprocessor/openai_name_preprocessor.pyi +0 -34
- aip_agents/utils/pii/__init__.pyi +0 -5
- aip_agents/utils/pii/pii_handler.pyi +0 -96
- aip_agents/utils/pii/pii_helper.pyi +0 -78
- aip_agents/utils/pii/uuid_deanonymizer_mapping.pyi +0 -73
- aip_agents/utils/reference_helper.pyi +0 -81
- aip_agents/utils/sse_chunk_transformer.pyi +0 -166
- aip_agents/utils/step_limit_manager.pyi +0 -112
- aip_agents/utils/token_usage_helper.pyi +0 -60
- aip_agents_binary-0.5.25.dist-info/RECORD +0 -566
- {aip_agents_binary-0.5.25.dist-info → aip_agents_binary-0.5.25b8.dist-info}/top_level.txt +0 -0
aip_agents/utils/logger.pyi
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
from _typeshed import Incomplete
|
|
3
|
-
|
|
4
|
-
LOGGER_NAME: str
|
|
5
|
-
LOG_LEVEL: Incomplete
|
|
6
|
-
|
|
7
|
-
class _GoogleAdkLogFilter(logging.Filter):
|
|
8
|
-
"""Suppress noisy Google ADK model registry logs.
|
|
9
|
-
|
|
10
|
-
Google ADK emits a burst of INFO logs when registering Gemini model patterns.
|
|
11
|
-
They are redundant (class is unchanged) and clutter our startup output, so we
|
|
12
|
-
drop them at the logging infrastructure level instead of touching ADK internals.
|
|
13
|
-
"""
|
|
14
|
-
SUPPRESSED_PREFIX: str
|
|
15
|
-
def filter(self, record: logging.LogRecord) -> bool:
|
|
16
|
-
"""Return False when the log should be discarded.
|
|
17
|
-
|
|
18
|
-
Args:
|
|
19
|
-
record (logging.LogRecord): The log record to filter.
|
|
20
|
-
|
|
21
|
-
Returns:
|
|
22
|
-
bool: True if the log should be processed, False if it should be discarded.
|
|
23
|
-
"""
|
|
24
|
-
|
|
25
|
-
LOG_FILTERS: Incomplete
|
|
26
|
-
logger_manager: Incomplete
|
|
27
|
-
root_logger: Incomplete
|
|
28
|
-
|
|
29
|
-
def get_logger(name: str = ..., level: int = ...) -> logging.Logger:
|
|
30
|
-
"""Get a logger instance.
|
|
31
|
-
|
|
32
|
-
Args:
|
|
33
|
-
name (str): The name of the logger. Defaults to AIPAgentsLogger.
|
|
34
|
-
level (int): The level of the logger. Defaults to INFO.
|
|
35
|
-
|
|
36
|
-
Returns:
|
|
37
|
-
logging.Logger: The logger instance.
|
|
38
|
-
"""
|
|
39
|
-
|
|
40
|
-
logger: Incomplete
|
|
41
|
-
THIRD_PARTY_LOGGER_NAMES: Incomplete
|
|
42
|
-
|
|
43
|
-
class LoggerManager:
|
|
44
|
-
"""A singleton class to manage logging configuration.
|
|
45
|
-
|
|
46
|
-
This class is deprecated and will be removed in a future version.
|
|
47
|
-
Use get_logger() function directly instead.
|
|
48
|
-
"""
|
|
49
|
-
def __new__(cls):
|
|
50
|
-
"""Initialize the singleton instance."""
|
|
51
|
-
def get_logger(self, name: str = ..., level: int = ...) -> logging.Logger:
|
|
52
|
-
"""Get a logger instance.
|
|
53
|
-
|
|
54
|
-
Args:
|
|
55
|
-
name (str): The name of the logger. Defaults to AIPAgentsLogger.
|
|
56
|
-
level (int): The level of the logger. Defaults to INFO.
|
|
57
|
-
|
|
58
|
-
Returns:
|
|
59
|
-
logging.Logger: The logger instance.
|
|
60
|
-
"""
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
from aip_agents.utils.metadata.activity_metadata_helper import DEFAULT_ACTIVITY_INFO as DEFAULT_ACTIVITY_INFO, _format_tool_or_subagent_name as _format_tool_or_subagent_name, create_tool_activity_info as create_tool_activity_info
|
|
2
|
-
from aip_agents.utils.metadata.schemas import Activity as Activity, ActivityDataType as ActivityDataType, Thinking as Thinking
|
|
3
|
-
from aip_agents.utils.metadata.thinking_metadata_helper import FINAL_THINKING_INFO as FINAL_THINKING_INFO
|
|
4
|
-
|
|
5
|
-
__all__ = ['Activity', 'ActivityDataType', 'Thinking', 'create_tool_activity_info', 'DEFAULT_ACTIVITY_INFO', '_format_tool_or_subagent_name', 'FINAL_THINKING_INFO']
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.schema.hitl import ApprovalDecisionType as ApprovalDecisionType
|
|
3
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
4
|
-
from aip_agents.utils.metadata.activity_narrative import ActivityNarrativeBuilder as ActivityNarrativeBuilder, DELEGATE_PREFIX as DELEGATE_PREFIX, HITL_DECISION_MESSAGES as HITL_DECISION_MESSAGES, HITL_PENDING_DESCRIPTION as HITL_PENDING_DESCRIPTION, HITL_PENDING_TITLE as HITL_PENDING_TITLE
|
|
5
|
-
from aip_agents.utils.metadata.schemas.activity_schema import Activity as Activity
|
|
6
|
-
from typing import Any
|
|
7
|
-
|
|
8
|
-
logger: Incomplete
|
|
9
|
-
DEFAULT_ACTIVITY_MESSAGE: str
|
|
10
|
-
TOOL_EXECUTION_RUNNING_TEMPLATE: str
|
|
11
|
-
TOOL_EXECUTION_COMPLETE_TEMPLATE: str
|
|
12
|
-
SUBAGENT_DELEGATION_TEMPLATE: str
|
|
13
|
-
SUBAGENT_COMPLETE_TEMPLATE: str
|
|
14
|
-
MIXED_EXECUTION_TEMPLATE: str
|
|
15
|
-
DEFAULT_ACTIVITY_INFO: Incomplete
|
|
16
|
-
|
|
17
|
-
def create_tool_activity_info(original_metadata: dict[str, Any] | None) -> dict[str, str]:
|
|
18
|
-
'''Create activity info payload with optional LLM narrative overrides.
|
|
19
|
-
|
|
20
|
-
Args:
|
|
21
|
-
original_metadata: The original metadata dictionary containing tool_info and hitl data.
|
|
22
|
-
|
|
23
|
-
Returns:
|
|
24
|
-
A dict with data_type="activity" and data_value as a JSON string.
|
|
25
|
-
'''
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
from aip_agents.utils.metadata.activity_narrative.builder import ActivityNarrativeBuilder as ActivityNarrativeBuilder, _formatter_llm_client as _formatter_llm_client
|
|
2
|
-
from aip_agents.utils.metadata.activity_narrative.constants import DELEGATE_PREFIX as DELEGATE_PREFIX, HITL_DECISION_MESSAGES as HITL_DECISION_MESSAGES, HITL_PENDING_DESCRIPTION as HITL_PENDING_DESCRIPTION, HITL_PENDING_TITLE as HITL_PENDING_TITLE, OUTPUT_EXCERPT_MAX_CHARS as OUTPUT_EXCERPT_MAX_CHARS, SYSTEM_PROMPT as SYSTEM_PROMPT
|
|
3
|
-
from aip_agents.utils.metadata.activity_narrative.context import ActivityContext as ActivityContext, ActivityPhase as ActivityPhase
|
|
4
|
-
from aip_agents.utils.metadata.activity_narrative.formatters import ArgsFormatter as ArgsFormatter, OutputFormatter as OutputFormatter, SensitiveInfoFilter as SensitiveInfoFilter
|
|
5
|
-
from aip_agents.utils.metadata.activity_narrative.utils import _format_tool_or_subagent_name as _format_tool_or_subagent_name
|
|
6
|
-
|
|
7
|
-
__all__ = ['ActivityNarrativeBuilder', 'ActivityContext', 'ActivityPhase', 'ArgsFormatter', 'OutputFormatter', 'SensitiveInfoFilter', 'DELEGATE_PREFIX', 'HITL_DECISION_MESSAGES', 'HITL_PENDING_DESCRIPTION', 'HITL_PENDING_TITLE', 'OUTPUT_EXCERPT_MAX_CHARS', 'SYSTEM_PROMPT', '_format_tool_or_subagent_name', '_formatter_llm_client']
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.schema.hitl import ApprovalDecisionType as ApprovalDecisionType, HitlMetadata as HitlMetadata
|
|
3
|
-
from aip_agents.utils.formatter_llm_client import FormatterInvocationError as FormatterInvocationError, FormatterInvokerUnavailableError as FormatterInvokerUnavailableError, get_formatter_llm_client as get_formatter_llm_client
|
|
4
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
5
|
-
from aip_agents.utils.metadata.activity_narrative.constants import DELEGATE_PREFIX as DELEGATE_PREFIX, HITL_DECISION_MESSAGES as HITL_DECISION_MESSAGES, HITL_PENDING_DESCRIPTION as HITL_PENDING_DESCRIPTION, HITL_PENDING_TITLE as HITL_PENDING_TITLE, OUTPUT_EXCERPT_MAX_CHARS as OUTPUT_EXCERPT_MAX_CHARS, SYSTEM_PROMPT as SYSTEM_PROMPT
|
|
6
|
-
from aip_agents.utils.metadata.activity_narrative.context import ActivityContext as ActivityContext, ActivityPhase as ActivityPhase
|
|
7
|
-
from aip_agents.utils.metadata.activity_narrative.formatters import ArgsFormatter as ArgsFormatter, OutputFormatter as OutputFormatter, SensitiveInfoFilter as SensitiveInfoFilter
|
|
8
|
-
from typing import Any
|
|
9
|
-
|
|
10
|
-
logger: Incomplete
|
|
11
|
-
|
|
12
|
-
class ActivityNarrativeBuilder:
|
|
13
|
-
"""Generate structured activity payloads via formatter LLM.
|
|
14
|
-
|
|
15
|
-
High-level flow:
|
|
16
|
-
1. Gather raw metadata about a tool/delegate event and normalize it into an ``ActivityContext``.
|
|
17
|
-
2. Sanitize arguments and outputs so no sensitive values reach downstream renderers or the formatter model.
|
|
18
|
-
3. Prompt the shared formatter with phase-specific instructions (e.g., describe intent on start, summarize results on end).
|
|
19
|
-
4. If the formatter responds with usable heading/body text, surface it; otherwise fall back to deterministic templates
|
|
20
|
-
built from the sanitized context.
|
|
21
|
-
|
|
22
|
-
This approach keeps SSE activity cards readable when the formatter is healthy while still providing sensible copy when
|
|
23
|
-
the formatter is unavailable or returns low-quality text.
|
|
24
|
-
"""
|
|
25
|
-
def __init__(self) -> None:
|
|
26
|
-
"""Initialize the activity narrative builder."""
|
|
27
|
-
def build_payload(self, metadata: dict[str, Any] | None) -> dict[str, Any] | None:
|
|
28
|
-
"""Build enriched payload for the provided metadata.
|
|
29
|
-
|
|
30
|
-
Args:
|
|
31
|
-
metadata: The metadata dictionary containing tool_info, hitl, and other context.
|
|
32
|
-
|
|
33
|
-
Returns:
|
|
34
|
-
Dictionary payload with a rendered message, or None when not available.
|
|
35
|
-
"""
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
from aip_agents.schema.hitl import ApprovalDecisionType
|
|
2
|
-
|
|
3
|
-
__all__ = ['SYSTEM_PROMPT', 'DELEGATE_PREFIX', 'OUTPUT_EXCERPT_MAX_CHARS', 'HITL_PENDING_TITLE', 'HITL_PENDING_DESCRIPTION', 'HITL_DECISION_MESSAGES']
|
|
4
|
-
|
|
5
|
-
SYSTEM_PROMPT: str
|
|
6
|
-
DELEGATE_PREFIX: str
|
|
7
|
-
OUTPUT_EXCERPT_MAX_CHARS: int
|
|
8
|
-
HITL_PENDING_TITLE: str
|
|
9
|
-
HITL_PENDING_DESCRIPTION: str
|
|
10
|
-
HITL_DECISION_MESSAGES: dict[ApprovalDecisionType, tuple[str, str]]
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
from aip_agents.schema.hitl import ApprovalDecisionType, HitlMetadata
|
|
2
|
-
from dataclasses import dataclass
|
|
3
|
-
from enum import StrEnum
|
|
4
|
-
|
|
5
|
-
__all__ = ['ActivityContext', 'ActivityPhase']
|
|
6
|
-
|
|
7
|
-
class ActivityPhase(StrEnum):
|
|
8
|
-
"""Lifecycle phases for tool, delegate, and HITL events."""
|
|
9
|
-
TOOL_START: str
|
|
10
|
-
TOOL_END: str
|
|
11
|
-
DELEGATE_START: str
|
|
12
|
-
DELEGATE_END: str
|
|
13
|
-
HITL_PENDING: str
|
|
14
|
-
HITL_RESOLVED: str
|
|
15
|
-
JSONScalar = str | int | float | bool | None
|
|
16
|
-
|
|
17
|
-
@dataclass
|
|
18
|
-
class ActivityContext:
|
|
19
|
-
"""Structured representation of an activity event."""
|
|
20
|
-
phase: ActivityPhase
|
|
21
|
-
agent_name: str | None
|
|
22
|
-
subject_name: str | None
|
|
23
|
-
sanitized_args: dict[str, JSONValue] | None
|
|
24
|
-
sanitized_output: JSONValue | None
|
|
25
|
-
arguments_excerpt: str | None
|
|
26
|
-
output_excerpt: str | None
|
|
27
|
-
error_excerpt: str | None
|
|
28
|
-
step_id: str | None = ...
|
|
29
|
-
is_delegate: bool = ...
|
|
30
|
-
hitl_metadata: HitlMetadata | None = ...
|
|
31
|
-
hitl_decision: ApprovalDecisionType | None = ...
|
|
32
|
-
default_heading: str | None = ...
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from collections.abc import Callable
|
|
3
|
-
|
|
4
|
-
__all__ = ['ArgsFormatter', 'OutputFormatter', 'SensitiveInfoFilter']
|
|
5
|
-
|
|
6
|
-
JSONScalar = str | int | float | bool | None
|
|
7
|
-
|
|
8
|
-
class SensitiveInfoFilter:
|
|
9
|
-
"""Redact sensitive argument/output values before rendering or sending to LLMs."""
|
|
10
|
-
REDACTED: str
|
|
11
|
-
SENSITIVE_KEY_PATTERNS: Incomplete
|
|
12
|
-
def __init__(self) -> None:
|
|
13
|
-
"""Initialize the sensitive info filter."""
|
|
14
|
-
def sanitize(self, args: dict[str, JSONValue] | None, output: JSONValue | None, tool_sanitizer: Callable[[dict[str, JSONValue] | None, JSONValue | None], dict[str, JSONValue]] | None = None) -> tuple[dict[str, JSONValue] | None, JSONValue | None]:
|
|
15
|
-
"""Return sanitized arguments/output with optional tool overrides.
|
|
16
|
-
|
|
17
|
-
Args:
|
|
18
|
-
args: Raw arguments dictionary emitted by the tool.
|
|
19
|
-
output: Raw tool output which may be nested JSON.
|
|
20
|
-
tool_sanitizer: Optional callable that can override sanitized values.
|
|
21
|
-
|
|
22
|
-
Returns:
|
|
23
|
-
tuple: Sanitized args and output payloads.
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
class ArgsFormatter:
|
|
27
|
-
"""Simple formatter that surfaces at most two argument key/value pairs."""
|
|
28
|
-
def format(self, args: dict[str, JSONValue] | None) -> str | None:
|
|
29
|
-
"""Format tool arguments into a short excerpt.
|
|
30
|
-
|
|
31
|
-
Args:
|
|
32
|
-
args: Tool arguments dictionary.
|
|
33
|
-
|
|
34
|
-
Returns:
|
|
35
|
-
str | None: Concise representation of up to two key/value pairs.
|
|
36
|
-
"""
|
|
37
|
-
|
|
38
|
-
class OutputFormatter:
|
|
39
|
-
"""Lightweight formatter that truncates serialized output."""
|
|
40
|
-
def format(self, output: JSONValue | None) -> str | None:
|
|
41
|
-
"""Format tool output into a readable excerpt.
|
|
42
|
-
|
|
43
|
-
Args:
|
|
44
|
-
output: Raw tool output.
|
|
45
|
-
|
|
46
|
-
Returns:
|
|
47
|
-
str | None: Truncated representation suitable for logs.
|
|
48
|
-
"""
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
__all__ = ['_format_tool_or_subagent_name']
|
|
2
|
-
|
|
3
|
-
def _format_tool_or_subagent_name(name: str, remove_delegate_prefix: bool = False) -> str:
|
|
4
|
-
"""Format tool/agent names to 'Camel Case' consistently.
|
|
5
|
-
|
|
6
|
-
Args:
|
|
7
|
-
name: Raw tool or sub-agent identifier.
|
|
8
|
-
remove_delegate_prefix: Whether to strip the ``delegate::`` prefix before formatting.
|
|
9
|
-
|
|
10
|
-
Returns:
|
|
11
|
-
str: Display-friendly tool or agent name.
|
|
12
|
-
"""
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
from enum import StrEnum
|
|
2
|
-
from pydantic import BaseModel
|
|
3
|
-
|
|
4
|
-
class ActivityDataType(StrEnum):
|
|
5
|
-
"""Enumeration of activity data types."""
|
|
6
|
-
ACTIVITY: str
|
|
7
|
-
|
|
8
|
-
class Activity(BaseModel):
|
|
9
|
-
'''Schema for activity info payload.
|
|
10
|
-
|
|
11
|
-
Fields:
|
|
12
|
-
- data_type: always "activity"
|
|
13
|
-
- id: UUID string identifying this activity event
|
|
14
|
-
- data_value: JSON string with additional info (e.g., {"message": "..."})
|
|
15
|
-
'''
|
|
16
|
-
data_type: ActivityDataType
|
|
17
|
-
id: str
|
|
18
|
-
data_value: str
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
from enum import StrEnum
|
|
2
|
-
from pydantic import BaseModel
|
|
3
|
-
|
|
4
|
-
class ThinkingDataType(StrEnum):
|
|
5
|
-
"""Enum for thinking data types."""
|
|
6
|
-
THINKING: str
|
|
7
|
-
THINKING_START: str
|
|
8
|
-
THINKING_END: str
|
|
9
|
-
|
|
10
|
-
class Thinking(BaseModel):
|
|
11
|
-
'''Schema for thinking info payload.
|
|
12
|
-
|
|
13
|
-
Fields:
|
|
14
|
-
- data_type: type of thinking event
|
|
15
|
-
- id: UUID string identifying this thinking event
|
|
16
|
-
- data_value: JSON string with additional info (e.g., {"message": "..."})
|
|
17
|
-
'''
|
|
18
|
-
data_type: ThinkingDataType
|
|
19
|
-
id: str
|
|
20
|
-
data_value: str
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
3
|
-
from aip_agents.utils.metadata import create_tool_activity_info as create_tool_activity_info
|
|
4
|
-
from aip_agents.utils.token_usage_helper import STEP_USAGE_KEY as STEP_USAGE_KEY, TOTAL_USAGE_KEY as TOTAL_USAGE_KEY
|
|
5
|
-
from enum import StrEnum
|
|
6
|
-
from typing import Any
|
|
7
|
-
|
|
8
|
-
logger: Incomplete
|
|
9
|
-
|
|
10
|
-
def start_step_counter_scope(start: int = 1) -> None:
|
|
11
|
-
"""Begin a step counter scope, resetting only when entering the outermost scope.
|
|
12
|
-
|
|
13
|
-
Args:
|
|
14
|
-
start: Starting step number for the counter. Defaults to 1.
|
|
15
|
-
"""
|
|
16
|
-
def end_step_counter_scope() -> None:
|
|
17
|
-
"""Exit a step counter scope, maintaining parent scope counters.
|
|
18
|
-
|
|
19
|
-
Decrements the depth counter while preserving the step count for parent scopes.
|
|
20
|
-
"""
|
|
21
|
-
def get_next_step_number() -> int:
|
|
22
|
-
"""Return the next step number within the active scope.
|
|
23
|
-
|
|
24
|
-
Returns:
|
|
25
|
-
int: The next sequential step number in the current scope.
|
|
26
|
-
"""
|
|
27
|
-
|
|
28
|
-
class DefaultStepMessages(StrEnum):
|
|
29
|
-
"""Constants for default step indicator messages."""
|
|
30
|
-
EN: str
|
|
31
|
-
ID: str
|
|
32
|
-
|
|
33
|
-
class Kind(StrEnum):
|
|
34
|
-
"""Constants for metadata kind values."""
|
|
35
|
-
AGENT_STEP: str
|
|
36
|
-
AGENT_THINKING_STEP: str
|
|
37
|
-
FINAL_RESPONSE: str
|
|
38
|
-
FINAL_THINKING_STEP: str
|
|
39
|
-
AGENT_DEFAULT: str
|
|
40
|
-
TOKEN: str
|
|
41
|
-
|
|
42
|
-
class Status(StrEnum):
|
|
43
|
-
"""Constants for metadata status values."""
|
|
44
|
-
RUNNING: str
|
|
45
|
-
FINISHED: str
|
|
46
|
-
STOPPED: str
|
|
47
|
-
|
|
48
|
-
class MetadataFieldKeys(StrEnum):
|
|
49
|
-
"""Enumeration of standard metadata field keys used in A2A events."""
|
|
50
|
-
KIND: str
|
|
51
|
-
STATUS: str
|
|
52
|
-
TIME: str
|
|
53
|
-
MESSAGE: str
|
|
54
|
-
TOOL_INFO: str
|
|
55
|
-
REFERENCES: str
|
|
56
|
-
THINKING_AND_ACTIVITY_INFO: str
|
|
57
|
-
HITL: str
|
|
58
|
-
STEP_USAGE = STEP_USAGE_KEY
|
|
59
|
-
TOTAL_USAGE = TOTAL_USAGE_KEY
|
|
60
|
-
TOKEN_STREAMING: str
|
|
61
|
-
PII_MAPPING: str
|
|
62
|
-
|
|
63
|
-
class MetadataTimeTracker:
|
|
64
|
-
"""Tracks cumulative execution time across agent steps for final response metadata.
|
|
65
|
-
|
|
66
|
-
This class provides a clean way to accumulate execution times from individual
|
|
67
|
-
agent steps and apply the total time to final response metadata.
|
|
68
|
-
|
|
69
|
-
Attributes:
|
|
70
|
-
FLOAT_EPSILON: Epsilon value for floating point comparisons to avoid precision issues.
|
|
71
|
-
"""
|
|
72
|
-
FLOAT_EPSILON: float
|
|
73
|
-
def __init__(self) -> None:
|
|
74
|
-
"""Initialize the time tracker with zero accumulated time."""
|
|
75
|
-
def update_response_metadata(self, response: dict[str, Any]) -> dict[str, Any]:
|
|
76
|
-
"""Update response metadata with accumulated time tracking.
|
|
77
|
-
|
|
78
|
-
Args:
|
|
79
|
-
response: Response dictionary containing metadata to update.
|
|
80
|
-
|
|
81
|
-
Returns:
|
|
82
|
-
dict[str, Any]: Response with updated metadata for final responses. If any error occurs,
|
|
83
|
-
returns the original response unchanged.
|
|
84
|
-
"""
|
|
85
|
-
|
|
86
|
-
def create_metadata(content: str = '', status: Status = ..., is_final: bool = False, existing_metadata: dict[str, Any] | None = None) -> dict[str, Any]:
|
|
87
|
-
"""Create metadata for A2A responses with content-based message.
|
|
88
|
-
|
|
89
|
-
Args:
|
|
90
|
-
content: The content to create metadata for.
|
|
91
|
-
status: The status of the content.
|
|
92
|
-
is_final: Whether the content is final.
|
|
93
|
-
existing_metadata: Optional existing metadata to merge with. Existing metadata
|
|
94
|
-
takes precedence over generated metadata for conflicting keys.
|
|
95
|
-
|
|
96
|
-
Returns:
|
|
97
|
-
dict[str, Any]: The metadata for the content, merged with existing metadata if provided.
|
|
98
|
-
"""
|
|
99
|
-
def create_tool_processing_metadata(original_metadata: dict[str, Any] | None = None) -> dict[str, Any]:
|
|
100
|
-
"""Create metadata for tool processing events (tool_call and tool_result).
|
|
101
|
-
|
|
102
|
-
Args:
|
|
103
|
-
original_metadata: Optional original metadata to merge with.
|
|
104
|
-
|
|
105
|
-
Returns:
|
|
106
|
-
dict[str, Any]: Metadata dictionary with agent_thinking_step kind and no message/time/status.
|
|
107
|
-
"""
|
|
108
|
-
def create_status_update_metadata(content: str, custom_metadata: dict[str, Any] | None = None) -> dict[str, Any]:
|
|
109
|
-
"""Create metadata for status update events with content-based rules.
|
|
110
|
-
|
|
111
|
-
Args:
|
|
112
|
-
content: The content of the status update.
|
|
113
|
-
custom_metadata: Optional custom metadata to merge with.
|
|
114
|
-
|
|
115
|
-
Returns:
|
|
116
|
-
dict[str, Any]: Metadata dictionary following the specific rules for different content types.
|
|
117
|
-
"""
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
from aip_agents.utils.name_preprocessor.base_name_preprocessor import BaseNamePreprocessor as BaseNamePreprocessor
|
|
2
|
-
from aip_agents.utils.name_preprocessor.google_name_preprocessor import GoogleNamePreprocessor as GoogleNamePreprocessor
|
|
3
|
-
from aip_agents.utils.name_preprocessor.name_preprocessor import NamePreprocessor as NamePreprocessor
|
|
4
|
-
from aip_agents.utils.name_preprocessor.openai_name_preprocessor import OpenAINamePreprocessor as OpenAINamePreprocessor
|
|
5
|
-
|
|
6
|
-
__all__ = ['GoogleNamePreprocessor', 'OpenAINamePreprocessor', 'BaseNamePreprocessor', 'NamePreprocessor']
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
from abc import ABC, abstractmethod
|
|
2
|
-
|
|
3
|
-
class BaseNamePreprocessor(ABC):
|
|
4
|
-
"""Base class for name preprocessing.
|
|
5
|
-
|
|
6
|
-
It contains the common methods for name preprocessing.
|
|
7
|
-
"""
|
|
8
|
-
def regex_substitute(self, name: str, regex: str, replacement: str) -> str:
|
|
9
|
-
"""Substitute a regex pattern in a name.
|
|
10
|
-
|
|
11
|
-
Args:
|
|
12
|
-
name: The input name to preprocess.
|
|
13
|
-
regex: The regex pattern to substitute.
|
|
14
|
-
replacement: The replacement string.
|
|
15
|
-
|
|
16
|
-
Returns:
|
|
17
|
-
A name that is valid for the name processor.
|
|
18
|
-
"""
|
|
19
|
-
def clean_up_name(self, name: str) -> str:
|
|
20
|
-
"""Process a processed name.
|
|
21
|
-
|
|
22
|
-
Step:
|
|
23
|
-
1. collapse multiple underscores to single underscore
|
|
24
|
-
2. remove trailing underscores
|
|
25
|
-
3. if name is empty after clean up, add a single underscore
|
|
26
|
-
|
|
27
|
-
Args:
|
|
28
|
-
name: The input name to preprocess.
|
|
29
|
-
|
|
30
|
-
Returns:
|
|
31
|
-
A name that starts with a letter or an underscore.
|
|
32
|
-
"""
|
|
33
|
-
@abstractmethod
|
|
34
|
-
def sanitize_agent_name(self, name: str) -> str:
|
|
35
|
-
"""Process a name according to the rules of the name processor.
|
|
36
|
-
|
|
37
|
-
Args:
|
|
38
|
-
name: The input name to preprocess.
|
|
39
|
-
|
|
40
|
-
Returns:
|
|
41
|
-
A name that is valid for the name processor.
|
|
42
|
-
"""
|
|
43
|
-
@abstractmethod
|
|
44
|
-
def sanitize_tool_name(self, name: str) -> str:
|
|
45
|
-
"""Process a name according to the rules of the name processor.
|
|
46
|
-
|
|
47
|
-
Args:
|
|
48
|
-
name: The input name to preprocess.
|
|
49
|
-
|
|
50
|
-
Returns:
|
|
51
|
-
A name that is valid for the name processor.
|
|
52
|
-
"""
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
3
|
-
from aip_agents.utils.name_preprocessor import BaseNamePreprocessor as BaseNamePreprocessor
|
|
4
|
-
|
|
5
|
-
logger: Incomplete
|
|
6
|
-
|
|
7
|
-
class GoogleNamePreprocessor(BaseNamePreprocessor):
|
|
8
|
-
"""Concrete implementation of NamePreprocessor according to Google's name requirements."""
|
|
9
|
-
NAME_SETTINGS: Incomplete
|
|
10
|
-
CUT_OFF_INDEX: int
|
|
11
|
-
def sanitize_agent_name(self, name: str) -> str:
|
|
12
|
-
"""Preprocess an input name according to Google's name requirements for agents.
|
|
13
|
-
|
|
14
|
-
Args:
|
|
15
|
-
name: The input name to preprocess.
|
|
16
|
-
|
|
17
|
-
Returns:
|
|
18
|
-
A name that is valid for Google.
|
|
19
|
-
|
|
20
|
-
Notes:
|
|
21
|
-
Name should start with a letter (a-z, A-Z) or an underscore (_),
|
|
22
|
-
and can only contain letters, digits (0-9), and underscores.
|
|
23
|
-
It has no length limit. ( based on experiment )
|
|
24
|
-
"""
|
|
25
|
-
def sanitize_tool_name(self, name: str) -> str:
|
|
26
|
-
"""Preprocess an input name according to Google's name requirements for tools.
|
|
27
|
-
|
|
28
|
-
Args:
|
|
29
|
-
name: The input name to preprocess.
|
|
30
|
-
|
|
31
|
-
Returns:
|
|
32
|
-
A name that is valid for Google.
|
|
33
|
-
|
|
34
|
-
Notes:
|
|
35
|
-
Name should start with a letter (a-z, A-Z) or an underscore (_),
|
|
36
|
-
and can only contain letters, digits (0-9), underscores, and dashes.
|
|
37
|
-
It has a length limit of 64 characters, but google throws error if the length is exactly 64, so cut to 63.
|
|
38
|
-
"""
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
3
|
-
from aip_agents.utils.name_preprocessor.base_name_preprocessor import BaseNamePreprocessor as BaseNamePreprocessor
|
|
4
|
-
from aip_agents.utils.name_preprocessor.google_name_preprocessor import GoogleNamePreprocessor as GoogleNamePreprocessor
|
|
5
|
-
from aip_agents.utils.name_preprocessor.openai_name_preprocessor import OpenAINamePreprocessor as OpenAINamePreprocessor
|
|
6
|
-
|
|
7
|
-
logger: Incomplete
|
|
8
|
-
|
|
9
|
-
class NamePreprocessor:
|
|
10
|
-
"""Name Preprocessor for Google ADK and OpenAI compatible models.
|
|
11
|
-
|
|
12
|
-
Args:
|
|
13
|
-
provider: The provider of the model.
|
|
14
|
-
"""
|
|
15
|
-
PROVIDER_TO_NAME_PREPROCESSOR_MAP: Incomplete
|
|
16
|
-
provider: Incomplete
|
|
17
|
-
preprocessor: Incomplete
|
|
18
|
-
def __init__(self, provider: str) -> None:
|
|
19
|
-
"""Initialize the name preprocessor.
|
|
20
|
-
|
|
21
|
-
Args:
|
|
22
|
-
provider: The provider of the model.
|
|
23
|
-
"""
|
|
24
|
-
def sanitize_agent_name(self, name: str) -> str:
|
|
25
|
-
"""Preprocess an input name according to the rules of the name processor.
|
|
26
|
-
|
|
27
|
-
Args:
|
|
28
|
-
name: The input name to preprocess.
|
|
29
|
-
|
|
30
|
-
Returns:
|
|
31
|
-
A name that is valid for the name processor.
|
|
32
|
-
"""
|
|
33
|
-
def sanitize_tool_name(self, name: str) -> str:
|
|
34
|
-
"""Preprocess an input name according to the rules of the name processor.
|
|
35
|
-
|
|
36
|
-
Args:
|
|
37
|
-
name: The input name to preprocess.
|
|
38
|
-
|
|
39
|
-
Returns:
|
|
40
|
-
A name that is valid for the name processor.
|
|
41
|
-
"""
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
from _typeshed import Incomplete
|
|
2
|
-
from aip_agents.utils.logger import get_logger as get_logger
|
|
3
|
-
from aip_agents.utils.name_preprocessor import BaseNamePreprocessor as BaseNamePreprocessor
|
|
4
|
-
|
|
5
|
-
logger: Incomplete
|
|
6
|
-
|
|
7
|
-
class OpenAINamePreprocessor(BaseNamePreprocessor):
|
|
8
|
-
"""Concrete implementation of NamePreprocessor according to OpenAI's name requirements."""
|
|
9
|
-
CUT_OFF_INDEX: int
|
|
10
|
-
def sanitize_agent_name(self, name: str) -> str:
|
|
11
|
-
"""Preprocess an input name according to OpenAI's name requirements for agents.
|
|
12
|
-
|
|
13
|
-
As of now, OpenAI only has rule for tool name, and it is the same as Google's tool name rule,
|
|
14
|
-
so just return the name as is.
|
|
15
|
-
|
|
16
|
-
Args:
|
|
17
|
-
name: The input name to preprocess.
|
|
18
|
-
|
|
19
|
-
Returns:
|
|
20
|
-
A name that is valid for OpenAI.
|
|
21
|
-
"""
|
|
22
|
-
def sanitize_tool_name(self, name: str) -> str:
|
|
23
|
-
"""Preprocess an input name according to OpenAI's name requirements for tools.
|
|
24
|
-
|
|
25
|
-
Args:
|
|
26
|
-
name: The input name to preprocess.
|
|
27
|
-
|
|
28
|
-
Returns:
|
|
29
|
-
A name that is valid for OpenAI.
|
|
30
|
-
|
|
31
|
-
Notes:
|
|
32
|
-
Only contain letters (a-z, A-Z), digits (0-9), underscores (_), and dashes (-).
|
|
33
|
-
It has a length limit of 64 characters.
|
|
34
|
-
"""
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
from aip_agents.utils.pii.pii_handler import ToolPIIHandler as ToolPIIHandler
|
|
2
|
-
from aip_agents.utils.pii.pii_helper import add_pii_mappings as add_pii_mappings, anonymize_final_response_content as anonymize_final_response_content, deanonymize_final_response_content as deanonymize_final_response_content, extract_pii_mapping_from_agent_response as extract_pii_mapping_from_agent_response, normalize_enable_pii as normalize_enable_pii
|
|
3
|
-
from aip_agents.utils.pii.uuid_deanonymizer_mapping import UUIDDeanonymizerMapping as UUIDDeanonymizerMapping
|
|
4
|
-
|
|
5
|
-
__all__ = ['ToolPIIHandler', 'add_pii_mappings', 'anonymize_final_response_content', 'deanonymize_final_response_content', 'extract_pii_mapping_from_agent_response', 'normalize_enable_pii', 'UUIDDeanonymizerMapping']
|