<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->
<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->
## Why are these changes needed?
> Hey Victor, this is maybe a bug, but when a session is delete, runs
and messages for that session are not deleted, any reason why to keep
them?
@husseinmozannar
The main fix is to add a pragma that ensures SQL lite enforces foreign
key constraints.
Also needed to update error messages for autoupgrade of databases. Also
adds a test for cascade deletes and for parts of teammanager
With this fix,
- Messages get deleted when the run is deleted
- Runs get deleted when sessiosn are deleted
- Sessions get deleted when a team is deleted
<!-- Please give a short summary of the change and the problem this
solves. -->
## Related issue number
<!-- For example: "Closes #1234" -->
## Checks
- [ ] I've included any doc changes needed for
<https://microsoft.github.io/autogen/>. See
<https://github.com/microsoft/autogen/blob/main/CONTRIBUTING.md> to
build and test documentation locally.
- [ ] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [ ] I've made sure all auto checks have passed.
<!-- Thank you for your contribution! Please review
https://microsoft.github.io/autogen/docs/Contribute before opening a
pull request. -->
This PR has 3 main improvements.
- Token streaming
- Adds support for environment variables in the app settings
- Updates AGS to persist Gallery entry in db.
## Adds Token Streaming in AGS.
Agentchat now supports streaming of tokens via
`ModelClientStreamingChunkEvent `. This PR is to track progress on
supporting that in the AutoGen Studio UI.
If `model_client_stream` is enabled in an assitant agent, then token
will be streamed in UI.
```python
streaming_assistant = AssistantAgent(
name="assistant",
model_client=model_client,
system_message="You are a helpful assistant.",
model_client_stream=True, # Enable streaming tokens.
)
```
https://github.com/user-attachments/assets/74d43d78-6359-40c3-a78e-c84dcb5e02a1
## Env Variables
Also adds support for env variables in AGS Settings
You can set env variables that are loaded just before a team is run.
Handy to set variable to be used by tools etc.
<img width="1291" alt="image"
src="https://github.com/user-attachments/assets/437b9d90-ccee-42f7-be5d-94ab191afd67"
/>
> Note: the set variables are available to the server process.
<!-- Please add a reviewer to the assignee section when you create a PR.
If you don't have the access to it, we will shortly find a reviewer and
assign them to your PR. -->
## Why are these changes needed?
<!-- Please give a short summary of the change and the problem this
solves. -->
## Related issue number
<!-- For example: "Closes #1234" -->
Closes#5627Closes#5662Closes#5619
## Checks
- [ ] I've included any doc changes needed for
<https://microsoft.github.io/autogen/>. See
<https://github.com/microsoft/autogen/blob/main/CONTRIBUTING.md> to
build and test documentation locally.
- [ ] I've added tests (if relevant) corresponding to the changes
introduced in this PR.
- [ ] I've made sure all auto checks have passed.
* fix import issue related to agentchat update #4245
* update uv lock file
* fix db auto_upgrade logic issue.
* im prove msg rendering issue
* Support termination condition combination. Closes#4325
* fix db instantiation bug
* update yarn.lock, closes#4260#4262
* remove deps for now with vulnerabilities found by dependabot #4262
* update db tests
* add ability to load sessions from db ..
* format updates, add format checks to ags
* format check fixes
* linting and ruff check fixes
* make tests for ags non-parrallel to avoid db race conditions.
* format updates
* fix concurrency issue
* minor ui tweaks, move run start to websocket
* lint fixes
* update uv.lock
* Update python/packages/autogen-studio/autogenstudio/datamodel/types.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* Update python/packages/autogen-studio/autogenstudio/teammanager.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* reuse user proxy from agentchat
* ui tweaks
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Hussein Mozannar <hmozannar@microsoft.com>
* add react-flow
* update tutorial, some ui improvement for agent thread layout
* v1 for interactive viz for agent state
* add Ui visualization of message based transitions
* minor updates
* fix node edges, support visualization of self loops
* improve edges and layout, add support for selector group chat prompt
* minor ui tweaks
* ui and layout updates
* ugrade dependencies to fix dependabot scan errors
* persist sidebar, enable contentbar title mechanism #4191
* add support for user proxy agent, support human in put mode. #4011
* add UI support for human input mode via a userproxy agent #4011
* version update
* fix db initialization bug
* support for human input mode in UI, fix backend api route minor bugs
* update pyproject toml and uv lock
* readme update, support full screen mode for agent visualiation
* update uv.lock
* add react-flow
* update tutorial, some ui improvement for agent thread layout
* v1 for interactive viz for agent state
* add Ui visualization of message based transitions
* minor updates
* fix node edges, support visualization of self loops
* improve edges and layout, add support for selector group chat prompt
* minor ui tweaks
* add skeleton worflow manager
* add test notebook
* update test nb
* add sample team spec
* refactor requirements to agentchat and ext
* add base provider to return agentchat agents from json spec
* initial api refactor, update dbmanager
* api refactor
* refactor tests
* ags api tutorial update
* ui refactor
* general refactor
* minor refactor updates
* backend api refaactor
* ui refactor and update
* implement v1 for streaming connection with ui updates
* backend refactor
* ui refactor
* minor ui tweak
* minor refactor and tweaks
* general refactor
* update tests
* sync uv.lock with main
* uv lock update