mirror of
https://github.com/microsoft/autogen.git
synced 2025-07-03 15:10:15 +00:00

Right now we rely on opening the channel to associate a ClientId with an entry on the gateway side. This causes a race when the channel is being opened in the background while an RPC (e.g. MyAgent.register()) is invoked. If the RPC is processed first, the gateway rejects it due to "invalid" clientId. This fix makes this condition less likely to trigger, but there is still a piece of the puzzle that needs to be solved on the Gateway side.
117 lines
4.1 KiB
TOML
117 lines
4.1 KiB
TOML
[dependency-groups]
|
|
dev = [
|
|
"pyright==1.1.389",
|
|
"mypy==1.13.0",
|
|
"ruff==0.4.8",
|
|
"pytest",
|
|
"pytest-asyncio",
|
|
"pytest-cov",
|
|
"pytest-xdist",
|
|
"typer",
|
|
"rich",
|
|
"polars",
|
|
"pytest_mock",
|
|
"poethepoet",
|
|
"packaging",
|
|
"grpcio-tools~=1.70.0",
|
|
"mypy-protobuf",
|
|
"cookiecutter",
|
|
"poethepoet",
|
|
"tomli",
|
|
"tomli-w",
|
|
"chainlit",
|
|
"streamlit",
|
|
]
|
|
|
|
[tool.uv]
|
|
override-dependencies = [
|
|
"tenacity>=9.0.0",
|
|
"aiofiles>=24.1.0",
|
|
"chainlit>=2.0.1",
|
|
"httpx>=0.27.0",
|
|
]
|
|
[tool.uv.workspace]
|
|
members = ["packages/*"]
|
|
exclude = ["packages/autogen-magentic-one"]
|
|
|
|
[tool.uv.sources]
|
|
agbench = { workspace = true }
|
|
autogen-agentchat = { workspace = true }
|
|
autogen-core = { workspace = true }
|
|
autogen-ext = { workspace = true }
|
|
autogen-test-utils = { workspace = true }
|
|
autogenstudio = { workspace = true }
|
|
component-schema-gen = { workspace = true }
|
|
magentic-one-cli = { workspace = true }
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
fix = true
|
|
|
|
target-version = "py310"
|
|
|
|
[tool.ruff.format]
|
|
docstring-code-format = true
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "W", "B", "Q", "I", "ASYNC", "T20"]
|
|
ignore = ["F401", "E501"]
|
|
|
|
[tool.ruff.lint.flake8-tidy-imports]
|
|
[tool.ruff.lint.flake8-tidy-imports.banned-api]
|
|
"unittest".msg = "Use `pytest` instead."
|
|
|
|
[tool.mypy]
|
|
strict = true
|
|
python_version = "3.10"
|
|
ignore_missing_imports = true
|
|
|
|
# from https://blog.wolt.com/engineering/2021/09/30/professional-grade-mypy-configuration/
|
|
disallow_untyped_defs = true
|
|
no_implicit_optional = true
|
|
check_untyped_defs = true
|
|
warn_return_any = true
|
|
show_error_codes = true
|
|
warn_unused_ignores = false
|
|
|
|
disallow_incomplete_defs = true
|
|
disallow_untyped_decorators = true
|
|
disallow_any_unimported = true
|
|
|
|
[tool.pyright]
|
|
include = ["src", "tests", "samples"]
|
|
exclude = ["samples/core_xlang_hello_python_agent/protos"]
|
|
typeCheckingMode = "strict"
|
|
reportUnnecessaryIsInstance = false
|
|
reportMissingTypeStubs = false
|
|
|
|
[tool.poe.tasks]
|
|
fmt = "python run_task_in_pkgs_if_exist.py fmt"
|
|
format.ref = "fmt"
|
|
lint = "python run_task_in_pkgs_if_exist.py lint"
|
|
pyright = "python run_task_in_pkgs_if_exist.py pyright"
|
|
mypy = "python run_task_in_pkgs_if_exist.py mypy"
|
|
test = "python run_task_in_pkgs_if_exist.py test"
|
|
markdown-code-lint = """python check_md_code_blocks.py ../README.md ./packages/autogen-core/docs/src/**/*.md ./packages/autogen-magentic-one/README.md"""
|
|
samples-code-check = """pyright ./samples"""
|
|
|
|
check = ["fmt", "lint", "pyright", "mypy", "test", "markdown-code-lint", "samples-code-check"]
|
|
|
|
gen-proto = [
|
|
{ cmd = "python -m grpc_tools.protoc --python_out=./packages/autogen-ext/src/autogen_ext/runtimes/grpc/protos --grpc_python_out=./packages/autogen-ext/src/autogen_ext/runtimes/grpc/protos --mypy_out=./packages/autogen-ext/src/autogen_ext/runtimes/grpc/protos --mypy_grpc_out=./packages/autogen-ext/src/autogen_ext/runtimes/grpc/protos --proto_path ../protos/ agent_worker.proto --proto_path ../protos/ cloudevent.proto" },
|
|
{ script = "fixup_generated_files:main" }
|
|
]
|
|
|
|
|
|
gen-proto-samples = "python -m grpc_tools.protoc --python_out=./samples/core_xlang_hello_python_agent/protos --grpc_python_out=./samples/core_xlang_hello_python_agent/protos --mypy_out=./samples/core_xlang_hello_python_agent/protos --mypy_grpc_out=./samples/core_xlang_hello_python_agent/protos --proto_path ../dotnet/src/Microsoft.AutoGen/Agents/protos/ agent_events.proto"
|
|
|
|
[[tool.poe.tasks.gen-test-proto.sequence]]
|
|
cmd = "python -m grpc_tools.protoc --python_out=./packages/autogen-core/tests/protos --grpc_python_out=./packages/autogen-core/tests/protos --mypy_out=./packages/autogen-core/tests/protos --mypy_grpc_out=./packages/autogen-core/tests/protos --proto_path ./packages/autogen-core/tests/protos serialization_test.proto"
|
|
|
|
[[tool.poe.tasks.gen-test-proto.sequence]]
|
|
cmd = "python -m grpc_tools.protoc --python_out=./packages/autogen-ext/tests/protos --grpc_python_out=./packages/autogen-ext/tests/protos --mypy_out=./packages/autogen-ext/tests/protos --mypy_grpc_out=./packages/autogen-ext/tests/protos --proto_path ./packages/autogen-core/tests/protos serialization_test.proto"
|
|
|
|
[tool.pytest.ini_options]
|
|
markers = [
|
|
"grpc: tests invoking gRPC functionality",
|
|
] |