agnes-the-ai-analyst/app/api
ZdenekSrotyr b091cf7003 feat(ui): version badge in footer + /api/version endpoint
UI now shows a small footer badge with:
- release channel + CalVer version (e.g. 'stable-2026.04.47')
- floating image tag (e.g. 'stable')
- time since last container restart (proxy for 'last deployed')

Backend:
- app/api/health.py: /api/health returns image_tag, commit_sha, deployed_at
- app/api/health.py: new /api/version endpoint (lightweight, no DB hit, for
  footer badge polling)

Infra:
- startup-script.sh.tpl: resolves image digest from ghcr pull, derives
  channel + version from the tag name, and writes AGNES_VERSION /
  RELEASE_CHANNEL / AGNES_COMMIT_SHA into .env so the app can surface them
  to the UI.

UI:
- app/web/templates/base.html: footer loads /api/version asynchronously and
  renders '<channel>-<version> · <tag> · deployed <relative> (<UTC>)'.
  Tooltip shows full detail (commit sha, schema version).
2026-04-21 20:19:40 +02:00
..
__init__.py feat: add FastAPI server with auth, RBAC, and all API endpoints 2026-03-27 15:19:18 +01:00
access_requests.py feat: access request UI — catalog badges, request modal, admin approval page 2026-03-31 12:45:29 +02:00
admin.py fix: verify_token → test_connection, url → stack_url (Devin round 6) 2026-04-10 15:34:17 +02:00
catalog.py feat: add Metrics API endpoints (GET/POST/DELETE) with admin auth 2026-04-10 19:32:13 +02:00
data.py feat: add graceful shutdown handler 2026-04-09 07:03:45 +02:00
health.py feat(ui): version badge in footer + /api/version endpoint 2026-04-21 20:19:40 +02:00
jira_webhooks.py chore: Docker prod config (Python 3.13, no reload), fix utcnow deprecation, update docs 2026-04-08 12:10:47 +02:00
memory.py fix: route admin_edit through KnowledgeRepository.update instead of raw SQL 2026-04-09 18:42:52 +02:00
metadata.py fix: async httpx in metadata push, guard access_token, add push test 2026-04-11 08:33:10 +02:00
metrics.py fix: address Devin review — partial download cleanup, category validation, path escaping, docs 2026-04-11 09:41:29 +02:00
permissions.py feat: implement data access control — table-level permissions 2026-03-31 12:33:31 +02:00
query.py fix: block DuckDB metadata functions and relative paths in query endpoint 2026-04-09 16:29:11 +02:00
query_hybrid.py feat: add POST /api/query/hybrid endpoint for two-phase BQ+DuckDB queries 2026-04-11 11:09:42 +02:00
scripts.py fix: restrict script execution endpoints to analyst/admin roles 2026-04-09 16:31:42 +02:00
settings.py feat: add dataset permissions, script execution, Kamal config, CI/CD 2026-03-27 15:40:11 +01:00
sync.py feat: multi-instance deployment — all 14 must-have items from spec 2026-04-10 11:57:42 +02:00
telegram.py feat: complete system — web UI, all API endpoints, governance, admin, CLI commands 2026-03-27 16:52:22 +01:00
upload.py fix: remove duplicate Path alias in upload.py, replace _Path with Path 2026-04-09 18:42:48 +02:00
users.py feat: add FastAPI server with auth, RBAC, and all API endpoints 2026-03-27 15:19:18 +01:00