Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ normalises the underscores, so `diagrid[openai-agents]` and
`--all-packages` (the example members drag in conflicting extras):
`uv sync --extra holmesgpt --group test`.
- Every pin and every entry in `override-dependencies` carries a comment saying
which resolution failure it exists for — the whole OTel stack held at
1.39.1/0.60b1, `numpy<2.5`, `crewai<1.16`, `mcp==1.26.0`. Read the comment
which resolution failure it exists for — `numpy<2.5`, `crewai<1.15.4`,
`mcp==1.26.0`. Read the comment
before "tidying" one; these are not style choices.
- **`dapr-agents` is a git dependency tracking `main`**, marked TEMPORARY in
`[tool.uv.sources]`. It is unpinned, so `uv lock --upgrade` moves it to
Expand Down
38 changes: 13 additions & 25 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ diagridpy = "diagrid.cli.main:cli"
agent-core = [
# 1.1.1 or later: with 1.1.0, observability headers come back as None
# when OTEL_EXPORTER_OTLP_HEADERS is unset, and agent startup crashes.
# Releases 1.0.2–1.0.5 also capped `opentelemetry-semantic-conventions<0.61`
# (directly, and via `mistralai>=2.2.0`), which held the whole OTel stack
# on the 1.39.x line; 1.1.1 includes dapr/dapr-agents#780
# (`mistralai>=2.9.2`), which lifts that cap.
"dapr-agents>=1.1.1",
"dapr[langgraph,strands]>=1.19.0",
"fastapi>=0.129.0",
Expand All @@ -75,10 +79,12 @@ langgraph = [
"diagrid[agent-core]",
]
crewai = [
# crewai>=1.10 pins `opentelemetry-api~=1.34.0` (i.e. <1.35), which is
# unsatisfiable with dapr-agents>=1.0.1's `>=1.35.0` floor. Capping at
# <1.10 until crewai relaxes their pin upstream.
"crewai>=1.6.1,<1.16",
# crewai>=1.15.4 requires `mcp~=1.28.1`, but the `mcp==1.26.0` override
# (see [tool.uv]) forces 1.26.0 and silently hides that clash. 1.15.3 is
# the newest release that accepts both `mcp~=1.26.0` and the
# `opentelemetry-api~=1.42.0` line the rest of the graph resolves. Raise
# this bound only together with the mcp override.
"crewai>=1.6.1,<1.15.4",
"litellm>=1.0.0,!=1.82.7,!=1.82.8",
"diagrid[agent-core]",
]
Expand All @@ -104,9 +110,9 @@ claude_agents = [
pydantic_ai = [
# Use pydantic-ai-slim with selected extras instead of the `pydantic-ai`
# meta-package, which pulls in `pydantic-ai-slim[mistral,logfire,...]`
# — `mistral` brings mistralai 2.x (semconv 0.60b1 pin) and `logfire`
# brings opentelemetry-sdk; together those are unsatisfiable with each
# other's OTel constraints.
# — `mistral` brings mistralai 2.x (releases before 2.9.2 cap OTel
# semconv) and `logfire` brings opentelemetry-sdk; together those have
# been unsatisfiable with each other's OTel constraints.
"pydantic-ai-slim[openai]>=1.89.1",
"diagrid[agent-core]",
]
Expand Down Expand Up @@ -193,31 +199,13 @@ exclude-newer-package = { dapr-agents = "0 days" }
# in ``azure-mgmt-sql>=4.0.0b21`` (the 4.x line is still in beta on PyPI);
# without this setting uv refuses to resolve the workspace lock.
prerelease = "if-necessary-or-explicit"
# crewai pins `opentelemetry-api~=1.34.0`, but dapr-agents requires
# `>=1.35.0`. OpenTelemetry 1.x is backwards compatible, so override
# crewai's tight pin so both resolve against the same line.
#
# The OTEL stack is pinned to the 1.39.x / 0.60b1 line so every piece agrees.
# Left to resolve freely, uv once mixed a 1.39.1 sdk with 1.42.1 api and OTLP
# exporters, whose gRPC exporter imports a symbol that sdk lacks.
# google-adk accepts sdk 1.36-1.41.1.
# The pin was forced by mistralai 2.x, which required semconv 0.60b1.
# dapr-agents 1.1.1 now pulls mistralai 3.x, which declares semconv>=0.61b0,
# so this override holds it below its own floor.
# Revisit moving the stack to the 1.40.x / 0.61b0 line.
override-dependencies = [
# holmesgpt<=0.34 pins ``litellm==1.83.7`` (vulnerable; fixed in 1.84.0) and
# holmesgpt>=0.35 pins ``litellm==1.89.0``. Lock the holmesgpt fork onto
# the patched line dapr-agents already resolves to.
# dapr-agents 1.1.1 raised its cap to ``<1.104``, so this range could widen.
# Lock-only: published wheels keep holmesgpt's pin.
"litellm>=1.84.0,<1.87",
"opentelemetry-api==1.39.1",
"opentelemetry-sdk==1.39.1",
"opentelemetry-semantic-conventions==0.60b1",
"opentelemetry-exporter-otlp-proto-common==1.39.1",
"opentelemetry-exporter-otlp-proto-grpc==1.39.1",
"opentelemetry-exporter-otlp-proto-http==1.39.1",
# holmesgpt pins fastapi ``^0.121.1`` and uvicorn ``^0.40`` which collide
# with diagrid[agent-core]'s ``>=0.129.0`` and ``>=0.41.0`` floors. Both
# deltas are backwards-compatible for the surface holmesgpt uses (only
Expand Down
Loading
Loading