ag2 0.9.5__tar.gz → 0.9.6__tar.gz

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.

Files changed (972) hide show
  1. {ag2-0.9.5 → ag2-0.9.6}/.devcontainer/setup.sh +3 -0
  2. {ag2-0.9.5 → ag2-0.9.6}/PKG-INFO +1 -1
  3. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/docker_commandline_code_executor.py +29 -9
  4. ag2-0.9.6/autogen/environments/__init__.py +10 -0
  5. ag2-0.9.6/autogen/environments/docker_python_environment.py +375 -0
  6. ag2-0.9.6/autogen/environments/python_environment.py +134 -0
  7. ag2-0.9.6/autogen/environments/system_python_environment.py +86 -0
  8. ag2-0.9.6/autogen/environments/venv_python_environment.py +224 -0
  9. ag2-0.9.6/autogen/environments/working_directory.py +75 -0
  10. {ag2-0.9.5 → ag2-0.9.6}/autogen/llm_config.py +6 -3
  11. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/mcp_proxy/mcp_proxy.py +4 -4
  12. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/client.py +28 -7
  13. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/__init__.py +2 -0
  14. ag2-0.9.6/autogen/tools/experimental/code_execution/__init__.py +7 -0
  15. ag2-0.9.6/autogen/tools/experimental/code_execution/python_code_execution.py +88 -0
  16. {ag2-0.9.5 → ag2-0.9.6}/autogen/version.py +1 -1
  17. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/code-execution.mdx +6 -0
  18. ag2-0.9.6/website/docs/user-guide/reference-tools/code-execution.mdx +144 -0
  19. {ag2-0.9.5 → ag2-0.9.6}/website/mint-json-template.json.jinja +5 -2
  20. ag2-0.9.6/website/snippets/reference-tools/code-execution-docker.mdx +55 -0
  21. ag2-0.9.6/website/snippets/reference-tools/code-execution-system.mdx +53 -0
  22. ag2-0.9.6/website/snippets/reference-tools/code-execution-venv.mdx +56 -0
  23. {ag2-0.9.5 → ag2-0.9.6}/.coveragerc +0 -0
  24. {ag2-0.9.5 → ag2-0.9.6}/.devcontainer/Dockerfile +0 -0
  25. {ag2-0.9.5 → ag2-0.9.6}/.devcontainer/README.md +0 -0
  26. {ag2-0.9.5 → ag2-0.9.6}/.devcontainer/devcontainer.json +0 -0
  27. {ag2-0.9.5 → ag2-0.9.6}/.devcontainer/python-3.10/devcontainer.json +0 -0
  28. {ag2-0.9.5 → ag2-0.9.6}/.devcontainer/python-3.11/devcontainer.json +0 -0
  29. {ag2-0.9.5 → ag2-0.9.6}/.devcontainer/python-3.12/devcontainer.json +0 -0
  30. {ag2-0.9.5 → ag2-0.9.6}/.devcontainer/python-3.13/devcontainer.json +0 -0
  31. {ag2-0.9.5 → ag2-0.9.6}/.gitattributes +0 -0
  32. {ag2-0.9.5 → ag2-0.9.6}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  33. {ag2-0.9.5 → ag2-0.9.6}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  34. {ag2-0.9.5 → ag2-0.9.6}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  35. {ag2-0.9.5 → ag2-0.9.6}/.github/ISSUE_TEMPLATE/general_issue.yml +0 -0
  36. {ag2-0.9.5 → ag2-0.9.6}/.github/ISSUE_TEMPLATE.md +0 -0
  37. {ag2-0.9.5 → ag2-0.9.6}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  38. {ag2-0.9.5 → ag2-0.9.6}/.github/dependabot.yml +0 -0
  39. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/build-docs.yml +0 -0
  40. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/build-mkdocs.yml +0 -0
  41. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/contrib-graph-rag-tests.yml +0 -0
  42. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/contrib-llm-test.yml +0 -0
  43. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/contrib-test.yml +0 -0
  44. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/core-llm-test.yml +0 -0
  45. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/core-test.yml +0 -0
  46. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/deploy-website-mintlify.yml +0 -0
  47. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/deploy-website.yml +0 -0
  48. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/docs-check-broken-links.yml +0 -0
  49. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/integration-test.yml +0 -0
  50. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/lfs-check.yml +0 -0
  51. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/mkdocs-check-broken-links.yml +0 -0
  52. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/pr-checks.yml +0 -0
  53. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/python-package.yml +0 -0
  54. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/test-with-optional-deps.yml +0 -0
  55. {ag2-0.9.5 → ag2-0.9.6}/.github/workflows/type-check.yml +0 -0
  56. {ag2-0.9.5 → ag2-0.9.6}/.gitignore +0 -0
  57. {ag2-0.9.5 → ag2-0.9.6}/.muffet-excluded-links.txt +0 -0
  58. {ag2-0.9.5 → ag2-0.9.6}/.pre-commit-config.yaml +0 -0
  59. {ag2-0.9.5 → ag2-0.9.6}/CITATION.cff +0 -0
  60. {ag2-0.9.5 → ag2-0.9.6}/LICENSE +0 -0
  61. {ag2-0.9.5 → ag2-0.9.6}/MAINTAINERS.md +0 -0
  62. {ag2-0.9.5 → ag2-0.9.6}/NOTICE.md +0 -0
  63. {ag2-0.9.5 → ag2-0.9.6}/OAI_CONFIG_LIST_sample +0 -0
  64. {ag2-0.9.5 → ag2-0.9.6}/README.md +0 -0
  65. {ag2-0.9.5 → ag2-0.9.6}/TRANSPARENCY_FAQS.md +0 -0
  66. {ag2-0.9.5 → ag2-0.9.6}/announcements.md +0 -0
  67. {ag2-0.9.5 → ag2-0.9.6}/autogen/__init__.py +0 -0
  68. {ag2-0.9.5 → ag2-0.9.6}/autogen/_website/__init__.py +0 -0
  69. {ag2-0.9.5 → ag2-0.9.6}/autogen/_website/generate_api_references.py +0 -0
  70. {ag2-0.9.5 → ag2-0.9.6}/autogen/_website/generate_mkdocs.py +0 -0
  71. {ag2-0.9.5 → ag2-0.9.6}/autogen/_website/notebook_processor.py +0 -0
  72. {ag2-0.9.5 → ag2-0.9.6}/autogen/_website/process_notebooks.py +0 -0
  73. {ag2-0.9.5 → ag2-0.9.6}/autogen/_website/utils.py +0 -0
  74. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/__init__.py +0 -0
  75. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/agent.py +0 -0
  76. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/assistant_agent.py +0 -0
  77. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/chat.py +0 -0
  78. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/__init__.py +0 -0
  79. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/agent_eval/README.md +0 -0
  80. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/agent_eval/agent_eval.py +0 -0
  81. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/agent_eval/criterion.py +0 -0
  82. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/agent_eval/critic_agent.py +0 -0
  83. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/agent_eval/quantifier_agent.py +0 -0
  84. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/agent_eval/subcritic_agent.py +0 -0
  85. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/agent_eval/task.py +0 -0
  86. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/agent_optimizer.py +0 -0
  87. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/__init__.py +0 -0
  88. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/agent_capability.py +0 -0
  89. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/generate_images.py +0 -0
  90. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/teachability.py +0 -0
  91. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/text_compressors.py +0 -0
  92. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/tools_capability.py +0 -0
  93. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/transform_messages.py +0 -0
  94. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/transforms.py +0 -0
  95. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/transforms_util.py +0 -0
  96. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/capabilities/vision_capability.py +0 -0
  97. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/__init__.py +0 -0
  98. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/agent_builder.py +0 -0
  99. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/captainagent.py +0 -0
  100. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tool_retriever.py +0 -0
  101. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/README.md +0 -0
  102. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/__init__.py +0 -0
  103. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/data_analysis/calculate_correlation.py +0 -0
  104. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/data_analysis/calculate_skewness_and_kurtosis.py +0 -0
  105. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/data_analysis/detect_outlier_iqr.py +0 -0
  106. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/data_analysis/detect_outlier_zscore.py +0 -0
  107. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/data_analysis/explore_csv.py +0 -0
  108. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/data_analysis/shapiro_wilk_test.py +0 -0
  109. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/arxiv_download.py +0 -0
  110. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/arxiv_search.py +0 -0
  111. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/extract_pdf_image.py +0 -0
  112. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/extract_pdf_text.py +0 -0
  113. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/get_wikipedia_text.py +0 -0
  114. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/get_youtube_caption.py +0 -0
  115. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/image_qa.py +0 -0
  116. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/optical_character_recognition.py +0 -0
  117. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/perform_web_search.py +0 -0
  118. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/scrape_wikipedia_tables.py +0 -0
  119. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/transcribe_audio_file.py +0 -0
  120. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/information_retrieval/youtube_download.py +0 -0
  121. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/calculate_circle_area_from_diameter.py +0 -0
  122. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/calculate_day_of_the_week.py +0 -0
  123. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/calculate_fraction_sum.py +0 -0
  124. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/calculate_matrix_power.py +0 -0
  125. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/calculate_reflected_point.py +0 -0
  126. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/complex_numbers_product.py +0 -0
  127. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/compute_currency_conversion.py +0 -0
  128. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/count_distinct_permutations.py +0 -0
  129. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/evaluate_expression.py +0 -0
  130. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/find_continuity_point.py +0 -0
  131. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/fraction_to_mixed_numbers.py +0 -0
  132. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/modular_inverse_sum.py +0 -0
  133. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/simplify_mixed_numbers.py +0 -0
  134. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/sum_of_digit_factorials.py +0 -0
  135. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/math/sum_of_primes_below.py +0 -0
  136. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/requirements.txt +0 -0
  137. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/captainagent/tools/tool_description.tsv +0 -0
  138. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/gpt_assistant_agent.py +0 -0
  139. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/__init__.py +0 -0
  140. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/document.py +0 -0
  141. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/falkor_graph_query_engine.py +0 -0
  142. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/falkor_graph_rag_capability.py +0 -0
  143. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/graph_query_engine.py +0 -0
  144. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/graph_rag_capability.py +0 -0
  145. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/neo4j_graph_query_engine.py +0 -0
  146. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/neo4j_graph_rag_capability.py +0 -0
  147. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/neo4j_native_graph_query_engine.py +0 -0
  148. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/graph_rag/neo4j_native_graph_rag_capability.py +0 -0
  149. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/img_utils.py +0 -0
  150. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/llamaindex_conversable_agent.py +0 -0
  151. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/llava_agent.py +0 -0
  152. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/math_user_proxy_agent.py +0 -0
  153. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/multimodal_conversable_agent.py +0 -0
  154. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/qdrant_retrieve_user_proxy_agent.py +0 -0
  155. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/rag/__init__.py +0 -0
  156. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/rag/chromadb_query_engine.py +0 -0
  157. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/rag/llamaindex_query_engine.py +0 -0
  158. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/rag/mongodb_query_engine.py +0 -0
  159. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/rag/query_engine.py +0 -0
  160. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/retrieve_assistant_agent.py +0 -0
  161. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/retrieve_user_proxy_agent.py +0 -0
  162. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/society_of_mind_agent.py +0 -0
  163. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/swarm_agent.py +0 -0
  164. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/text_analyzer_agent.py +0 -0
  165. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/vectordb/__init__.py +0 -0
  166. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/vectordb/base.py +0 -0
  167. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/vectordb/chromadb.py +0 -0
  168. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/vectordb/couchbase.py +0 -0
  169. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/vectordb/mongodb.py +0 -0
  170. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/vectordb/pgvectordb.py +0 -0
  171. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/vectordb/qdrant.py +0 -0
  172. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/vectordb/utils.py +0 -0
  173. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/contrib/web_surfer.py +0 -0
  174. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/conversable_agent.py +0 -0
  175. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/__init__.py +0 -0
  176. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/available_condition.py +0 -0
  177. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/context_condition.py +0 -0
  178. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/context_expression.py +0 -0
  179. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/context_str.py +0 -0
  180. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/context_variables.py +0 -0
  181. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/group_tool_executor.py +0 -0
  182. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/group_utils.py +0 -0
  183. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/guardrails.py +0 -0
  184. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/handoffs.py +0 -0
  185. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/llm_condition.py +0 -0
  186. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/multi_agent_chat.py +0 -0
  187. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/on_condition.py +0 -0
  188. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/on_context_condition.py +0 -0
  189. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/patterns/__init__.py +0 -0
  190. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/patterns/auto.py +0 -0
  191. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/patterns/manual.py +0 -0
  192. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/patterns/pattern.py +0 -0
  193. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/patterns/random.py +0 -0
  194. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/patterns/round_robin.py +0 -0
  195. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/reply_result.py +0 -0
  196. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/speaker_selection_result.py +0 -0
  197. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/targets/__init__.py +0 -0
  198. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/targets/group_chat_target.py +0 -0
  199. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/targets/group_manager_target.py +0 -0
  200. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/targets/transition_target.py +0 -0
  201. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/group/targets/transition_utils.py +0 -0
  202. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/groupchat.py +0 -0
  203. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/__init__.py +0 -0
  204. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/__init__.py +0 -0
  205. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/audio_adapters/__init__.py +0 -0
  206. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/audio_adapters/twilio_audio_adapter.py +0 -0
  207. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/audio_adapters/websocket_audio_adapter.py +0 -0
  208. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/audio_observer.py +0 -0
  209. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/clients/__init__.py +0 -0
  210. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/clients/gemini/__init__.py +0 -0
  211. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/clients/gemini/client.py +0 -0
  212. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/clients/oai/__init__.py +0 -0
  213. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/clients/oai/base_client.py +0 -0
  214. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/clients/oai/rtc_client.py +0 -0
  215. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/clients/oai/utils.py +0 -0
  216. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/clients/realtime_client.py +0 -0
  217. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/function_observer.py +0 -0
  218. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/realtime_agent.py +0 -0
  219. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/realtime_events.py +0 -0
  220. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/realtime_observer.py +0 -0
  221. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/realtime_swarm.py +0 -0
  222. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime/experimental/websockets.py +0 -0
  223. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/realtime_agent/__init__.py +0 -0
  224. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/user_proxy_agent.py +0 -0
  225. {ag2-0.9.5 → ag2-0.9.6}/autogen/agentchat/utils.py +0 -0
  226. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/__init__.py +0 -0
  227. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/contrib/__init__.py +0 -0
  228. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/contrib/time/__init__.py +0 -0
  229. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/contrib/time/time_reply_agent.py +0 -0
  230. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/contrib/time/time_tool_agent.py +0 -0
  231. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/__init__.py +0 -0
  232. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/deep_research/__init__.py +0 -0
  233. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/deep_research/deep_research.py +0 -0
  234. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/discord/__init__.py +0 -0
  235. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/discord/discord.py +0 -0
  236. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/document_agent/__init__.py +0 -0
  237. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/document_agent/chroma_query_engine.py +0 -0
  238. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/document_agent/docling_doc_ingest_agent.py +0 -0
  239. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/document_agent/document_agent.py +0 -0
  240. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/document_agent/document_conditions.py +0 -0
  241. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/document_agent/document_utils.py +0 -0
  242. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/document_agent/inmemory_query_engine.py +0 -0
  243. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/document_agent/parser_utils.py +0 -0
  244. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/document_agent/url_utils.py +0 -0
  245. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/reasoning/__init__.py +0 -0
  246. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/reasoning/reasoning_agent.py +0 -0
  247. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/slack/__init__.py +0 -0
  248. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/slack/slack.py +0 -0
  249. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/telegram/__init__.py +0 -0
  250. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/telegram/telegram.py +0 -0
  251. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/websurfer/__init__.py +0 -0
  252. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/websurfer/websurfer.py +0 -0
  253. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/wikipedia/__init__.py +0 -0
  254. {ag2-0.9.5 → ag2-0.9.6}/autogen/agents/experimental/wikipedia/wikipedia.py +0 -0
  255. {ag2-0.9.5 → ag2-0.9.6}/autogen/browser_utils.py +0 -0
  256. {ag2-0.9.5 → ag2-0.9.6}/autogen/cache/__init__.py +0 -0
  257. {ag2-0.9.5 → ag2-0.9.6}/autogen/cache/abstract_cache_base.py +0 -0
  258. {ag2-0.9.5 → ag2-0.9.6}/autogen/cache/cache.py +0 -0
  259. {ag2-0.9.5 → ag2-0.9.6}/autogen/cache/cache_factory.py +0 -0
  260. {ag2-0.9.5 → ag2-0.9.6}/autogen/cache/cosmos_db_cache.py +0 -0
  261. {ag2-0.9.5 → ag2-0.9.6}/autogen/cache/disk_cache.py +0 -0
  262. {ag2-0.9.5 → ag2-0.9.6}/autogen/cache/in_memory_cache.py +0 -0
  263. {ag2-0.9.5 → ag2-0.9.6}/autogen/cache/redis_cache.py +0 -0
  264. {ag2-0.9.5 → ag2-0.9.6}/autogen/code_utils.py +0 -0
  265. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/__init__.py +0 -0
  266. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/base.py +0 -0
  267. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/factory.py +0 -0
  268. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/func_with_reqs.py +0 -0
  269. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/jupyter/__init__.py +0 -0
  270. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/jupyter/base.py +0 -0
  271. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/jupyter/docker_jupyter_server.py +0 -0
  272. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/jupyter/embedded_ipython_code_executor.py +0 -0
  273. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/jupyter/import_utils.py +0 -0
  274. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/jupyter/jupyter_client.py +0 -0
  275. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/jupyter/jupyter_code_executor.py +0 -0
  276. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/jupyter/local_jupyter_server.py +0 -0
  277. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/local_commandline_code_executor.py +0 -0
  278. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/markdown_code_extractor.py +0 -0
  279. {ag2-0.9.5 → ag2-0.9.6}/autogen/coding/utils.py +0 -0
  280. {ag2-0.9.5 → ag2-0.9.6}/autogen/doc_utils.py +0 -0
  281. {ag2-0.9.5 → ag2-0.9.6}/autogen/events/__init__.py +0 -0
  282. {ag2-0.9.5 → ag2-0.9.6}/autogen/events/agent_events.py +0 -0
  283. {ag2-0.9.5 → ag2-0.9.6}/autogen/events/base_event.py +0 -0
  284. {ag2-0.9.5 → ag2-0.9.6}/autogen/events/client_events.py +0 -0
  285. {ag2-0.9.5 → ag2-0.9.6}/autogen/events/helpers.py +0 -0
  286. {ag2-0.9.5 → ag2-0.9.6}/autogen/events/print_event.py +0 -0
  287. {ag2-0.9.5 → ag2-0.9.6}/autogen/exception_utils.py +0 -0
  288. {ag2-0.9.5 → ag2-0.9.6}/autogen/extensions/__init__.py +0 -0
  289. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/__init__.py +0 -0
  290. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/_compat.py +0 -0
  291. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/core/__init__.py +0 -0
  292. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/core/build.py +0 -0
  293. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/core/model.py +0 -0
  294. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/dependencies/__init__.py +0 -0
  295. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/dependencies/model.py +0 -0
  296. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/dependencies/provider.py +0 -0
  297. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/library/__init__.py +0 -0
  298. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/library/model.py +0 -0
  299. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/py.typed +0 -0
  300. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/schema.py +0 -0
  301. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/use.py +0 -0
  302. {ag2-0.9.5 → ag2-0.9.6}/autogen/fast_depends/utils.py +0 -0
  303. {ag2-0.9.5 → ag2-0.9.6}/autogen/formatting_utils.py +0 -0
  304. {ag2-0.9.5 → ag2-0.9.6}/autogen/function_utils.py +0 -0
  305. {ag2-0.9.5 → ag2-0.9.6}/autogen/graph_utils.py +0 -0
  306. {ag2-0.9.5 → ag2-0.9.6}/autogen/import_utils.py +0 -0
  307. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/__init__.py +0 -0
  308. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/crewai/__init__.py +0 -0
  309. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/crewai/crewai.py +0 -0
  310. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/interoperability.py +0 -0
  311. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/interoperable.py +0 -0
  312. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/langchain/__init__.py +0 -0
  313. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/langchain/langchain_chat_model_factory.py +0 -0
  314. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/langchain/langchain_tool.py +0 -0
  315. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/litellm/__init__.py +0 -0
  316. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/litellm/litellm_config_factory.py +0 -0
  317. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/pydantic_ai/__init__.py +0 -0
  318. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/pydantic_ai/pydantic_ai.py +0 -0
  319. {ag2-0.9.5 → ag2-0.9.6}/autogen/interop/registry.py +0 -0
  320. {ag2-0.9.5 → ag2-0.9.6}/autogen/io/__init__.py +0 -0
  321. {ag2-0.9.5 → ag2-0.9.6}/autogen/io/base.py +0 -0
  322. {ag2-0.9.5 → ag2-0.9.6}/autogen/io/console.py +0 -0
  323. {ag2-0.9.5 → ag2-0.9.6}/autogen/io/processors/__init__.py +0 -0
  324. {ag2-0.9.5 → ag2-0.9.6}/autogen/io/processors/base.py +0 -0
  325. {ag2-0.9.5 → ag2-0.9.6}/autogen/io/processors/console_event_processor.py +0 -0
  326. {ag2-0.9.5 → ag2-0.9.6}/autogen/io/run_response.py +0 -0
  327. {ag2-0.9.5 → ag2-0.9.6}/autogen/io/thread_io_stream.py +0 -0
  328. {ag2-0.9.5 → ag2-0.9.6}/autogen/io/websockets.py +0 -0
  329. {ag2-0.9.5 → ag2-0.9.6}/autogen/json_utils.py +0 -0
  330. {ag2-0.9.5 → ag2-0.9.6}/autogen/logger/__init__.py +0 -0
  331. {ag2-0.9.5 → ag2-0.9.6}/autogen/logger/base_logger.py +0 -0
  332. {ag2-0.9.5 → ag2-0.9.6}/autogen/logger/file_logger.py +0 -0
  333. {ag2-0.9.5 → ag2-0.9.6}/autogen/logger/logger_factory.py +0 -0
  334. {ag2-0.9.5 → ag2-0.9.6}/autogen/logger/logger_utils.py +0 -0
  335. {ag2-0.9.5 → ag2-0.9.6}/autogen/logger/sqlite_logger.py +0 -0
  336. {ag2-0.9.5 → ag2-0.9.6}/autogen/math_utils.py +0 -0
  337. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/__init__.py +0 -0
  338. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/__main__.py +0 -0
  339. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/helpers.py +0 -0
  340. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/mcp_client.py +0 -0
  341. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/mcp_proxy/__init__.py +0 -0
  342. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/mcp_proxy/fastapi_code_generator_helpers.py +0 -0
  343. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/mcp_proxy/operation_grouping.py +0 -0
  344. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/mcp_proxy/operation_renaming.py +0 -0
  345. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/mcp_proxy/patch_fastapi_code_generator.py +0 -0
  346. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/mcp_proxy/security.py +0 -0
  347. {ag2-0.9.5 → ag2-0.9.6}/autogen/mcp/mcp_proxy/security_schema_visitor.py +0 -0
  348. {ag2-0.9.5 → ag2-0.9.6}/autogen/messages/__init__.py +0 -0
  349. {ag2-0.9.5 → ag2-0.9.6}/autogen/messages/agent_messages.py +0 -0
  350. {ag2-0.9.5 → ag2-0.9.6}/autogen/messages/base_message.py +0 -0
  351. {ag2-0.9.5 → ag2-0.9.6}/autogen/messages/client_messages.py +0 -0
  352. {ag2-0.9.5 → ag2-0.9.6}/autogen/messages/print_message.py +0 -0
  353. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/__init__.py +0 -0
  354. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/anthropic.py +0 -0
  355. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/bedrock.py +0 -0
  356. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/cerebras.py +0 -0
  357. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/client_utils.py +0 -0
  358. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/cohere.py +0 -0
  359. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/gemini.py +0 -0
  360. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/gemini_types.py +0 -0
  361. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/groq.py +0 -0
  362. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/mistral.py +0 -0
  363. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/oai_models/__init__.py +0 -0
  364. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/oai_models/_models.py +0 -0
  365. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/oai_models/chat_completion.py +0 -0
  366. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/oai_models/chat_completion_audio.py +0 -0
  367. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/oai_models/chat_completion_message.py +0 -0
  368. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/oai_models/chat_completion_message_tool_call.py +0 -0
  369. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/oai_models/chat_completion_token_logprob.py +0 -0
  370. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/oai_models/completion_usage.py +0 -0
  371. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/ollama.py +0 -0
  372. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/openai_responses.py +0 -0
  373. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/openai_utils.py +0 -0
  374. {ag2-0.9.5 → ag2-0.9.6}/autogen/oai/together.py +0 -0
  375. {ag2-0.9.5 → ag2-0.9.6}/autogen/retrieve_utils.py +0 -0
  376. {ag2-0.9.5 → ag2-0.9.6}/autogen/runtime_logging.py +0 -0
  377. {ag2-0.9.5 → ag2-0.9.6}/autogen/token_count_utils.py +0 -0
  378. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/__init__.py +0 -0
  379. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/contrib/__init__.py +0 -0
  380. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/contrib/time/__init__.py +0 -0
  381. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/contrib/time/time.py +0 -0
  382. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/dependency_injection.py +0 -0
  383. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/browser_use/__init__.py +0 -0
  384. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/browser_use/browser_use.py +0 -0
  385. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/crawl4ai/__init__.py +0 -0
  386. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/crawl4ai/crawl4ai.py +0 -0
  387. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/deep_research/__init__.py +0 -0
  388. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/deep_research/deep_research.py +0 -0
  389. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/duckduckgo/__init__.py +0 -0
  390. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/duckduckgo/duckduckgo_search.py +0 -0
  391. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/firecrawl/__init__.py +0 -0
  392. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/firecrawl/firecrawl_tool.py +0 -0
  393. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/__init__.py +0 -0
  394. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/authentication/__init__.py +0 -0
  395. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/authentication/credentials_hosted_provider.py +0 -0
  396. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/authentication/credentials_local_provider.py +0 -0
  397. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/authentication/credentials_provider.py +0 -0
  398. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/drive/__init__.py +0 -0
  399. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/drive/drive_functions.py +0 -0
  400. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/drive/toolkit.py +0 -0
  401. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/model.py +0 -0
  402. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google/toolkit_protocol.py +0 -0
  403. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google_search/__init__.py +0 -0
  404. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google_search/google_search.py +0 -0
  405. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/google_search/youtube_search.py +0 -0
  406. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/messageplatform/__init__.py +0 -0
  407. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/messageplatform/discord/__init__.py +0 -0
  408. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/messageplatform/discord/discord.py +0 -0
  409. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/messageplatform/slack/__init__.py +0 -0
  410. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/messageplatform/slack/slack.py +0 -0
  411. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/messageplatform/telegram/__init__.py +0 -0
  412. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/messageplatform/telegram/telegram.py +0 -0
  413. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/perplexity/__init__.py +0 -0
  414. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/perplexity/perplexity_search.py +0 -0
  415. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/reliable/__init__.py +0 -0
  416. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/reliable/reliable.py +0 -0
  417. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/searxng/__init__.py +0 -0
  418. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/searxng/searxng_search.py +0 -0
  419. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/tavily/__init__.py +0 -0
  420. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/tavily/tavily_search.py +0 -0
  421. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/web_search_preview/__init__.py +0 -0
  422. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/web_search_preview/web_search_preview.py +0 -0
  423. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/wikipedia/__init__.py +0 -0
  424. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/experimental/wikipedia/wikipedia.py +0 -0
  425. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/function_utils.py +0 -0
  426. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/tool.py +0 -0
  427. {ag2-0.9.5 → ag2-0.9.6}/autogen/tools/toolkit.py +0 -0
  428. {ag2-0.9.5 → ag2-0.9.6}/autogen/types.py +0 -0
  429. {ag2-0.9.5 → ag2-0.9.6}/azure-pipelines.yml +0 -0
  430. {ag2-0.9.5 → ag2-0.9.6}/codecov.yml +0 -0
  431. {ag2-0.9.5 → ag2-0.9.6}/license_original/LICENSE-CC +0 -0
  432. {ag2-0.9.5 → ag2-0.9.6}/license_original/LICENSE_original_MIT +0 -0
  433. {ag2-0.9.5 → ag2-0.9.6}/pyproject.toml +0 -0
  434. {ag2-0.9.5 → ag2-0.9.6}/scripts/broken-links-check.sh +0 -0
  435. {ag2-0.9.5 → ag2-0.9.6}/scripts/build-setup-files.py +0 -0
  436. {ag2-0.9.5 → ag2-0.9.6}/scripts/devcontainer/generate-devcontainers.py +0 -0
  437. {ag2-0.9.5 → ag2-0.9.6}/scripts/devcontainer/generate-devcontainers.sh +0 -0
  438. {ag2-0.9.5 → ag2-0.9.6}/scripts/devcontainer/templates/devcontainer.json.jinja +0 -0
  439. {ag2-0.9.5 → ag2-0.9.6}/scripts/docs_build.sh +0 -0
  440. {ag2-0.9.5 → ag2-0.9.6}/scripts/docs_build_mkdocs.sh +0 -0
  441. {ag2-0.9.5 → ag2-0.9.6}/scripts/docs_serve.sh +0 -0
  442. {ag2-0.9.5 → ag2-0.9.6}/scripts/docs_serve_mkdocs.sh +0 -0
  443. {ag2-0.9.5 → ag2-0.9.6}/scripts/integration-test.sh +0 -0
  444. {ag2-0.9.5 → ag2-0.9.6}/scripts/lint.sh +0 -0
  445. {ag2-0.9.5 → ag2-0.9.6}/scripts/pre-commit-build-setup-files.sh +0 -0
  446. {ag2-0.9.5 → ag2-0.9.6}/scripts/pre-commit-license-check.py +0 -0
  447. {ag2-0.9.5 → ag2-0.9.6}/scripts/pre-commit-lint.sh +0 -0
  448. {ag2-0.9.5 → ag2-0.9.6}/scripts/pre-commit-mypy-run.sh +0 -0
  449. {ag2-0.9.5 → ag2-0.9.6}/scripts/show-coverage-report.sh +0 -0
  450. {ag2-0.9.5 → ag2-0.9.6}/scripts/test-core-llm.sh +0 -0
  451. {ag2-0.9.5 → ag2-0.9.6}/scripts/test-core-skip-llm.sh +0 -0
  452. {ag2-0.9.5 → ag2-0.9.6}/scripts/test-docs.sh +0 -0
  453. {ag2-0.9.5 → ag2-0.9.6}/scripts/test-skip-llm.sh +0 -0
  454. {ag2-0.9.5 → ag2-0.9.6}/scripts/test.sh +0 -0
  455. {ag2-0.9.5 → ag2-0.9.6}/setup.jinja +0 -0
  456. {ag2-0.9.5 → ag2-0.9.6}/setup_autogen.py +0 -0
  457. {ag2-0.9.5 → ag2-0.9.6}/templates/client_template/main.jinja2 +0 -0
  458. {ag2-0.9.5 → ag2-0.9.6}/templates/config_template/config.jinja2 +0 -0
  459. {ag2-0.9.5 → ag2-0.9.6}/templates/main.jinja2 +0 -0
  460. {ag2-0.9.5 → ag2-0.9.6}/website/.gitignore +0 -0
  461. {ag2-0.9.5 → ag2-0.9.6}/website/README.md +0 -0
  462. {ag2-0.9.5 → ag2-0.9.6}/website/blogs_and_user_stories_authors.yml +0 -0
  463. {ag2-0.9.5 → ag2-0.9.6}/website/docs/.gitignore +0 -0
  464. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-04-21-LLM-tuning-math/img/level2algebra.png +0 -0
  465. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-04-21-LLM-tuning-math/img/level3algebra.png +0 -0
  466. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-04-21-LLM-tuning-math/img/level4algebra.png +0 -0
  467. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-04-21-LLM-tuning-math/img/level5algebra.png +0 -0
  468. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-04-21-LLM-tuning-math/index.mdx +0 -0
  469. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-05-18-GPT-adaptive-humaneval/img/design.png +0 -0
  470. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-05-18-GPT-adaptive-humaneval/img/humaneval.png +0 -0
  471. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-05-18-GPT-adaptive-humaneval/index.mdx +0 -0
  472. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-06-28-MathChat/img/mathchatflow.png +0 -0
  473. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-06-28-MathChat/img/result.png +0 -0
  474. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-06-28-MathChat/index.mdx +0 -0
  475. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-07-14-Local-LLMs/index.mdx +0 -0
  476. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-10-18-RetrieveChat/img/autogen-rag.gif +0 -0
  477. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-10-18-RetrieveChat/img/retrievechat-arch.png +0 -0
  478. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-10-18-RetrieveChat/index.mdx +0 -0
  479. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-10-26-TeachableAgent/img/teachable-arch.png +0 -0
  480. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-10-26-TeachableAgent/index.mdx +0 -0
  481. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-06-LMM-Agent/img/teaser.png +0 -0
  482. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-06-LMM-Agent/index.mdx +0 -0
  483. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-09-EcoAssistant/img/chat.webp +0 -0
  484. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-09-EcoAssistant/img/results.png +0 -0
  485. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-09-EcoAssistant/img/system.webp +0 -0
  486. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-09-EcoAssistant/img/template-demo.png +0 -0
  487. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-09-EcoAssistant/img/template.png +0 -0
  488. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-09-EcoAssistant/index.mdx +0 -0
  489. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-13-OAI-assistants/img/teaser.jpg +0 -0
  490. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-13-OAI-assistants/index.mdx +0 -0
  491. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-20-AgentEval/img/agenteval-CQ.webp +0 -0
  492. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-20-AgentEval/img/math-problems-plot.png +0 -0
  493. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-20-AgentEval/img/tasks-taxonomy.webp +0 -0
  494. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-20-AgentEval/index.mdx +0 -0
  495. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-26-Agent-AutoBuild/img/agent_autobuild.webp +0 -0
  496. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-11-26-Agent-AutoBuild/index.mdx +0 -0
  497. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-12-01-AutoGenStudio/img/autogenstudio_config.png +0 -0
  498. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-12-01-AutoGenStudio/img/autogenstudio_home.png +0 -0
  499. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-12-01-AutoGenStudio/img/autogenstudio_skills.png +0 -0
  500. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-12-01-AutoGenStudio/index.mdx +0 -0
  501. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-12-23-AgentOptimizer/img/agentoptimizer.webp +0 -0
  502. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-12-23-AgentOptimizer/index.mdx +0 -0
  503. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2023-12-29-AgentDescriptions/index.mdx +0 -0
  504. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-01-23-Code-execution-in-docker/index.mdx +0 -0
  505. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-01-25-AutoGenBench/img/teaser.jpg +0 -0
  506. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-01-25-AutoGenBench/index.mdx +0 -0
  507. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-01-26-Custom-Models/index.mdx +0 -0
  508. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-02-AutoAnny/img/AutoAnnyLogo.jpg +0 -0
  509. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-02-AutoAnny/index.mdx +0 -0
  510. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-11-FSM-GroupChat/img/FSM_logic.webp +0 -0
  511. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-11-FSM-GroupChat/img/FSM_of_multi-agents.webp +0 -0
  512. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-11-FSM-GroupChat/img/teaser.webp +0 -0
  513. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-11-FSM-GroupChat/index.mdx +0 -0
  514. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-29-StateFlow/img/alfworld.png +0 -0
  515. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-29-StateFlow/img/bash_result.png +0 -0
  516. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-29-StateFlow/img/intercode.webp +0 -0
  517. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-29-StateFlow/img/sf_example_1.webp +0 -0
  518. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-02-29-StateFlow/index.mdx +0 -0
  519. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-03-AutoGen-Update/img/contributors.png +0 -0
  520. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-03-AutoGen-Update/img/dalle_gpt4v.png +0 -0
  521. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-03-AutoGen-Update/img/gaia.png +0 -0
  522. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-03-AutoGen-Update/img/love.png +0 -0
  523. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-03-AutoGen-Update/img/teach.png +0 -0
  524. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-03-AutoGen-Update/index.mdx +0 -0
  525. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-11-AutoDefense/img/architecture.webp +0 -0
  526. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-11-AutoDefense/img/defense-agency-design.webp +0 -0
  527. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-11-AutoDefense/img/table-4agents.png +0 -0
  528. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-11-AutoDefense/img/table-agents.png +0 -0
  529. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-11-AutoDefense/img/table-compared-methods.png +0 -0
  530. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-03-11-AutoDefense/index.mdx +0 -0
  531. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-05-24-Agent/img/agents.png +0 -0
  532. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-05-24-Agent/img/leadership.png +0 -0
  533. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-05-24-Agent/index.mdx +0 -0
  534. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-06-21-AgentEval/img/agenteval_ov_v3.webp +0 -0
  535. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-06-21-AgentEval/index.mdx +0 -0
  536. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-06-24-AltModels-Classes/img/agentstogether.jpeg +0 -0
  537. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-06-24-AltModels-Classes/index.mdx +0 -0
  538. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-07-25-AgentOps/img/autogen-integration.png +0 -0
  539. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-07-25-AgentOps/img/dashboard.png +0 -0
  540. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-07-25-AgentOps/img/flow.png +0 -0
  541. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-07-25-AgentOps/img/session-replay.png +0 -0
  542. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-07-25-AgentOps/index.mdx +0 -0
  543. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-15-CaptainAgent/img/build.webp +0 -0
  544. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-15-CaptainAgent/img/chat.webp +0 -0
  545. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-15-CaptainAgent/img/overall.webp +0 -0
  546. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-15-CaptainAgent/index.mdx +0 -0
  547. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-17-Swarm/index.mdx +0 -0
  548. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-27-Prompt-Leakage-Probing/img/probing_flow.webp +0 -0
  549. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-27-Prompt-Leakage-Probing/img/prompt_leakage_report.png +0 -0
  550. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-27-Prompt-Leakage-Probing/img/prompt_leakage_social_img.webp +0 -0
  551. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-27-Prompt-Leakage-Probing/img/prompt_test_chat.webp +0 -0
  552. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-11-27-Prompt-Leakage-Probing/index.mdx +0 -0
  553. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-02-ReasoningAgent2/img/reasoningagent_1.webp +0 -0
  554. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-02-ReasoningAgent2/img/reasoningagent_2.webp +0 -0
  555. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-02-ReasoningAgent2/img/tree-of-thoughts.png +0 -0
  556. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-02-ReasoningAgent2/index.mdx +0 -0
  557. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-06-FalkorDB-Structured/img/falkordb.png +0 -0
  558. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-06-FalkorDB-Structured/img/tripplanner.webp +0 -0
  559. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-06-FalkorDB-Structured/index.mdx +0 -0
  560. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-20-RealtimeAgent/index.mdx +0 -0
  561. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-20-Reasoning-Update/img/mcts_example.png +0 -0
  562. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-20-Reasoning-Update/img/reasoningagent_1.png +0 -0
  563. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-20-Reasoning-Update/index.mdx +0 -0
  564. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2024-12-20-Tools-interoperability/index.mdx +0 -0
  565. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-07-Tools-Dependency-Injection/index.mdx +0 -0
  566. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-08-RealtimeAgent-over-websocket/index.mdx +0 -0
  567. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-09-RealtimeAgent-over-WebRTC/index.mdx +0 -0
  568. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-10-WebSockets/img/structured_messages_with_websockets.png +0 -0
  569. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-10-WebSockets/index.mdx +0 -0
  570. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-22-Tools-ChatContext-Dependency-Injection/index.mdx +0 -0
  571. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-29-RealtimeAgent-with-gemini/img/RealtimeAgent_gemini.png +0 -0
  572. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-29-RealtimeAgent-with-gemini/index.mdx +0 -0
  573. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-31-WebSurferAgent/index.mdx +0 -0
  574. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-01-31-Websurfing-Tools/index.mdx +0 -0
  575. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-02-05-Communication-Agents/img/commsagents_discord_msg.png +0 -0
  576. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-02-05-Communication-Agents/img/commsagents_slack_finalmsg.png +0 -0
  577. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-02-05-Communication-Agents/img/commsagents_slack_msg.png +0 -0
  578. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-02-05-Communication-Agents/img/commsagents_telegram_msg.png +0 -0
  579. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-02-05-Communication-Agents/index.mdx +0 -0
  580. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-02-13-DeepResearchAgent/index.mdx +0 -0
  581. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-04-16-Reasoning/img/cognition.jpg +0 -0
  582. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-04-16-Reasoning/img/iter.jpg +0 -0
  583. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-04-16-Reasoning/img/partner.jpg +0 -0
  584. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-04-16-Reasoning/img/threads.jpeg +0 -0
  585. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-04-16-Reasoning/index.mdx +0 -0
  586. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-04-28-0.9-Release-Announcement/index.mdx +0 -0
  587. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-05-07-AG2-Copilot-Integration/img/AG2-CopilotKit.png +0 -0
  588. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-05-07-AG2-Copilot-Integration/img/ag2-copilotkit-architecture.png +0 -0
  589. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-05-07-AG2-Copilot-Integration/img/quick-start-1.png +0 -0
  590. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-05-07-AG2-Copilot-Integration/img/quick-start-2.png +0 -0
  591. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-05-07-AG2-Copilot-Integration/index.mdx +0 -0
  592. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-06-12-ReAct-Loops-in-GroupChat/img/image1.png +0 -0
  593. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-06-12-ReAct-Loops-in-GroupChat/img/image2.png +0 -0
  594. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-06-12-ReAct-Loops-in-GroupChat/img/image3.png +0 -0
  595. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-06-12-ReAct-Loops-in-GroupChat/img/image4.png +0 -0
  596. {ag2-0.9.5 → ag2-0.9.6}/website/docs/_blogs/2025-06-12-ReAct-Loops-in-GroupChat/index.mdx +0 -0
  597. {ag2-0.9.5 → ag2-0.9.6}/website/docs/community-talks/2025-04-10-NOVA/index.mdx +0 -0
  598. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/Migration-Guide.mdx +0 -0
  599. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/Research.mdx +0 -0
  600. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/building/creating-a-tool.mdx +0 -0
  601. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/building/creating-an-agent.mdx +0 -0
  602. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/contributing.mdx +0 -0
  603. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/documentation.mdx +0 -0
  604. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/file-bug-report.mdx +0 -0
  605. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/how-ag2-works/assets/generate-reply.png +0 -0
  606. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/how-ag2-works/assets/initiate-chat.png +0 -0
  607. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/how-ag2-works/generate-reply.mdx +0 -0
  608. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/how-ag2-works/hooks.mdx +0 -0
  609. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/how-ag2-works/initiate-chat.mdx +0 -0
  610. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/how-ag2-works/overview.mdx +0 -0
  611. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/maintainer.mdx +0 -0
  612. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/pre-commit.mdx +0 -0
  613. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/setup-development-environment.mdx +0 -0
  614. {ag2-0.9.5 → ag2-0.9.6}/website/docs/contributor-guide/tests.mdx +0 -0
  615. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/agentops.mdx +0 -0
  616. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/azure_cosmos_db.mdx +0 -0
  617. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/composio.mdx +0 -0
  618. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/databricks.mdx +0 -0
  619. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/img/ecosystem-databricks.png +0 -0
  620. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/img/ecosystem-fabric.png +0 -0
  621. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/img/ecosystem-llamaindex.png +0 -0
  622. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/img/ecosystem-memgpt.png +0 -0
  623. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/img/ecosystem-ollama.png +0 -0
  624. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/img/ecosystem-promptflow.png +0 -0
  625. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/llamaindex.mdx +0 -0
  626. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/mem0.mdx +0 -0
  627. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/memgpt.mdx +0 -0
  628. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/microsoft-fabric.mdx +0 -0
  629. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/ollama.mdx +0 -0
  630. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/pgvector.mdx +0 -0
  631. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/portkey.mdx +0 -0
  632. {ag2-0.9.5 → ag2-0.9.6}/website/docs/ecosystem/promptflow.mdx +0 -0
  633. {ag2-0.9.5 → ag2-0.9.6}/website/docs/faq/FAQ.mdx +0 -0
  634. {ag2-0.9.5 → ag2-0.9.6}/website/docs/home/quickstart.mdx +0 -0
  635. {ag2-0.9.5 → ag2-0.9.6}/website/docs/installation/Installation.mdx +0 -0
  636. {ag2-0.9.5 → ag2-0.9.6}/website/docs/installation/Optional-Dependencies.mdx +0 -0
  637. {ag2-0.9.5 → ag2-0.9.6}/website/docs/quick-start.mdx +0 -0
  638. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/.gitignore +0 -0
  639. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/community-gallery/community-gallery.mdx +0 -0
  640. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/notebooks/Notebooks.mdx +0 -0
  641. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/use-cases/assets/game-design-page.png +0 -0
  642. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/use-cases/assets/game-designed.png +0 -0
  643. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/use-cases/assets/travel-planning-falkordb.png +0 -0
  644. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/use-cases/assets/travel-planning-itinerary.png +0 -0
  645. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/use-cases/assets/travel-planning-overview.png +0 -0
  646. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/use-cases/customer-service.mdx +0 -0
  647. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/use-cases/game-design.mdx +0 -0
  648. {ag2-0.9.5 → ag2-0.9.6}/website/docs/use-cases/use-cases/travel-planning.mdx +0 -0
  649. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/code-execution-in-conversation.png +0 -0
  650. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/code-executor-docker.png +0 -0
  651. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/code-executor-no-docker.png +0 -0
  652. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/code-executor-stock-chart.png +0 -0
  653. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/group-chat-fsm.png +0 -0
  654. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/group-chat.png +0 -0
  655. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/nested-chats.png +0 -0
  656. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/sequential-two-agent-chat.png +0 -0
  657. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/swarm-enhanced-01.png +0 -0
  658. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/swarm-enhanced-02.png +0 -0
  659. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/swarm-enhanced-03.png +0 -0
  660. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/swarm-enhanced-04.png +0 -0
  661. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/assets/two-agent-chat.png +0 -0
  662. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/ending-a-chat.mdx +0 -0
  663. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/groupchat/custom-group-chat.mdx +0 -0
  664. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/groupchat/groupchat.mdx +0 -0
  665. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/groupchat/resuming-group-chat.mdx +0 -0
  666. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/groupchat/tools.mdx +0 -0
  667. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/llm-configuration-deep-dive.mdx +0 -0
  668. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/nested-chat.mdx +0 -0
  669. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/assets/nested-chats.png +0 -0
  670. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/assets/sequential-two-agent-chat.png +0 -0
  671. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/ending-a-chat.mdx +0 -0
  672. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/group-chat/agent-tools-functions.mdx +0 -0
  673. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/group-chat/context-variables.mdx +0 -0
  674. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/group-chat/guardrails.mdx +0 -0
  675. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/group-chat/handoffs.mdx +0 -0
  676. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/group-chat/introduction.mdx +0 -0
  677. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/group-chat/patterns.mdx +0 -0
  678. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/group-chat.mdx +0 -0
  679. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/nested-chat.mdx +0 -0
  680. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/orchestrations.mdx +0 -0
  681. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/sequential-chat.mdx +0 -0
  682. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/swarm/deprecation.mdx +0 -0
  683. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestration/two-agent-chat.mdx +0 -0
  684. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/orchestrations.mdx +0 -0
  685. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/context_aware_routing.jpeg +0 -0
  686. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/context_aware_routing_flow.jpeg +0 -0
  687. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/escalation.jpeg +0 -0
  688. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/escalation_flow.jpeg +0 -0
  689. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/feedback_loop.jpeg +0 -0
  690. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/feedback_loop_flow.jpeg +0 -0
  691. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/hierarchical.jpeg +0 -0
  692. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/hierarchical_flow.jpeg +0 -0
  693. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/organic.jpeg +0 -0
  694. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/organic_flow.jpeg +0 -0
  695. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/pipeline.jpeg +0 -0
  696. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/pipeline_flow.jpeg +0 -0
  697. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/redundant.jpeg +0 -0
  698. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/redundant_flow.jpeg +0 -0
  699. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/star.jpeg +0 -0
  700. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/star_flow.jpeg +0 -0
  701. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/triage_tasks.jpeg +0 -0
  702. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/assets/triage_tasks_flow.jpeg +0 -0
  703. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/context_aware_routing.mdx +0 -0
  704. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/escalation.mdx +0 -0
  705. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/feedback_loop.mdx +0 -0
  706. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/hierarchical.mdx +0 -0
  707. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/organic.mdx +0 -0
  708. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/overview.mdx +0 -0
  709. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/pipeline.mdx +0 -0
  710. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/redundant.mdx +0 -0
  711. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/star.mdx +0 -0
  712. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/pattern-cookbook/triage_with_tasks.mdx +0 -0
  713. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/rag.mdx +0 -0
  714. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/realtime-agent/index.mdx +0 -0
  715. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/realtime-agent/twilio.mdx +0 -0
  716. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/realtime-agent/webrtc.mdx +0 -0
  717. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/realtime-agent/websocket.mdx +0 -0
  718. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/sequential-chat.mdx +0 -0
  719. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/tools/basics.mdx +0 -0
  720. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/tools/controlling-use.mdx +0 -0
  721. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/tools/index.mdx +0 -0
  722. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/tools/interop/crewai.mdx +0 -0
  723. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/tools/interop/langchain.mdx +0 -0
  724. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/tools/interop/pydanticai.mdx +0 -0
  725. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/tools/mcp/client.mdx +0 -0
  726. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/tools/tools-with-secrets.mdx +0 -0
  727. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/advanced-concepts/two-agent-chat.mdx +0 -0
  728. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/assets/human-in-the-loop-example.png +0 -0
  729. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/assets/overview-workflow.png +0 -0
  730. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/conversable-agent.mdx +0 -0
  731. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/human-in-the-loop.mdx +0 -0
  732. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/installing-ag2.mdx +0 -0
  733. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/introducing-group-chat.mdx +0 -0
  734. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/introducing-swarm-orchestration.mdx +0 -0
  735. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/introducing-tools.mdx +0 -0
  736. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/llm-configuration.mdx +0 -0
  737. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/overview.mdx +0 -0
  738. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/basic-concepts/structured-outputs.mdx +0 -0
  739. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/getting-started/Getting-Started.mdx +0 -0
  740. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/amazon-bedrock.mdx +0 -0
  741. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/anthropic.mdx +0 -0
  742. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/assets/ag2-agentchat.png +0 -0
  743. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/assets/chat-example.png +0 -0
  744. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/assets/create-gcp-svc.png +0 -0
  745. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/assets/gemini-coding-chart.png +0 -0
  746. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/cerebras.mdx +0 -0
  747. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/cohere.mdx +0 -0
  748. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/deepseek-v3.mdx +0 -0
  749. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/google-gemini.mdx +0 -0
  750. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/google-vertexai.mdx +0 -0
  751. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/groq.mdx +0 -0
  752. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/litellm-proxy-server/azure.mdx +0 -0
  753. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/litellm-proxy-server/installation.mdx +0 -0
  754. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/litellm-proxy-server/openai.mdx +0 -0
  755. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/litellm-proxy-server/watsonx.mdx +0 -0
  756. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/lm-studio.mdx +0 -0
  757. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/mistralai.mdx +0 -0
  758. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/ollama.mdx +0 -0
  759. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/openai.mdx +0 -0
  760. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/openai_responses.mdx +0 -0
  761. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/togetherai.mdx +0 -0
  762. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/models/vLLM.mdx +0 -0
  763. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/assets/commsagents_discordoutput.png +0 -0
  764. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/assets/commsagents_tools.png +0 -0
  765. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/assets/commsplatforms_discord_sentmsg.png +0 -0
  766. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/assets/commsplatforms_slack_sentmsg.png +0 -0
  767. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/assets/commsplatforms_telegram_sentmsg.png +0 -0
  768. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/assets/docagent_tests_story1.md +0 -0
  769. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/assets/docagent_tests_story2.md +0 -0
  770. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/assets/websurferagent_animated.gif +0 -0
  771. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/captainagent.mdx +0 -0
  772. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/communication-platforms/discordagent.mdx +0 -0
  773. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/communication-platforms/overview.mdx +0 -0
  774. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/communication-platforms/slackagent.mdx +0 -0
  775. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/communication-platforms/telegramagent.mdx +0 -0
  776. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/deepresearchagent.mdx +0 -0
  777. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/docagent-performance.mdx +0 -0
  778. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/docagent.mdx +0 -0
  779. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/index.mdx +0 -0
  780. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/reasoningagent.mdx +0 -0
  781. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/websurferagent.mdx +0 -0
  782. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-agents/wikipediaagent.mdx +0 -0
  783. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/browser-use.mdx +0 -0
  784. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/communication-platforms/discord.mdx +0 -0
  785. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/communication-platforms/slack.mdx +0 -0
  786. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/communication-platforms/telegram.mdx +0 -0
  787. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/crawl4ai.mdx +0 -0
  788. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/deep-research.mdx +0 -0
  789. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/firecrawl.mdx +0 -0
  790. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/google-api/google-drive.mdx +0 -0
  791. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/google-api/google-search.mdx +0 -0
  792. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/google-api/youtube-search.mdx +0 -0
  793. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/index.mdx +0 -0
  794. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/perplexity-search.mdx +0 -0
  795. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/searxng-search.mdx +0 -0
  796. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-guide/reference-tools/wikipedia-search.mdx +0 -0
  797. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-02-11-NOVA/img/nexla_ag2.webp +0 -0
  798. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-02-11-NOVA/img/nova_architecture.webp +0 -0
  799. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-02-11-NOVA/index.mdx +0 -0
  800. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-03-Fortune-500-RAG-Chatbot/img/01.png +0 -0
  801. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-03-Fortune-500-RAG-Chatbot/img/02.png +0 -0
  802. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-03-Fortune-500-RAG-Chatbot/img/banner.png +0 -0
  803. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-03-Fortune-500-RAG-Chatbot/img/profile.png +0 -0
  804. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-03-Fortune-500-RAG-Chatbot/index.mdx +0 -0
  805. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-04-AgentWeb/img/01.png +0 -0
  806. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-04-AgentWeb/img/banner.png +0 -0
  807. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-04-AgentWeb/img/profile.png +0 -0
  808. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-04-AgentWeb/index.mdx +0 -0
  809. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-11-Productionizing-OSS-Agents/img/banner.png +0 -0
  810. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-11-Productionizing-OSS-Agents/index.mdx +0 -0
  811. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-15-CMBAgent/img/banner.png +0 -0
  812. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-15-CMBAgent/img/boris_profile.png +0 -0
  813. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-15-CMBAgent/img/flow-chart.png +0 -0
  814. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-15-CMBAgent/img/francisco_profile.png +0 -0
  815. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-15-CMBAgent/img/inigo_profile.png +0 -0
  816. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-15-CMBAgent/img/james_profile.png +0 -0
  817. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-15-CMBAgent/index.mdx +0 -0
  818. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-30-Cegid-Pulse-OS/img/01.png +0 -0
  819. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-30-Cegid-Pulse-OS/img/banner.png +0 -0
  820. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-30-Cegid-Pulse-OS/img/profile.png +0 -0
  821. {ag2-0.9.5 → ag2-0.9.6}/website/docs/user-stories/2025-04-30-Cegid-Pulse-OS/index.mdx +0 -0
  822. {ag2-0.9.5 → ag2-0.9.6}/website/docusaurus.config.js +0 -0
  823. {ag2-0.9.5 → ag2-0.9.6}/website/generate_api_references.py +0 -0
  824. {ag2-0.9.5 → ag2-0.9.6}/website/logo/ag2-white.svg +0 -0
  825. {ag2-0.9.5 → ag2-0.9.6}/website/logo/ag2.svg +0 -0
  826. {ag2-0.9.5 → ag2-0.9.6}/website/logo/favicon.svg +0 -0
  827. {ag2-0.9.5 → ag2-0.9.6}/website/mako_templates/text.mako +0 -0
  828. {ag2-0.9.5 → ag2-0.9.6}/website/mint-app-gallery-deps.js +0 -0
  829. {ag2-0.9.5 → ag2-0.9.6}/website/mint-script.js +0 -0
  830. {ag2-0.9.5 → ag2-0.9.6}/website/mint-style.css +0 -0
  831. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/.gitignore +0 -0
  832. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/README.md +0 -0
  833. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/create_api_docs.py +0 -0
  834. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/data/gallery_items.yml +0 -0
  835. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/data/people.yml +0 -0
  836. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/docs/.gitignore +0 -0
  837. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/docs/index.md +0 -0
  838. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/docs/javascripts/extra.js +0 -0
  839. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/docs/stylesheets/extra.css +0 -0
  840. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/docs.py +0 -0
  841. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/docs_src/__init__.py +0 -0
  842. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/expand_markdown.py +0 -0
  843. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/generate_mkdocs.py +0 -0
  844. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/includes/.gitkeep +0 -0
  845. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/mkdocs.yml +0 -0
  846. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/404.html +0 -0
  847. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/home.html +0 -0
  848. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/blue-bg.png +0 -0
  849. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/bot-left-corner.png +0 -0
  850. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/bot-right-corner.png +0 -0
  851. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/button-shine.png +0 -0
  852. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/city-horizon.png +0 -0
  853. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/cloud.png +0 -0
  854. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/conversation.png +0 -0
  855. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/green-bg.png +0 -0
  856. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/human.png +0 -0
  857. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/intuitive.png +0 -0
  858. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/purple-bg.png +0 -0
  859. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/sun.png +0 -0
  860. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/top-left-corner.png +0 -0
  861. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/top-right-corner.png +0 -0
  862. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/images/yellow-bg.png +0 -0
  863. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/overrides/main.html +0 -0
  864. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/templates/redirect.html +0 -0
  865. {ag2-0.9.5 → ag2-0.9.6}/website/mkdocs/update_releases.py +0 -0
  866. {ag2-0.9.5 → ag2-0.9.6}/website/package-lock.json +0 -0
  867. {ag2-0.9.5 → ag2-0.9.6}/website/package.json +0 -0
  868. {ag2-0.9.5 → ag2-0.9.6}/website/process_notebooks.py +0 -0
  869. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/1_service_running.png +0 -0
  870. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/2_incoming_call.png +0 -0
  871. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/3_request_for_flight_cancellation.png +0 -0
  872. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/4_flight_number_name.png +0 -0
  873. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/5_refund_policy.png +0 -0
  874. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/6_flight_refunded.png +0 -0
  875. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/realtime_agent_swarm.png +0 -0
  876. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/twilio_endpoint_config.png +0 -0
  877. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/twilio_phone_numbers.png +0 -0
  878. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/webrtc_chat.png +0 -0
  879. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/webrtc_communication_diagram.png +0 -0
  880. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/webrtc_connection_diagram.png +0 -0
  881. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/websocket_chat.png +0 -0
  882. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/img/websocket_communication_diagram.png +0 -0
  883. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/twilio.mdx +0 -0
  884. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/webrtc.mdx +0 -0
  885. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/advanced-concepts/realtime-agent/websocket.mdx +0 -0
  886. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/components/ClientSideComponent.mdx +0 -0
  887. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/components/GalleryPage.mdx +0 -0
  888. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/data/GalleryItems.mdx +0 -0
  889. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/interop/crewai.mdx +0 -0
  890. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/interop/langchain.mdx +0 -0
  891. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/interop/pydanticai.mdx +0 -0
  892. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/mcp/client.mdx +0 -0
  893. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/conversableagentchat.mdx +0 -0
  894. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/groupchat.mdx +0 -0
  895. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/groupchatcustomfsm.mdx +0 -0
  896. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/groupchatcustomfunc.mdx +0 -0
  897. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/humanintheloop.mdx +0 -0
  898. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/humanintheloop_financial.mdx +0 -0
  899. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/nestedchat.mdx +0 -0
  900. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/sequentialchat.mdx +0 -0
  901. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/structured_output.mdx +0 -0
  902. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/swarm.mdx +0 -0
  903. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/swarmgroupchat.mdx +0 -0
  904. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/toolregister.mdx +0 -0
  905. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/python-examples/websurferagent.mdx +0 -0
  906. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/reference-agents/deep-research.mdx +0 -0
  907. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/reference-agents/img/DeepResearchAgent.png +0 -0
  908. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/reference-tools/browser-use.mdx +0 -0
  909. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/reference-tools/crawl4ai.mdx +0 -0
  910. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/reference-tools/deep-research.mdx +0 -0
  911. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/reference-tools/google-drive.mdx +0 -0
  912. {ag2-0.9.5 → ag2-0.9.6}/website/snippets/utils/runmethodhelp.mdx +0 -0
  913. {ag2-0.9.5 → ag2-0.9.6}/website/static/.nojekyll +0 -0
  914. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/ag.ico +0 -0
  915. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/ag.svg +0 -0
  916. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/ag2.ico +0 -0
  917. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/ag2.png +0 -0
  918. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/ag2.svg +0 -0
  919. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/auto.svg +0 -0
  920. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/autogen.svg +0 -0
  921. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/autogen_agentchat.png +0 -0
  922. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/autogen_app.png +0 -0
  923. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/autogen_app.svg +0 -0
  924. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/chat_example.png +0 -0
  925. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/conv.svg +0 -0
  926. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/conv_2.svg +0 -0
  927. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/cover.png +0 -0
  928. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/create_gcp_svc.png +0 -0
  929. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/ecosystem-composio.png +0 -0
  930. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/extend.svg +0 -0
  931. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/fast.svg +0 -0
  932. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/favicon-dark.svg +0 -0
  933. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/favicon.svg +0 -0
  934. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/flaml.svg +0 -0
  935. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/flaml_logo.ico +0 -0
  936. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/flaml_logo_fill.svg +0 -0
  937. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/gallery/TensionCode.png +0 -0
  938. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/gallery/agent-e.png +0 -0
  939. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/gallery/autotx.png +0 -0
  940. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/gallery/composio-autogen.png +0 -0
  941. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/gallery/default.png +0 -0
  942. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/gallery/robot.jpg +0 -0
  943. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/gallery/webagent.jpg +0 -0
  944. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/gallery/x-force-ide-ui.png +0 -0
  945. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/homepage-hero-background-large.png +0 -0
  946. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/homepage-hero-background.png +0 -0
  947. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/logo.svg +0 -0
  948. {ag2-0.9.5 → ag2-0.9.6}/website/static/img/love.png +0 -0
  949. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-08-26/index.mdx +0 -0
  950. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-09-23/index.mdx +0 -0
  951. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-09-30/index.mdx +0 -0
  952. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-10-14/index.mdx +0 -0
  953. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-10-15/index.mdx +0 -0
  954. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-11-04/index.mdx +0 -0
  955. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-11-11/index.mdx +0 -0
  956. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-11-12/index.mdx +0 -0
  957. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-11-18/index.mdx +0 -0
  958. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-11-25/index.mdx +0 -0
  959. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-11-28/index.mdx +0 -0
  960. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-12-12/index.mdx +0 -0
  961. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-12-19/index.mdx +0 -0
  962. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2024-12-19-special_talk/index.mdx +0 -0
  963. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2025-01-16/index.mdx +0 -0
  964. {ag2-0.9.5 → ag2-0.9.6}/website/talks/2025-01-23/index.mdx +0 -0
  965. {ag2-0.9.5 → ag2-0.9.6}/website/talks/future_talks/index.mdx +0 -0
  966. {ag2-0.9.5 → ag2-0.9.6}/website/user-guide/captainagent/_category_.json +0 -0
  967. {ag2-0.9.5 → ag2-0.9.6}/website/user-guide/captainagent/agent_library.mdx +0 -0
  968. {ag2-0.9.5 → ag2-0.9.6}/website/user-guide/captainagent/configurations.mdx +0 -0
  969. {ag2-0.9.5 → ag2-0.9.6}/website/user-guide/captainagent/tool_library.mdx +0 -0
  970. {ag2-0.9.5 → ag2-0.9.6}/website/user-guide/handling_long_contexts/_category_.json +0 -0
  971. {ag2-0.9.5 → ag2-0.9.6}/website/user-guide/handling_long_contexts/compressing_text_w_llmligua.mdx +0 -0
  972. {ag2-0.9.5 → ag2-0.9.6}/website/user-guide/handling_long_contexts/intro_to_transform_messages.mdx +0 -0
