Skip to content

Commit c14a2a9

Browse files
authored
Merge branch 'main' into D-Yuva-abstract_markdown_browser
2 parents 65deb46 + 5e2a69a commit c14a2a9

File tree

182 files changed

+2905
-2755
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+2905
-2755
lines changed

.gitattributes

+9
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,12 @@ makefile text eol=lf
8787
*.jpeg filter=lfs diff=lfs merge=lfs -text
8888
python/packages/autogen-magentic-one/imgs/autogen-magentic-one-example.png filter=lfs diff=lfs merge=lfs -text
8989
python/packages/autogen-magentic-one/imgs/autogen-magentic-one-agents.png filter=lfs diff=lfs merge=lfs -text
90+
91+
python/packages/autogen-magentic-one/tests/browser_utils/test_files/test_blog.html linguist-vendored
92+
python/packages/autogen-ext/src/autogen_ext/runtimes/grpc/protos/*.py linguist-generated
93+
python/packages/autogen-ext/src/autogen_ext/runtimes/grpc/protos/*.pyi linguist-generated
94+
python/packages/autogen-ext/tests/protos/*.py linguist-generated
95+
python/packages/autogen-ext/tests/protos/*.pyi linguist-generated
96+
docs/** linguist-documentation
97+
python/packages/autogen-core/docs/** linguist-documentation
98+
dotnet/website/** linguist-documentation

.github/workflows/checks.yml

+22-2
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ jobs:
5858
"./packages/agbench",
5959
"./packages/autogen-ext",
6060
"./packages/autogen-agentchat",
61+
"./packages/magentic-one-cli",
6162
]
6263
steps:
6364
- uses: actions/checkout@v4
@@ -86,6 +87,7 @@ jobs:
8687
"./packages/agbench",
8788
"./packages/autogen-ext",
8889
"./packages/autogen-agentchat",
90+
"./packages/magentic-one-cli",
8991
]
9092
steps:
9193
- uses: actions/checkout@v4
@@ -132,7 +134,7 @@ jobs:
132134
source ${{ github.workspace }}/python/.venv/bin/activate
133135
poe --directory ${{ matrix.package }} test
134136
working-directory: ./python
135-
137+
136138
codecov:
137139
runs-on: ubuntu-latest
138140
strategy:
@@ -213,7 +215,25 @@ jobs:
213215
source ${{ github.workspace }}/python/.venv/bin/activate
214216
poe --directory ${{ matrix.package }} docs-check-examples
215217
working-directory: ./python
216-
218+
219+
samples-code-check:
220+
runs-on: ubuntu-latest
221+
steps:
222+
- uses: actions/checkout@v4
223+
- uses: astral-sh/setup-uv@v5
224+
with:
225+
enable-cache: true
226+
- uses: actions/setup-python@v5
227+
with:
228+
python-version: "3.11"
229+
- run: uv sync --locked --all-extras
230+
working-directory: ./python
231+
- name: Run task
232+
run: |
233+
source ${{ github.workspace }}/python/.venv/bin/activate
234+
poe samples-code-check
235+
working-directory: ./python
236+
217237
markdown-code-lint:
218238
runs-on: ubuntu-latest
219239
steps:

.github/workflows/codeql.yml

+5
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,11 @@ jobs:
100100
# to build your code.
101101
# ℹ️ Command-line programs to run using the OS shell.
102102
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
103+
- if: matrix.build-mode == 'manual'
104+
name: Setup .NET 8.0
105+
uses: actions/setup-dotnet@v4
106+
with:
107+
dotnet-version: '8.0.x'
103108
- if: matrix.build-mode == 'manual'
104109
shell: bash
105110
working-directory: dotnet

.github/workflows/docs.yml

+18-15
Original file line numberDiff line numberDiff line change
@@ -32,21 +32,23 @@ jobs:
3232
version:
3333
[
3434
# For main use the workflow target
35-
{ ref: "${{github.ref}}", dest-dir: dev, uv-version: "0.5.13" },
36-
{ ref: "v0.4.0.dev0", dest-dir: "0.4.0.dev0", uv-version: "0.5.11" },
37-
{ ref: "v0.4.0.dev1", dest-dir: "0.4.0.dev1", uv-version: "0.5.11" },
38-
{ ref: "v0.4.0.dev2", dest-dir: "0.4.0.dev2", uv-version: "0.5.11" },
39-
{ ref: "v0.4.0.dev3", dest-dir: "0.4.0.dev3", uv-version: "0.5.11" },
40-
{ ref: "v0.4.0.dev4", dest-dir: "0.4.0.dev4", uv-version: "0.5.11" },
41-
{ ref: "v0.4.0.dev5", dest-dir: "0.4.0.dev5", uv-version: "0.5.11" },
42-
{ ref: "v0.4.0.dev6", dest-dir: "0.4.0.dev6", uv-version: "0.5.11" },
43-
{ ref: "v0.4.0.dev7", dest-dir: "0.4.0.dev7", uv-version: "0.5.11" },
44-
{ ref: "v0.4.0.dev8", dest-dir: "0.4.0.dev8", uv-version: "0.5.11" },
45-
{ ref: "v0.4.0.dev9", dest-dir: "0.4.0.dev9", uv-version: "0.5.11" },
46-
{ ref: "v0.4.0.dev10", dest-dir: "0.4.0.dev10", uv-version: "0.5.11" },
47-
{ ref: "v0.4.0.dev11", dest-dir: "0.4.0.dev11", uv-version: "0.5.11" },
48-
{ ref: "v0.4.0.dev12", dest-dir: "0.4.0.dev12", uv-version: "0.5.13" },
49-
{ ref: "v0.4.0.dev13", dest-dir: "0.4.0.dev13", uv-version: "0.5.13" },
35+
{ ref: "${{github.ref}}", dest-dir: dev, uv-version: "0.5.13", sphinx-release-override: "dev" },
36+
{ ref: "v0.4.0.post1", dest-dir: stable, uv-version: "0.5.13", sphinx-release-override: "stable" },
37+
{ ref: "v0.4.0.dev0", dest-dir: "0.4.0.dev0", uv-version: "0.5.11", sphinx-release-override: "" },
38+
{ ref: "v0.4.0.dev1", dest-dir: "0.4.0.dev1", uv-version: "0.5.11", sphinx-release-override: "" },
39+
{ ref: "v0.4.0.dev2", dest-dir: "0.4.0.dev2", uv-version: "0.5.11", sphinx-release-override: "" },
40+
{ ref: "v0.4.0.dev3", dest-dir: "0.4.0.dev3", uv-version: "0.5.11", sphinx-release-override: "" },
41+
{ ref: "v0.4.0.dev4", dest-dir: "0.4.0.dev4", uv-version: "0.5.11", sphinx-release-override: "" },
42+
{ ref: "v0.4.0.dev5", dest-dir: "0.4.0.dev5", uv-version: "0.5.11", sphinx-release-override: "" },
43+
{ ref: "v0.4.0.dev6", dest-dir: "0.4.0.dev6", uv-version: "0.5.11", sphinx-release-override: "" },
44+
{ ref: "v0.4.0.dev7", dest-dir: "0.4.0.dev7", uv-version: "0.5.11", sphinx-release-override: "" },
45+
{ ref: "v0.4.0.dev8", dest-dir: "0.4.0.dev8", uv-version: "0.5.11", sphinx-release-override: "" },
46+
{ ref: "v0.4.0.dev9", dest-dir: "0.4.0.dev9", uv-version: "0.5.11", sphinx-release-override: "" },
47+
{ ref: "v0.4.0.dev10", dest-dir: "0.4.0.dev10", uv-version: "0.5.11", sphinx-release-override: "" },
48+
{ ref: "v0.4.0.dev11", dest-dir: "0.4.0.dev11", uv-version: "0.5.11", sphinx-release-override: "" },
49+
{ ref: "v0.4.0.dev12", dest-dir: "0.4.0.dev12", uv-version: "0.5.13", sphinx-release-override: "" },
50+
{ ref: "v0.4.0.dev13", dest-dir: "0.4.0.dev13", uv-version: "0.5.13", sphinx-release-override: "" },
51+
{ ref: "v0.4.0.post1", dest-dir: "0.4.0", uv-version: "0.5.13", sphinx-release-override: "" },
5052
]
5153
steps:
5254
- name: Checkout
@@ -71,6 +73,7 @@ jobs:
7173
env:
7274
PY_DOCS_DIR: ${{ matrix.version.dest-dir }}/
7375
PY_SWITCHER_VERSION: ${{ matrix.version.dest-dir }}
76+
SPHINX_RELEASE_OVERRIDE: ${{ matrix.version.sphinx-release-override }}
7477
- uses: actions/upload-artifact@v4
7578
with:
7679
path: "./python/docs-staging"

.github/workflows/single-python-package.yml

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ on:
1414
- agbench
1515
- autogen-magentic-one
1616
- autogen-studio
17+
- magentic-one-cli
1718
ref:
1819
description: 'Tag to deploy'
1920
required: true

CONTRIBUTING.md

+16
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,19 @@ Args:
118118
agent_type (str): Agent type to handle this subscription
119119
"""
120120
```
121+
122+
## Docs when adding a new API
123+
124+
Now that 0.4.0 is out, we should ensure the docs between versions are easy to navigate. To this end, added or changed APIs should have the following added to their docstrings respectively:
125+
126+
```rst
127+
.. versionadded:: v0.4.1
128+
129+
Here's a version added message.
130+
131+
.. versionchanged:: v0.4.1
132+
133+
Here's a version changed message.
134+
```
135+
136+
See [here](https://pydata-sphinx-theme.readthedocs.io/en/stable/examples/kitchen-sink/admonitions.html#versionadded) for how they are rendered.

FAQ.md

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
## AutoGen FAQs
2+
3+
### What is AutoGen 0.4?
4+
5+
AutoGen v0.4 is a rewrite of AutoGen from the ground up to create a more robust,
6+
scalable, easier to use, cross-language library for building AI Agents.
7+
Some key features include asynchronous messaging, support for scalable distributed agents,
8+
modular extensible design (bring your own agents, implement behaviors however you like),
9+
cross-language support, improved observability, and full typing integration.
10+
It is a breaking change.
11+
12+
### Why these changes?
13+
14+
We listened to our AutoGen users, learned from what was working, and adapted to fix what wasn't.
15+
We brought together wide-ranging teams working on many different types of AI Agents
16+
and collaborated to design an improved framework with a more flexible
17+
programming model and better scalability.
18+
19+
### Is this project still maintained?
20+
21+
We want to reaffirm our commitment to supporting both the original version of AutoGen (0.2) and the redesign (0.4). AutoGen 0.4 is still work-in-progress, and we shared the code now to build with the community. There are no plans to deprecate the original AutoGen anytime soon, and both versions will be actively maintained.
22+
23+
### Who should use it 0.4?
24+
25+
This code is still experimental, so expect changes and bugs while we work towards a stable 0.4 release. We encourage early adopters to
26+
try it out, give us feedback, and contribute.
27+
For those looking for a stable version we recommend to continue using 0.2
28+
29+
### I'm using AutoGen 0.2, should I upgrade?
30+
31+
If you consider yourself an early adopter, you are comfortable making some
32+
changes to your code, and are willing to try it out, then yes.
33+
34+
### How do I still use AutoGen 0.2?
35+
36+
AutoGen 0.2 can be installed with:
37+
38+
```sh
39+
pip install autogen-agentchat~=0.2
40+
```
41+
42+
### Will AutoGen Studio be supported in 0.4?
43+
44+
Yes, this is on the [roadmap](#roadmap).
45+
Our current plan is to enable an implementation of AutoGen Studio
46+
on the AgentChat high level API which implements a set of agent functionalities
47+
(agents, teams, etc).
48+
49+
### How do I migrate?
50+
51+
For users familiar with AutoGen, the AgentChat library in 0.4 provides similar concepts.
52+
We are working on a migration guide.
53+
54+
### Is 0.4 done?
55+
56+
We are still actively developing AutoGen 0.4. One exciting new feature is the emergence of new SDKs for .NET. The python SDKs are further ahead at this time but our goal is to achieve parity. We aim to add additional languages in future releases.
57+
58+
### What is happening next? When will this release be ready?
59+
60+
We are still working on improving the documentation, samples, and enhancing the code. We are hoping to release before the end of the year when things are ready.
61+
62+
### What is the history of this project?
63+
64+
The rearchitecture of the framework started with multiple Microsoft teams coming together
65+
to address the gaps and learnings from AutoGen 0.2 - merging ideas from several predecessor projects.
66+
The team worked on this internally for some time to ensure alignment before moving work back to the open in October 2024.
67+
68+
### What is the official channel for support?
69+
70+
Use GitHub [Issues](https://github.com/microsoft/autogen/issues) for bug reports and feature requests.
71+
Use GitHub [Discussions](https://github.com/microsoft/autogen/discussions) for general questions and discussions.
72+
73+
### Do you use Discord for communications?
74+
75+
We are unable to use the old Discord for project discussions, many of the maintainers no longer have viewing or posting rights there. Therefore, we request that all discussions take place on <https://github.com/microsoft/autogen/discussions/> or the [new discord server](https://aka.ms/autogen-discord).
76+
77+
### What about forks?
78+
79+
<https://github.com/microsoft/autogen/> remains the only official repo for development and support of AutoGen.
80+
We are aware that there are thousands of forks of AutoGen, including many for personal development and startups building with or on top of the library. We are not involved with any of these forks and are not aware of any plans related to them.
81+
82+
### What is the status of the license and open source?
83+
84+
Our project remains fully open-source and accessible to everyone. We understand that some forks use different licenses to align with different interests. We will continue to use the most permissive license (MIT) for the project.
85+
86+
### Can you clarify the current state of the packages?
87+
88+
Currently, we are unable to make releases to the `pyautogen` package via Pypi due to a change to package ownership that was done without our involvement. Additionally, we are moving to using multiple packages to align with the new design. Please see details [here](https://microsoft.github.io/autogen/dev/packages/index.html).
89+
90+
### Can I still be involved?
91+
92+
We are grateful to all the contributors to AutoGen 0.2 and we look forward to continuing to collaborate with everyone in the AutoGen community.

0 commit comments

Comments
 (0)