my_voice_assistant_v3_jamulix/app
dschlueter 1816a26734 feat: Notruf-Eskalation per SMS/Anruf (provider-agnostischer Webhook)
Zweiter Benachrichtigungskanal neben der E-Mail: bei einem Notruf geht
zusätzlich ein JSON-POST an EMERGENCY_WEBHOOK_URL mit Kanälen (sms,call),
Kontakt-Telefonnummern und fertigen SMS-/Anruf-Texten. Den konkreten
Gateway (Twilio, seven.io, sipgate, eigener Dienst) verdrahtet der
Empfänger dahinter — kein Provider-Lock-in im Code.

- config: EMERGENCY_WEBHOOK_URL aktiviert + _TOKEN (Bearer), _CONTACT_PHONE
  (CSV/E.164), _WEBHOOK_CHANNELS (default sms,call)
- emergency.py: async httpx-POST (best effort), Telefon-Auflösung analog
  zur E-Mail (Pref emergency_phones > Default), notified = email OR webhook;
  Hinweise kanal-neutral formuliert; Response um webhook_sent + channels ergänzt
- Tests: Webhook-Versand inkl. Payload/Bearer-Header + "ohne URL kein POST"
- Doku: §10 + Env-Var-Tabelle aktualisiert (zwei Kanäle, Payload-Format)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:17:49 +02:00
..
api feat(3c): OpenRouter-Modelle live & selbst-aktualisierend statt erfunden 2026-06-25 05:01:05 +02:00
audio feat: Barge-in/Turn-Manager und VAD-Aeusserungserkennung (#4 Ausbau) 2026-06-17 05:06:58 +02:00
core feat(P3): Diktat in Fremdsprache → Übersetzung in die Zielsprache 2026-06-25 03:30:37 +02:00
pipeline feat(tts): Emojis/Markdown beim Vorlesen entfernen + Autostart/GPU-Doku 2026-06-20 18:25:45 +02:00
providers fix: audioop-DeprecationWarning beim Resampling unterdrücken 2026-06-25 00:52:25 +02:00
safety feat: Notruf-Eskalation per SMS/Anruf (provider-agnostischer Webhook) 2026-06-25 10:17:49 +02:00
utils Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
web feat(3c): OpenRouter-Modelle live & selbst-aktualisierend statt erfunden 2026-06-25 05:01:05 +02:00
__init__.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
admin_llm.py fix(admin): Phase 0 — Log & Restart reparieren, Status auf Wahrheit 2026-06-25 02:27:18 +02:00
audit.py feat(admin): Audit-Logging schreibender Admin-Aktionen — Plan-Schritt 5 2026-06-20 18:50:55 +02:00
auth.py feat(2-Schritt2): Login-Link + persistentes is_admin-Flag pro Nutzer 2026-06-25 04:33:33 +02:00
config.py feat: Notruf-Eskalation per SMS/Anruf (provider-agnostischer Webhook) 2026-06-25 10:17:49 +02:00
dependencies.py feat(2a): Erlaubte Sprachen pro Nutzer (Admin-Vorgabe) 2026-06-25 04:06:09 +02:00
errors.py Initial commit: Voice Assistant Gateway mit Konfig-/Routing-Fundament 2026-06-17 01:48:56 +02:00
main.py feat(2-Schritt3): nginx-Cutover — App per Token-Link, Admin hinter Authelia 2026-06-25 04:45:11 +02:00
metrics.py feat: Resilienz (Fallback-Ketten) und Metriken (#5) 2026-06-17 05:19:07 +02:00
quota.py feat(admin): Phase 3 — Laufzeit-Konfiguration ohne Server-Neustart 2026-06-19 01:39:36 +02:00
runtime_config.py feat(1a): Flex-Sprachmodus vollständig entfernen 2026-06-25 02:51:17 +02:00
schemas.py feat(2-Schritt2): Login-Link + persistentes is_admin-Flag pro Nutzer 2026-06-25 04:33:33 +02:00
store.py feat(2-Schritt2): Login-Link + persistentes is_admin-Flag pro Nutzer 2026-06-25 04:33:33 +02:00