9cbf1ab367
- pyproject.toml -> 0.3.0 (significant changes since 0.2.0: full Phase 1-7 KB stack, classifier+labels, batch-upload UI, pending-review panel, bucket rename to legal-kb) - api/__init__.py reads version from pyproject at import time so /api/health and OpenAPI both reflect reality without a second hardcoded copy - api/services/kb/voyage.py: _post_with_retry wraps embed/rerank POSTs with exponential backoff on 429+5xx (max 5 retries, base 2s, capped 30s, +25% jitter, honors Retry-After header). Dev and prod share a single VOYAGE_API_KEY today, so a simultaneous bulk re-ingest on both used to fail half the calls; now the burst is absorbed in seconds. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
22 lines
408 B
Python
22 lines
408 B
Python
"""Health check endpoint."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from datetime import datetime, timezone
|
|
|
|
from fastapi import APIRouter
|
|
|
|
from api import __version__
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.get("/api/health")
|
|
async def health():
|
|
return {
|
|
"status": "ok",
|
|
"service": "shira-hermes",
|
|
"version": __version__,
|
|
"timestamp": datetime.now(timezone.utc).isoformat(),
|
|
}
|