@@ -6,3 +6,6 @@ pip install -e ".[dev]"
6
6
 
7
7
  # install pre-commit hook if not installed already
8
8
  pre-commit install
9
+
10
+ # install Claude Code CLI
11
+ npm install --location=global @anthropic-ai/claude-code
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ag2
3
- Version: 0.9.5
3
+ Version: 0.9.6
4
4
  Summary: A programming framework for agentic AI
5
5
  Project-URL: Homepage, https://ag2.ai/
6
6
  Project-URL: Documentation, https://docs.ag2.ai
@@ -71,6 +71,8 @@ class DockerCommandLineCodeExecutor(CodeExecutor):
71
71
  auto_remove: bool = True,
72
72
  stop_container: bool = True,
73
73
  execution_policies: Optional[dict[str, bool]] = None,
74
+ *,
75
+ container_create_kwargs: Optional[dict[str, Any]] = None,
74
76
  ):
75
77
  """(Experimental) A code executor class that executes code through
76
78
  a command line environment in a Docker container.
@@ -98,6 +100,11 @@ class DockerCommandLineCodeExecutor(CodeExecutor):
98
100
  whether code in that language should be executed. True means code in that language
99
101
  will be executed, False means it will only be saved to a file. This overrides the
100
102
  default execution policies. Defaults to None.
103
+ container_create_kwargs: Optional dict forwarded verbatim to
104
+ "docker.client.containers.create". Use it to set advanced Docker
105
+ options (environment variables, GPU device_requests, port mappings, etc.).
106
+ Values here override the class defaults when keys collide. Defaults to None.
107
+
101
108
 
102
109
  Raises:
103
110
  ValueError: On argument error, or if the container fails to start.
@@ -128,16 +135,29 @@ class DockerCommandLineCodeExecutor(CodeExecutor):
128
135
  if container_name is None:
129
136
  container_name = f"autogen-code-exec-{uuid.uuid4()}"
130
137
 
138
+ # build kwargs for docker.create
139
+ base_kwargs: dict[str, Any] = {
140
+ "image": image,
141
+ "name": container_name,
142
+ "entrypoint": "/bin/sh",
143
+ "tty": True,
144
+ "auto_remove": auto_remove,
145
+ "volumes": {str(bind_dir.resolve()): {"bind": "/workspace", "mode": "rw"}},
146
+ "working_dir": "/workspace",
147
+ }
148
+
149
+ if container_create_kwargs:
150
+ for k in ("entrypoint", "volumes", "working_dir", "tty"):
151
+ if k in container_create_kwargs:
152
+ logging.warning(
153
+ "DockerCommandLineCodeExecutor: overriding default %s=%s",
154
+ k,
155
+ container_create_kwargs[k],
156
+ )
157
+ base_kwargs.update(container_create_kwargs)
158
+
131
159
  # Start a container from the image, read to exec commands later
132
- self._container = client.containers.create(
133
- image,
134
- name=container_name,
135
- entrypoint="/bin/sh",
136
- tty=True,
137
- auto_remove=auto_remove,
138
- volumes={str(bind_dir.resolve()): {"bind": "/workspace", "mode": "rw"}},
139
- working_dir="/workspace",
140
- )
160
+ self._container = client.containers.create(**base_kwargs)
141
161
  self._container.start()
142
162
 
143
163
  _wait_for_ready(self._container)
@@ -0,0 +1,10 @@
1
+ # Copyright (c) 2023 - 2025, AG2ai, Inc., AG2ai open-source projects maintainers and core contributors
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ from .docker_python_environment import DockerPythonEnvironment
6
+ from .system_python_environment import SystemPythonEnvironment
7
+ from .venv_python_environment import VenvPythonEnvironment
8
+ from .working_directory import WorkingDirectory
9
+
10
+ __all__ = ["DockerPythonEnvironment", "SystemPythonEnvironment", "VenvPythonEnvironment", "WorkingDirectory"]
@@ -0,0 +1,375 @@
1
+ # Copyright (c) 2023 - 2025, AG2ai, Inc., AG2ai open-source projects maintainers and core contributors
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ import logging
6
+ import os
7
+ import shutil
8
+ import subprocess
9
+ import tempfile
10
+ import uuid
11
+ from typing import Any, Optional, Tuple
12
+
13
+ from asyncer import asyncify
14
+
15
+ from .python_environment import PythonEnvironment
16
+
17
+ __all__ = ["DockerPythonEnvironment"]
18
+
19
+
20
+ class DockerPythonEnvironment(PythonEnvironment):
21
+ """A Python environment using Docker containers for isolated execution."""
22
+
23
+ def __init__(
24
+ self,
25
+ image: str = "python:3.11-slim",
26
+ container_name_prefix: str = "ag2_docker_env_",
27
+ volumes: Optional[dict[str, str]] = None,
28
+ environment: Optional[dict[str, str]] = None,
29
+ network: Optional[str] = None,
30
+ pip_packages: Optional[list[str]] = None,
31
+ requirements_file: Optional[str] = None,
32
+ dockerfile: Optional[str] = None,
33
+ build_args: Optional[dict[str, str]] = None,
34
+ cleanup_container: bool = True,
35
+ keep_container_running: bool = False,
36
+ container_startup_timeout: int = 30,
37
+ ):
38
+ """
39
+ Initialize a Docker Python environment.
40
+
41
+ Args:
42
+ image: Docker image to use (ignored if dockerfile is provided)
43
+ container_name_prefix: Prefix for container names
44
+ volumes: Dictionary mapping host paths to container paths for mounting
45
+ environment: Dictionary of environment variables to set in the container
46
+ network: Docker network to attach the container to
47
+ pip_packages: List of pip packages to install in the container
48
+ requirements_file: Path to requirements.txt file to install in the container
49
+ dockerfile: Optional path to a Dockerfile to build and use instead of pulling an image
50
+ build_args: Optional build arguments for the Dockerfile
51
+ cleanup_container: Whether to remove the container after use
52
+ keep_container_running: Whether to keep the container running after execution
53
+ container_startup_timeout: Timeout in seconds for container startup
54
+ """
55
+ self.image = image
56
+ self.container_name_prefix = container_name_prefix
57
+ self.volumes = volumes or {}
58
+ self.environment = environment or {}
59
+ self.network = network
60
+ self.pip_packages = pip_packages or []
61
+ self.requirements_file = requirements_file
62
+ self.dockerfile = dockerfile
63
+ self.build_args = build_args or {}
64
+ self.cleanup_container = cleanup_container
65
+ self.keep_container_running = keep_container_running
66
+ self.container_startup_timeout = container_startup_timeout
67
+
68
+ # Internal state
69
+ self._container_id = None
70
+ self._container_name = None
71
+ self._custom_image_name = None
72
+ self._temp_dir = None
73
+
74
+ super().__init__()
75
+
76
+ def _setup_environment(self) -> None:
77
+ """Set up the Docker environment."""
78
+ # Verify Docker is installed and accessible
79
+ try:
80
+ result = subprocess.run(["docker", "--version"], capture_output=True, text=True, check=True)
81
+ logging.info(f"Docker version: {result.stdout.strip()}")
82
+ except (subprocess.SubprocessError, FileNotFoundError) as e:
83
+ raise RuntimeError(
84
+ "Docker not found or not accessible. Please ensure Docker is installed and running."
85
+ ) from e
86
+
87
+ # Create a temporary directory for file operations
88
+ self._temp_dir = tempfile.mkdtemp(prefix="ag2_docker_")
89
+
90
+ # Generate a unique container name
91
+ self._container_name = f"{self.container_name_prefix}{uuid.uuid4().hex[:8]}"
92
+
93
+ # Build custom image if Dockerfile is provided
94
+ if self.dockerfile:
95
+ self._build_custom_image()
96
+ else:
97
+ # Pull the specified image
98
+ try:
99
+ subprocess.run(
100
+ ["docker", "pull", self.image],
101
+ check=True,
102
+ stdout=subprocess.PIPE,
103
+ stderr=subprocess.PIPE,
104
+ text=True,
105
+ )
106
+ logging.info(f"Pulled Docker image: {self.image}")
107
+ except subprocess.CalledProcessError as e:
108
+ raise RuntimeError(f"Failed to pull Docker image: {e.stderr}") from e
109
+
110
+ # Start the container
111
+ self._start_container()
112
+
113
+ def _build_custom_image(self) -> None:
114
+ """Build a custom Docker image from the provided Dockerfile."""
115
+ if not os.path.exists(self.dockerfile):
116
+ raise RuntimeError(f"Dockerfile not found at: {self.dockerfile}")
117
+
118
+ # Create a unique image name
119
+ self._custom_image_name = f"ag2-custom-python-{uuid.uuid4().hex[:8]}"
120
+
121
+ # Build command
122
+ build_cmd = ["docker", "build", "-t", self._custom_image_name]
123
+
124
+ # Add build args
125
+ for arg_name, arg_value in self.build_args.items():
126
+ build_cmd.extend(["--build-arg", f"{arg_name}={arg_value}"])
127
+
128
+ # Add Dockerfile path
129
+ build_cmd.extend(["-f", self.dockerfile, os.path.dirname(self.dockerfile)])
130
+
131
+ try:
132
+ logging.info(f"Building custom Docker image: {self._custom_image_name}")
133
+ _ = subprocess.run(
134
+ build_cmd,
135
+ check=True,
136
+ stdout=subprocess.PIPE,
137
+ stderr=subprocess.PIPE,
138
+ text=True,
139
+ )
140
+ logging.info(f"Built custom Docker image: {self._custom_image_name}")
141
+ except subprocess.CalledProcessError as e:
142
+ raise RuntimeError(f"Failed to build Docker image: {e.stderr}") from e
143
+
144
+ # Use the custom image
145
+ self.image = self._custom_image_name
146
+
147
+ def _start_container(self) -> None:
148
+ """Start the Docker container."""
149
+ # Basic container run command
150
+ run_cmd = ["docker", "run", "--name", self._container_name]
151
+
152
+ # Add detached mode flag to run container in background
153
+ run_cmd.append("-d")
154
+
155
+ # Add network if specified
156
+ if self.network:
157
+ run_cmd.extend(["--network", self.network])
158
+
159
+ # Add environment variables
160
+ for env_name, env_value in self.environment.items():
161
+ run_cmd.extend(["-e", f"{env_name}={env_value}"])
162
+
163
+ # Add volume mounts including temp directory
164
+ work_dir_mount = f"{self._temp_dir}:/workspace"
165
+ run_cmd.extend(["-v", work_dir_mount])
166
+
167
+ for host_path, container_path in self.volumes.items():
168
+ run_cmd.extend(["-v", f"{host_path}:{container_path}"])
169
+
170
+ # Set workspace as working directory
171
+ run_cmd.extend(["-w", "/workspace"])
172
+
173
+ # Add tty to keep container running
174
+ run_cmd.append("-t")
175
+
176
+ # Add image name
177
+ run_cmd.append(self.image)
178
+
179
+ # Initial command to keep container running
180
+ run_cmd.extend(["tail", "-f", "/dev/null"])
181
+
182
+ try:
183
+ # Start the container
184
+ logging.info(f"Starting Docker container: {self._container_name}")
185
+ result = subprocess.run(
186
+ run_cmd,
187
+ check=True,
188
+ stdout=subprocess.PIPE,
189
+ stderr=subprocess.PIPE,
190
+ text=True,
191
+ )
192
+
193
+ # Get container ID
194
+ self._container_id = result.stdout.strip()
195
+ logging.info(f"Started Docker container: {self._container_name} ({self._container_id})")
196
+
197
+ # Install pip packages if specified
198
+ if self.pip_packages or self.requirements_file:
199
+ self._install_packages()
200
+
201
+ except subprocess.CalledProcessError as e:
202
+ raise RuntimeError(f"Failed to start Docker container: {e.stderr}") from e
203
+
204
+ def _install_packages(self) -> None:
205
+ """Install Python packages in the running container."""
206
+ # Install pip packages
207
+ if self.pip_packages:
208
+ packages_str = " ".join(self.pip_packages)
209
+ try:
210
+ logging.info(f"Installing pip packages: {packages_str}")
211
+ _ = subprocess.run(
212
+ ["docker", "exec", self._container_name, "pip", "install", "--no-cache-dir"] + self.pip_packages,
213
+ check=True,
214
+ stdout=subprocess.PIPE,
215
+ stderr=subprocess.PIPE,
216
+ text=True,
217
+ )
218
+ logging.info("Successfully installed pip packages")
219
+ except subprocess.CalledProcessError as e:
220
+ logging.warning(f"Failed to install pip packages: {e.stderr}")
221
+
222
+ # Install from requirements file
223
+ if self.requirements_file:
224
+ if os.path.exists(self.requirements_file):
225
+ # Copy requirements file to temp directory
226
+ req_filename = os.path.basename(self.requirements_file)
227
+ temp_req_path = os.path.join(self._temp_dir, req_filename)
228
+ shutil.copy(self.requirements_file, temp_req_path)
229
+
230
+ try:
231
+ logging.info(f"Installing requirements from: {req_filename}")
232
+ _ = subprocess.run(
233
+ [
234
+ "docker",
235
+ "exec",
236
+ self._container_name,
237
+ "pip",
238
+ "install",
239
+ "--no-cache-dir",
240
+ "-r",
241
+ f"/workspace/{req_filename}",
242
+ ],
243
+ check=True,
244
+ stdout=subprocess.PIPE,
245
+ stderr=subprocess.PIPE,
246
+ text=True,
247
+ )
248
+ logging.info("Successfully installed requirements")
249
+ except subprocess.CalledProcessError as e:
250
+ logging.warning(f"Failed to install requirements: {e.stderr}")
251
+ else:
252
+ logging.warning(f"Requirements file not found: {self.requirements_file}")
253
+
254
+ def _cleanup_environment(self) -> None:
255
+ """Clean up the Docker environment."""
256
+ if self._container_id:
257
+ # Stop the container if it's running and we want to clean it up
258
+ if not self.keep_container_running:
259
+ try:
260
+ logging.info(f"Stopping Docker container: {self._container_name}")
261
+ subprocess.run(
262
+ ["docker", "stop", self._container_name],
263
+ check=True,
264
+ stdout=subprocess.PIPE,
265
+ stderr=subprocess.PIPE,
266
+ text=True,
267
+ )
268
+ except subprocess.CalledProcessError:
269
+ logging.warning(f"Failed to stop Docker container: {self._container_name}")
270
+
271
+ # Remove the container if cleanup is enabled
272
+ if self.cleanup_container and not self.keep_container_running:
273
+ try:
274
+ logging.info(f"Removing Docker container: {self._container_name}")
275
+ subprocess.run(
276
+ ["docker", "rm", "-f", self._container_name],
277
+ check=True,
278
+ stdout=subprocess.PIPE,
279
+ stderr=subprocess.PIPE,
280
+ text=True,
281
+ )
282
+ except subprocess.CalledProcessError:
283
+ logging.warning(f"Failed to remove Docker container: {self._container_name}")
284
+
285
+ # Remove the custom image if it was created
286
+ if self._custom_image_name and self.cleanup_container:
287
+ try:
288
+ logging.info(f"Removing custom Docker image: {self._custom_image_name}")
289
+ subprocess.run(
290
+ ["docker", "rmi", self._custom_image_name],
291
+ check=True,
292
+ stdout=subprocess.PIPE,
293
+ stderr=subprocess.PIPE,
294
+ text=True,
295
+ )
296
+ except subprocess.CalledProcessError:
297
+ logging.warning(f"Failed to remove custom Docker image: {self._custom_image_name}")
298
+
299
+ # Clean up the temporary directory
300
+ if self._temp_dir and os.path.exists(self._temp_dir):
301
+ try:
302
+ shutil.rmtree(self._temp_dir)
303
+ except Exception as e:
304
+ logging.warning(f"Failed to remove temporary directory: {e}")
305
+
306
+ def get_executable(self) -> str:
307
+ """Get the path to the Python executable in the Docker container."""
308
+ # This is a virtual path in the container
309
+ return "python"
310
+
311
+ async def execute_code(self, code: str, script_path: str, timeout: int = 30) -> dict[str, Any]:
312
+ """Execute code in the Docker container."""
313
+ # Ensure the container is running
314
+ if not self._container_id:
315
+ return {"success": False, "error": "Docker container not started"}
316
+
317
+ try:
318
+ # Calculate the relative path within the temp directory
319
+ if os.path.isabs(script_path):
320
+ rel_path = os.path.basename(script_path)
321
+ host_script_path = os.path.join(self._temp_dir, rel_path)
322
+ else:
323
+ rel_path = script_path
324
+ host_script_path = os.path.join(self._temp_dir, rel_path)
325
+
326
+ # Ensure the directory for the script exists
327
+ script_dir = os.path.dirname(host_script_path)
328
+ if script_dir:
329
+ os.makedirs(script_dir, exist_ok=True)
330
+
331
+ # Write the code to the script file on the host
332
+ await asyncify(self._write_to_file)(host_script_path, code)
333
+
334
+ # Path to the script in the container
335
+ container_script_path = f"/workspace/{rel_path}"
336
+
337
+ # Execute the script in the container
338
+ exec_cmd = ["docker", "exec", self._container_name, "python", container_script_path]
339
+
340
+ # Run the command with a timeout
341
+ result = await asyncify(self._run_subprocess_with_timeout)(exec_cmd, timeout)
342
+
343
+ return {
344
+ "success": result[0],
345
+ "stdout": result[1],
346
+ "stderr": result[2],
347
+ "returncode": result[3] if result[0] else 1,
348
+ }
349
+
350
+ except Exception as e:
351
+ return {"success": False, "error": f"Execution error: {str(e)}"}
352
+
353
+ def _run_subprocess_with_timeout(self, cmd: list[str], timeout: int) -> Tuple[bool, str, str, int]:
354
+ """
355
+ Run a subprocess with timeout and return status, stdout, stderr, and return code.
356
+
357
+ Args:
358
+ cmd: Command to run as a list of strings
359
+ timeout: Maximum execution time in seconds
360
+
361
+ Returns:
362
+ Tuple of (success, stdout, stderr, return_code)
363
+ """
364
+ try:
365
+ result = subprocess.run(
366
+ cmd,
367
+ capture_output=True,
368
+ text=True,
369
+ timeout=timeout,
370
+ )
371
+ return (result.returncode == 0, result.stdout, result.stderr, result.returncode)
372
+ except subprocess.TimeoutExpired:
373
+ return (False, "", f"Execution timed out after {timeout} seconds", -1)
374
+ except Exception as e:
375
+ return (False, "", str(e), -1)
@@ -0,0 +1,134 @@
1
+ # Copyright (c) 2023 - 2025, AG2ai, Inc., AG2ai open-source projects maintainers and core contributors
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ import subprocess
6
+ from abc import ABC, abstractmethod
7
+ from contextvars import ContextVar
8
+ from typing import Any, Optional
9
+
10
+ __all__ = ["PythonEnvironment"]
11
+
12
+
13
+ class PythonEnvironment(ABC):
14
+ """Python execution environments base class"""
15
+
16
+ # Shared context variable for tracking the current environment
17
+ _current_python_environment: ContextVar["PythonEnvironment"] = ContextVar("_current_python_environment")
18
+
19
+ def __init__(self):
20
+ """
21
+ Initialize the Python environment.
22
+ """
23
+ self._token = None
24
+
25
+ # Set up the environment
26
+ self._setup_environment()
27
+
28
+ def __enter__(self):
29
+ """
30
+ Enter the environment context.
31
+ Sets this environment as the current one.
32
+ """
33
+ # Set this as the current Python environment in the context
34
+ self._token = PythonEnvironment._current_python_environment.set(self)
35
+
36
+ return self
37
+
38
+ def __exit__(self, exc_type, exc_val, exc_tb):
39
+ """
40
+ Exit the environment context.
41
+ Resets the current environment and performs cleanup.
42
+ """
43
+ # Reset the context variable if this was the active environment
44
+ if self._token is not None:
45
+ PythonEnvironment._current_python_environment.reset(self._token)
46
+ self._token = None
47
+
48
+ # Clean up resources
49
+ self._cleanup_environment()
50
+
51
+ @abstractmethod
52
+ def _setup_environment(self) -> None:
53
+ """Set up the Python environment. Called by __enter__."""
54
+ pass
55
+
56
+ @abstractmethod
57
+ def _cleanup_environment(self) -> None:
58
+ """Clean up the Python environment. Called by __exit__."""
59
+ pass
60
+
61
+ @abstractmethod
62
+ def get_executable(self) -> str:
63
+ """
64
+ Get the path to the Python executable in this environment.
65
+
66
+ Returns:
67
+ The full path to the Python executable.
68
+ """
69
+ pass
70
+
71
+ @abstractmethod
72
+ 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.
75
+
76
+ Args:
77
+ code: The Python code to execute.
78
+ script_path: Path where the code should be saved before execution.
79
+ timeout: Maximum execution time in seconds.
80
+
81
+ Returns:
82
+ dict with execution results including stdout, stderr, and success status.
83
+ """
84
+ pass
85
+
86
+ # Utility method for subclasses to wrap (for async support)
87
+ def _write_to_file(self, script_path: str, content: str) -> None:
88
+ """
89
+ Write content to a file (blocking operation).
90
+
91
+ This is a helper method for use with asyncify in async contexts.
92
+
93
+ Args:
94
+ script_path: Path to the file to write.
95
+ content: Content to write to the file.
96
+ """
97
+ with open(script_path, "w") as f:
98
+ f.write(content)
99
+
100
+ # Utility method for subclasses to wrap (for async support)
101
+ def _run_subprocess(self, cmd: list[str], timeout: int) -> subprocess.CompletedProcess:
102
+ """
103
+ Run a subprocess (blocking operation).
104
+
105
+ This is a helper method for use with asyncify in async contexts.
106
+
107
+ Args:
108
+ cmd: Command to run as a list of strings.
109
+ timeout: Maximum execution time in seconds.
110
+
111
+ Returns:
112
+ CompletedProcess instance with results of the subprocess.
113
+ """
114
+ return subprocess.run(cmd, capture_output=True, text=True, timeout=timeout)
115
+
116
+ @classmethod
117
+ def get_current_python_environment(
118
+ cls, python_environment: Optional["PythonEnvironment"] = None
119
+ ) -> Optional["PythonEnvironment"]:
120
+ """
121
+ Get the current Python environment or the specified one if provided.
122
+
123
+ Args:
124
+ python_environment: Optional environment to return if specified.
125
+
126
+ Returns:
127
+ The current Python environment or None if none is active.
128
+ """
129
+ if python_environment is not None:
130
+ return python_environment
131
+ try:
132
+ return cls._current_python_environment.get()
133
+ except LookupError:
134
+ return None
@@ -0,0 +1,86 @@
1
+ # Copyright (c) 2023 - 2025, AG2ai, Inc., AG2ai open-source projects maintainers and core contributors
2
+ #
3
+ # SPDX-License-Identifier: Apache-2.0
4
+
5
+ import logging
6
+ import os
7
+ import subprocess
8
+ import sys
9
+ from typing import Any, Optional
10
+
11
+ from asyncer import asyncify
12
+
13
+ from .python_environment import PythonEnvironment
14
+
15
+ __all__ = ["SystemPythonEnvironment"]
16
+
17
+
18
+ class SystemPythonEnvironment(PythonEnvironment):
19
+ """A Python environment using the system's Python installation."""
20
+
21
+ def __init__(
22
+ self,
23
+ executable: Optional[str] = None,
24
+ ):
25
+ """
26
+ Initialize a system Python environment.
27
+
28
+ Args:
29
+ executable: Optional path to a specific Python executable. If None, uses the current Python executable.
30
+ """
31
+ self._executable = executable or sys.executable
32
+ super().__init__()
33
+
34
+ def _setup_environment(self) -> None:
35
+ """Set up the system Python environment."""
36
+ # Verify the Python executable exists
37
+ if not os.path.exists(self._executable):
38
+ raise RuntimeError(f"Python executable not found at: {self._executable}")
39
+
40
+ logging.info(f"Using system Python at: {self._executable}")
41
+
42
+ def _cleanup_environment(self) -> None:
43
+ """Clean up the system Python environment."""
44
+ # No cleanup needed for system Python
45
+ pass
46
+
47
+ def get_executable(self) -> str:
48
+ """Get the path to the Python executable."""
49
+ return self._executable
50
+
51
+ async def execute_code(self, code: str, script_path: str, timeout: int = 30) -> dict[str, Any]:
52
+ """Execute code using the system Python."""
53
+ try:
54
+ # Get the Python executable
55
+ python_executable = self.get_executable()
56
+
57
+ # Verify the executable exists
58
+ if not os.path.exists(python_executable):
59
+ return {"success": False, "error": f"Python executable not found at {python_executable}"}
60
+
61
+ # Ensure the directory for the script exists
62
+ script_dir = os.path.dirname(script_path)
63
+ if script_dir:
64
+ os.makedirs(script_dir, exist_ok=True)
65
+
66
+ # Write the code to the script file using asyncify (from base class)
67
+ await asyncify(self._write_to_file)(script_path, code)
68
+
69
+ logging.info(f"Wrote code to {script_path}")
70
+
71
+ try:
72
+ # Execute directly with subprocess using asyncify for better reliability
73
+ result = await asyncify(self._run_subprocess)([python_executable, script_path], timeout)
74
+
75
+ # Main execution result
76
+ return {
77
+ "success": result.returncode == 0,
78
+ "stdout": result.stdout,
79
+ "stderr": result.stderr,
80
+ "returncode": result.returncode,
81
+ }
82
+ except subprocess.TimeoutExpired:
83
+ return {"success": False, "error": f"Execution timed out after {timeout} seconds"}
84
+
85
+ except Exception as e:
86
+ return {"success": False, "error": f"Execution error: {str(e)}"}