website-builder-backend / 42_rebuild_fallback_layer.sh
David Prince
fix: add all missing local module stubs (remote_mcp_registry, mcp_auth, mcp_transport, etc)
cce8120
Raw
History Blame Contribute Delete
1.92 kB
#!/usr/bin/env bash
set -euo pipefail
ROOT=/root/projects/website-builder-backend-clean
cd "$ROOT"
echo "========================================"
echo "Rebuilding Dolor3V Fallback Layer"
echo "========================================"
cp backend/llm/providers/fallback.py \
backend/llm/providers/fallback.py.bak.$(date +%Y%m%d_%H%M%S) 2>/dev/null || true
cat > backend/llm/providers/fallback.py <<'PY'
"""
Dolor3V Production Fallback
Single-provider deployment.
Only Hugging Face is registered.
"""
from typing import Any
from .huggingface import HuggingFaceProvider
_PROVIDER = HuggingFaceProvider()
async def complete_with_fallback(
prompt: str,
**kwargs: Any,
):
"""
Unified completion entrypoint.
The runtime intentionally exposes only one provider.
"""
if hasattr(_PROVIDER, "complete"):
return await _PROVIDER.complete(prompt=prompt, **kwargs)
if hasattr(_PROVIDER, "generate"):
return await _PROVIDER.generate(prompt=prompt, **kwargs)
raise RuntimeError(
"HuggingFaceProvider exposes neither "
"'complete' nor 'generate'."
)
def get_provider():
return _PROVIDER
def providers():
return [_PROVIDER]
PY
echo
echo "[1/4] Compile"
python3 -m py_compile \
backend/llm/providers/fallback.py
echo
echo "[2/4] Import"
python3 <<'PY'
from backend.llm.providers.fallback import (
complete_with_fallback,
get_provider,
providers,
)
print("Fallback:", complete_with_fallback)
print("Provider:", type(get_provider()).__name__)
print("Providers:", len(providers()))
PY
echo
echo "[3/4] Search removed providers"
grep -RInE \
"GroqProvider|OpenRouterProvider|GeminiProvider|OllamaProvider|LocalProvider" \
backend/llm/providers/fallback.py || true
echo
echo "[4/4] Finished"
echo
echo "========================================"
echo "Dolor3V Fallback Ready"
echo "========================================"