- session_lock: token uuid + compare-and-delete (Lua), TTL > timeout de ejecucion; abort solo limpia el lock tras cancelacion confirmada. Evita doble ejecucion concurrente sobre la misma sesion. - monitor HTTP (puerto 4545) deshabilitado salvo MCP_MONITOR_ENABLED=true y atado a 127.0.0.1; no se acumula historial en memoria si esta off. - DeepSeek/LiteLLM: turnos que llegan solo con reasoning_content (sin content ni tool_calls) ya no rompen la sesion (400 'Invalid assistant message') ni se pintan como 'pensando': se promueven a texto en el historial y en el snapshot persistido. - litellm pinneado a ==1.80.0 (builds reproducibles). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
13 lines
294 B
Plaintext
13 lines
294 B
Plaintext
fastapi>=0.115.0,<1.0.0
|
|
uvicorn[standard]>=0.34.0,<1.0.0
|
|
pydantic>=2.10.0,<3.0.0
|
|
pydantic-settings>=2.7.0,<3.0.0
|
|
redis[hiredis]>=5.2.0,<6.0.0
|
|
anthropic>=0.42.0,<1.0.0
|
|
openai>=1.60.0,<2.0.0
|
|
litellm==1.80.0
|
|
httpx>=0.28.0,<1.0.0
|
|
sse-starlette>=2.2.0,<3.0.0
|
|
tiktoken>=0.7.0,<1.0.0
|
|
pyyaml>=6.0,<7.0
|