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
22 changes: 11 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ requires-python = ">=3.13"
license = { text = "Apache-2.0" }

dependencies = [
"fastapi>=0.115.0",
"fastapi>=0.162.0",
"uvicorn[standard]>=0.34.0",
"aiosqlite>=0.21.0",
"pyyaml>=6.0",
"python-telegram-bot>=21.0",
"slack-sdk>=3.33.0",
"slack-sdk>=3.45.0",
# Socket Mode's asyncio client is the aiohttp one; slack-sdk leaves the
# transport dependency to the caller.
"aiohttp>=3.14.4",
"aiohttp>=3.14.5",
# Floor raised from 0.2.82 for mcp 2.x: 0.2.140 is the first release whose
# own constraint is `mcp<3.0.0` (0.2.100 through 0.2.139 all declare
# `mcp<2.0.0`). It matters because the SDK builds the in-process MCP server
Expand All @@ -33,13 +33,13 @@ dependencies = [
# rejects models released after it with "does not support this model;
# version 2.1.251 or newer is required". 0.2.150 bundles 2.1.257. Every
# release in 0.2.141..0.2.150 is a CLI-bundle bump only — no API change.
"claude-agent-sdk>=0.2.161",
"claude-agent-sdk>=0.2.174",
# Declared explicitly because nerve/mcp_server/ imports `mcp` directly
# rather than only through claude-agent-sdk. Both bounds are load-bearing:
# nerve/mcp_server/ is written against the 2.x lowlevel API (constructor
# callbacks, request context as a handler argument), which does not exist
# in 1.x, and 3.x has not been vetted.
"mcp>=2,<3",
"mcp>=2.3.0,<3",
# Used directly by nerve/mcp_server/server.py to validate tool arguments
# against each tool's inputSchema. mcp 1.x's call_tool decorator did this
# for us; the 2.x callback does not, so the check is ours now and the
Expand All @@ -52,23 +52,23 @@ dependencies = [
"pyjwt[crypto]>=2.10.1",
"bcrypt>=4.2.0",
"httpx>=0.28.0",
"websockets>=14.0",
"click>=8.1.0",
"telethon>=1.38.0",
"websockets>=17.3",
"click>=8.5.0",
"telethon>=1.45.0",
# [bedrock] pulls boto3/botocore, required by AnthropicBedrock for AWS SigV4
# request signing (session title generation and other direct-SDK fast-model calls).
"anthropic[bedrock]>=0.45.0", # used by memu_bridge for event date resolution
"memu-py==1.4.0", # pinned — nerve monkey-patches memU internals (see memu_bridge._patch_sqlite_bugs)
"watchfiles>=1.0.0",
"watchfiles>=1.3.0",
"html2text>=2024.2.26",
# Optional xmemory.ai structured-memory layer — only active when an
# xmemory api_key + instance_id are configured (see XmemoryConfig).
"xmemory-ai>=0.10.0",
"xmemory-ai>=0.23.0",
# Optional observability stack — only active when langfuse keys are
# configured. All three are pure-Python wheels.
"langfuse>=4.17.0",
"langsmith[claude-agent-sdk]>=0.4.0",
"opentelemetry-instrumentation-anthropic>=0.40.0",
"opentelemetry-instrumentation-anthropic>=0.62.4",
]

[project.optional-dependencies]
Expand Down
Loading
Loading