Phase 7: daily summary and read-only Hub API (AUD-73)

- internal/hub: project side of the frozen ask-contract. GET /capabilities,
  read-only POST /ask answerer (no LLM, <3s), and the outbound POST /notify
  client.
- internal/apprise: daily-summary delivery through the house Apprise API.
- internal/summary: deterministic plain-text daily summary builder.
- internal/store: CountByCategory, MessagesByCategory, and summary CRUD.
- internal/server: /capabilities and /ask (bearer-token protected), plus the
  Reports screen (/reports, build, send, delete).
- main.go: -summary, -summary-send, and -notify CLI entry points for n8n.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-10-11 22:38:49 +11:00
parent c4213ebed1
commit a349b42b1f
24 changed files with 2454 additions and 1 deletions

View File

@@ -49,4 +49,19 @@ EMAIL_AGENT_CLASSIFY_MAX_MESSAGES=200
OMNIROUTE_BASE_URL=
OMNIROUTE_API_KEY=
OMNIROUTE_MODEL=auto/best-chat
# --- Hub (Phase 7, FR-12) ---------------------------------------------------
# HUB_TOKEN is the shared bearer token the Hub sends to /capabilities and /ask.
# The Hub side uses HUB_PROJECT_EMAIL_AGENT_TOKEN with the same value.
HUB_TOKEN=
HUB_BASE_URL=http://192.168.20.13:8788
HUB_NOTIFY_TIMEOUT=5s
# --- Daily summary (Phase 7, FR-10) -----------------------------------------
# Delivery goes through the house Apprise API on .35. Set APPRISE_KEY for a
# stored Apprise configuration, or APPRISE_URLS for the stateless form.
APPRISE_URL=http://192.168.20.35:8210
APPRISE_KEY=
APPRISE_URLS=
APPRISE_TOKEN=
EMAIL_AGENT_SUMMARY_TO=samuelrolfe@gmail.com