feat(proxy): mount /v2/agents+sessions routers + start cleanup sweeper

This commit is contained in:
Ishaan Jaffer 2026-05-06 15:03:25 -07:00
parent 68d11f445f
commit 266081ff30
No known key found for this signature in database

View file

@ -927,9 +927,33 @@ async def proxy_startup_event(app: FastAPI): # noqa: PLR0915
## Initialize shared aiohttp session for connection reuse
shared_aiohttp_session = await _initialize_shared_aiohttp_session()
## /v2/agents+sessions cleanup sweeper (Epic A — Cursor SDK).
## Idempotent; safe even if the agent_session_endpoints module never
## sees traffic.
try:
from litellm.proxy.agent_session_endpoints.cleanup import (
start_cleanup_sweeper,
)
start_cleanup_sweeper()
except Exception as exc:
verbose_proxy_logger.warning(
"agent_session_endpoints cleanup sweeper failed to start: %s", exc
)
# End of startup event
yield
## Stop the agent session cleanup sweeper.
try:
from litellm.proxy.agent_session_endpoints.cleanup import (
stop_cleanup_sweeper,
)
stop_cleanup_sweeper()
except Exception:
pass
# Shutdown event - close shared aiohttp session
if shared_aiohttp_session is not None:
try:
@ -14883,6 +14907,27 @@ app.include_router(ui_discovery_endpoints_router)
# Eager: /models/{name}:method overlaps with the OpenAI /models endpoint.
app.include_router(google_router)
# /v2/agents, /v2/sessions — Cursor SDK agent runtime (Epic A).
# Mounted under /v2/ to avoid collision with the existing /v1/agents
# (A2A registry in litellm/proxy/agent_endpoints/).
from litellm.proxy.agent_session_endpoints import (
agent_router as agent_session_agent_router,
)
from litellm.proxy.agent_session_endpoints import (
internal_router as agent_session_internal_router,
)
from litellm.proxy.agent_session_endpoints import (
run_router as agent_session_run_router,
)
from litellm.proxy.agent_session_endpoints import (
session_router as agent_session_session_router,
)
app.include_router(agent_session_agent_router)
app.include_router(agent_session_session_router)
app.include_router(agent_session_run_router)
app.include_router(agent_session_internal_router)
attach_lazy_features(app)
app.add_middleware(
RequestSizeLimitMiddleware,