ag2 0.9.7__py3-none-any.whl → 0.9.8.post1__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.
Potentially problematic release.
This version of ag2 might be problematic. Click here for more details.
- {ag2-0.9.7.dist-info → ag2-0.9.8.post1.dist-info}/METADATA +102 -75
- ag2-0.9.8.post1.dist-info/RECORD +387 -0
- autogen/__init__.py +1 -2
- autogen/_website/generate_api_references.py +4 -5
- autogen/_website/generate_mkdocs.py +9 -15
- autogen/_website/notebook_processor.py +13 -14
- autogen/_website/process_notebooks.py +10 -10
- autogen/_website/utils.py +5 -4
- autogen/agentchat/agent.py +13 -13
- autogen/agentchat/assistant_agent.py +7 -6
- autogen/agentchat/contrib/agent_eval/agent_eval.py +3 -3
- autogen/agentchat/contrib/agent_eval/critic_agent.py +3 -3
- autogen/agentchat/contrib/agent_eval/quantifier_agent.py +3 -3
- autogen/agentchat/contrib/agent_eval/subcritic_agent.py +3 -3
- autogen/agentchat/contrib/agent_optimizer.py +3 -3
- autogen/agentchat/contrib/capabilities/generate_images.py +11 -11
- autogen/agentchat/contrib/capabilities/teachability.py +15 -15
- autogen/agentchat/contrib/capabilities/transforms.py +17 -18
- autogen/agentchat/contrib/capabilities/transforms_util.py +5 -5
- autogen/agentchat/contrib/capabilities/vision_capability.py +4 -3
- autogen/agentchat/contrib/captainagent/agent_builder.py +30 -30
- autogen/agentchat/contrib/captainagent/captainagent.py +22 -21
- autogen/agentchat/contrib/captainagent/tool_retriever.py +2 -3
- autogen/agentchat/contrib/gpt_assistant_agent.py +9 -9
- autogen/agentchat/contrib/graph_rag/document.py +3 -3
- autogen/agentchat/contrib/graph_rag/falkor_graph_query_engine.py +3 -3
- autogen/agentchat/contrib/graph_rag/falkor_graph_rag_capability.py +6 -6
- autogen/agentchat/contrib/graph_rag/graph_query_engine.py +3 -3
- autogen/agentchat/contrib/graph_rag/neo4j_graph_query_engine.py +5 -11
- autogen/agentchat/contrib/graph_rag/neo4j_graph_rag_capability.py +6 -6
- autogen/agentchat/contrib/graph_rag/neo4j_native_graph_query_engine.py +7 -7
- autogen/agentchat/contrib/graph_rag/neo4j_native_graph_rag_capability.py +6 -6
- autogen/agentchat/contrib/img_utils.py +1 -1
- autogen/agentchat/contrib/llamaindex_conversable_agent.py +11 -11
- autogen/agentchat/contrib/llava_agent.py +18 -4
- autogen/agentchat/contrib/math_user_proxy_agent.py +11 -11
- autogen/agentchat/contrib/multimodal_conversable_agent.py +8 -8
- autogen/agentchat/contrib/qdrant_retrieve_user_proxy_agent.py +6 -5
- autogen/agentchat/contrib/rag/chromadb_query_engine.py +22 -26
- autogen/agentchat/contrib/rag/llamaindex_query_engine.py +14 -17
- autogen/agentchat/contrib/rag/mongodb_query_engine.py +27 -37
- autogen/agentchat/contrib/rag/query_engine.py +7 -5
- autogen/agentchat/contrib/retrieve_assistant_agent.py +5 -5
- autogen/agentchat/contrib/retrieve_user_proxy_agent.py +8 -7
- autogen/agentchat/contrib/society_of_mind_agent.py +15 -14
- autogen/agentchat/contrib/swarm_agent.py +76 -98
- autogen/agentchat/contrib/text_analyzer_agent.py +7 -7
- autogen/agentchat/contrib/vectordb/base.py +10 -18
- autogen/agentchat/contrib/vectordb/chromadb.py +2 -1
- autogen/agentchat/contrib/vectordb/couchbase.py +18 -20
- autogen/agentchat/contrib/vectordb/mongodb.py +6 -5
- autogen/agentchat/contrib/vectordb/pgvectordb.py +40 -41
- autogen/agentchat/contrib/vectordb/qdrant.py +5 -5
- autogen/agentchat/contrib/web_surfer.py +20 -19
- autogen/agentchat/conversable_agent.py +292 -290
- autogen/agentchat/group/context_str.py +1 -3
- autogen/agentchat/group/context_variables.py +15 -25
- autogen/agentchat/group/group_tool_executor.py +10 -10
- autogen/agentchat/group/group_utils.py +15 -15
- autogen/agentchat/group/guardrails.py +7 -7
- autogen/agentchat/group/handoffs.py +19 -36
- autogen/agentchat/group/multi_agent_chat.py +7 -7
- autogen/agentchat/group/on_condition.py +4 -7
- autogen/agentchat/group/on_context_condition.py +4 -7
- autogen/agentchat/group/patterns/auto.py +8 -7
- autogen/agentchat/group/patterns/manual.py +7 -6
- autogen/agentchat/group/patterns/pattern.py +13 -12
- autogen/agentchat/group/patterns/random.py +3 -3
- autogen/agentchat/group/patterns/round_robin.py +3 -3
- autogen/agentchat/group/reply_result.py +2 -4
- autogen/agentchat/group/speaker_selection_result.py +5 -5
- autogen/agentchat/group/targets/group_chat_target.py +7 -6
- autogen/agentchat/group/targets/group_manager_target.py +4 -4
- autogen/agentchat/group/targets/transition_target.py +2 -1
- autogen/agentchat/groupchat.py +58 -61
- autogen/agentchat/realtime/experimental/audio_adapters/twilio_audio_adapter.py +4 -4
- autogen/agentchat/realtime/experimental/audio_adapters/websocket_audio_adapter.py +4 -4
- autogen/agentchat/realtime/experimental/clients/gemini/client.py +7 -7
- autogen/agentchat/realtime/experimental/clients/oai/base_client.py +8 -8
- autogen/agentchat/realtime/experimental/clients/oai/rtc_client.py +6 -6
- autogen/agentchat/realtime/experimental/clients/realtime_client.py +10 -9
- autogen/agentchat/realtime/experimental/realtime_agent.py +10 -9
- autogen/agentchat/realtime/experimental/realtime_observer.py +3 -3
- autogen/agentchat/realtime/experimental/realtime_swarm.py +44 -44
- autogen/agentchat/user_proxy_agent.py +10 -9
- autogen/agentchat/utils.py +3 -3
- autogen/agents/contrib/time/time_reply_agent.py +6 -5
- autogen/agents/contrib/time/time_tool_agent.py +2 -1
- autogen/agents/experimental/deep_research/deep_research.py +3 -3
- autogen/agents/experimental/discord/discord.py +2 -2
- autogen/agents/experimental/document_agent/chroma_query_engine.py +29 -44
- autogen/agents/experimental/document_agent/docling_doc_ingest_agent.py +9 -14
- autogen/agents/experimental/document_agent/document_agent.py +15 -16
- autogen/agents/experimental/document_agent/document_conditions.py +3 -3
- autogen/agents/experimental/document_agent/document_utils.py +5 -9
- autogen/agents/experimental/document_agent/inmemory_query_engine.py +14 -20
- autogen/agents/experimental/document_agent/parser_utils.py +4 -4
- autogen/agents/experimental/document_agent/url_utils.py +14 -23
- autogen/agents/experimental/reasoning/reasoning_agent.py +33 -33
- autogen/agents/experimental/slack/slack.py +2 -2
- autogen/agents/experimental/telegram/telegram.py +2 -3
- autogen/agents/experimental/websurfer/websurfer.py +4 -4
- autogen/agents/experimental/wikipedia/wikipedia.py +5 -7
- autogen/browser_utils.py +8 -8
- autogen/cache/abstract_cache_base.py +5 -5
- autogen/cache/cache.py +12 -12
- autogen/cache/cache_factory.py +4 -4
- autogen/cache/cosmos_db_cache.py +9 -9
- autogen/cache/disk_cache.py +6 -6
- autogen/cache/in_memory_cache.py +4 -4
- autogen/cache/redis_cache.py +4 -4
- autogen/code_utils.py +18 -18
- autogen/coding/base.py +6 -6
- autogen/coding/docker_commandline_code_executor.py +9 -9
- autogen/coding/func_with_reqs.py +7 -6
- autogen/coding/jupyter/base.py +3 -3
- autogen/coding/jupyter/docker_jupyter_server.py +3 -4
- autogen/coding/jupyter/import_utils.py +3 -3
- autogen/coding/jupyter/jupyter_client.py +5 -5
- autogen/coding/jupyter/jupyter_code_executor.py +3 -4
- autogen/coding/jupyter/local_jupyter_server.py +2 -6
- autogen/coding/local_commandline_code_executor.py +8 -7
- autogen/coding/markdown_code_extractor.py +1 -2
- autogen/coding/utils.py +1 -2
- autogen/doc_utils.py +3 -2
- autogen/environments/docker_python_environment.py +19 -29
- autogen/environments/python_environment.py +8 -17
- autogen/environments/system_python_environment.py +3 -4
- autogen/environments/venv_python_environment.py +8 -12
- autogen/environments/working_directory.py +1 -2
- autogen/events/agent_events.py +106 -109
- autogen/events/base_event.py +6 -5
- autogen/events/client_events.py +15 -14
- autogen/events/helpers.py +1 -1
- autogen/events/print_event.py +4 -5
- autogen/fast_depends/_compat.py +10 -15
- autogen/fast_depends/core/build.py +17 -36
- autogen/fast_depends/core/model.py +64 -113
- autogen/fast_depends/dependencies/model.py +2 -1
- autogen/fast_depends/dependencies/provider.py +3 -2
- autogen/fast_depends/library/model.py +4 -4
- autogen/fast_depends/schema.py +7 -7
- autogen/fast_depends/use.py +17 -25
- autogen/fast_depends/utils.py +10 -30
- autogen/formatting_utils.py +6 -6
- autogen/graph_utils.py +1 -4
- autogen/import_utils.py +13 -13
- autogen/interop/crewai/crewai.py +2 -2
- autogen/interop/interoperable.py +2 -2
- autogen/interop/langchain/langchain_chat_model_factory.py +3 -2
- autogen/interop/langchain/langchain_tool.py +2 -6
- autogen/interop/litellm/litellm_config_factory.py +6 -7
- autogen/interop/pydantic_ai/pydantic_ai.py +4 -7
- autogen/interop/registry.py +2 -1
- autogen/io/base.py +5 -5
- autogen/io/run_response.py +33 -32
- autogen/io/websockets.py +6 -5
- autogen/json_utils.py +1 -2
- autogen/llm_config/__init__.py +11 -0
- autogen/llm_config/client.py +58 -0
- autogen/llm_config/config.py +384 -0
- autogen/llm_config/entry.py +154 -0
- autogen/logger/base_logger.py +4 -3
- autogen/logger/file_logger.py +2 -1
- autogen/logger/logger_factory.py +2 -2
- autogen/logger/logger_utils.py +2 -2
- autogen/logger/sqlite_logger.py +2 -1
- autogen/math_utils.py +4 -5
- autogen/mcp/__main__.py +6 -6
- autogen/mcp/helpers.py +4 -4
- autogen/mcp/mcp_client.py +170 -29
- autogen/mcp/mcp_proxy/fastapi_code_generator_helpers.py +3 -4
- autogen/mcp/mcp_proxy/mcp_proxy.py +23 -26
- autogen/mcp/mcp_proxy/operation_grouping.py +4 -5
- autogen/mcp/mcp_proxy/operation_renaming.py +6 -10
- autogen/mcp/mcp_proxy/security.py +2 -3
- autogen/messages/agent_messages.py +96 -98
- autogen/messages/base_message.py +6 -5
- autogen/messages/client_messages.py +15 -14
- autogen/messages/print_message.py +4 -5
- autogen/oai/__init__.py +1 -2
- autogen/oai/anthropic.py +42 -41
- autogen/oai/bedrock.py +68 -57
- autogen/oai/cerebras.py +26 -25
- autogen/oai/client.py +113 -139
- autogen/oai/client_utils.py +3 -3
- autogen/oai/cohere.py +34 -11
- autogen/oai/gemini.py +39 -17
- autogen/oai/gemini_types.py +11 -12
- autogen/oai/groq.py +22 -10
- autogen/oai/mistral.py +17 -11
- autogen/oai/oai_models/__init__.py +14 -2
- autogen/oai/oai_models/_models.py +2 -2
- autogen/oai/oai_models/chat_completion.py +13 -14
- autogen/oai/oai_models/chat_completion_message.py +11 -9
- autogen/oai/oai_models/chat_completion_message_tool_call.py +26 -3
- autogen/oai/oai_models/chat_completion_token_logprob.py +3 -4
- autogen/oai/oai_models/completion_usage.py +8 -9
- autogen/oai/ollama.py +19 -9
- autogen/oai/openai_responses.py +40 -17
- autogen/oai/openai_utils.py +48 -38
- autogen/oai/together.py +29 -14
- autogen/retrieve_utils.py +6 -7
- autogen/runtime_logging.py +5 -4
- autogen/token_count_utils.py +7 -4
- autogen/tools/contrib/time/time.py +0 -1
- autogen/tools/dependency_injection.py +5 -6
- autogen/tools/experimental/browser_use/browser_use.py +10 -10
- autogen/tools/experimental/code_execution/python_code_execution.py +5 -7
- autogen/tools/experimental/crawl4ai/crawl4ai.py +12 -15
- autogen/tools/experimental/deep_research/deep_research.py +9 -8
- autogen/tools/experimental/duckduckgo/duckduckgo_search.py +5 -11
- autogen/tools/experimental/firecrawl/firecrawl_tool.py +98 -115
- autogen/tools/experimental/google/authentication/credentials_local_provider.py +1 -1
- autogen/tools/experimental/google/drive/drive_functions.py +4 -4
- autogen/tools/experimental/google/drive/toolkit.py +5 -5
- autogen/tools/experimental/google_search/google_search.py +5 -5
- autogen/tools/experimental/google_search/youtube_search.py +5 -5
- autogen/tools/experimental/messageplatform/discord/discord.py +8 -12
- autogen/tools/experimental/messageplatform/slack/slack.py +14 -20
- autogen/tools/experimental/messageplatform/telegram/telegram.py +8 -12
- autogen/tools/experimental/perplexity/perplexity_search.py +18 -29
- autogen/tools/experimental/reliable/reliable.py +68 -74
- autogen/tools/experimental/searxng/searxng_search.py +20 -19
- autogen/tools/experimental/tavily/tavily_search.py +12 -19
- autogen/tools/experimental/web_search_preview/web_search_preview.py +13 -7
- autogen/tools/experimental/wikipedia/wikipedia.py +7 -10
- autogen/tools/function_utils.py +7 -7
- autogen/tools/tool.py +8 -6
- autogen/types.py +2 -2
- autogen/version.py +1 -1
- ag2-0.9.7.dist-info/RECORD +0 -421
- autogen/llm_config.py +0 -385
- {ag2-0.9.7.dist-info → ag2-0.9.8.post1.dist-info}/WHEEL +0 -0
- {ag2-0.9.7.dist-info → ag2-0.9.8.post1.dist-info}/licenses/LICENSE +0 -0
- {ag2-0.9.7.dist-info → ag2-0.9.8.post1.dist-info}/licenses/NOTICE.md +0 -0
|
@@ -17,17 +17,14 @@ class PythonEnvironment(ABC):
|
|
|
17
17
|
_current_python_environment: ContextVar["PythonEnvironment"] = ContextVar("_current_python_environment")
|
|
18
18
|
|
|
19
19
|
def __init__(self):
|
|
20
|
-
"""
|
|
21
|
-
Initialize the Python environment.
|
|
22
|
-
"""
|
|
20
|
+
"""Initialize the Python environment."""
|
|
23
21
|
self._token = None
|
|
24
22
|
|
|
25
23
|
# Set up the environment
|
|
26
24
|
self._setup_environment()
|
|
27
25
|
|
|
28
26
|
def __enter__(self):
|
|
29
|
-
"""
|
|
30
|
-
Enter the environment context.
|
|
27
|
+
"""Enter the environment context.
|
|
31
28
|
Sets this environment as the current one.
|
|
32
29
|
"""
|
|
33
30
|
# Set this as the current Python environment in the context
|
|
@@ -36,8 +33,7 @@ class PythonEnvironment(ABC):
|
|
|
36
33
|
return self
|
|
37
34
|
|
|
38
35
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
39
|
-
"""
|
|
40
|
-
Exit the environment context.
|
|
36
|
+
"""Exit the environment context.
|
|
41
37
|
Resets the current environment and performs cleanup.
|
|
42
38
|
"""
|
|
43
39
|
# Reset the context variable if this was the active environment
|
|
@@ -60,8 +56,7 @@ class PythonEnvironment(ABC):
|
|
|
60
56
|
|
|
61
57
|
@abstractmethod
|
|
62
58
|
def get_executable(self) -> str:
|
|
63
|
-
"""
|
|
64
|
-
Get the path to the Python executable in this environment.
|
|
59
|
+
"""Get the path to the Python executable in this environment.
|
|
65
60
|
|
|
66
61
|
Returns:
|
|
67
62
|
The full path to the Python executable.
|
|
@@ -70,8 +65,7 @@ class PythonEnvironment(ABC):
|
|
|
70
65
|
|
|
71
66
|
@abstractmethod
|
|
72
67
|
async def execute_code(self, code: str, script_path: str, timeout: int = 30) -> dict[str, Any]:
|
|
73
|
-
"""
|
|
74
|
-
Execute the given code in this environment.
|
|
68
|
+
"""Execute the given code in this environment.
|
|
75
69
|
|
|
76
70
|
Args:
|
|
77
71
|
code: The Python code to execute.
|
|
@@ -85,8 +79,7 @@ class PythonEnvironment(ABC):
|
|
|
85
79
|
|
|
86
80
|
# Utility method for subclasses to wrap (for async support)
|
|
87
81
|
def _write_to_file(self, script_path: str, content: str) -> None:
|
|
88
|
-
"""
|
|
89
|
-
Write content to a file (blocking operation).
|
|
82
|
+
"""Write content to a file (blocking operation).
|
|
90
83
|
|
|
91
84
|
This is a helper method for use with asyncify in async contexts.
|
|
92
85
|
|
|
@@ -99,8 +92,7 @@ class PythonEnvironment(ABC):
|
|
|
99
92
|
|
|
100
93
|
# Utility method for subclasses to wrap (for async support)
|
|
101
94
|
def _run_subprocess(self, cmd: list[str], timeout: int) -> subprocess.CompletedProcess:
|
|
102
|
-
"""
|
|
103
|
-
Run a subprocess (blocking operation).
|
|
95
|
+
"""Run a subprocess (blocking operation).
|
|
104
96
|
|
|
105
97
|
This is a helper method for use with asyncify in async contexts.
|
|
106
98
|
|
|
@@ -117,8 +109,7 @@ class PythonEnvironment(ABC):
|
|
|
117
109
|
def get_current_python_environment(
|
|
118
110
|
cls, python_environment: Optional["PythonEnvironment"] = None
|
|
119
111
|
) -> Optional["PythonEnvironment"]:
|
|
120
|
-
"""
|
|
121
|
-
Get the current Python environment or the specified one if provided.
|
|
112
|
+
"""Get the current Python environment or the specified one if provided.
|
|
122
113
|
|
|
123
114
|
Args:
|
|
124
115
|
python_environment: Optional environment to return if specified.
|
|
@@ -6,7 +6,7 @@ import logging
|
|
|
6
6
|
import os
|
|
7
7
|
import subprocess
|
|
8
8
|
import sys
|
|
9
|
-
from typing import Any
|
|
9
|
+
from typing import Any
|
|
10
10
|
|
|
11
11
|
from asyncer import asyncify
|
|
12
12
|
|
|
@@ -20,10 +20,9 @@ class SystemPythonEnvironment(PythonEnvironment):
|
|
|
20
20
|
|
|
21
21
|
def __init__(
|
|
22
22
|
self,
|
|
23
|
-
executable:
|
|
23
|
+
executable: str | None = None,
|
|
24
24
|
):
|
|
25
|
-
"""
|
|
26
|
-
Initialize a system Python environment.
|
|
25
|
+
"""Initialize a system Python environment.
|
|
27
26
|
|
|
28
27
|
Args:
|
|
29
28
|
executable: Optional path to a specific Python executable. If None, uses the current Python executable.
|
|
@@ -7,7 +7,7 @@ import os
|
|
|
7
7
|
import subprocess
|
|
8
8
|
import sys
|
|
9
9
|
import tempfile
|
|
10
|
-
from typing import Any
|
|
10
|
+
from typing import Any
|
|
11
11
|
|
|
12
12
|
from asyncer import asyncify
|
|
13
13
|
|
|
@@ -21,12 +21,11 @@ class VenvPythonEnvironment(PythonEnvironment):
|
|
|
21
21
|
|
|
22
22
|
def __init__(
|
|
23
23
|
self,
|
|
24
|
-
python_version:
|
|
25
|
-
python_path:
|
|
26
|
-
venv_path:
|
|
24
|
+
python_version: str | None = None,
|
|
25
|
+
python_path: str | None = None,
|
|
26
|
+
venv_path: str | None = None,
|
|
27
27
|
):
|
|
28
|
-
"""
|
|
29
|
-
Initialize a virtual environment for Python execution.
|
|
28
|
+
"""Initialize a virtual environment for Python execution.
|
|
30
29
|
|
|
31
30
|
If you pass in a venv_path the path will be checked for a valid venv. If the venv doesn't exist it will be created using the python_version or python_path provided.
|
|
32
31
|
|
|
@@ -87,8 +86,7 @@ class VenvPythonEnvironment(PythonEnvironment):
|
|
|
87
86
|
_ = subprocess.run(
|
|
88
87
|
[base_python, "-m", "venv", "--system-site-packages", self.venv_path],
|
|
89
88
|
check=True,
|
|
90
|
-
|
|
91
|
-
stderr=subprocess.PIPE,
|
|
89
|
+
capture_output=True,
|
|
92
90
|
text=True,
|
|
93
91
|
)
|
|
94
92
|
|
|
@@ -175,8 +173,7 @@ class VenvPythonEnvironment(PythonEnvironment):
|
|
|
175
173
|
pyenv_result = subprocess.run(
|
|
176
174
|
["pyenv", "which", f"python{self.python_version}"],
|
|
177
175
|
check=True,
|
|
178
|
-
|
|
179
|
-
stderr=subprocess.PIPE,
|
|
176
|
+
capture_output=True,
|
|
180
177
|
text=True,
|
|
181
178
|
)
|
|
182
179
|
potential_executables.append(pyenv_result.stdout.strip())
|
|
@@ -207,8 +204,7 @@ class VenvPythonEnvironment(PythonEnvironment):
|
|
|
207
204
|
test_result = subprocess.run(
|
|
208
205
|
[path, "-m", "venv", "--help"],
|
|
209
206
|
check=False, # Don't raise exception
|
|
210
|
-
|
|
211
|
-
stderr=subprocess.PIPE,
|
|
207
|
+
capture_output=True,
|
|
212
208
|
text=True,
|
|
213
209
|
timeout=5, # Add timeout for safety
|
|
214
210
|
)
|
|
@@ -18,8 +18,7 @@ class WorkingDirectory:
|
|
|
18
18
|
_current_working_directory: ContextVar["WorkingDirectory"] = ContextVar("_current_working_directory")
|
|
19
19
|
|
|
20
20
|
def __init__(self, path: str):
|
|
21
|
-
"""
|
|
22
|
-
Initialize with a directory path.
|
|
21
|
+
"""Initialize with a directory path.
|
|
23
22
|
|
|
24
23
|
Args:
|
|
25
24
|
path: The directory path to change to.
|