mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:21:09 +02:00
First milestone of the LLM-fallback plan (docs/plans/llm-fallback-aliases.md). Introduces the `mana/<class>` namespace; the registry parses + validates aliases.yaml at startup and reloads on demand. Schema-rejects empty chains, missing provider prefixes, alias names outside the reserved namespace, default→unknown references, etc. Reload semantics: parse error keeps the previous good state in memory so a typo + SIGHUP doesn't take the service down. 5 aliases ship with the initial config: fast-text, long-form, structured, reasoning, vision. Each chain ends with a cloud provider so the system keeps working when the GPU server is offline. 32 unit tests covering happy path, schema validation, namespace check, reload safety, and a guard that the shipped aliases.yaml itself parses. M2 (health-cache + probe-loop) and M3 (router fallback execution) build on this; aliases are not yet wired into the request path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
382 B
Text
29 lines
382 B
Text
# Core
|
|
fastapi>=0.115.0
|
|
uvicorn[standard]>=0.32.0
|
|
pydantic>=2.10.0
|
|
pydantic-settings>=2.6.0
|
|
|
|
# HTTP Client
|
|
httpx>=0.28.0
|
|
|
|
# Streaming
|
|
sse-starlette>=2.2.0
|
|
|
|
# Caching (optional)
|
|
redis>=5.2.0
|
|
|
|
# Google Gemini
|
|
google-genai>=1.0.0
|
|
|
|
# Metrics
|
|
prometheus-client>=0.21.0
|
|
|
|
# Config (alias registry)
|
|
pyyaml>=6.0.2
|
|
|
|
# Dev
|
|
pytest>=8.3.0
|
|
pytest-asyncio>=0.24.0
|
|
pytest-httpx>=0.35.0
|
|
ruff>=0.8.0
|